@appconda/nextjs 1.0.112 → 1.0.114

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.
Files changed (308) hide show
  1. package/package.json +3 -3
  2. package/src/modules/task/action.ts +11 -31
  3. package/dist/actions/actionClient.d.ts +0 -10
  4. package/dist/actions/actionClient.js +0 -38
  5. package/dist/actions/auth.d.ts +0 -1
  6. package/dist/actions/auth.js +0 -6
  7. package/dist/actions/authOptions.d.ts +0 -5
  8. package/dist/actions/authOptions.js +0 -235
  9. package/dist/actions/index.d.ts +0 -3
  10. package/dist/actions/index.js +0 -4
  11. package/dist/actions/nextAuthHandler.d.ts +0 -1
  12. package/dist/actions/nextAuthHandler.js +0 -6
  13. package/dist/actions/nodes.d.ts +0 -4
  14. package/dist/actions/nodes.js +0 -15
  15. package/dist/client.d.ts +0 -141
  16. package/dist/client.js +0 -335
  17. package/dist/decorators/Cache.d.ts +0 -1
  18. package/dist/decorators/Cache.js +0 -79
  19. package/dist/decorators/CacheKey.d.ts +0 -1
  20. package/dist/decorators/CacheKey.js +0 -9
  21. package/dist/decorators/Invalidate.d.ts +0 -1
  22. package/dist/decorators/Invalidate.js +0 -47
  23. package/dist/enums/api-service.d.ts +0 -13
  24. package/dist/enums/api-service.js +0 -15
  25. package/dist/enums/api.d.ts +0 -5
  26. package/dist/enums/api.js +0 -7
  27. package/dist/enums/auth-method.d.ts +0 -9
  28. package/dist/enums/auth-method.js +0 -11
  29. package/dist/enums/authentication-factor.d.ts +0 -6
  30. package/dist/enums/authentication-factor.js +0 -7
  31. package/dist/enums/authenticator-type.d.ts +0 -3
  32. package/dist/enums/authenticator-type.js +0 -4
  33. package/dist/enums/browser.d.ts +0 -16
  34. package/dist/enums/browser.js +0 -18
  35. package/dist/enums/compression.d.ts +0 -5
  36. package/dist/enums/compression.js +0 -7
  37. package/dist/enums/credit-card.d.ts +0 -18
  38. package/dist/enums/credit-card.js +0 -20
  39. package/dist/enums/database-usage-range.d.ts +0 -5
  40. package/dist/enums/database-usage-range.js +0 -7
  41. package/dist/enums/email-template-locale.d.ts +0 -133
  42. package/dist/enums/email-template-locale.js +0 -135
  43. package/dist/enums/email-template-type.d.ts +0 -9
  44. package/dist/enums/email-template-type.js +0 -11
  45. package/dist/enums/entities/EntityLimitType.d.ts +0 -4
  46. package/dist/enums/entities/EntityLimitType.js +0 -6
  47. package/dist/enums/entities/PropertyAttributeName.d.ts +0 -27
  48. package/dist/enums/entities/PropertyAttributeName.js +0 -29
  49. package/dist/enums/entities/PropertyCondition.d.ts +0 -7
  50. package/dist/enums/entities/PropertyCondition.js +0 -10
  51. package/dist/enums/entities/PropertyType.d.ts +0 -12
  52. package/dist/enums/entities/PropertyType.js +0 -18
  53. package/dist/enums/entities/PropertyValueType.d.ts +0 -6
  54. package/dist/enums/entities/PropertyValueType.js +0 -8
  55. package/dist/enums/entities/RowAccess.d.ts +0 -2
  56. package/dist/enums/entities/RowAccess.js +0 -2
  57. package/dist/enums/entities/ViewFilterCondition.d.ts +0 -12
  58. package/dist/enums/entities/ViewFilterCondition.js +0 -14
  59. package/dist/enums/execution-method.d.ts +0 -8
  60. package/dist/enums/execution-method.js +0 -10
  61. package/dist/enums/flag.d.ts +0 -197
  62. package/dist/enums/flag.js +0 -199
  63. package/dist/enums/function-usage-range.d.ts +0 -5
  64. package/dist/enums/function-usage-range.js +0 -7
  65. package/dist/enums/image-format.d.ts +0 -7
  66. package/dist/enums/image-format.js +0 -9
  67. package/dist/enums/image-gravity.d.ts +0 -11
  68. package/dist/enums/image-gravity.js +0 -13
  69. package/dist/enums/index-type.d.ts +0 -5
  70. package/dist/enums/index-type.js +0 -7
  71. package/dist/enums/messaging-provider-type.d.ts +0 -5
  72. package/dist/enums/messaging-provider-type.js +0 -7
  73. package/dist/enums/name.d.ts +0 -14
  74. package/dist/enums/name.js +0 -16
  75. package/dist/enums/o-auth-provider copy.d.ts +0 -41
  76. package/dist/enums/o-auth-provider copy.js +0 -43
  77. package/dist/enums/o-auth-provider.d.ts +0 -41
  78. package/dist/enums/o-auth-provider.js +0 -42
  79. package/dist/enums/password-hash.d.ts +0 -13
  80. package/dist/enums/password-hash.js +0 -15
  81. package/dist/enums/platform-type.d.ts +0 -17
  82. package/dist/enums/platform-type.js +0 -19
  83. package/dist/enums/project-usage-range.d.ts +0 -4
  84. package/dist/enums/project-usage-range.js +0 -6
  85. package/dist/enums/region.d.ts +0 -4
  86. package/dist/enums/region.js +0 -6
  87. package/dist/enums/relation-mutate.d.ts +0 -5
  88. package/dist/enums/relation-mutate.js +0 -7
  89. package/dist/enums/relationship-type.d.ts +0 -6
  90. package/dist/enums/relationship-type.js +0 -8
  91. package/dist/enums/resource-type.d.ts +0 -4
  92. package/dist/enums/resource-type.js +0 -6
  93. package/dist/enums/runtime.d.ts +0 -48
  94. package/dist/enums/runtime.js +0 -50
  95. package/dist/enums/s-m-t-p-secure.d.ts +0 -3
  96. package/dist/enums/s-m-t-p-secure.js +0 -5
  97. package/dist/enums/shared/ApplicationLayout.d.ts +0 -4
  98. package/dist/enums/shared/ApplicationLayout.js +0 -6
  99. package/dist/enums/shared/Colors.d.ts +0 -24
  100. package/dist/enums/shared/Colors.js +0 -26
  101. package/dist/enums/shared/InputType.d.ts +0 -6
  102. package/dist/enums/shared/InputType.js +0 -8
  103. package/dist/enums/shared/Periodicity.d.ts +0 -7
  104. package/dist/enums/shared/Periodicity.js +0 -9
  105. package/dist/enums/shared/SvgIcon.d.ts +0 -37
  106. package/dist/enums/shared/SvgIcon.js +0 -39
  107. package/dist/enums/shared/Theme.d.ts +0 -4
  108. package/dist/enums/shared/Theme.js +0 -6
  109. package/dist/enums/sms-template-locale.d.ts +0 -133
  110. package/dist/enums/sms-template-locale.js +0 -135
  111. package/dist/enums/sms-template-type.d.ts +0 -6
  112. package/dist/enums/sms-template-type.js +0 -8
  113. package/dist/enums/smtp-encryption.d.ts +0 -5
  114. package/dist/enums/smtp-encryption.js +0 -7
  115. package/dist/enums/storage-usage-range.d.ts +0 -5
  116. package/dist/enums/storage-usage-range.js +0 -7
  117. package/dist/enums/subscriptions/PricingModel.d.ts +0 -11
  118. package/dist/enums/subscriptions/PricingModel.js +0 -12
  119. package/dist/enums/subscriptions/SubscriptionBillingPeriod.d.ts +0 -10
  120. package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +0 -11
  121. package/dist/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +0 -10
  122. package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +0 -13
  123. package/dist/enums/subscriptions/SubscriptionPriceType.d.ts +0 -7
  124. package/dist/enums/subscriptions/SubscriptionPriceType.js +0 -8
  125. package/dist/enums/tenants/LinkedAccountStatus.d.ts +0 -5
  126. package/dist/enums/tenants/LinkedAccountStatus.js +0 -7
  127. package/dist/enums/tenants/TenantUserJoined.d.ts +0 -6
  128. package/dist/enums/tenants/TenantUserJoined.js +0 -8
  129. package/dist/enums/tenants/TenantUserStatus.d.ts +0 -6
  130. package/dist/enums/tenants/TenantUserStatus.js +0 -8
  131. package/dist/enums/tenants/TenantUserType.d.ts +0 -5
  132. package/dist/enums/tenants/TenantUserType.js +0 -7
  133. package/dist/enums/user-usage-range.d.ts +0 -5
  134. package/dist/enums/user-usage-range.js +0 -7
  135. package/dist/getAppcondaClient.d.ts +0 -2
  136. package/dist/getAppcondaClient.js +0 -44
  137. package/dist/getSDKForCurrentUser.d.ts +0 -43
  138. package/dist/getSDKForCurrentUser.js +0 -76
  139. package/dist/getSDKForService.d.ts +0 -6
  140. package/dist/getSDKForService.js +0 -51
  141. package/dist/getSDKForTenant.d.ts +0 -20
  142. package/dist/getSDKForTenant.js +0 -44
  143. package/dist/id.d.ts +0 -20
  144. package/dist/id.js +0 -45
  145. package/dist/index.d.ts +0 -44
  146. package/dist/index.js +0 -42
  147. package/dist/inputFile.d.ts +0 -6
  148. package/dist/inputFile.js +0 -17
  149. package/dist/lib/Cache/Adapter.d.ts +0 -10
  150. package/dist/lib/Cache/Adapter.js +0 -2
  151. package/dist/lib/Cache/Adapters/Filesystem.d.ts +0 -16
  152. package/dist/lib/Cache/Adapters/Filesystem.js +0 -103
  153. package/dist/lib/Cache/Adapters/Memory.d.ts +0 -18
  154. package/dist/lib/Cache/Adapters/Memory.js +0 -47
  155. package/dist/lib/Cache/Adapters/None.d.ts +0 -12
  156. package/dist/lib/Cache/Adapters/None.js +0 -28
  157. package/dist/lib/Cache/Adapters/Sharding.d.ts +0 -17
  158. package/dist/lib/Cache/Adapters/Sharding.js +0 -73
  159. package/dist/lib/Cache/Cache.d.ts +0 -16
  160. package/dist/lib/Cache/Cache.js +0 -52
  161. package/dist/lib/Cache/index.d.ts +0 -4
  162. package/dist/lib/Cache/index.js +0 -5
  163. package/dist/lib/Cache/test.d.ts +0 -0
  164. package/dist/lib/Cache/test.js +0 -1
  165. package/dist/lib/Registry/Registry.d.ts +0 -38
  166. package/dist/lib/Registry/Registry.js +0 -56
  167. package/dist/lib/Registry/index.d.ts +0 -1
  168. package/dist/lib/Registry/index.js +0 -2
  169. package/dist/lib/Services.d.ts +0 -6
  170. package/dist/lib/Services.js +0 -14
  171. package/dist/lib/crypto.d.ts +0 -23
  172. package/dist/lib/crypto.js +0 -78
  173. package/dist/lib/env.d.ts +0 -1
  174. package/dist/lib/env.js +0 -137
  175. package/dist/lib/errors.d.ts +0 -70
  176. package/dist/lib/errors.js +0 -76
  177. package/dist/lib/index.d.ts +0 -2
  178. package/dist/lib/index.js +0 -3
  179. package/dist/lib/jwt.d.ts +0 -12
  180. package/dist/lib/jwt.js +0 -103
  181. package/dist/models.d.ts +0 -3272
  182. package/dist/models.js +0 -2
  183. package/dist/modules/account/actions.d.ts +0 -25
  184. package/dist/modules/account/actions.js +0 -18
  185. package/dist/modules/account/enums/authentication-factor.d.ts +0 -6
  186. package/dist/modules/account/enums/authentication-factor.js +0 -8
  187. package/dist/modules/account/enums/authenticator-type.d.ts +0 -3
  188. package/dist/modules/account/enums/authenticator-type.js +0 -5
  189. package/dist/modules/account/enums/o-auth-provider.d.ts +0 -41
  190. package/dist/modules/account/enums/o-auth-provider.js +0 -43
  191. package/dist/modules/account/index.d.ts +0 -3
  192. package/dist/modules/account/index.js +0 -4
  193. package/dist/modules/account/schema.d.ts +0 -17
  194. package/dist/modules/account/schema.js +0 -8
  195. package/dist/modules/account/service.d.ts +0 -530
  196. package/dist/modules/account/service.js +0 -1260
  197. package/dist/modules/account/types.d.ts +0 -411
  198. package/dist/modules/account/types.js +0 -2
  199. package/dist/modules/acl/service.d.ts +0 -26
  200. package/dist/modules/acl/service.js +0 -27
  201. package/dist/modules/agent/action.d.ts +0 -53
  202. package/dist/modules/agent/action.js +0 -64
  203. package/dist/modules/agent/index.d.ts +0 -4
  204. package/dist/modules/agent/index.js +0 -5
  205. package/dist/modules/agent/schema.d.ts +0 -48
  206. package/dist/modules/agent/schema.js +0 -21
  207. package/dist/modules/agent/service.d.ts +0 -12
  208. package/dist/modules/agent/service.js +0 -22
  209. package/dist/modules/agent/types.d.ts +0 -11
  210. package/dist/modules/agent/types.js +0 -2
  211. package/dist/modules/ai/index.d.ts +0 -1
  212. package/dist/modules/ai/index.js +0 -2
  213. package/dist/modules/ai/node/actions.d.ts +0 -4
  214. package/dist/modules/ai/node/actions.js +0 -16
  215. package/dist/modules/ai/node/index.d.ts +0 -2
  216. package/dist/modules/ai/node/index.js +0 -3
  217. package/dist/modules/ai/node/service.d.ts +0 -5
  218. package/dist/modules/ai/node/service.js +0 -12
  219. package/dist/modules/index.d.ts +0 -6
  220. package/dist/modules/index.js +0 -7
  221. package/dist/modules/task/action.d.ts +0 -168
  222. package/dist/modules/task/action.js +0 -163
  223. package/dist/modules/task/index.d.ts +0 -4
  224. package/dist/modules/task/index.js +0 -5
  225. package/dist/modules/task/schema.d.ts +0 -107
  226. package/dist/modules/task/schema.js +0 -44
  227. package/dist/modules/task/service.d.ts +0 -19
  228. package/dist/modules/task/service.js +0 -43
  229. package/dist/modules/task/types.d.ts +0 -84
  230. package/dist/modules/task/types.js +0 -2
  231. package/dist/modules/tenant/actions.d.ts +0 -45
  232. package/dist/modules/tenant/actions.js +0 -38
  233. package/dist/modules/tenant/index.d.ts +0 -3
  234. package/dist/modules/tenant/index.js +0 -4
  235. package/dist/modules/tenant/tenant.d.ts +0 -32
  236. package/dist/modules/tenant/tenant.js +0 -125
  237. package/dist/modules/tenant/types.d.ts +0 -11
  238. package/dist/modules/tenant/types.js +0 -2
  239. package/dist/modules/waitlist/action.d.ts +0 -69
  240. package/dist/modules/waitlist/action.js +0 -78
  241. package/dist/modules/waitlist/index.d.ts +0 -4
  242. package/dist/modules/waitlist/index.js +0 -5
  243. package/dist/modules/waitlist/schema.d.ts +0 -39
  244. package/dist/modules/waitlist/schema.js +0 -18
  245. package/dist/modules/waitlist/service.d.ts +0 -13
  246. package/dist/modules/waitlist/service.js +0 -28
  247. package/dist/modules/waitlist/types.d.ts +0 -14
  248. package/dist/modules/waitlist/types.js +0 -2
  249. package/dist/permission.d.ts +0 -43
  250. package/dist/permission.js +0 -54
  251. package/dist/query.d.ts +0 -194
  252. package/dist/query.js +0 -204
  253. package/dist/role.d.ts +0 -70
  254. package/dist/role.js +0 -94
  255. package/dist/schemas/nodes.d.ts +0 -0
  256. package/dist/schemas/nodes.js +0 -1
  257. package/dist/service-client.d.ts +0 -7
  258. package/dist/service-client.js +0 -14
  259. package/dist/service.d.ts +0 -11
  260. package/dist/service.js +0 -23
  261. package/dist/services/account.d.ts +0 -530
  262. package/dist/services/account.js +0 -1259
  263. package/dist/services/applets.d.ts +0 -9
  264. package/dist/services/applets.js +0 -40
  265. package/dist/services/avatars.d.ts +0 -115
  266. package/dist/services/avatars.js +0 -251
  267. package/dist/services/chat-flow.d.ts +0 -7
  268. package/dist/services/chat-flow.js +0 -26
  269. package/dist/services/community.d.ts +0 -19
  270. package/dist/services/community.js +0 -69
  271. package/dist/services/configuration.d.ts +0 -5
  272. package/dist/services/configuration.js +0 -11
  273. package/dist/services/databases.d.ts +0 -613
  274. package/dist/services/databases.js +0 -1736
  275. package/dist/services/functions.d.ts +0 -319
  276. package/dist/services/functions.js +0 -810
  277. package/dist/services/graphql.d.ts +0 -25
  278. package/dist/services/graphql.js +0 -57
  279. package/dist/services/health.d.ts +0 -231
  280. package/dist/services/health.js +0 -463
  281. package/dist/services/locale.d.ts +0 -80
  282. package/dist/services/locale.js +0 -144
  283. package/dist/services/messaging.d.ts +0 -685
  284. package/dist/services/messaging.js +0 -1920
  285. package/dist/services/node.d.ts +0 -5
  286. package/dist/services/node.js +0 -11
  287. package/dist/services/permissions.d.ts +0 -20
  288. package/dist/services/permissions.js +0 -90
  289. package/dist/services/pricing.d.ts +0 -15
  290. package/dist/services/pricing.js +0 -21
  291. package/dist/services/projects.d.ts +0 -542
  292. package/dist/services/projects.js +0 -1526
  293. package/dist/services/roles.d.ts +0 -19
  294. package/dist/services/roles.js +0 -72
  295. package/dist/services/schema.d.ts +0 -17
  296. package/dist/services/schema.js +0 -48
  297. package/dist/services/storage.d.ts +0 -189
  298. package/dist/services/storage.js +0 -474
  299. package/dist/services/subscription.d.ts +0 -15
  300. package/dist/services/subscription.js +0 -30
  301. package/dist/services/teams.d.ts +0 -167
  302. package/dist/services/teams.js +0 -395
  303. package/dist/services/tenant-subscription.d.ts +0 -12
  304. package/dist/services/tenant-subscription.js +0 -52
  305. package/dist/services/tenant.d.ts +0 -32
  306. package/dist/services/tenant.js +0 -124
  307. package/dist/services/users.d.ts +0 -499
  308. package/dist/services/users.js +0 -1283
