@appconda/nextjs 1.0.175 → 1.0.177
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/task/action.d.ts +22 -58
- package/dist/modules/task/action.js +62 -37
- package/package.json +1 -1
- package/src/modules/task/action.ts +85 -49
- package/dist/modules/scheduled-job/action2.d.ts +0 -5
- package/dist/modules/scheduled-job/action2.js +0 -17
- package/dist/services/tenant.d.ts +0 -32
- package/dist/services/tenant.js +0 -124
@@ -1,73 +1,37 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
import { CreateProjectSchema, CreateSprintSchema, CreateTaskListSchema, DeleteSprintSchema, DeleteTaskListSchema, GetSprintSchema, GetTaskListSchema, ListProjectsSchema, UpdateSprintSchema, UpdateTaskListSchema } from './schema';
|
3
3
|
import { Project, Sprint, TaskList } from './types';
|
4
|
-
export declare const CreateProject: (
|
5
|
-
|
6
|
-
}) => Promise<{
|
7
|
-
data?: Project;
|
8
|
-
serverError?: string;
|
4
|
+
export declare const CreateProject: (parsedInput: z.infer<typeof CreateProjectSchema>) => Promise<{
|
5
|
+
data: Project;
|
9
6
|
}>;
|
10
|
-
export declare const ListProjects: (
|
11
|
-
|
12
|
-
}) => Promise<{
|
13
|
-
data?: Project[];
|
14
|
-
serverError?: string;
|
7
|
+
export declare const ListProjects: (parsedInput: z.infer<typeof ListProjectsSchema>) => Promise<{
|
8
|
+
data: Project[];
|
15
9
|
}>;
|
16
|
-
export declare const CreateTaskList: (
|
17
|
-
|
18
|
-
|
19
|
-
data?: TaskList;
|
20
|
-
serverError?: string;
|
21
|
-
}>;
|
22
|
-
export declare const GetTaskList: ({ parsedInput }: {
|
23
|
-
parsedInput: z.infer<typeof GetTaskListSchema>;
|
24
|
-
}) => Promise<{
|
25
|
-
data?: TaskList;
|
26
|
-
serverError?: string;
|
10
|
+
export declare const CreateTaskList: (parsedInput: z.infer<typeof CreateTaskListSchema>) => Promise<TaskList>;
|
11
|
+
export declare const GetTaskList: (parsedInput: z.infer<typeof GetTaskListSchema>) => Promise<{
|
12
|
+
data: TaskList;
|
27
13
|
}>;
|
28
14
|
export declare const ListTaskLists: () => Promise<{
|
29
|
-
data
|
30
|
-
serverError?: string;
|
15
|
+
data: TaskList[];
|
31
16
|
}>;
|
32
|
-
export declare const UpdateTaskList: (
|
33
|
-
|
34
|
-
}) => Promise<{
|
35
|
-
data?: TaskList;
|
36
|
-
serverError?: string;
|
17
|
+
export declare const UpdateTaskList: (parsedInput: z.infer<typeof UpdateTaskListSchema>) => Promise<{
|
18
|
+
data: TaskList;
|
37
19
|
}>;
|
38
|
-
export declare const DeleteTaskList: (
|
39
|
-
|
40
|
-
}) => Promise<{
|
41
|
-
data?: void;
|
42
|
-
serverError?: string;
|
20
|
+
export declare const DeleteTaskList: (parsedInput: z.infer<typeof DeleteTaskListSchema>) => Promise<{
|
21
|
+
data: void;
|
43
22
|
}>;
|
44
|
-
export declare const CreateSprint: (
|
45
|
-
|
46
|
-
}) => Promise<{
|
47
|
-
data?: Sprint;
|
48
|
-
serverError?: string;
|
23
|
+
export declare const CreateSprint: (parsedInput: z.infer<typeof CreateSprintSchema>) => Promise<{
|
24
|
+
data: Sprint;
|
49
25
|
}>;
|
50
|
-
export declare const GetSprint: (
|
51
|
-
|
52
|
-
}) => Promise<{
|
53
|
-
data?: Sprint;
|
54
|
-
serverError?: string;
|
26
|
+
export declare const GetSprint: (parsedInput: z.infer<typeof GetSprintSchema>) => Promise<{
|
27
|
+
data: Sprint;
|
55
28
|
}>;
|
56
|
-
export declare const ListSprints: (
|
57
|
-
|
58
|
-
}) => Promise<{
|
59
|
-
data?: Sprint[];
|
60
|
-
serverError?: string;
|
29
|
+
export declare const ListSprints: () => Promise<{
|
30
|
+
data: Sprint[];
|
61
31
|
}>;
|
62
|
-
export declare const UpdateSprint: (
|
63
|
-
|
64
|
-
}) => Promise<{
|
65
|
-
data?: Sprint;
|
66
|
-
serverError?: string;
|
32
|
+
export declare const UpdateSprint: (parsedInput: z.infer<typeof UpdateSprintSchema>) => Promise<{
|
33
|
+
data: Sprint;
|
67
34
|
}>;
|
68
|
-
export declare const DeleteSprint: (
|
69
|
-
|
70
|
-
}) => Promise<{
|
71
|
-
data?: void;
|
72
|
-
serverError?: string;
|
35
|
+
export declare const DeleteSprint: (parsedInput: z.infer<typeof DeleteSprintSchema>) => Promise<{
|
36
|
+
data: void;
|
73
37
|
}>;
|
@@ -1,45 +1,54 @@
|
|
1
1
|
'use server';
|
2
2
|
import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
|
3
|
-
|
3
|
+
import { AppcondaException } from '../../client';
|
4
|
+
export const CreateProject = async (parsedInput) => {
|
4
5
|
try {
|
5
6
|
const { task } = await getSDKForCurrentUser();
|
6
7
|
//@ts-ignore
|
7
8
|
return { data: await task.CreateProject(parsedInput) };
|
8
9
|
}
|
9
10
|
catch (error) {
|
10
|
-
|
11
|
-
|
11
|
+
if (error instanceof AppcondaException) {
|
12
|
+
throw new Error(error.message);
|
13
|
+
}
|
14
|
+
throw error;
|
12
15
|
}
|
13
16
|
};
|
14
|
-
export const ListProjects = async (
|
17
|
+
export const ListProjects = async (parsedInput) => {
|
15
18
|
try {
|
16
19
|
const { task } = await getSDKForCurrentUser();
|
17
20
|
//@ts-ignore
|
18
21
|
return { data: await task.ListProjects(parsedInput) };
|
19
22
|
}
|
20
23
|
catch (error) {
|
21
|
-
|
22
|
-
|
24
|
+
if (error instanceof AppcondaException) {
|
25
|
+
throw new Error(error.message);
|
26
|
+
}
|
27
|
+
throw error;
|
23
28
|
}
|
24
29
|
};
|
25
|
-
export const CreateTaskList = async (
|
30
|
+
export const CreateTaskList = async (parsedInput) => {
|
26
31
|
try {
|
27
32
|
const { task } = await getSDKForCurrentUser();
|
28
|
-
return
|
33
|
+
return await task.CreateTaskList(parsedInput);
|
29
34
|
}
|
30
35
|
catch (error) {
|
31
|
-
|
32
|
-
|
36
|
+
if (error instanceof AppcondaException) {
|
37
|
+
throw new Error(error.message);
|
38
|
+
}
|
39
|
+
throw error;
|
33
40
|
}
|
34
41
|
};
|
35
|
-
export const GetTaskList = async (
|
42
|
+
export const GetTaskList = async (parsedInput) => {
|
36
43
|
try {
|
37
44
|
const { task } = await getSDKForCurrentUser();
|
38
45
|
return { data: await task.GetTaskList(parsedInput) };
|
39
46
|
}
|
40
47
|
catch (error) {
|
41
|
-
|
42
|
-
|
48
|
+
if (error instanceof AppcondaException) {
|
49
|
+
throw new Error(error.message);
|
50
|
+
}
|
51
|
+
throw error;
|
43
52
|
}
|
44
53
|
};
|
45
54
|
export const ListTaskLists = async () => {
|
@@ -48,79 +57,95 @@ export const ListTaskLists = async () => {
|
|
48
57
|
return { data: await task.ListTaskLists() };
|
49
58
|
}
|
50
59
|
catch (error) {
|
51
|
-
|
52
|
-
|
60
|
+
if (error instanceof AppcondaException) {
|
61
|
+
throw new Error(error.message);
|
62
|
+
}
|
63
|
+
throw error;
|
53
64
|
}
|
54
65
|
};
|
55
|
-
export const UpdateTaskList = async (
|
66
|
+
export const UpdateTaskList = async (parsedInput) => {
|
56
67
|
try {
|
57
68
|
const { task } = await getSDKForCurrentUser();
|
58
69
|
return { data: await task.UpdateTaskList(parsedInput) };
|
59
70
|
}
|
60
71
|
catch (error) {
|
61
|
-
|
62
|
-
|
72
|
+
if (error instanceof AppcondaException) {
|
73
|
+
throw new Error(error.message);
|
74
|
+
}
|
75
|
+
throw error;
|
63
76
|
}
|
64
77
|
};
|
65
|
-
export const DeleteTaskList = async (
|
78
|
+
export const DeleteTaskList = async (parsedInput) => {
|
66
79
|
try {
|
67
80
|
const { task } = await getSDKForCurrentUser();
|
68
81
|
return { data: await task.DeleteTaskList(parsedInput) };
|
69
82
|
}
|
70
83
|
catch (error) {
|
71
|
-
|
72
|
-
|
84
|
+
if (error instanceof AppcondaException) {
|
85
|
+
throw new Error(error.message);
|
86
|
+
}
|
87
|
+
throw error;
|
73
88
|
}
|
74
89
|
};
|
75
|
-
export const CreateSprint = async (
|
90
|
+
export const CreateSprint = async (parsedInput) => {
|
76
91
|
try {
|
77
92
|
const { task } = await getSDKForCurrentUser();
|
78
93
|
return { data: await task.CreateSprint(parsedInput) };
|
79
94
|
}
|
80
95
|
catch (error) {
|
81
|
-
|
82
|
-
|
96
|
+
if (error instanceof AppcondaException) {
|
97
|
+
throw new Error(error.message);
|
98
|
+
}
|
99
|
+
throw error;
|
83
100
|
}
|
84
101
|
};
|
85
|
-
export const GetSprint = async (
|
102
|
+
export const GetSprint = async (parsedInput) => {
|
86
103
|
try {
|
87
104
|
const { task } = await getSDKForCurrentUser();
|
88
105
|
return { data: await task.GetSprint(parsedInput) };
|
89
106
|
}
|
90
107
|
catch (error) {
|
91
|
-
|
92
|
-
|
108
|
+
if (error instanceof AppcondaException) {
|
109
|
+
throw new Error(error.message);
|
110
|
+
}
|
111
|
+
throw error;
|
93
112
|
}
|
94
113
|
};
|
95
114
|
//@ts-ignore
|
96
|
-
export const ListSprints = async (
|
115
|
+
export const ListSprints = async () => {
|
97
116
|
try {
|
98
117
|
const { task } = await getSDKForCurrentUser();
|
99
118
|
return { data: await task.ListSprints() };
|
100
119
|
}
|
101
120
|
catch (error) {
|
102
|
-
|
103
|
-
|
121
|
+
if (error instanceof AppcondaException) {
|
122
|
+
throw new Error(error.message);
|
123
|
+
}
|
124
|
+
throw error;
|
104
125
|
}
|
105
126
|
};
|
106
|
-
export const UpdateSprint = async (
|
127
|
+
export const UpdateSprint = async (parsedInput) => {
|
107
128
|
try {
|
108
129
|
const { task } = await getSDKForCurrentUser();
|
109
130
|
return { data: await task.UpdateSprint(parsedInput) };
|
110
131
|
}
|
111
132
|
catch (error) {
|
112
|
-
|
113
|
-
|
133
|
+
if (error instanceof AppcondaException) {
|
134
|
+
throw new Error(error.message);
|
135
|
+
}
|
136
|
+
throw error;
|
114
137
|
}
|
115
138
|
};
|
116
|
-
export const DeleteSprint = async (
|
139
|
+
export const DeleteSprint = async (parsedInput) => {
|
117
140
|
try {
|
118
141
|
const { task } = await getSDKForCurrentUser();
|
119
142
|
return { data: await task.DeleteSprint(parsedInput) };
|
120
143
|
}
|
121
144
|
catch (error) {
|
122
|
-
|
123
|
-
|
145
|
+
if (error instanceof AppcondaException) {
|
146
|
+
throw new Error(error.message);
|
147
|
+
}
|
148
|
+
throw error;
|
124
149
|
}
|
125
150
|
};
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBSWIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJbEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBd0QsRUFBbUQsRUFBRTtJQUMxSixJQUFJLENBQUM7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLFlBQVk7UUFDWixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO0lBRXZELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQzdDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUF1RCxFQUFxRCxFQUFFO0lBQzFKLElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsWUFBWTtRQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7SUFFMUQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FB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QyxFQUFFLENBQUM7SUFFMUQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDN0MsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc2VydmVyJztcblxuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgQ3JlYXRlUHJvamVjdFNjaGVtYSwgQ3JlYXRlU3ByaW50U2NoZW1hLCBDcmVhdGVUYXNrTGlzdFNjaGVtYSwgIERlbGV0ZVNwcmludFNjaGVtYSwgRGVsZXRlVGFza0xpc3RTY2hlbWEsIEdldFNwcmludFNjaGVtYSwgR2V0VGFza0xpc3RTY2hlbWEsIExpc3RQcm9qZWN0c1NjaGVtYSwgVXBkYXRlU3ByaW50U2NoZW1hLCBVcGRhdGVUYXNrTGlzdFNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB7IFByb2plY3QsIFNwcmludCwgVGFza0xpc3QgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVByb2plY3QgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVQcm9qZWN0U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IFByb2plY3QsIHNlcnZlckVycm9yPzogc3RyaW5nfT4gPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suQ3JlYXRlUHJvamVjdChwYXJzZWRJbnB1dCkgfTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlUHJvamVjdDonLCBlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGV4cG9ydCBjb25zdCBMaXN0UHJvamVjdHMgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0UHJvamVjdHNTY2hlbWE+IH0pOiBQcm9taXNlPHtkYXRhPzogUHJvamVjdFtdLCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCB0YXNrLkxpc3RQcm9qZWN0cyhwYXJzZWRJbnB1dCkgfTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdFByb2plY3RzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7IHNlcnZlckVycm9yOiBlcnJvci50b1N0cmluZygpIH07XG4gICAgICAgIH1cbiAgICB9O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFza0xpc3QgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVUYXNrTGlzdFNjaGVtYT4gfSk6IFByb21pc2U8e2RhdGE/OiBUYXNrTGlzdCwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suQ3JlYXRlVGFza0xpc3QocGFyc2VkSW5wdXQpIH07XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIENyZWF0ZVRhc2tMaXN0OicsIGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7IHNlcnZlckVycm9yOiBlcnJvci50b1N0cmluZygpIH07XG4gICAgICAgIH1cbiAgICB9O1xuXG5leHBvcnQgY29uc3QgR2V0VGFza0xpc3QgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRUYXNrTGlzdFNjaGVtYT4gfSk6IFByb21pc2U8e2RhdGE/OiBUYXNrTGlzdCwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suR2V0VGFza0xpc3QocGFyc2VkSW5wdXQpIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRUYXNrTGlzdDonLCBlcnJvcik7XG4gICAgICAgIHJldHVybiB7IHNlcnZlckVycm9yOiBlcnJvci50b1N0cmluZygpIH07XG4gICAgfVxufTtcblxuXG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza0xpc3RzID0gYXN5bmMgKCk6IFByb21pc2U8e2RhdGE/OiBUYXNrTGlzdFtdLCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5MaXN0VGFza0xpc3RzKCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RUYXNrTGlzdHM6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVUYXNrTGlzdCA9IGFzeW5jICh7IHBhcnNlZElucHV0IH06IHsgcGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVRhc2tMaXN0U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IFRhc2tMaXN0LCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5VcGRhdGVUYXNrTGlzdChwYXJzZWRJbnB1dCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIFVwZGF0ZVRhc2tMaXN0OicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGFza0xpc3QgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVUYXNrTGlzdFNjaGVtYT4gfSk6IFByb21pc2U8e2RhdGE/OiB2b2lkLCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5EZWxldGVUYXNrTGlzdChwYXJzZWRJbnB1dCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIERlbGV0ZVRhc2tMaXN0OicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU3ByaW50ID0gYXN5bmMgKHsgcGFyc2VkSW5wdXQgfTogeyBwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3ByaW50U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IFNwcmludCwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suQ3JlYXRlU3ByaW50KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlU3ByaW50OicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3ByaW50ID0gYXN5bmMgKHsgcGFyc2VkSW5wdXQgfTogeyBwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0U3ByaW50U2NoZW1hPiB9KTogUHJvbWlzZTx7ZGF0YT86IFNwcmludCwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suR2V0U3ByaW50KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gR2V0U3ByaW50OicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICB9XG59O1xuLy9AdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlzdFNwcmludHMgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0U3ByaW50c1NjaGVtYT4gfSk6IFByb21pc2U8e2RhdGE/OiBTcHJpbnRbXSwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suTGlzdFNwcmludHMoKSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdFNwcmludHM6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTcHJpbnQgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBVcGRhdGVTcHJpbnRTY2hlbWE+IH0pOiBQcm9taXNlPHtkYXRhPzogU3ByaW50LCBzZXJ2ZXJFcnJvcj86IHN0cmluZ30+ID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5VcGRhdGVTcHJpbnQocGFyc2VkSW5wdXQpIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBVcGRhdGVTcHJpbnQ6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4geyBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKSB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTcHJpbnQgPSBhc3luYyAoeyBwYXJzZWRJbnB1dCB9OiB7IHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVTcHJpbnRTY2hlbWE+IH0pOiBQcm9taXNlPHtkYXRhPzogdm9pZCwgc2VydmVyRXJyb3I/OiBzdHJpbmd9PiA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suRGVsZXRlU3ByaW50KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gRGVsZXRlU3ByaW50OicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIHsgc2VydmVyRXJyb3I6IGVycm9yLnRvU3RyaW5nKCkgfTtcbiAgICB9XG59O1xuXG5cbiAgICAiXX0=
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBSWIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBZ0QsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsWUFBWTtRQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7SUFFM0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssWUFBWSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxXQUErQyxFQUFFLEVBQUU7SUFDbEYsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxZQUFZO1FBQ1osT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUUxRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJ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QUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztJQUUxRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHNlcnZlcic7XG5cblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gJy4uLy4uL2dldFNES0ZvckN1cnJlbnRVc2VyJztcbmltcG9ydCB7IENyZWF0ZVByb2plY3RTY2hlbWEsIENyZWF0ZVNwcmludFNjaGVtYSwgQ3JlYXRlVGFza0xpc3RTY2hlbWEsIERlbGV0ZVNwcmludFNjaGVtYSwgRGVsZXRlVGFza0xpc3RTY2hlbWEsIEdldFNwcmludFNjaGVtYSwgR2V0VGFza0xpc3RTY2hlbWEsIExpc3RQcm9qZWN0c1NjaGVtYSwgVXBkYXRlU3ByaW50U2NoZW1hLCBVcGRhdGVUYXNrTGlzdFNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB7IFByb2plY3QsIFNwcmludCwgVGFza0xpc3QgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFwcGNvbmRhRXhjZXB0aW9uIH0gZnJvbSAnLi4vLi4vY2xpZW50JztcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVByb2plY3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVByb2plY3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAvL0B0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5DcmVhdGVQcm9qZWN0KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0UHJvamVjdHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RQcm9qZWN0c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suTGlzdFByb2plY3RzKHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYXNrTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVGFza0xpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0VGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCB0YXNrLkdldFRhc2tMaXN0KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuXG5leHBvcnQgY29uc3QgTGlzdFRhc2tMaXN0cyA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5MaXN0VGFza0xpc3RzKCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCB0YXNrLlVwZGF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVUYXNrTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVGFza0xpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suRGVsZXRlVGFza0xpc3QocGFyc2VkSW5wdXQpIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCB0YXNrLkNyZWF0ZVNwcmludChwYXJzZWRJbnB1dCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3ByaW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRTcHJpbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suR2V0U3ByaW50KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG4vL0B0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMaXN0U3ByaW50cyA9IGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIHsgZGF0YTogYXdhaXQgdGFzay5MaXN0U3ByaW50cygpIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4geyBkYXRhOiBhd2FpdCB0YXNrLlVwZGF0ZVNwcmludChwYXJzZWRJbnB1dCkgfTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU3ByaW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVTcHJpbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiB7IGRhdGE6IGF3YWl0IHRhc2suRGVsZXRlU3ByaW50KHBhcnNlZElucHV0KSB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuIl19
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "@appconda/nextjs",
|
3
3
|
"homepage": "https://appconda.io/support",
|
4
4
|
"description": "Appconda is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API",
|
5
|
-
"version": "1.0.
|
5
|
+
"version": "1.0.177",
|
6
6
|
"license": "BSD-3-Clause",
|
7
7
|
"main": "dist/index.js",
|
8
8
|
"types": "dist/index.d.ts",
|
@@ -3,155 +3,191 @@
|
|
3
3
|
|
4
4
|
import { z } from 'zod';
|
5
5
|
import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
|
6
|
-
import { CreateProjectSchema, CreateSprintSchema, CreateTaskListSchema,
|
6
|
+
import { CreateProjectSchema, CreateSprintSchema, CreateTaskListSchema, DeleteSprintSchema, DeleteTaskListSchema, GetSprintSchema, GetTaskListSchema, ListProjectsSchema, UpdateSprintSchema, UpdateTaskListSchema } from './schema';
|
7
7
|
import { Project, Sprint, TaskList } from './types';
|
8
|
+
import { AppcondaException } from '../../client';
|
8
9
|
|
9
|
-
export const CreateProject = async (
|
10
|
+
export const CreateProject = async (parsedInput: z.infer<typeof CreateProjectSchema>) => {
|
10
11
|
try {
|
11
12
|
const { task } = await getSDKForCurrentUser();
|
12
13
|
//@ts-ignore
|
13
14
|
return { data: await task.CreateProject(parsedInput) };
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
} catch (error) {
|
17
|
+
if (error instanceof AppcondaException) {
|
18
|
+
throw new Error(error.message);
|
18
19
|
}
|
19
|
-
};
|
20
20
|
|
21
|
-
|
22
|
-
|
21
|
+
throw error;
|
22
|
+
}
|
23
|
+
};
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
return { data: await task.ListProjects(parsedInput) };
|
25
|
+
export const ListProjects = async (parsedInput: z.infer<typeof ListProjectsSchema>) => {
|
26
|
+
try {
|
27
27
|
|
28
|
-
}
|
29
|
-
|
30
|
-
|
28
|
+
const { task } = await getSDKForCurrentUser();
|
29
|
+
//@ts-ignore
|
30
|
+
return { data: await task.ListProjects(parsedInput) };
|
31
|
+
|
32
|
+
} catch (error) {
|
33
|
+
if (error instanceof AppcondaException) {
|
34
|
+
throw new Error(error.message);
|
31
35
|
}
|
32
|
-
};
|
33
36
|
|
34
|
-
|
37
|
+
throw error;
|
38
|
+
}
|
39
|
+
};
|
40
|
+
|
41
|
+
export const CreateTaskList = async (parsedInput: z.infer<typeof CreateTaskListSchema>) => {
|
35
42
|
try {
|
36
43
|
|
37
44
|
const { task } = await getSDKForCurrentUser();
|
38
|
-
return
|
45
|
+
return await task.CreateTaskList(parsedInput);
|
39
46
|
|
40
|
-
|
41
|
-
|
42
|
-
|
47
|
+
} catch (error) {
|
48
|
+
if (error instanceof AppcondaException) {
|
49
|
+
throw new Error(error.message);
|
43
50
|
}
|
44
|
-
};
|
45
51
|
|
46
|
-
|
52
|
+
throw error;
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
export const GetTaskList = async (parsedInput: z.infer<typeof GetTaskListSchema>) => {
|
47
57
|
try {
|
48
58
|
|
49
59
|
const { task } = await getSDKForCurrentUser();
|
50
60
|
return { data: await task.GetTaskList(parsedInput) };
|
51
61
|
|
52
62
|
} catch (error) {
|
53
|
-
|
54
|
-
|
63
|
+
if (error instanceof AppcondaException) {
|
64
|
+
throw new Error(error.message);
|
65
|
+
}
|
66
|
+
|
67
|
+
throw error;
|
55
68
|
}
|
56
69
|
};
|
57
70
|
|
58
71
|
|
59
72
|
|
60
|
-
export const ListTaskLists = async ()
|
73
|
+
export const ListTaskLists = async () => {
|
61
74
|
try {
|
62
75
|
|
63
76
|
const { task } = await getSDKForCurrentUser();
|
64
77
|
return { data: await task.ListTaskLists() };
|
65
78
|
|
66
79
|
} catch (error) {
|
67
|
-
|
68
|
-
|
80
|
+
if (error instanceof AppcondaException) {
|
81
|
+
throw new Error(error.message);
|
82
|
+
}
|
83
|
+
|
84
|
+
throw error;
|
69
85
|
}
|
70
86
|
};
|
71
87
|
|
72
|
-
export const UpdateTaskList = async (
|
88
|
+
export const UpdateTaskList = async (parsedInput: z.infer<typeof UpdateTaskListSchema>) => {
|
73
89
|
try {
|
74
90
|
|
75
91
|
const { task } = await getSDKForCurrentUser();
|
76
92
|
return { data: await task.UpdateTaskList(parsedInput) };
|
77
93
|
|
78
94
|
} catch (error) {
|
79
|
-
|
80
|
-
|
95
|
+
if (error instanceof AppcondaException) {
|
96
|
+
throw new Error(error.message);
|
97
|
+
}
|
98
|
+
|
99
|
+
throw error;
|
81
100
|
}
|
82
101
|
};
|
83
102
|
|
84
|
-
export const DeleteTaskList = async (
|
103
|
+
export const DeleteTaskList = async (parsedInput: z.infer<typeof DeleteTaskListSchema>) => {
|
85
104
|
try {
|
86
105
|
|
87
106
|
const { task } = await getSDKForCurrentUser();
|
88
107
|
return { data: await task.DeleteTaskList(parsedInput) };
|
89
108
|
|
90
109
|
} catch (error) {
|
91
|
-
|
92
|
-
|
110
|
+
if (error instanceof AppcondaException) {
|
111
|
+
throw new Error(error.message);
|
112
|
+
}
|
113
|
+
|
114
|
+
throw error;
|
93
115
|
}
|
94
116
|
};
|
95
117
|
|
96
|
-
export const CreateSprint = async (
|
118
|
+
export const CreateSprint = async (parsedInput: z.infer<typeof CreateSprintSchema>) => {
|
97
119
|
try {
|
98
120
|
|
99
121
|
const { task } = await getSDKForCurrentUser();
|
100
122
|
return { data: await task.CreateSprint(parsedInput) };
|
101
123
|
|
102
124
|
} catch (error) {
|
103
|
-
|
104
|
-
|
125
|
+
if (error instanceof AppcondaException) {
|
126
|
+
throw new Error(error.message);
|
127
|
+
}
|
128
|
+
|
129
|
+
throw error;
|
105
130
|
}
|
106
131
|
};
|
107
132
|
|
108
|
-
export const GetSprint = async (
|
133
|
+
export const GetSprint = async (parsedInput: z.infer<typeof GetSprintSchema>) => {
|
109
134
|
try {
|
110
135
|
|
111
136
|
const { task } = await getSDKForCurrentUser();
|
112
137
|
return { data: await task.GetSprint(parsedInput) };
|
113
138
|
|
114
139
|
} catch (error) {
|
115
|
-
|
116
|
-
|
140
|
+
if (error instanceof AppcondaException) {
|
141
|
+
throw new Error(error.message);
|
142
|
+
}
|
143
|
+
|
144
|
+
throw error;
|
117
145
|
}
|
118
146
|
};
|
119
147
|
//@ts-ignore
|
120
|
-
export const ListSprints = async (
|
148
|
+
export const ListSprints = async () => {
|
121
149
|
try {
|
122
150
|
|
123
151
|
const { task } = await getSDKForCurrentUser();
|
124
152
|
return { data: await task.ListSprints() };
|
125
153
|
|
126
154
|
} catch (error) {
|
127
|
-
|
128
|
-
|
155
|
+
if (error instanceof AppcondaException) {
|
156
|
+
throw new Error(error.message);
|
157
|
+
}
|
158
|
+
|
159
|
+
throw error;
|
129
160
|
}
|
130
161
|
};
|
131
162
|
|
132
|
-
export const UpdateSprint = async (
|
163
|
+
export const UpdateSprint = async (parsedInput: z.infer<typeof UpdateSprintSchema>) => {
|
133
164
|
try {
|
134
165
|
|
135
166
|
const { task } = await getSDKForCurrentUser();
|
136
167
|
return { data: await task.UpdateSprint(parsedInput) };
|
137
168
|
|
138
169
|
} catch (error) {
|
139
|
-
|
140
|
-
|
170
|
+
if (error instanceof AppcondaException) {
|
171
|
+
throw new Error(error.message);
|
172
|
+
}
|
173
|
+
|
174
|
+
throw error;
|
141
175
|
}
|
142
176
|
};
|
143
177
|
|
144
|
-
export const DeleteSprint = async (
|
178
|
+
export const DeleteSprint = async (parsedInput: z.infer<typeof DeleteSprintSchema>) => {
|
145
179
|
try {
|
146
180
|
|
147
181
|
const { task } = await getSDKForCurrentUser();
|
148
182
|
return { data: await task.DeleteSprint(parsedInput) };
|
149
183
|
|
150
184
|
} catch (error) {
|
151
|
-
|
152
|
-
|
185
|
+
if (error instanceof AppcondaException) {
|
186
|
+
throw new Error(error.message);
|
187
|
+
}
|
188
|
+
|
189
|
+
throw error;
|
153
190
|
}
|
154
191
|
};
|
155
192
|
|
156
193
|
|
157
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
'use server';
|
2
|
-
import { UpdateJobSchema } from "./schema";
|
3
|
-
import { getSDKForCurrentUser } from "../../getSDKForCurrentUser";
|
4
|
-
export const UpdateJob = async (params) => {
|
5
|
-
try {
|
6
|
-
const parsedInput = UpdateJobSchema.parse(params);
|
7
|
-
const { scheduledJob } = await getSDKForCurrentUser();
|
8
|
-
return await scheduledJob.UpdateJob(parsedInput);
|
9
|
-
}
|
10
|
-
catch (error) {
|
11
|
-
console.error('Error in UpdateJob:', error);
|
12
|
-
return {
|
13
|
-
serverError: error.toString()
|
14
|
-
};
|
15
|
-
}
|
16
|
-
};
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2R1bGVzL3NjaGVkdWxlZC1qb2IvYWN0aW9uMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxZQUFZLENBQUM7QUFJZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2pFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxLQUFLLEVBQUUsTUFBdUMsRUFBRSxFQUFFO0lBQ3BFLElBQUksQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVyRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsT0FBTztZQUNILFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1NBQ2hDLENBQUE7SUFDTCxDQUFDO0FBQ0wsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiICd1c2Ugc2VydmVyJztcblxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgVXBkYXRlSm9iU2NoZW1hIH0gZnJvbSBcIi4vc2NoZW1hXCI7XG5pbXBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gXCIuLi8uLi9nZXRTREtGb3JDdXJyZW50VXNlclwiO1xuXG5cbiBleHBvcnQgY29uc3QgVXBkYXRlSm9iID0gYXN5bmMgKHBhcmFtczogei5pbmZlcjx0eXBlb2YgVXBkYXRlSm9iU2NoZW1hPikgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkSW5wdXQgPSBVcGRhdGVKb2JTY2hlbWEucGFyc2UocGFyYW1zKTtcbiAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkSm9iIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHNjaGVkdWxlZEpvYi5VcGRhdGVKb2IocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBVcGRhdGVKb2I6JywgZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXJFcnJvcjogZXJyb3IudG9TdHJpbmcoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSJdfQ==
|
@@ -1,32 +0,0 @@
|
|
1
|
-
import { Models } from "../client";
|
2
|
-
import { ServiceClient } from "../service-client";
|
3
|
-
export type TenantSimple = {
|
4
|
-
id: string;
|
5
|
-
name: string;
|
6
|
-
slug: string;
|
7
|
-
icon: string | null;
|
8
|
-
deactivatedReason: string | null;
|
9
|
-
types: any[];
|
10
|
-
active: boolean;
|
11
|
-
};
|
12
|
-
export declare class Tenant extends ServiceClient {
|
13
|
-
getServiceName(): string;
|
14
|
-
get(tenantId: string): Promise<Models.Tenant>;
|
15
|
-
/**
|
16
|
-
* Create account
|
17
|
-
*
|
18
|
-
* Use this endpoint to allow a new user to register a new account in your project. After the user registration completes successfully, you can use the [/account/verfication](https://appconda.io/docs/references/cloud/client-web/account#createVerification) route to start verifying the user email address. To allow the new user to login to their new account, you need to create a new [account session](https://appconda.io/docs/references/cloud/client-web/account#createEmailSession).
|
19
|
-
*
|
20
|
-
* @param {string} tenantId
|
21
|
-
* @param {string} name
|
22
|
-
* @param {string} slug
|
23
|
-
* @throws {AppcondaException}
|
24
|
-
* @returns {Promise<Models.User<Preferences>>}
|
25
|
-
*/
|
26
|
-
create({ $id, name, slug }: Models.Tenant): Promise<Models.Tenant>;
|
27
|
-
list(queries?: string[], search?: string): Promise<Models.TenantList>;
|
28
|
-
listUserTenants(userId: string, queries?: string[], search?: string): Promise<Models.TenantUserList>;
|
29
|
-
listTenantUsers(tenantId: string, queries?: string[], search?: string): Promise<Models.TenantUserList>;
|
30
|
-
createTenantUser({ tenantId, userId }: Models.TenantUser): Promise<Models.TenantUser>;
|
31
|
-
adminGetAllTenantsIdsAndNames(): Promise<TenantSimple[]>;
|
32
|
-
}
|
package/dist/services/tenant.js
DELETED
@@ -1,124 +0,0 @@
|
|
1
|
-
import { AppcondaException } from "../client";
|
2
|
-
import { ServiceClient } from "../service-client";
|
3
|
-
export class Tenant extends ServiceClient {
|
4
|
-
getServiceName() {
|
5
|
-
return 'com.appconda.service.tenant';
|
6
|
-
}
|
7
|
-
async get(tenantId) {
|
8
|
-
if (typeof tenantId === 'undefined') {
|
9
|
-
throw new AppcondaException('Missing required parameter: "tenantId"');
|
10
|
-
}
|
11
|
-
const apiPath = '/tenants/{tenantId}'.replace('{tenantId}', tenantId);
|
12
|
-
const payload = {};
|
13
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
14
|
-
const apiHeaders = {
|
15
|
-
'content-type': 'application/json',
|
16
|
-
};
|
17
|
-
return await this.client.call('get', uri, apiHeaders, payload);
|
18
|
-
}
|
19
|
-
/**
|
20
|
-
* Create account
|
21
|
-
*
|
22
|
-
* Use this endpoint to allow a new user to register a new account in your project. After the user registration completes successfully, you can use the [/account/verfication](https://appconda.io/docs/references/cloud/client-web/account#createVerification) route to start verifying the user email address. To allow the new user to login to their new account, you need to create a new [account session](https://appconda.io/docs/references/cloud/client-web/account#createEmailSession).
|
23
|
-
*
|
24
|
-
* @param {string} tenantId
|
25
|
-
* @param {string} name
|
26
|
-
* @param {string} slug
|
27
|
-
* @throws {AppcondaException}
|
28
|
-
* @returns {Promise<Models.User<Preferences>>}
|
29
|
-
*/
|
30
|
-
async create({ $id, name, slug }) {
|
31
|
-
if (typeof $id === 'undefined') {
|
32
|
-
throw new AppcondaException('Missing required parameter: "tenantId"');
|
33
|
-
}
|
34
|
-
if (typeof name === 'undefined') {
|
35
|
-
throw new AppcondaException('Missing required parameter: "name"');
|
36
|
-
}
|
37
|
-
if (typeof slug === 'undefined') {
|
38
|
-
throw new AppcondaException('Missing required parameter: "slug"');
|
39
|
-
}
|
40
|
-
const apiPath = '/tenants';
|
41
|
-
const payload = {};
|
42
|
-
if (typeof $id !== 'undefined') {
|
43
|
-
payload['tenantId'] = $id;
|
44
|
-
}
|
45
|
-
if (typeof name !== 'undefined') {
|
46
|
-
payload['name'] = name;
|
47
|
-
}
|
48
|
-
if (typeof slug !== 'undefined') {
|
49
|
-
payload['slug'] = slug;
|
50
|
-
}
|
51
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
52
|
-
const apiHeaders = {
|
53
|
-
'content-type': 'application/json',
|
54
|
-
};
|
55
|
-
return await this.client.call('post', uri, apiHeaders, payload);
|
56
|
-
}
|
57
|
-
async list(queries, search) {
|
58
|
-
const apiPath = '/tenants';
|
59
|
-
const payload = {};
|
60
|
-
if (typeof queries !== 'undefined') {
|
61
|
-
payload['queries'] = queries;
|
62
|
-
}
|
63
|
-
if (typeof search !== 'undefined') {
|
64
|
-
payload['search'] = search;
|
65
|
-
}
|
66
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
67
|
-
const apiHeaders = {
|
68
|
-
'content-type': 'application/json',
|
69
|
-
};
|
70
|
-
return await this.client.call('get', uri, apiHeaders, payload);
|
71
|
-
}
|
72
|
-
async listUserTenants(userId, queries, search) {
|
73
|
-
const apiPath = `/tenants/${userId}/tenants`;
|
74
|
-
const payload = {};
|
75
|
-
if (typeof queries !== 'undefined') {
|
76
|
-
payload['queries'] = queries;
|
77
|
-
}
|
78
|
-
if (typeof search !== 'undefined') {
|
79
|
-
payload['search'] = search;
|
80
|
-
}
|
81
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
82
|
-
const apiHeaders = {
|
83
|
-
'content-type': 'application/json',
|
84
|
-
};
|
85
|
-
return await this.client.call('get', uri, apiHeaders, payload);
|
86
|
-
}
|
87
|
-
async listTenantUsers(tenantId, queries, search) {
|
88
|
-
const apiPath = `/tenants/${tenantId}/users`;
|
89
|
-
const payload = {};
|
90
|
-
if (typeof queries !== 'undefined') {
|
91
|
-
payload['queries'] = queries;
|
92
|
-
}
|
93
|
-
if (typeof search !== 'undefined') {
|
94
|
-
payload['search'] = search;
|
95
|
-
}
|
96
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
97
|
-
const apiHeaders = {
|
98
|
-
'content-type': 'application/json',
|
99
|
-
};
|
100
|
-
return await this.client.call('get', uri, apiHeaders, payload);
|
101
|
-
}
|
102
|
-
async createTenantUser({ tenantId, userId }) {
|
103
|
-
if (typeof tenantId === 'undefined') {
|
104
|
-
throw new AppcondaException('Missing required parameter: "tenantId"');
|
105
|
-
}
|
106
|
-
if (typeof userId === 'undefined') {
|
107
|
-
throw new AppcondaException('Missing required parameter: "userId"');
|
108
|
-
}
|
109
|
-
const apiPath = `/tenants/${tenantId}/users`;
|
110
|
-
const payload = {};
|
111
|
-
if (typeof userId !== 'undefined') {
|
112
|
-
payload['userId'] = userId;
|
113
|
-
}
|
114
|
-
const uri = new URL(this.client.config.endpoint + apiPath);
|
115
|
-
const apiHeaders = {
|
116
|
-
'content-type': 'application/json',
|
117
|
-
};
|
118
|
-
return await this.client.call('post', uri, apiHeaders, payload);
|
119
|
-
}
|
120
|
-
async adminGetAllTenantsIdsAndNames() {
|
121
|
-
const payload = {};
|
122
|
-
return await this.actionCall('AdminGetAllTenantsIdsAndNames', payload);
|
123
|
-
}
|
124
|
-
}
|