@appconda/nextjs 1.0.108 → 1.0.110

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.
@@ -1,11 +1,12 @@
1
+ import { z } from 'zod';
1
2
  import { Project, Sprint, TaskList } from './types';
2
- export declare const CreateProject: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
3
- id: import("zod").ZodOptional<import("zod").ZodString>;
4
- tenantId: import("zod").ZodString;
5
- ownerId: import("zod").ZodString;
6
- title: import("zod").ZodString;
7
- description: import("zod").ZodOptional<import("zod").ZodString>;
8
- }, "strip", import("zod").ZodTypeAny, {
3
+ export declare const CreateProject: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
4
+ id: z.ZodOptional<z.ZodString>;
5
+ tenantId: z.ZodString;
6
+ ownerId: z.ZodString;
7
+ title: z.ZodString;
8
+ description: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
9
10
  description?: string;
10
11
  id?: string;
11
12
  tenantId?: string;
@@ -27,23 +28,12 @@ export declare const CreateProject: import("next-safe-action").SafeActionFn<stri
27
28
  title?: string[];
28
29
  };
29
30
  }, readonly [], Project>;
30
- export declare const ListProjects: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
31
- tenantId: import("zod").ZodString;
32
- }, "strip", import("zod").ZodTypeAny, {
33
- tenantId?: string;
34
- }, {
35
- tenantId?: string;
36
- }>, readonly [], {
37
- formErrors: string[];
38
- fieldErrors: {
39
- tenantId?: string[];
40
- };
41
- }, readonly [], Project[]>;
42
- export declare const CreateTaskList: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
43
- id: import("zod").ZodOptional<import("zod").ZodString>;
44
- name: import("zod").ZodString;
45
- description: import("zod").ZodOptional<import("zod").ZodString>;
46
- }, "strip", import("zod").ZodTypeAny, {
31
+ export declare function ListProjects(payload: unknown): Promise<Project[]>;
32
+ export declare const CreateTaskList: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
33
+ id: z.ZodOptional<z.ZodString>;
34
+ name: z.ZodString;
35
+ description: z.ZodOptional<z.ZodString>;
36
+ }, "strip", z.ZodTypeAny, {
47
37
  name?: string;
48
38
  description?: string;
49
39
  id?: string;
@@ -59,9 +49,9 @@ export declare const CreateTaskList: import("next-safe-action").SafeActionFn<str
59
49
  id?: string[];
60
50
  };
61
51
  }, readonly [], TaskList>;
62
- export declare const GetTaskList: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
63
- id: import("zod").ZodString;
64
- }, "strip", import("zod").ZodTypeAny, {
52
+ export declare const GetTaskList: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
53
+ id: z.ZodString;
54
+ }, "strip", z.ZodTypeAny, {
65
55
  id?: string;
66
56
  }, {
67
57
  id?: string;
@@ -75,11 +65,11 @@ export declare const ListTaskLists: import("next-safe-action").SafeActionFn<stri
75
65
  formErrors: string[];
76
66
  fieldErrors: {};
77
67
  }, readonly [], TaskList[]>;
78
- export declare const UpdateTaskList: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
79
- id: import("zod").ZodString;
80
- name: import("zod").ZodString;
81
- description: import("zod").ZodOptional<import("zod").ZodString>;
82
- }, "strip", import("zod").ZodTypeAny, {
68
+ export declare const UpdateTaskList: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
69
+ id: z.ZodString;
70
+ name: z.ZodString;
71
+ description: z.ZodOptional<z.ZodString>;
72
+ }, "strip", z.ZodTypeAny, {
83
73
  name?: string;
84
74
  description?: string;
85
75
  id?: string;
@@ -95,9 +85,9 @@ export declare const UpdateTaskList: import("next-safe-action").SafeActionFn<str
95
85
  id?: string[];
96
86
  };
97
87
  }, readonly [], TaskList>;