package/package.json CHANGED
@@ -2,10 +2,10 @@
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.112",
5
+ "version": "1.0.114",
6
6
  "license": "BSD-3-Clause",
7
- "main": "dist/index.js",
8
- "types": "dist/index.d.ts",
7
+ "main": "src/index.ts",
8
+ "types": "src/index.ts",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "https://github.com/appconda/sdk-for-console"
@@ -1,7 +1,6 @@
1
1
  'use server';
2
2
 
3
3
 
4
- import { z, ZodError } from 'zod';
5
4
  import { actionClient } from '../../actions/actionClient';
6
5
  import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
7
6
  import { getSDKForService } from '../../getSDKForService';
@@ -22,7 +21,7 @@ export const CreateProject = actionClient
22
21
  }
23
22
  });
24
23
 
25
- /* export const ListProjects = actionClient
24
+ export const ListProjects = actionClient
26
25
  .schema(ListProjectsSchema)
27
26
  .action(async ({ parsedInput }): Promise<Project[]> => {
28
27
  try {
@@ -34,26 +33,7 @@ export const CreateProject = actionClient
34
33
  console.error('Error in CreateProject:', error);
35
34
  throw new Error('Failed to fetch CreateProject');
36
35
  }
37
- }); */
38
-
39
- export async function ListProjects(payload: z.infer<typeof ListProjectsSchema>): 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
- }
36
+ });
57
37
 
