forked from labring/sealos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
getNamespaceList.tsx
47 lines (47 loc) · 1.3 KB
/
getNamespaceList.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { authSession } from '@/service/backend/auth';
import { jsonRes } from '@/service/backend/response';
import type { NextApiRequest, NextApiResponse } from 'next';
export default async function handler(req: NextApiRequest, resp: NextApiResponse) {
try {
const kc = await authSession(req.headers);
const user = kc.getCurrentUser();
if (user === null) {
return jsonRes(resp, { code: 403, message: 'user null' });
}
const { endTime, startTime } = req.body as {
endTime?: Date;
startTime?: Date;
};
if (!endTime)
return jsonRes(resp, {
code: 400,
message: 'endTime is invalid'
});
if (!startTime)
return jsonRes(resp, {
code: 400,
message: 'endTime is invalid'
});
const url = process.env.BILLING_URI + '/account/v1alpha1/namespaces';
const res = await (
await fetch(url, {
method: 'POST',
body: JSON.stringify({
endTime,
kubeConfig: kc.exportConfig(),
owner: user.name,
startTime,
type: 0
})
})
).json();
return jsonRes(resp, {
code: 200,
data: res.data,
message: res.message
});
} catch (error) {
console.log(error);
jsonRes(resp, { code: 500, message: 'get namespaceList error' });
}
}