98
- export declare const DeleteTaskList: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
99
- id: import("zod").ZodString;
100
- }, "strip", import("zod").ZodTypeAny, {
88
+ export declare const DeleteTaskList: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
89
+ id: z.ZodString;
90
+ }, "strip", z.ZodTypeAny, {
101
91
  id?: string;
102
92
  }, {
103
93
  id?: string;
@@ -107,11 +97,11 @@ export declare const DeleteTaskList: import("next-safe-action").SafeActionFn<str
107
97
  id?: string[];
108
98
  };
109
99
  }, readonly [], void>;
110
- export declare const CreateSprint: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
111
- id: import("zod").ZodOptional<import("zod").ZodString>;
112
- name: import("zod").ZodString;
113
- description: import("zod").ZodOptional<import("zod").ZodString>;
114
- }, "strip", import("zod").ZodTypeAny, {
100
+ export declare const CreateSprint: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
101
+ id: z.ZodOptional<z.ZodString>;
102
+ name: z.ZodString;
103
+ description: z.ZodOptional<z.ZodString>;
104
+ }, "strip", z.ZodTypeAny, {
115
105
  name?: string;
116
106
  description?: string;
117
107
  id?: string;
@@ -127,9 +117,9 @@ export declare const CreateSprint: import("next-safe-action").SafeActionFn<strin
127
117
  id?: string[];
128
118
  };
129
119
  }, readonly [], Sprint>;
130
- export declare const GetSprint: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
131
- id: import("zod").ZodString;
132
- }, "strip", import("zod").ZodTypeAny, {
120
+ export declare const GetSprint: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
121
+ id: z.ZodString;
122
+ }, "strip", z.ZodTypeAny, {
133
123
  id?: string;
134
124
  }, {
135
125
  id?: string;
@@ -143,11 +133,11 @@ export declare const ListSprints: import("next-safe-action").SafeActionFn<string
143
133
  formErrors: string[];
144
134
  fieldErrors: {};
145
135
  }, readonly [], Sprint[]>;
146
- export declare const UpdateSprint: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
147
- id: import("zod").ZodString;
148
- name: import("zod").ZodString;
149
- description: import("zod").ZodOptional<import("zod").ZodString>;
150
- }, "strip", import("zod").ZodTypeAny, {
136
+ export declare const UpdateSprint: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
137
+ id: z.ZodString;
138
+ name: z.ZodString;
139
+ description: z.ZodOptional<z.ZodString>;
140
+ }, "strip", z.ZodTypeAny, {
151
141
  name?: string;
152
142
  description?: string;
153
143
  id?: string;
@@ -163,9 +153,9 @@ export declare const UpdateSprint: import("next-safe-action").SafeActionFn<strin
163
153
  id?: string[];
164
154
  };
165
155
  }, readonly [], Sprint>;
166
- export declare const DeleteSprint: import("next-safe-action").SafeActionFn<string, import("zod").ZodObject<{
167
- id: import("zod").ZodString;
168
- }, "strip", import("zod").ZodTypeAny, {
156
+ export declare const DeleteSprint: import("next-safe-action").SafeActionFn<string, z.ZodObject<{
157
+ id: z.ZodString;
158
+ }, "strip", z.ZodTypeAny, {
169
159
  id?: string;
170
160
  }, {
171
161
  id?: string;
@@ -1,4 +1,5 @@
1
1
  'use server';
2
+ import { ZodError } from 'zod';
2
3
  import { actionClient } from '../../actions/actionClient';
3
4
  import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
4
5
  import { CreateProjectSchema, CreateSprintSchema, CreateTaskListSchema, DeleteSprintSchema, DeleteTaskListSchema, GetSprintSchema, GetTaskListSchema, ListProjectsSchema, UpdateSprintSchema, UpdateTaskListSchema } from './schema';
@@ -14,18 +15,33 @@ export const CreateProject = actionClient
14
15
  throw new Error('Failed to fetch CreateProject');
15
16
  }
16
17
  });