58
38
  export const CreateTaskList = actionClient
59
39
  .schema(CreateTaskListSchema)
@@ -123,9 +103,9 @@ export const DeleteTaskList = actionClient
123
103
  throw new Error('Failed to fetch DeleteTaskList');
124
104
  }
125
105
  });
126
-
127
-
128
- export const CreateSprint = actionClient
106
+
107
+
108
+ export const CreateSprint = actionClient
129
109
  .schema(CreateSprintSchema)
130
110
  .action(async ({ parsedInput }): Promise<Sprint> => {
131
111
  try {
@@ -152,8 +132,8 @@ export const GetSprint = actionClient
152
132
  throw new Error('Failed to fetch GetSprint');
153
133
  }
154
134
  });
155
-
156
- export const ListSprints = actionClient
135
+
136
+ export const ListSprints = actionClient
157
137
  .action(async ({ parsedInput }): Promise<Sprint[]> => {
158
138
  try {
159
139
 
@@ -165,8 +145,8 @@ export const ListSprints = actionClient
165
145
  throw new Error('Failed to fetch ListSprints');
166
146
  }
167
147
  });
168
-
169
- export const UpdateSprint = actionClient
148
+
149
+ export const UpdateSprint = actionClient
170
150
  .schema(UpdateSprintSchema)
171
151
  .action(async ({ parsedInput }): Promise<Sprint> => {
172
152
  try {
@@ -179,8 +159,8 @@ export const UpdateSprint = actionClient
179
159
  throw new Error('Failed to fetch UpdateSprint');
180
160
  }
181
161
  });
182
-
183
- export const DeleteSprint = actionClient
162
+
163
+ export const DeleteSprint = actionClient
184
164
  .schema(DeleteSprintSchema)
