@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.
- package/package.json +3 -3
- package/src/modules/task/action.ts +11 -31
- package/dist/actions/actionClient.d.ts +0 -10
- package/dist/actions/actionClient.js +0 -38
- package/dist/actions/auth.d.ts +0 -1
- package/dist/actions/auth.js +0 -6
- package/dist/actions/authOptions.d.ts +0 -5
- package/dist/actions/authOptions.js +0 -235
- package/dist/actions/index.d.ts +0 -3
- package/dist/actions/index.js +0 -4
- package/dist/actions/nextAuthHandler.d.ts +0 -1
- package/dist/actions/nextAuthHandler.js +0 -6
- package/dist/actions/nodes.d.ts +0 -4
- package/dist/actions/nodes.js +0 -15
- package/dist/client.d.ts +0 -141
- package/dist/client.js +0 -335
- package/dist/decorators/Cache.d.ts +0 -1
- package/dist/decorators/Cache.js +0 -79
- package/dist/decorators/CacheKey.d.ts +0 -1
- package/dist/decorators/CacheKey.js +0 -9
- package/dist/decorators/Invalidate.d.ts +0 -1
- package/dist/decorators/Invalidate.js +0 -47
- package/dist/enums/api-service.d.ts +0 -13
- package/dist/enums/api-service.js +0 -15
- package/dist/enums/api.d.ts +0 -5
- package/dist/enums/api.js +0 -7
- package/dist/enums/auth-method.d.ts +0 -9
- package/dist/enums/auth-method.js +0 -11
- package/dist/enums/authentication-factor.d.ts +0 -6
- package/dist/enums/authentication-factor.js +0 -7
- package/dist/enums/authenticator-type.d.ts +0 -3
- package/dist/enums/authenticator-type.js +0 -4
- package/dist/enums/browser.d.ts +0 -16
- package/dist/enums/browser.js +0 -18
- package/dist/enums/compression.d.ts +0 -5
- package/dist/enums/compression.js +0 -7
- package/dist/enums/credit-card.d.ts +0 -18
- package/dist/enums/credit-card.js +0 -20
- package/dist/enums/database-usage-range.d.ts +0 -5
- package/dist/enums/database-usage-range.js +0 -7
- package/dist/enums/email-template-locale.d.ts +0 -133
- package/dist/enums/email-template-locale.js +0 -135
- package/dist/enums/email-template-type.d.ts +0 -9
- package/dist/enums/email-template-type.js +0 -11
- package/dist/enums/entities/EntityLimitType.d.ts +0 -4
- package/dist/enums/entities/EntityLimitType.js +0 -6
- package/dist/enums/entities/PropertyAttributeName.d.ts +0 -27
- package/dist/enums/entities/PropertyAttributeName.js +0 -29
- package/dist/enums/entities/PropertyCondition.d.ts +0 -7
- package/dist/enums/entities/PropertyCondition.js +0 -10
- package/dist/enums/entities/PropertyType.d.ts +0 -12
- package/dist/enums/entities/PropertyType.js +0 -18
- package/dist/enums/entities/PropertyValueType.d.ts +0 -6
- package/dist/enums/entities/PropertyValueType.js +0 -8
- package/dist/enums/entities/RowAccess.d.ts +0 -2
- package/dist/enums/entities/RowAccess.js +0 -2
- package/dist/enums/entities/ViewFilterCondition.d.ts +0 -12
- package/dist/enums/entities/ViewFilterCondition.js +0 -14
- package/dist/enums/execution-method.d.ts +0 -8
- package/dist/enums/execution-method.js +0 -10
- package/dist/enums/flag.d.ts +0 -197
- package/dist/enums/flag.js +0 -199
- package/dist/enums/function-usage-range.d.ts +0 -5
- package/dist/enums/function-usage-range.js +0 -7
- package/dist/enums/image-format.d.ts +0 -7
- package/dist/enums/image-format.js +0 -9
- package/dist/enums/image-gravity.d.ts +0 -11
- package/dist/enums/image-gravity.js +0 -13
- package/dist/enums/index-type.d.ts +0 -5
- package/dist/enums/index-type.js +0 -7
- package/dist/enums/messaging-provider-type.d.ts +0 -5
- package/dist/enums/messaging-provider-type.js +0 -7
- package/dist/enums/name.d.ts +0 -14
- package/dist/enums/name.js +0 -16
- package/dist/enums/o-auth-provider copy.d.ts +0 -41
- package/dist/enums/o-auth-provider copy.js +0 -43
- package/dist/enums/o-auth-provider.d.ts +0 -41
- package/dist/enums/o-auth-provider.js +0 -42
- package/dist/enums/password-hash.d.ts +0 -13
- package/dist/enums/password-hash.js +0 -15
- package/dist/enums/platform-type.d.ts +0 -17
- package/dist/enums/platform-type.js +0 -19
- package/dist/enums/project-usage-range.d.ts +0 -4
- package/dist/enums/project-usage-range.js +0 -6
- package/dist/enums/region.d.ts +0 -4
- package/dist/enums/region.js +0 -6
- package/dist/enums/relation-mutate.d.ts +0 -5
- package/dist/enums/relation-mutate.js +0 -7
- package/dist/enums/relationship-type.d.ts +0 -6
- package/dist/enums/relationship-type.js +0 -8
- package/dist/enums/resource-type.d.ts +0 -4
- package/dist/enums/resource-type.js +0 -6
- package/dist/enums/runtime.d.ts +0 -48
- package/dist/enums/runtime.js +0 -50
- package/dist/enums/s-m-t-p-secure.d.ts +0 -3
- package/dist/enums/s-m-t-p-secure.js +0 -5
- package/dist/enums/shared/ApplicationLayout.d.ts +0 -4
- package/dist/enums/shared/ApplicationLayout.js +0 -6
- package/dist/enums/shared/Colors.d.ts +0 -24
- package/dist/enums/shared/Colors.js +0 -26
- package/dist/enums/shared/InputType.d.ts +0 -6
- package/dist/enums/shared/InputType.js +0 -8
- package/dist/enums/shared/Periodicity.d.ts +0 -7
- package/dist/enums/shared/Periodicity.js +0 -9
- package/dist/enums/shared/SvgIcon.d.ts +0 -37
- package/dist/enums/shared/SvgIcon.js +0 -39
- package/dist/enums/shared/Theme.d.ts +0 -4
- package/dist/enums/shared/Theme.js +0 -6
- package/dist/enums/sms-template-locale.d.ts +0 -133
- package/dist/enums/sms-template-locale.js +0 -135
- package/dist/enums/sms-template-type.d.ts +0 -6
- package/dist/enums/sms-template-type.js +0 -8
- package/dist/enums/smtp-encryption.d.ts +0 -5
- package/dist/enums/smtp-encryption.js +0 -7
- package/dist/enums/storage-usage-range.d.ts +0 -5
- package/dist/enums/storage-usage-range.js +0 -7
- package/dist/enums/subscriptions/PricingModel.d.ts +0 -11
- package/dist/enums/subscriptions/PricingModel.js +0 -12
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.d.ts +0 -10
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +0 -11
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +0 -10
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +0 -13
- package/dist/enums/subscriptions/SubscriptionPriceType.d.ts +0 -7
- package/dist/enums/subscriptions/SubscriptionPriceType.js +0 -8
- package/dist/enums/tenants/LinkedAccountStatus.d.ts +0 -5
- package/dist/enums/tenants/LinkedAccountStatus.js +0 -7
- package/dist/enums/tenants/TenantUserJoined.d.ts +0 -6
- package/dist/enums/tenants/TenantUserJoined.js +0 -8
- package/dist/enums/tenants/TenantUserStatus.d.ts +0 -6
- package/dist/enums/tenants/TenantUserStatus.js +0 -8
- package/dist/enums/tenants/TenantUserType.d.ts +0 -5
- package/dist/enums/tenants/TenantUserType.js +0 -7
- package/dist/enums/user-usage-range.d.ts +0 -5
- package/dist/enums/user-usage-range.js +0 -7
- package/dist/getAppcondaClient.d.ts +0 -2
- package/dist/getAppcondaClient.js +0 -44
- package/dist/getSDKForCurrentUser.d.ts +0 -43
- package/dist/getSDKForCurrentUser.js +0 -76
- package/dist/getSDKForService.d.ts +0 -6
- package/dist/getSDKForService.js +0 -51
- package/dist/getSDKForTenant.d.ts +0 -20
- package/dist/getSDKForTenant.js +0 -44
- package/dist/id.d.ts +0 -20
- package/dist/id.js +0 -45
- package/dist/index.d.ts +0 -44
- package/dist/index.js +0 -42
- package/dist/inputFile.d.ts +0 -6
- package/dist/inputFile.js +0 -17
- package/dist/lib/Cache/Adapter.d.ts +0 -10
- package/dist/lib/Cache/Adapter.js +0 -2
- package/dist/lib/Cache/Adapters/Filesystem.d.ts +0 -16
- package/dist/lib/Cache/Adapters/Filesystem.js +0 -103
- package/dist/lib/Cache/Adapters/Memory.d.ts +0 -18
- package/dist/lib/Cache/Adapters/Memory.js +0 -47
- package/dist/lib/Cache/Adapters/None.d.ts +0 -12
- package/dist/lib/Cache/Adapters/None.js +0 -28
- package/dist/lib/Cache/Adapters/Sharding.d.ts +0 -17
- package/dist/lib/Cache/Adapters/Sharding.js +0 -73
- package/dist/lib/Cache/Cache.d.ts +0 -16
- package/dist/lib/Cache/Cache.js +0 -52
- package/dist/lib/Cache/index.d.ts +0 -4
- package/dist/lib/Cache/index.js +0 -5
- package/dist/lib/Cache/test.d.ts +0 -0
- package/dist/lib/Cache/test.js +0 -1
- package/dist/lib/Registry/Registry.d.ts +0 -38
- package/dist/lib/Registry/Registry.js +0 -56
- package/dist/lib/Registry/index.d.ts +0 -1
- package/dist/lib/Registry/index.js +0 -2
- package/dist/lib/Services.d.ts +0 -6
- package/dist/lib/Services.js +0 -14
- package/dist/lib/crypto.d.ts +0 -23
- package/dist/lib/crypto.js +0 -78
- package/dist/lib/env.d.ts +0 -1
- package/dist/lib/env.js +0 -137
- package/dist/lib/errors.d.ts +0 -70
- package/dist/lib/errors.js +0 -76
- package/dist/lib/index.d.ts +0 -2
- package/dist/lib/index.js +0 -3
- package/dist/lib/jwt.d.ts +0 -12
- package/dist/lib/jwt.js +0 -103
- package/dist/models.d.ts +0 -3272
- package/dist/models.js +0 -2
- package/dist/modules/account/actions.d.ts +0 -25
- package/dist/modules/account/actions.js +0 -18
- package/dist/modules/account/enums/authentication-factor.d.ts +0 -6
- package/dist/modules/account/enums/authentication-factor.js +0 -8
- package/dist/modules/account/enums/authenticator-type.d.ts +0 -3
- package/dist/modules/account/enums/authenticator-type.js +0 -5
- package/dist/modules/account/enums/o-auth-provider.d.ts +0 -41
- package/dist/modules/account/enums/o-auth-provider.js +0 -43
- package/dist/modules/account/index.d.ts +0 -3
- package/dist/modules/account/index.js +0 -4
- package/dist/modules/account/schema.d.ts +0 -17
- package/dist/modules/account/schema.js +0 -8
- package/dist/modules/account/service.d.ts +0 -530
- package/dist/modules/account/service.js +0 -1260
- package/dist/modules/account/types.d.ts +0 -411
- package/dist/modules/account/types.js +0 -2
- package/dist/modules/acl/service.d.ts +0 -26
- package/dist/modules/acl/service.js +0 -27
- package/dist/modules/agent/action.d.ts +0 -53
- package/dist/modules/agent/action.js +0 -64
- package/dist/modules/agent/index.d.ts +0 -4
- package/dist/modules/agent/index.js +0 -5
- package/dist/modules/agent/schema.d.ts +0 -48
- package/dist/modules/agent/schema.js +0 -21
- package/dist/modules/agent/service.d.ts +0 -12
- package/dist/modules/agent/service.js +0 -22
- package/dist/modules/agent/types.d.ts +0 -11
- package/dist/modules/agent/types.js +0 -2
- package/dist/modules/ai/index.d.ts +0 -1
- package/dist/modules/ai/index.js +0 -2
- package/dist/modules/ai/node/actions.d.ts +0 -4
- package/dist/modules/ai/node/actions.js +0 -16
- package/dist/modules/ai/node/index.d.ts +0 -2
- package/dist/modules/ai/node/index.js +0 -3
- package/dist/modules/ai/node/service.d.ts +0 -5
- package/dist/modules/ai/node/service.js +0 -12
- package/dist/modules/index.d.ts +0 -6
- package/dist/modules/index.js +0 -7
- package/dist/modules/task/action.d.ts +0 -168
- package/dist/modules/task/action.js +0 -163
- package/dist/modules/task/index.d.ts +0 -4
- package/dist/modules/task/index.js +0 -5
- package/dist/modules/task/schema.d.ts +0 -107
- package/dist/modules/task/schema.js +0 -44
- package/dist/modules/task/service.d.ts +0 -19
- package/dist/modules/task/service.js +0 -43
- package/dist/modules/task/types.d.ts +0 -84
- package/dist/modules/task/types.js +0 -2
- package/dist/modules/tenant/actions.d.ts +0 -45
- package/dist/modules/tenant/actions.js +0 -38
- package/dist/modules/tenant/index.d.ts +0 -3
- package/dist/modules/tenant/index.js +0 -4
- package/dist/modules/tenant/tenant.d.ts +0 -32
- package/dist/modules/tenant/tenant.js +0 -125
- package/dist/modules/tenant/types.d.ts +0 -11
- package/dist/modules/tenant/types.js +0 -2
- package/dist/modules/waitlist/action.d.ts +0 -69
- package/dist/modules/waitlist/action.js +0 -78
- package/dist/modules/waitlist/index.d.ts +0 -4
- package/dist/modules/waitlist/index.js +0 -5
- package/dist/modules/waitlist/schema.d.ts +0 -39
- package/dist/modules/waitlist/schema.js +0 -18
- package/dist/modules/waitlist/service.d.ts +0 -13
- package/dist/modules/waitlist/service.js +0 -28
- package/dist/modules/waitlist/types.d.ts +0 -14
- package/dist/modules/waitlist/types.js +0 -2
- package/dist/permission.d.ts +0 -43
- package/dist/permission.js +0 -54
- package/dist/query.d.ts +0 -194
- package/dist/query.js +0 -204
- package/dist/role.d.ts +0 -70
- package/dist/role.js +0 -94
- package/dist/schemas/nodes.d.ts +0 -0
- package/dist/schemas/nodes.js +0 -1
- package/dist/service-client.d.ts +0 -7
- package/dist/service-client.js +0 -14
- package/dist/service.d.ts +0 -11
- package/dist/service.js +0 -23
- package/dist/services/account.d.ts +0 -530
- package/dist/services/account.js +0 -1259
- package/dist/services/applets.d.ts +0 -9
- package/dist/services/applets.js +0 -40
- package/dist/services/avatars.d.ts +0 -115
- package/dist/services/avatars.js +0 -251
- package/dist/services/chat-flow.d.ts +0 -7
- package/dist/services/chat-flow.js +0 -26
- package/dist/services/community.d.ts +0 -19
- package/dist/services/community.js +0 -69
- package/dist/services/configuration.d.ts +0 -5
- package/dist/services/configuration.js +0 -11
- package/dist/services/databases.d.ts +0 -613
- package/dist/services/databases.js +0 -1736
- package/dist/services/functions.d.ts +0 -319
- package/dist/services/functions.js +0 -810
- package/dist/services/graphql.d.ts +0 -25
- package/dist/services/graphql.js +0 -57
- package/dist/services/health.d.ts +0 -231
- package/dist/services/health.js +0 -463
- package/dist/services/locale.d.ts +0 -80
- package/dist/services/locale.js +0 -144
- package/dist/services/messaging.d.ts +0 -685
- package/dist/services/messaging.js +0 -1920
- package/dist/services/node.d.ts +0 -5
- package/dist/services/node.js +0 -11
- package/dist/services/permissions.d.ts +0 -20
- package/dist/services/permissions.js +0 -90
- package/dist/services/pricing.d.ts +0 -15
- package/dist/services/pricing.js +0 -21
- package/dist/services/projects.d.ts +0 -542
- package/dist/services/projects.js +0 -1526
- package/dist/services/roles.d.ts +0 -19
- package/dist/services/roles.js +0 -72
- package/dist/services/schema.d.ts +0 -17
- package/dist/services/schema.js +0 -48
- package/dist/services/storage.d.ts +0 -189
- package/dist/services/storage.js +0 -474
- package/dist/services/subscription.d.ts +0 -15
- package/dist/services/subscription.js +0 -30
- package/dist/services/teams.d.ts +0 -167
- package/dist/services/teams.js +0 -395
- package/dist/services/tenant-subscription.d.ts +0 -12
- package/dist/services/tenant-subscription.js +0 -52
- package/dist/services/tenant.d.ts +0 -32
- package/dist/services/tenant.js +0 -124
- package/dist/services/users.d.ts +0 -499
- 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.
|
5
|
+
"version": "1.0.114",
|
6
6
|
"license": "BSD-3-Clause",
|
7
|
-
"main": "
|
8
|
-
"types": "
|
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
|
-
|
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=
|
package/dist/actions/auth.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export declare const auth: () => Promise<unknown>;
|
package/dist/actions/auth.js
DELETED
@@ -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,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=
|
package/dist/actions/index.d.ts
DELETED
package/dist/actions/index.js
DELETED
@@ -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
|
package/dist/actions/nodes.d.ts
DELETED
package/dist/actions/nodes.js
DELETED
@@ -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';
|