17
- export const ListProjects = actionClient
18
+ /* export const ListProjects = actionClient
18
19
  .schema(ListProjectsSchema)
19
- .action(async ({ parsedInput }) => {
20
+ .action(async ({ parsedInput }): Promise<Project[]> => {
21
+ try {
22
+
23
+ const { task } = await getSDKForCurrentUser();
24
+ return await task.ListProjects(parsedInput);
25
+
26
+ } catch (error) {
27
+ console.error('Error in CreateProject:', error);
28
+ throw new Error('Failed to fetch CreateProject');
29
+ }
30
+ }); */
31
+ export async function ListProjects(payload) {
20
32
  try {
33
+ const validatedPayload = ListProjectsSchema.parse(payload);
21
34
  const { task } = await getSDKForCurrentUser();
22
- return await task.ListProjects(parsedInput);
35
+ return await task.ListProjects(validatedPayload);
23
36
  }
24
37
  catch (error) {
25
- console.error('Error in CreateProject:', error);
26
- throw new Error('Failed to fetch CreateProject');
38
+ console.error('Error in ListProjects:', error);
39
+ if (error instanceof ZodError) {
40
+ throw new Error('Validation failed: ' + error.errors.map(e => e.message).join(', '));
41
+ }
42
+ throw new Error('Failed to fetch ListProjects');
27
43
  }
28
- });
44
+ }
29
45
  export const CreateTaskList = actionClient
30
46
  .schema(CreateTaskListSchema)