185
165
  .action(async ({ parsedInput }): Promise<void> => {
186
166
  try {
@@ -1,10 +0,0 @@
1
- export declare const actionClient: import("next-safe-action").SafeActionClient<string, undefined, undefined, unknown, {}, undefined, undefined, undefined, readonly [], {
2
- formErrors: string[];
3
- fieldErrors: {};
4
- }, readonly []>;
5
- export declare const authenticatedActionClient: import("next-safe-action").SafeActionClient<string, undefined, undefined, unknown, {
6
- user: any;
7
- }, undefined, undefined, undefined, readonly [], {
8
- formErrors: string[];
9
- fieldErrors: {};
10
- }, readonly []>;
@@ -1,38 +0,0 @@
1
- import { getServerSession } from "next-auth";
2
- import { DEFAULT_SERVER_ERROR_MESSAGE, createSafeActionClient } from "next-safe-action";
3
- import { authOptions } from "./authOptions";
4
- import { AuthenticationError, AuthorizationError } from "../lib/errors";
5
- export const actionClient = createSafeActionClient({
6
- handleServerError(e) {
7
- /* if (
8
- e instanceof ResourceNotFoundError ||
9
- e instanceof AuthorizationError ||
10
- e instanceof InvalidInputError ||
11
- e instanceof UnknownError ||
12
- e instanceof AuthenticationError ||
13
- e instanceof OperationNotAllowedError ||
14
- e instanceof AppcondaException
15
- ) {
16
- return e.message;
17
- } */
18
- // eslint-disable-next-line no-console -- This error needs to be logged for debugging server-side errors
19
- console.error("SERVER ERROR: ", e);
20
- return DEFAULT_SERVER_ERROR_MESSAGE;
21
- },
22
- });
23
- export const authenticatedActionClient = actionClient.use(async ({ next }) => {
24
- const session = await getServerSession(authOptions());
25
- //@ts-ignore
26
- if (!session?.user) {
27
- throw new AuthenticationError("Not authenticated");
28
- }
29
- //@ts-ignore
30
- const userId = session.user.id;
31
- //@ts-ignore
32
- const user = await getUser(userId);
33
- if (!user) {
34
- throw new AuthorizationError("User not found");
35
- }
36
- return next({ ctx: { user } });
37
- });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbnMvYWN0aW9uQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUM7SUFDakQsaUJBQWlCLENBQUMsQ0FBUTtRQUN4Qjs7Ozs7Ozs7OztZQVVJO1FBRUosd0dBQXdHO1FBQ3hHLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTyw0QkFBNEIsQ0FBQztJQUN0QyxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBR0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO0lBQzNFLE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RCxZQUFZO0lBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWTtJQUNaLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRS9CLFlBQVk7SUFDWixNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IGdldFNlcnZlclNlc3Npb24gfSBmcm9tIFwibmV4dC1hdXRoXCI7XG5pbXBvcnQgeyBERUZBVUxUX1NFUlZFUl9FUlJPUl9NRVNTQUdFLCBjcmVhdGVTYWZlQWN0aW9uQ2xpZW50IH0gZnJvbSBcIm5leHQtc2FmZS1hY3Rpb25cIjtcbmltcG9ydCB7IGF1dGhPcHRpb25zIH0gZnJvbSBcIi4vYXV0aE9wdGlvbnNcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uRXJyb3IsIEF1dGhvcml6YXRpb25FcnJvciB9IGZyb20gXCIuLi9saWIvZXJyb3JzXCI7XG5cblxuZXhwb3J0IGNvbnN0IGFjdGlvbkNsaWVudCA9IGNyZWF0ZVNhZmVBY3Rpb25DbGllbnQoe1xuICBoYW5kbGVTZXJ2ZXJFcnJvcihlOiBFcnJvcikge1xuICAgIC8qIGlmIChcbiAgICAgIGUgaW5zdGFuY2VvZiBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfHxcbiAgICAgIGUgaW5zdGFuY2VvZiBBdXRob3JpemF0aW9uRXJyb3IgfHxcbiAgICAgIGUgaW5zdGFuY2VvZiBJbnZhbGlkSW5wdXRFcnJvciB8fFxuICAgICAgZSBpbnN0YW5jZW9mIFVua25vd25FcnJvciB8fFxuICAgICAgZSBpbnN0YW5jZW9mIEF1dGhlbnRpY2F0aW9uRXJyb3IgfHxcbiAgICAgIGUgaW5zdGFuY2VvZiBPcGVyYXRpb25Ob3RBbGxvd2VkRXJyb3IgfHxcbiAgICAgIGUgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvblxuICAgICkge1xuICAgICAgcmV0dXJuIGUubWVzc2FnZTtcbiAgICB9ICovXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBUaGlzIGVycm9yIG5lZWRzIHRvIGJlIGxvZ2dlZCBmb3IgZGVidWdnaW5nIHNlcnZlci1zaWRlIGVycm9yc1xuICAgIGNvbnNvbGUuZXJyb3IoXCJTRVJWRVIgRVJST1I6IFwiLCBlKTtcbiAgICByZXR1cm4gREVGQVVMVF9TRVJWRVJfRVJST1JfTUVTU0FHRTtcbiAgfSxcbn0pO1xuXG5cbmV4cG9ydCBjb25zdCBhdXRoZW50aWNhdGVkQWN0aW9uQ2xpZW50ID0gYWN0aW9uQ2xpZW50LnVzZShhc3luYyAoeyBuZXh0IH0pID0+IHtcbiAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGdldFNlcnZlclNlc3Npb24oYXV0aE9wdGlvbnMoKSk7XG4gIC8vQHRzLWlnbm9yZVxuICBpZiAoIXNlc3Npb24/LnVzZXIpIHtcbiAgICB0aHJvdyBuZXcgQXV0aGVudGljYXRpb25FcnJvcihcIk5vdCBhdXRoZW50aWNhdGVkXCIpO1xuICB9XG5cbiAgLy9AdHMtaWdub3JlXG4gIGNvbnN0IHVzZXJJZCA9IHNlc3Npb24udXNlci5pZDtcblxuICAvL0B0cy1pZ25vcmVcbiAgY29uc3QgdXNlciA9IGF3YWl0IGdldFVzZXIodXNlcklkKTtcbiAgaWYgKCF1c2VyKSB7XG4gICAgdGhyb3cgbmV3IEF1dGhvcml6YXRpb25FcnJvcihcIlVzZXIgbm90IGZvdW5kXCIpO1xuICB9XG5cbiAgcmV0dXJuIG5leHQoeyBjdHg6IHsgdXNlciB9IH0pO1xufSk7XG4iXX0=
@@ -1 +0,0 @@
1
- export declare const auth: () => Promise<unknown>;
@@ -1,6 +0,0 @@
1
- import { getServerSession } from "next-auth";
2
- import { authOptions } from "./authOptions";
3
- export const auth = async () => {
4
- return await getServerSession(authOptions());
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEtBQUssSUFBRyxFQUFFO0lBQzFCLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNlcnZlclNlc3Npb24gfSBmcm9tIFwibmV4dC1hdXRoXCJcbmltcG9ydCB7IGF1dGhPcHRpb25zIH0gZnJvbSBcIi4vYXV0aE9wdGlvbnNcIjtcblxuZXhwb3J0IGNvbnN0IGF1dGggPSBhc3luYyAoKT0+IHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0U2VydmVyU2Vzc2lvbihhdXRoT3B0aW9ucygpKTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export declare function signIn({ userName, password }: {
2
- userName: string;
3
- password: string;
4
- }): Promise<import("../modules/account/types").Session>;
5
- export declare const authOptions: () => any;
@@ -1,235 +0,0 @@
1
- import CredentialsProvider from "next-auth/providers/credentials";
2
- import { cookies } from "next/headers";
3
- import { getAppcondaClient } from "../getAppcondaClient";
4
- import { Account } from "../modules/account/service";
5
- import { getEnv } from "../lib/env";
6
- import { getSDKForCurrentUser } from "../getSDKForCurrentUser";
7
- import { Query } from "../query";
8
- /* const getEnv = () => {
9
- return {
10
- APPCONDA_ENDPOINT: 'process.env.APPCONDA_ENDPOINT',
11
- APPCONDA_CLIENT_ENDPOINT: 'process.env.APPCONDA_CLIENT_ENDPOINT',
12
- _SERVICE_TOKEN: 'process.env._SERVICE_TOKEN',
13
- ENTERPRISE_LICENSE_KEY: 'process.env.ENTERPRISE_LICENSE_KEY',
14
- };
15
- }; */
16
- export async function signIn({ userName, password }) {
17
- const adminClient = await getAppcondaClient();
18
- const account = new Account(adminClient);
19
- const session = await account.createEmailPasswordSession(userName, password);
20
- const c = await cookies();
21
- c.set('a_session', session.secret, {
22
- path: "/",
23
- httpOnly: true,
24
- sameSite: "strict",
25
- secure: true,
26
- });
27
- return session;
28
- }
29
- export const authOptions = (() => {
30
- let options = null;
31
- return () => {
32
- if (options == null) {
33
- options = {
34
- providers: [
35
- CredentialsProvider({
36
- id: "credentials",
37
- // The name to display on the sign in form (e.g. "Sign in with...")
38
- name: "Credentials",
39
- // The credentials is used to generate a suitable form on the sign in page.
40
- // You can specify whatever fields you are expecting to be submitted.
41
- // e.g. domain, username, password, 2FA token, etc.
42
- // You can pass any HTML attribute to the <input> tag through the object.
43
- credentials: {
44
- email: {
45
- label: "Email Address",
46
- type: "email",
47
- placeholder: "Your email address",
48
- },
49
- password: {
50
- label: "Password",
51
- type: "password",
52
- placeholder: "Your password",
53
- },
54
- totpCode: { label: "Two-factor Code", type: "input", placeholder: "Code from authenticator app" },
55
- backupCode: { label: "Backup Code", type: "input", placeholder: "Two-factor backup code" },
56
- },
57
- async authorize(credentials, _req) {
58
- debugger;
59
- let user;
60
- const appcondaSession = await signIn({ userName: credentials?.email, password: credentials?.password });
61
- console.log(credentials);
62
- /* try {
63
- user = await prisma.user.findUnique({
64
- where: {
65
- email: credentials?.email,
66
- },
67
- });
68
- } catch (e) {
69
- console.error(e);
70
- throw Error("Internal server error. Please try again later");
71
- }
72
- if (!user || !credentials) {
73
- throw new Error("Invalid credentials");
74
- }
75
- if (!user.password) {
76
- throw new Error("Invalid credentials");
77
- }
78
-
79
- const isValid = await verifyPassword(credentials.password, user.password);
80
-
81
- if (!isValid) {
82
- throw new Error("Invalid credentials");
83
- }
84
-
85
- if (user.twoFactorEnabled && credentials.backupCode) {
86
- if (!ENCRYPTION_KEY) {
87
- console.error("Missing encryption key; cannot proceed with backup code login.");
88
- throw new Error("Internal Server Error");
89
- }
90
-
91
- if (!user.backupCodes) throw new Error("No backup codes found");
92
-
93
- const backupCodes = JSON.parse(symmetricDecrypt(user.backupCodes, ENCRYPTION_KEY));
94
-
95
- // check if user-supplied code matches one
96
- const index = backupCodes.indexOf(credentials.backupCode.replaceAll("-", ""));
97
- if (index === -1) throw new Error("Invalid backup code");
98
-
99
- // delete verified backup code and re-encrypt remaining
100
- backupCodes[index] = null;
101
- await prisma.user.update({
102
- where: {
103
- id: user.id,
104
- },
105
- data: {
106
- backupCodes: symmetricEncrypt(JSON.stringify(backupCodes), ENCRYPTION_KEY),
107
- },
108
- });
109
- } else if (user.twoFactorEnabled) {
110
- if (!credentials.totpCode) {
111
- throw new Error("second factor required");
112
- }
113
-
114
- if (!user.twoFactorSecret) {
115
- throw new Error("Internal Server Error");
116
- }
117
-
118
- if (!ENCRYPTION_KEY) {
119
- throw new Error("Internal Server Error");
120
- }
121
-
122
- const secret = symmetricDecrypt(user.twoFactorSecret, ENCRYPTION_KEY);
123
- if (secret.length !== 32) {
124
- throw new Error("Internal Server Error");
125
- }
126
-
127
- const isValidToken = (await import("./totp")).totpAuthenticatorCheck(credentials.totpCode, secret);
128
- if (!isValidToken) {
129
- throw new Error("Invalid second factor code");
130
- }
131
- } */
132
- console.log("asafdf");
133
- return {
134
- id: appcondaSession.userId,
135
- email: appcondaSession.providerUid,
136
- emailVerified: true,
137
- imageUrl: "",
138
- };
139
- },
140
- }),
141
- CredentialsProvider({
142
- id: "token",
143
- // The name to display on the sign in form (e.g. "Sign in with...")
144
- name: "Token",
145
- // The credentials is used to generate a suitable form on the sign in page.
146
- // You can specify whatever fields you are expecting to be submitted.
147
- // e.g. domain, username, password, 2FA token, etc.
148
- // You can pass any HTML attribute to the <input> tag through the object.
149
- credentials: {
150
- token: {
151
- label: "Verification Token",
152
- type: "string",
153
- },
154
- },
155
- async authorize(credentials, _req) {
156
- let user;
157
- /* try {
158
- if (!credentials?.token) {
159
- throw new Error("Token not found");
160
- }
161
- const { id } = await verifyToken(credentials?.token);
162
- user = await prisma.user.findUnique({
163
- where: {
164
- id: id,
165
- },
166
- });
167
- } catch (e) {
168
- console.error(e);
169
- throw new Error("Either a user does not match the provided token or the token is invalid");
170
- }
171
-
172
- if (!user) {
173
- throw new Error("Either a user does not match the provided token or the token is invalid");
174
- }
175
-
176
- if (user.emailVerified) {
177
- throw new Error("Email already verified");
178
- }
179
-
180
- user = await updateUser(user.id, { emailVerified: new Date() }); */
181
- return user || null;
182
- },
183
- }),
184
- // Conditionally add enterprise SSO providers
185
- ...(getEnv().ENTERPRISE_LICENSE_KEY ? [] : []),
186
- ],
187
- callbacks: {
188
- async jwt({ token }) {
189
- const { users } = await getSDKForCurrentUser();
190
- const userList = await users.list([Query.equal("email", token.email)]);
191
- const user = userList.users[0] ?? {};
192
- /* const existingUser = await getUserByEmail(token?.email!);
193
-
194
- if (!existingUser) {
195
- return token;
196
- } */
197
- return {
198
- ...token,
199
- //@ts-ignore
200
- profile: { id: user.$id, ...user },
201
- };
202
- },
203
- async session({ session, token }) {
204
- //@ts-ignore
205
- session.user.id = token?.id;
206
- //@ts-ignore
207
- session.user = token.profile;
208
- return session;
209
- },
210
- //@ts-ignore
211
- async signIn({ user, account }) {
212
- /* if (account?.provider === "credentials" || account?.provider === "token") {
213
- // check if user's email is verified or not
214
- if (!user.emailVerified && !EMAIL_VERIFICATION_DISABLED) {
215
- throw new Error("Email Verification is Pending");
216
- }
217
- return true;
218
- }
219
- if (ENTERPRISE_LICENSE_KEY) {
220
- return handleSSOCallback({ user, account });
221
- } */
222
- return true;
223
- },
224
- },
225
- pages: {
226
- signIn: "/auth/login",
227
- signOut: "/auth/logout",
228
- error: "/auth/login", // Error code passed in query string as ?error=
229
- },
230
- };
231
- }
232
- return options;
233
- };
234
- })();
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aE9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9ucy9hdXRoT3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLG1CQUFtQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQzs7Ozs7OztLQU9LO0FBRUwsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUEwQztJQUN6RixNQUFNLFdBQVcsR0FBRyxNQUFNLGlCQUFpQixFQUFFLENBQUM7SUFFOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTdFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxFQUFFLENBQUM7SUFFMUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNqQyxJQUFJLEVBQUUsR0FBRztRQUNULFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUVqQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1B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QUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBRXZFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUVyQzs7Ozs2QkFJSzt3QkFFTCxPQUFPOzRCQUNMLEdBQUcsS0FBSzs0QkFDUixZQUFZOzRCQUNaLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFO3lCQUNuQyxDQUFDO29CQUNKLENBQUM7b0JBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7d0JBQzlCLFlBQVk7d0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDNUIsWUFBWTt3QkFDWixPQUFPLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7d0JBRTdCLE9BQU8sT0FBTyxDQUFDO29CQUNqQixDQUFDO29CQUNELFlBQVk7b0JBQ1osS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQTBDO3dCQUNwRTs7Ozs7Ozs7OzhCQVNNO3dCQUNOLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7aUJBQ0Y7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRSxhQUFhO29CQUNyQixPQUFPLEVBQUUsY0FBYztvQkFDdkIsS0FBSyxFQUFFLGFBQWEsRUFBRSwrQ0FBK0M7aUJBQ3RFO2FBQ0YsQ0FBQTtRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUE7QUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXh0QXV0aE9wdGlvbnMgfSBmcm9tIFwibmV4dC1hdXRoXCI7XG5pbXBvcnQgQ3JlZGVudGlhbHNQcm92aWRlciBmcm9tIFwibmV4dC1hdXRoL3Byb3ZpZGVycy9jcmVkZW50aWFsc1wiO1xuaW1wb3J0IHsgY29va2llcyB9IGZyb20gXCJuZXh0L2hlYWRlcnNcIjtcbmltcG9ydCB7IGdldEFwcGNvbmRhQ2xpZW50IH0gZnJvbSBcIi4uL2dldEFwcGNvbmRhQ2xpZW50XCI7XG5pbXBvcnQgeyBBY2NvdW50IH0gZnJvbSBcIi4uL21vZHVsZXMvYWNjb3VudC9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBnZXRFbnYgfSBmcm9tIFwiLi4vbGliL2VudlwiO1xuaW1wb3J0IHsgZ2V0U0RLRm9yQ3VycmVudFVzZXIgfSBmcm9tIFwiLi4vZ2V0U0RLRm9yQ3VycmVudFVzZXJcIjtcbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIi4uL3F1ZXJ5XCI7XG5cbi8qIGNvbnN0IGdldEVudiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBBUFBDT05EQV9FTkRQT0lOVDogJ3Byb2Nlc3MuZW52LkFQUENPTkRBX0VORFBPSU5UJyxcbiAgICBBUFBDT05EQV9DTElFTlRfRU5EUE9JTlQ6ICdwcm9jZXNzLmVudi5BUFBDT05EQV9DTElFTlRfRU5EUE9JTlQnLFxuICAgIF9TRVJWSUNFX1RPS0VOOiAncHJvY2Vzcy5lbnYuX1NFUlZJQ0VfVE9LRU4nLFxuICAgIEVOVEVSUFJJU0VfTElDRU5TRV9LRVk6ICdwcm9jZXNzLmVudi5FTlRFUlBSSVNFX0xJQ0VOU0VfS0VZJyxcbiAgfTtcbn07ICovXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduSW4oeyB1c2VyTmFtZSwgcGFzc3dvcmQgfTogeyB1c2VyTmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH0pIHtcbiAgY29uc3QgYWRtaW5DbGllbnQgPSBhd2FpdCBnZXRBcHBjb25kYUNsaWVudCgpO1xuXG4gIGNvbnN0IGFjY291bnQgPSBuZXcgQWNjb3VudChhZG1pbkNsaWVudCk7XG5cbiAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGFjY291bnQuY3JlYXRlRW1haWxQYXNzd29yZFNlc3Npb24odXNlck5hbWUsIHBhc3N3b3JkKTtcblxuICBjb25zdCBjID0gYXdhaXQgY29va2llcygpO1xuXG4gIGMuc2V0KCdhX3Nlc3Npb24nLCBzZXNzaW9uLnNlY3JldCwge1xuICAgIHBhdGg6IFwiL1wiLFxuICAgIGh0dHBPbmx5OiB0cnVlLFxuICAgIHNhbWVTaXRlOiBcInN0cmljdFwiLFxuICAgIHNlY3VyZTogdHJ1ZSxcbiAgfSk7XG5cbiAgcmV0dXJuIHNlc3Npb247XG5cbn1cblxuZXhwb3J0IGNvbnN0IGF1dGhPcHRpb25zID0gKCgpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSBudWxsO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgQ3JlZGVudGlhbHNQcm92aWRlcih7XG4gICAgICAgICAgICBpZDogXCJjcmVkZW50aWFsc1wiLFxuICAgICAgICAgICAgLy8gVGhlIG5hbWUgdG8gZGlzcGxheSBvbiB0aGUgc2lnbiBpbiBmb3JtIChlLmcuIFwiU2lnbiBpbiB3aXRoLi4uXCIpXG4gICAgICAgICAgICBuYW1lOiBcIkNyZWRlbnRpYWxzXCIsXG4gICAgICAgICAgICAvLyBUaGUgY3JlZGVudGlhbHMgaXMgdXNlZCB0byBnZW5lcmF0ZSBhIHN1aXRhYmxlIGZvcm0gb24gdGhlIHNpZ24gaW4gcGFnZS5cbiAgICAgICAgICAgIC8vIFlvdSBjYW4gc3BlY2lmeSB3aGF0ZXZlciBmaWVsZHMgeW91IGFyZSBleHBlY3RpbmcgdG8gYmUgc3VibWl0dGVkLlxuICAgICAgICAgICAgLy8gZS5nLiBkb21haW4sIHVzZXJuYW1lLCBwYXNzd29yZCwgMkZBIHRva2VuLCBldGMuXG4gICAgICAgICAgICAvLyBZb3UgY2FuIHBhc3MgYW55IEhUTUwgYXR0cmlidXRlIHRvIHRoZSA8aW5wdXQ+IHRhZyB0aHJvdWdoIHRoZSBvYmplY3QuXG4gICAgICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgICBlbWFpbDoge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkVtYWlsIEFkZHJlc3NcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImVtYWlsXCIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiWW91ciBlbWFpbCBhZGRyZXNzXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiUGFzc3dvcmRcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiWW91ciBwYXNzd29yZFwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0b3RwQ29kZTogeyBsYWJlbDogXCJUd28tZmFjdG9yIENvZGVcIiwgdHlwZTogXCJpbnB1dFwiLCBwbGFjZWhvbGRlcjogXCJDb2RlIGZyb20gYXV0aGVudGljYXRvciBhcHBcIiB9LFxuICAgICAgICAgICAgICBiYWNrdXBDb2RlOiB7IGxhYmVsOiBcIkJhY2t1cCBDb2RlXCIsIHR5cGU6IFwiaW5wdXRcIiwgcGxhY2Vob2xkZXI6IFwiVHdvLWZhY3RvciBiYWNrdXAgY29kZVwiIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgYXV0aG9yaXplKGNyZWRlbnRpYWxzLCBfcmVxKSB7XG4gICAgICAgICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICBsZXQgdXNlcjtcbiAgICAgICAgICAgICAgY29uc3QgYXBwY29uZGFTZXNzaW9uID0gYXdhaXQgc2lnbkluKHsgdXNlck5hbWU6IGNyZWRlbnRpYWxzPy5lbWFpbCBhcyBzdHJpbmcsIHBhc3N3b3JkOiBjcmVkZW50aWFscz8ucGFzc3dvcmQgYXMgc3RyaW5nIH0pO1xuXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGNyZWRlbnRpYWxzKTtcbiAgICAgICAgICAgICAgLyogIHRyeSB7XG4gICAgICAgICAgICAgICAgIHVzZXIgPSBhd2FpdCBwcmlzbWEudXNlci5maW5kVW5pcXVlKHtcbiAgICAgICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgICAgICAgZW1haWw6IGNyZWRlbnRpYWxzPy5lbWFpbCxcbiAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoXCJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3IuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIik7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAoIXVzZXIgfHwgIWNyZWRlbnRpYWxzKSB7XG4gICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY3JlZGVudGlhbHNcIik7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAoIXVzZXIucGFzc3dvcmQpIHtcbiAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjcmVkZW50aWFsc1wiKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB2ZXJpZnlQYXNzd29yZChjcmVkZW50aWFscy5wYXNzd29yZCwgdXNlci5wYXNzd29yZCk7XG4gICAgICAgXG4gICAgICAgICAgICAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjcmVkZW50aWFsc1wiKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgIGlmICh1c2VyLnR3b0ZhY3RvckVuYWJsZWQgJiYgY3JlZGVudGlhbHMuYmFja3VwQ29kZSkge1xuICAgICAgICAgICAgICAgICBpZiAoIUVOQ1JZUFRJT05fS0VZKSB7XG4gICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIk1pc3NpbmcgZW5jcnlwdGlvbiBrZXk7IGNhbm5vdCBwcm9jZWVkIHdpdGggYmFja3VwIGNvZGUgbG9naW4uXCIpO1xuICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludGVybmFsIFNlcnZlciBFcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgIFxuICAgICAgICAgICAgICAgICBpZiAoIXVzZXIuYmFja3VwQ29kZXMpIHRocm93IG5ldyBFcnJvcihcIk5vIGJhY2t1cCBjb2RlcyBmb3VuZFwiKTtcbiAgICAgICBcbiAgICAgICAgICAgICAgICAgY29uc3QgYmFja3VwQ29kZXMgPSBKU09OLnBhcnNlKHN5bW1ldHJpY0RlY3J5cHQodXNlci5iYWNrdXBDb2RlcywgRU5DUllQVElPTl9LRVkpKTtcbiAgICAgICBcbiAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgdXNlci1zdXBwbGllZCBjb2RlIG1hdGNoZXMgb25lXG4gICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYmFja3VwQ29kZXMuaW5kZXhPZihjcmVkZW50aWFscy5iYWNrdXBDb2RlLnJlcGxhY2VBbGwoXCItXCIsIFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBiYWNrdXAgY29kZVwiKTtcbiAgICAgICBcbiAgICAgICAgICAgICAgICAgLy8gZGVsZXRlIHZlcmlmaWVkIGJhY2t1cCBjb2RlIGFuZCByZS1lbmNyeXB0IHJlbWFpbmluZ1xuICAgICAgICAgICAgICAgICBiYWNrdXBDb2Rlc1tpbmRleF0gPSBudWxsO1xuICAgICAgICAgICAgICAgICBhd2FpdCBwcmlzbWEudXNlci51cGRhdGUoe1xuICAgICAgICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgICAgICBpZDogdXNlci5pZCxcbiAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgIGJhY2t1cENvZGVzOiBzeW1tZXRyaWNFbmNyeXB0KEpTT04uc3RyaW5naWZ5KGJhY2t1cENvZGVzKSwgRU5DUllQVElPTl9LRVkpLFxuICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2VyLnR3b0ZhY3RvckVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgaWYgKCFjcmVkZW50aWFscy50b3RwQ29kZSkge1xuICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInNlY29uZCBmYWN0b3IgcmVxdWlyZWRcIik7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgICAgaWYgKCF1c2VyLnR3b0ZhY3RvclNlY3JldCkge1xuICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludGVybmFsIFNlcnZlciBFcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgIFxuICAgICAgICAgICAgICAgICBpZiAoIUVOQ1JZUFRJT05fS0VZKSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCIpO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgXG4gICAgICAgICAgICAgICAgIGNvbnN0IHNlY3JldCA9IHN5bW1ldHJpY0RlY3J5cHQodXNlci50d29GYWN0b3JTZWNyZXQsIEVOQ1JZUFRJT05fS0VZKTtcbiAgICAgICAgICAgICAgICAgaWYgKHNlY3JldC5sZW5ndGggIT09IDMyKSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCIpO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgXG4gICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWRUb2tlbiA9IChhd2FpdCBpbXBvcnQoXCIuL3RvdHBcIikpLnRvdHBBdXRoZW50aWNhdG9yQ2hlY2soY3JlZGVudGlhbHMudG90cENvZGUsIHNlY3JldCk7XG4gICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZFRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzZWNvbmQgZmFjdG9yIGNvZGVcIik7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH0gKi9cblxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFzYWZkZlwiKVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IGFwcGNvbmRhU2Vzc2lvbi51c2VySWQsXG4gICAgICAgICAgICAgICAgZW1haWw6IGFwcGNvbmRhU2Vzc2lvbi5wcm92aWRlclVpZCxcbiAgICAgICAgICAgICAgICBlbWFpbFZlcmlmaWVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGltYWdlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBDcmVkZW50aWFsc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIGlkOiBcInRva2VuXCIsXG4gICAgICAgICAgICAvLyBUaGUgbmFtZSB0byBkaXNwbGF5IG9uIHRoZSBzaWduIGluIGZvcm0gKGUuZy4gXCJTaWduIGluIHdpdGguLi5cIilcbiAgICAgICAgICAgIG5hbWU6IFwiVG9rZW5cIixcbiAgICAgICAgICAgIC8vIFRoZSBjcmVkZW50aWFscyBpcyB1c2VkIHRvIGdlbmVyYXRlIGEgc3VpdGFibGUgZm9ybSBvbiB0aGUgc2lnbiBpbiBwYWdlLlxuICAgICAgICAgICAgLy8gWW91IGNhbiBzcGVjaWZ5IHdoYXRldmVyIGZpZWxkcyB5b3UgYXJlIGV4cGVjdGluZyB0byBiZSBzdWJtaXR0ZWQuXG4gICAgICAgICAgICAvLyBlLmcuIGRvbWFpbiwgdXNlcm5hbWUsIHBhc3N3b3JkLCAyRkEgdG9rZW4sIGV0Yy5cbiAgICAgICAgICAgIC8vIFlvdSBjYW4gcGFzcyBhbnkgSFRNTCBhdHRyaWJ1dGUgdG8gdGhlIDxpbnB1dD4gdGFnIHRocm91Z2ggdGhlIG9iamVjdC5cbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiVmVyaWZpY2F0aW9uIFRva2VuXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBhdXRob3JpemUoY3JlZGVudGlhbHMsIF9yZXEpIHtcblxuICAgICAgICAgICAgICBsZXQgdXNlcjtcbiAgICAgICAgICAgICAgLyogIHRyeSB7XG4gICAgICAgICAgICAgICAgIGlmICghY3JlZGVudGlhbHM/LnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVG9rZW4gbm90IGZvdW5kXCIpO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgIGNvbnN0IHsgaWQgfSA9IGF3YWl0IHZlcmlmeVRva2VuKGNyZWRlbnRpYWxzPy50b2tlbik7XG4gICAgICAgICAgICAgICAgIHVzZXIgPSBhd2FpdCBwcmlzbWEudXNlci5maW5kVW5pcXVlKHtcbiAgICAgICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFaXRoZXIgYSB1c2VyIGRvZXMgbm90IG1hdGNoIHRoZSBwcm92aWRlZCB0b2tlbiBvciB0aGUgdG9rZW4gaXMgaW52YWxpZFwiKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgIGlmICghdXNlcikge1xuICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFaXRoZXIgYSB1c2VyIGRvZXMgbm90IG1hdGNoIHRoZSBwcm92aWRlZCB0b2tlbiBvciB0aGUgdG9rZW4gaXMgaW52YWxpZFwiKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgIGlmICh1c2VyLmVtYWlsVmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW1haWwgYWxyZWFkeSB2ZXJpZmllZFwiKTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgICAgICAgIHVzZXIgPSBhd2FpdCB1cGRhdGVVc2VyKHVzZXIuaWQsIHsgZW1haWxWZXJpZmllZDogbmV3IERhdGUoKSB9KTsgKi9cblxuICAgICAgICAgICAgICByZXR1cm4gdXNlciB8fCBudWxsO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICAvLyBDb25kaXRpb25hbGx5IGFkZCBlbnRlcnByaXNlIFNTTyBwcm92aWRlcnNcbiAgICAgICAgICAuLi4oZ2V0RW52KCkuRU5URVJQUklTRV9MSUNFTlNFX0tFWSA/IFtdIDogW10pLFxuICAgICAgICBdLFxuICAgICAgICBjYWxsYmFja3M6IHtcbiAgICAgICAgICBhc3luYyBqd3QoeyB0b2tlbiB9KSB7XG5cbiAgICAgICAgICAgIGNvbnN0IHsgdXNlcnMgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgICAgICBjb25zdCB1c2VyTGlzdCA9IGF3YWl0IHVzZXJzLmxpc3QoW1F1ZXJ5LmVxdWFsKFwiZW1haWxcIiwgdG9rZW4uZW1haWwhKV0pXG5cbiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB1c2VyTGlzdC51c2Vyc1swXSA/PyB7fTtcblxuICAgICAgICAgICAgLyogIGNvbnN0IGV4aXN0aW5nVXNlciA9IGF3YWl0IGdldFVzZXJCeUVtYWlsKHRva2VuPy5lbWFpbCEpO1xuICAgICAgIFxuICAgICAgICAgICAgIGlmICghZXhpc3RpbmdVc2VyKSB7XG4gICAgICAgICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICAgICAgICAgfSAqL1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi50b2tlbixcbiAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICAgIHByb2ZpbGU6IHsgaWQ6IHVzZXIuJGlkLCAuLi51c2VyIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYXN5bmMgc2Vzc2lvbih7IHNlc3Npb24sIHRva2VuIH0pIHtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgc2Vzc2lvbi51c2VyLmlkID0gdG9rZW4/LmlkO1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBzZXNzaW9uLnVzZXIgPSB0b2tlbi5wcm9maWxlO1xuXG4gICAgICAgICAgICByZXR1cm4gc2Vzc2lvbjtcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgIGFzeW5jIHNpZ25Jbih7IHVzZXIsIGFjY291bnQgfTogeyB1c2VyOiBhbnk7IGFjY291bnQ6IEFjY291bnQgfCBudWxsIH0pIHtcbiAgICAgICAgICAgIC8qICAgaWYgKGFjY291bnQ/LnByb3ZpZGVyID09PSBcImNyZWRlbnRpYWxzXCIgfHwgYWNjb3VudD8ucHJvdmlkZXIgPT09IFwidG9rZW5cIikge1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHVzZXIncyBlbWFpbCBpcyB2ZXJpZmllZCBvciBub3RcbiAgICAgICAgICAgICAgICBpZiAoIXVzZXIuZW1haWxWZXJpZmllZCAmJiAhRU1BSUxfVkVSSUZJQ0FUSU9OX0RJU0FCTEVEKSB7XG4gICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbWFpbCBWZXJpZmljYXRpb24gaXMgUGVuZGluZ1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKEVOVEVSUFJJU0VfTElDRU5TRV9LRVkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlU1NPQ2FsbGJhY2soeyB1c2VyLCBhY2NvdW50IH0pO1xuICAgICAgICAgICAgICB9ICovXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwYWdlczoge1xuICAgICAgICAgIHNpZ25JbjogXCIvYXV0aC9sb2dpblwiLFxuICAgICAgICAgIHNpZ25PdXQ6IFwiL2F1dGgvbG9nb3V0XCIsXG4gICAgICAgICAgZXJyb3I6IFwiL2F1dGgvbG9naW5cIiwgLy8gRXJyb3IgY29kZSBwYXNzZWQgaW4gcXVlcnkgc3RyaW5nIGFzID9lcnJvcj1cbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn0pKCk7XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from "./actionClient";
2
- export * from "./auth";
3
- export * from "./nextAuthHandler";
@@ -1,4 +0,0 @@
1
- export * from "./actionClient";
2
- export * from "./auth";
3
- export * from "./nextAuthHandler";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hY3Rpb25DbGllbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25leHRBdXRoSGFuZGxlclwiO1xuIl19
@@ -1 +0,0 @@
1
- export declare const getHandler: () => any;
@@ -1,6 +0,0 @@
1
- import NextAuth from "next-auth";
2
- import { authOptions } from "./authOptions";
3
- export const getHandler = () => {
4
- return NextAuth(authOptions());
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dEF1dGhIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbnMvbmV4dEF1dGhIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsT0FBTyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtBQUNsQyxDQUFDLENBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IE5leHRBdXRoIGZyb20gXCJuZXh0LWF1dGhcIjtcbmltcG9ydCB7IGF1dGhPcHRpb25zIH0gZnJvbSBcIi4vYXV0aE9wdGlvbnNcIjtcblxuZXhwb3J0IGNvbnN0IGdldEhhbmRsZXIgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE5leHRBdXRoKGF1dGhPcHRpb25zKCkpXG59IDtcblxuIl19
@@ -1,4 +0,0 @@
1
- export declare const getAllNodesAction: import("next-safe-action").SafeActionFn<string, undefined, readonly [], {
2
- formErrors: string[];
3
- fieldErrors: {};
4
- }, readonly [], any[]>;
@@ -1,15 +0,0 @@
1
- 'use server';
2
- import { actionClient } from "./actionClient";
3
- import { getSDKForCurrentUser } from '../getSDKForCurrentUser';
4
- export const getAllNodesAction = actionClient
5
- // .schema(listModelsSchema)
6
- .action(async ({ parsedInput }) => {
7
- try {
8
- const { node } = await getSDKForCurrentUser();
9
- return await node.GetAllNodes();
10
- }
11
- catch (error) {
12
- console.error('Error in getAllNodesAction:', error);
13
- throw new Error('Failed to fetch nodes');
14
- }
15
- });
package/dist/client.d.ts DELETED
@@ -1,141 +0,0 @@
1
- import { Models } from './models';
2
- type Payload = {
3
- [key: string]: any;
4
- };
5
- type UploadProgress = {
6
- $id: string;
7
- progress: number;
8
- sizeUploaded: number;
9
- chunksTotal: number;
10
- chunksUploaded: number;
11
- };
12
- type Headers = {
13
- [key: string]: string;
14
- };
15
- declare class AppcondaException extends Error {
16
- code: number;
17
- response: string;
18
- type: string;
19
- constructor(message: string, code?: number, type?: string, response?: string);
20
- }
21
- declare class Client {
22
- static CHUNK_SIZE: number;
23
- config: {
24
- endpoint: string;
25
- selfSigned: boolean;
26
- project: string;
27
- mode: string;
28
- key: string;
29
- jwt: string;
30
- locale: string;
31
- session: string;
32
- forwardeduseragent: string;
33
- };
34
- headers: Headers;
35
- /**
36
- * Set Endpoint
37
- *
38
- * Your project endpoint
39
- *
40
- * @param {string} endpoint
41
- *
42
- * @returns {this}
43
- */
44
- setEndpoint(endpoint: string): this;
45
- /**
46
- * Set self-signed
47
- *
48
- * @param {boolean} selfSigned
49
- *
50
- * @returns {this}
51
- */
52
- setSelfSigned(selfSigned: boolean): this;
53
- /**
54
- * Add header
55
- *
56
- * @param {string} header
57
- * @param {string} value
58
- *
59
- * @returns {this}
60
- */
61
- addHeader(header: string, value: string): this;
62
- /**
63
- * Set Project
64
- *
65
- * Your project ID
66
- *
67
- * @param value string
68
- *
69
- * @return {this}
70
- */
71
- setProject(value: string): this;
72
- /**
73
- * Set Mode
74
- *
75
- * @param value string
76
- *
77
- * @return {this}
78
- */
79
- setMode(value: string): this;
80
- /**
81
- * Set Key
82
- *
83
- * Your secret API key
84
- *
85
- * @param value string
86
- *
87
- * @return {this}
88
- */
89
- setKey(value: string): this;
90
- /**
91
- * Set JWT
92
- *
93
- * Your secret JSON Web Token
94
- *
95
- * @param value string
96
- *
97
- * @return {this}
98
- */
99
- setJWT(value: string): this;
100
- /**
101
- * Set Locale
102
- *
103
- * @param value string
104
- *
105
- * @return {this}
106
- */
107
- setLocale(value: string): this;
108
- /**
109
- * Set Session
110
- *
111
- * The user session to authenticate with
112
- *
113
- * @param value string
114
- *
115
- * @return {this}
116
- */
117
- setSession(value: string): this;
118
- /**
119
- * Set ForwardedUserAgent
120
- *
121
- * The user agent string of the client that made the request
122
- *
123
- * @param value string
124
- *
125
- * @return {this}
126
- */
127
- setForwardedUserAgent(value: string): this;
128
- setFallbackCookies(value: string): this;
129
- prepareRequest(method: string, url: URL, headers?: Headers, params?: Payload): {
130
- uri: string;
131
- options: RequestInit;
132
- };
133
- chunkedUpload(method: string, url: URL, headers: Headers, originalPayload: Payload, onProgress: (progress: UploadProgress) => void): Promise<any>;
134
- redirect(method: string, url: URL, headers?: Headers, params?: Payload): Promise<string>;
135
- call(method: string, url: URL, headers?: Headers, params?: Payload, responseType?: string): Promise<any>;
136
- static flatten(data: Payload, prefix?: string): Payload;
137
- }
138
- export { Client, AppcondaException };
139
- export { Query } from './query';
140
- export type { Models, Payload, UploadProgress };
141
- export type { QueryTypes, QueryTypesList } from './query';