31
47
  .action(async ({ parsedInput }) => {
@@ -144,4 +160,4 @@ export const DeleteSprint = actionClient
144
160
  throw new Error('Failed to fetch DeleteSprint');
145
161
  }
146
162
  });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHck8sTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVk7S0FDcEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0tBQzNCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBb0IsRUFBRTtJQUNoRCxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWpELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDckQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVk7S0FDdkMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0tBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBc0IsRUFBRTtJQUNsRCxJQUFJLENBQUM7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SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDcEQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVk7S0FDdkMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0tBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBaUIsRUFBRTtJQUM3QyxJQUFJLENBQUM7UUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDcEQsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzZXJ2ZXInO1xuXG5cbmltcG9ydCB7IGFjdGlvbkNsaWVudCB9IGZyb20gJy4uLy4uL2FjdGlvbnMvYWN0aW9uQ2xpZW50JztcbmltcG9ydCB7IGdldFNES0ZvckN1cnJlbnRVc2VyIH0gZnJvbSAnLi4vLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXInO1xuaW1wb3J0IHsgZ2V0U0RLRm9yU2VydmljZSB9IGZyb20gJy4uLy4uL2dldFNES0ZvclNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlYXRlUHJvamVjdFNjaGVtYSwgQ3JlYXRlU3ByaW50U2NoZW1hLCBDcmVhdGVUYXNrTGlzdFNjaGVtYSwgRGVsZXRlU3ByaW50U2NoZW1hLCBEZWxldGVUYXNrTGlzdFNjaGVtYSwgR2V0U3ByaW50U2NoZW1hLCBHZXRUYXNrTGlzdFNjaGVtYSwgTGlzdFByb2plY3RzU2NoZW1hLCBVcGRhdGVTcHJpbnRTY2hlbWEsIFVwZGF0ZVRhc2tMaXN0U2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHsgUHJvamVjdCwgU3ByaW50LCBUYXNrTGlzdCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlUHJvamVjdCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoQ3JlYXRlUHJvamVjdFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFByb2plY3Q+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlUHJvamVjdChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIENyZWF0ZVByb2plY3Q6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggQ3JlYXRlUHJvamVjdCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgTGlzdFByb2plY3RzID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShMaXN0UHJvamVjdHNTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxQcm9qZWN0W10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFByb2plY3RzKHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlUHJvamVjdDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBDcmVhdGVQcm9qZWN0Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVRhc2tMaXN0ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShDcmVhdGVUYXNrTGlzdFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFRhc2tMaXN0PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlVGFza0xpc3Q6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggQ3JlYXRlVGFza0xpc3QnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgR2V0VGFza0xpc3QgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldFRhc2tMaXN0U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8VGFza0xpc3Q+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0VGFza0xpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRUYXNrTGlzdDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBHZXRUYXNrTGlzdCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza0xpc3RzID0gYWN0aW9uQ2xpZW50XG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxUYXNrTGlzdFtdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYXNrTGlzdHMoKTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdFRhc2tMaXN0czonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBMaXN0VGFza0xpc3RzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVRhc2tMaXN0ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShVcGRhdGVUYXNrTGlzdFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFRhc2tMaXN0PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gVXBkYXRlVGFza0xpc3Q6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggVXBkYXRlVGFza0xpc3QnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVGFza0xpc3QgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKERlbGV0ZVRhc2tMaXN0U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIERlbGV0ZVRhc2tMaXN0OicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIERlbGV0ZVRhc2tMaXN0Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICBcbiAgICBleHBvcnQgY29uc3QgQ3JlYXRlU3ByaW50ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShDcmVhdGVTcHJpbnRTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTcHJpbnQ+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gQ3JlYXRlU3ByaW50OicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIENyZWF0ZVNwcmludCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBHZXRTcHJpbnQgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKEdldFNwcmludFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNwcmludD4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBHZXRTcHJpbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggR2V0U3ByaW50Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICBleHBvcnQgY29uc3QgTGlzdFNwcmludHMgPSBhY3Rpb25DbGllbnRcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNwcmludFtdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RTcHJpbnRzKCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RTcHJpbnRzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RTcHJpbnRzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICBleHBvcnQgY29uc3QgVXBkYXRlU3ByaW50ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShVcGRhdGVTcHJpbnRTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxTcHJpbnQ+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suVXBkYXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gVXBkYXRlU3ByaW50OicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIFVwZGF0ZVNwcmludCcpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgZXhwb3J0IGNvbnN0IERlbGV0ZVNwcmludCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoRGVsZXRlU3ByaW50U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBEZWxldGVTcHJpbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggRGVsZXRlU3ByaW50Jyk7XG4gICAgICAgIH1cbiAgICB9KTsiXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFLLFFBQVEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNsQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdyTyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWTtLQUNwQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7S0FDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFvQixFQUFFO0lBQ2hELElBQUksQ0FBQztRQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFUDs7Ozs7Ozs7Ozs7O1VBWVU7QUFFVixNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FBQyxPQUFnQjtJQUMvQyxJQUFJLENBQUM7UUFFRCxNQUFNLGdC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QUFNLFlBQVksR0FBRyxZQUFZO0tBQ25DLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztLQUMxQixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQW1CLEVBQUU7SUFDL0MsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVoRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVQLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZO0tBQ25DLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztLQUMxQixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQWlCLEVBQUU7SUFDN0MsSUFBSSxDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVoRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc2VydmVyJztcblxuXG5pbXBvcnQgeyB6LCBab2RFcnJvciB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBhY3Rpb25DbGllbnQgfSBmcm9tICcuLi8uLi9hY3Rpb25zL2FjdGlvbkNsaWVudCc7XG5pbXBvcnQgeyBnZXRTREtGb3JDdXJyZW50VXNlciB9IGZyb20gJy4uLy4uL2dldFNES0ZvckN1cnJlbnRVc2VyJztcbmltcG9ydCB7IGdldFNES0ZvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZXRTREtGb3JTZXJ2aWNlJztcbmltcG9ydCB7IENyZWF0ZVByb2plY3RTY2hlbWEsIENyZWF0ZVNwcmludFNjaGVtYSwgQ3JlYXRlVGFza0xpc3RTY2hlbWEsIERlbGV0ZVNwcmludFNjaGVtYSwgRGVsZXRlVGFza0xpc3RTY2hlbWEsIEdldFNwcmludFNjaGVtYSwgR2V0VGFza0xpc3RTY2hlbWEsIExpc3RQcm9qZWN0c1NjaGVtYSwgVXBkYXRlU3ByaW50U2NoZW1hLCBVcGRhdGVUYXNrTGlzdFNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB7IFByb2plY3QsIFNwcmludCwgVGFza0xpc3QgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVByb2plY3QgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKENyZWF0ZVByb2plY3RTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxQcm9qZWN0PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVByb2plY3QocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBDcmVhdGVQcm9qZWN0OicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIENyZWF0ZVByb2plY3QnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4vKiAgICAgZXhwb3J0IGNvbnN0IExpc3RQcm9qZWN0cyA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoTGlzdFByb2plY3RzU2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8UHJvamVjdFtdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RQcm9qZWN0cyhwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIENyZWF0ZVByb2plY3Q6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggQ3JlYXRlUHJvamVjdCcpO1xuICAgICAgICB9XG4gICAgfSk7ICovXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBMaXN0UHJvamVjdHMocGF5bG9hZDogdW5rbm93bik6IFByb21pc2U8UHJvamVjdFtdPiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB2YWxpZGF0ZWRQYXlsb2FkID0gTGlzdFByb2plY3RzU2NoZW1hLnBhcnNlKHBheWxvYWQpO1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFByb2plY3RzKHZhbGlkYXRlZFBheWxvYWQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gTGlzdFByb2plY3RzOicsIGVycm9yKTtcblxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBab2RFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZDogJyArIGVycm9yLmVycm9ycy5tYXAoZSA9PiBlLm1lc3NhZ2UpLmpvaW4oJywgJykpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggTGlzdFByb2plY3RzJyk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFza0xpc3QgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKENyZWF0ZVRhc2tMaXN0U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8VGFza0xpc3Q+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlVGFza0xpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBDcmVhdGVUYXNrTGlzdDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBDcmVhdGVUYXNrTGlzdCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBHZXRUYXNrTGlzdCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoR2V0VGFza0xpc3RTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTxUYXNrTGlzdD4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEdldFRhc2tMaXN0OicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIEdldFRhc2tMaXN0Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IExpc3RUYXNrTGlzdHMgPSBhY3Rpb25DbGllbnRcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFRhc2tMaXN0W10+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFRhc2tMaXN0cygpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBMaXN0VGFza0xpc3RzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RUYXNrTGlzdHMnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGFza0xpc3QgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKFVwZGF0ZVRhc2tMaXN0U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8VGFza0xpc3Q+ID0+IHtcbiAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suVXBkYXRlVGFza0xpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBVcGRhdGVUYXNrTGlzdDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBVcGRhdGVUYXNrTGlzdCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVUYXNrTGlzdCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoRGVsZXRlVGFza0xpc3RTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVRhc2tMaXN0KHBhcnNlZElucHV0KTtcblxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gRGVsZXRlVGFza0xpc3Q6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggRGVsZXRlVGFza0xpc3QnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTcHJpbnQgPSBhY3Rpb25DbGllbnRcbiAgICAuc2NoZW1hKENyZWF0ZVNwcmludFNjaGVtYSlcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNwcmludD4gPT4ge1xuICAgICAgICB0cnkge1xuXG4gICAgICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBDcmVhdGVTcHJpbnQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggQ3JlYXRlU3ByaW50Jyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IEdldFNwcmludCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoR2V0U3ByaW50U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8U3ByaW50PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEdldFNwcmludDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBHZXRTcHJpbnQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgTGlzdFNwcmludHMgPSBhY3Rpb25DbGllbnRcbiAgICAuYWN0aW9uKGFzeW5jICh7IHBhcnNlZElucHV0IH0pOiBQcm9taXNlPFNwcmludFtdPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RTcHJpbnRzKCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIExpc3RTcHJpbnRzOicsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGZldGNoIExpc3RTcHJpbnRzJyk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNwcmludCA9IGFjdGlvbkNsaWVudFxuICAgIC5zY2hlbWEoVXBkYXRlU3ByaW50U2NoZW1hKVxuICAgIC5hY3Rpb24oYXN5bmMgKHsgcGFyc2VkSW5wdXQgfSk6IFByb21pc2U8U3ByaW50PiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZVNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIFVwZGF0ZVNwcmludDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBVcGRhdGVTcHJpbnQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU3ByaW50ID0gYWN0aW9uQ2xpZW50XG4gICAgLnNjaGVtYShEZWxldGVTcHJpbnRTY2hlbWEpXG4gICAgLmFjdGlvbihhc3luYyAoeyBwYXJzZWRJbnB1dCB9KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHRyeSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIERlbGV0ZVNwcmludDonLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBEZWxldGVTcHJpbnQnKTtcbiAgICAgICAgfVxuICAgIH0pOyJdfQ==
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.108",
5
+ "version": "1.0.110",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
@@ -1,6 +1,7 @@
1
1
  'use server';
2
2
 
3
3
 
4
+ import { z, ZodError } from 'zod';
4
5
  import { actionClient } from '../../actions/actionClient';
5
6
  import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
6
7
  import { getSDKForService } from '../../getSDKForService';
@@ -21,7 +22,7 @@ export const CreateProject = actionClient
21
22
  }
22
23
  });
23
24
 
24
- export const ListProjects = actionClient
25
+ /* export const ListProjects = actionClient
25
26
  .schema(ListProjectsSchema)
26
27
  .action(async ({ parsedInput }): Promise<Project[]> => {
27
28
  try {
@@ -33,7 +34,26 @@ export const CreateProject = actionClient
33
34
  console.error('Error in CreateProject:', error);
34
35
  throw new Error('Failed to fetch CreateProject');
35
36
  }
36
- });
37
+ }); */
38
+
39
+ export async function ListProjects(payload: unknown): Promise<Project[]> {
40
+ try {
41
+
42
+ const validatedPayload = ListProjectsSchema.parse(payload);
43
+
44
+ const { task } = await getSDKForCurrentUser();
45
+ return await task.ListProjects(validatedPayload);
46
+
47
+ } catch (error) {
48
+ console.error('Error in ListProjects:', error);
49
+
50
+ if (error instanceof ZodError) {
51
+ throw new Error('Validation failed: ' + error.errors.map(e => e.message).join(', '));
52
+ }
53
+
54
+ throw new Error('Failed to fetch ListProjects');
55
+ }
56
+ }
37
57
 
38
58
  export const CreateTaskList = actionClient
39
59
  .schema(CreateTaskListSchema)
@@ -103,9 +123,9 @@ export const DeleteTaskList = actionClient
103
123
  throw new Error('Failed to fetch DeleteTaskList');
104
124
  }
105
125
  });
106
-
107
-
108
- export const CreateSprint = actionClient
126
+
127
+
128
+ export const CreateSprint = actionClient
109
129
  .schema(CreateSprintSchema)
110
130
  .action(async ({ parsedInput }): Promise<Sprint> => {
111
131
  try {
@@ -132,8 +152,8 @@ export const GetSprint = actionClient
132
152
  throw new Error('Failed to fetch GetSprint');
133
153
  }
134
154
  });
135
-
136
- export const ListSprints = actionClient
155
+
156
+ export const ListSprints = actionClient
137
157
  .action(async ({ parsedInput }): Promise<Sprint[]> => {
138
158
  try {
139
159
 
@@ -145,8 +165,8 @@ export const GetSprint = actionClient
145
165
  throw new Error('Failed to fetch ListSprints');
146
166
  }
147
167
  });
148
-
149
- export const UpdateSprint = actionClient
168
+
169
+ export const UpdateSprint = actionClient
150
170
  .schema(UpdateSprintSchema)
151
171
  .action(async ({ parsedInput }): Promise<Sprint> => {
152
172
  try {
@@ -159,8 +179,8 @@ export const GetSprint = actionClient
159
179
  throw new Error('Failed to fetch UpdateSprint');
160
180
  }
161
181
  });
162
-
163
- export const DeleteSprint = actionClient
182
+
183
+ export const DeleteSprint = actionClient
164
184
  .schema(DeleteSprintSchema)
165
185
  .action(async ({ parsedInput }): Promise<void> => {
166
186
  try {