swallowkit 1.0.0-beta.13 → 1.0.0-beta.15
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/README.ja.md +2 -0
- package/README.md +2 -0
- package/dist/cli/commands/add-auth.d.ts +10 -0
- package/dist/cli/commands/add-auth.d.ts.map +1 -0
- package/dist/cli/commands/add-auth.js +365 -0
- package/dist/cli/commands/add-auth.js.map +1 -0
- package/dist/cli/commands/dev.js +34 -3
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +145 -10
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +5 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +12 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/mock/connector-mock-server.d.ts +34 -0
- package/dist/core/mock/connector-mock-server.d.ts.map +1 -1
- package/dist/core/mock/connector-mock-server.js +192 -0
- package/dist/core/mock/connector-mock-server.js.map +1 -1
- package/dist/core/scaffold/auth-generator.d.ts +38 -0
- package/dist/core/scaffold/auth-generator.d.ts.map +1 -0
- package/dist/core/scaffold/auth-generator.js +1246 -0
- package/dist/core/scaffold/auth-generator.js.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts +3 -3
- package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/connector-functions-generator.js +37 -18
- package/dist/core/scaffold/connector-functions-generator.js.map +1 -1
- package/dist/core/scaffold/functions-generator.d.ts +2 -1
- package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/functions-generator.js +21 -12
- package/dist/core/scaffold/functions-generator.js.map +1 -1
- package/dist/core/scaffold/model-parser.d.ts +7 -1
- package/dist/core/scaffold/model-parser.d.ts.map +1 -1
- package/dist/core/scaffold/model-parser.js +45 -0
- package/dist/core/scaffold/model-parser.js.map +1 -1
- package/dist/core/scaffold/ui-generator.d.ts +10 -4
- package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
- package/dist/core/scaffold/ui-generator.js +120 -12
- package/dist/core/scaffold/ui-generator.js.map +1 -1
- package/dist/types/index.d.ts +30 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +9 -1
- package/src/__tests__/auth.test.ts +654 -0
- package/src/__tests__/connector-mock-server.test.ts +189 -2
- package/src/cli/commands/add-auth.ts +413 -0
- package/src/cli/commands/dev.ts +35 -4
- package/src/cli/commands/scaffold.ts +165 -11
- package/src/cli/index.ts +11 -0
- package/src/core/config.ts +13 -2
- package/src/core/mock/connector-mock-server.ts +248 -0
- package/src/core/scaffold/auth-generator.ts +1286 -0
- package/src/core/scaffold/connector-functions-generator.ts +42 -18
- package/src/core/scaffold/functions-generator.ts +23 -12
- package/src/core/scaffold/model-parser.ts +50 -1
- package/src/core/scaffold/ui-generator.ts +132 -12
- package/src/types/index.ts +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* RDB(MySQL/PostgreSQL/SQL Server)および 外部 REST API コネクタ向けのハンドラーを生成
|
|
4
4
|
*/
|
|
5
5
|
import { ModelInfo } from "./model-parser";
|
|
6
|
-
import { RdbConnectorConfig, ApiConnectorConfig, RdbModelConnectorConfig, ApiModelConnectorConfig, ConnectorOperation } from "../../types";
|
|
6
|
+
import { RdbConnectorConfig, ApiConnectorConfig, RdbModelConnectorConfig, ApiModelConnectorConfig, ConnectorOperation, ModelAuthPolicy } from "../../types";
|
|
7
7
|
/**
|
|
8
8
|
* RDB コネクタ用 TypeScript Azure Functions を生成
|
|
9
9
|
*/
|
|
10
|
-
export declare function generateRdbConnectorFunctionTS(model: ModelInfo, sharedPackageName: string, connectorDef: RdbConnectorConfig, modelConnector: RdbModelConnectorConfig): string;
|
|
10
|
+
export declare function generateRdbConnectorFunctionTS(model: ModelInfo, sharedPackageName: string, connectorDef: RdbConnectorConfig, modelConnector: RdbModelConnectorConfig, authPolicy?: ModelAuthPolicy): string;
|
|
11
11
|
/**
|
|
12
12
|
* API コネクタ用 TypeScript Azure Functions を生成
|
|
13
13
|
*/
|
|
14
|
-
export declare function generateApiConnectorFunctionTS(model: ModelInfo, sharedPackageName: string, connectorDef: ApiConnectorConfig, modelConnector: ApiModelConnectorConfig): string;
|
|
14
|
+
export declare function generateApiConnectorFunctionTS(model: ModelInfo, sharedPackageName: string, connectorDef: ApiConnectorConfig, modelConnector: ApiModelConnectorConfig, authPolicy?: ModelAuthPolicy): string;
|
|
15
15
|
/**
|
|
16
16
|
* RDB コネクタ用 C# Azure Functions を生成
|
|
17
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-functions-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/connector-functions-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"connector-functions-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/connector-functions-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,EACvC,UAAU,CAAC,EAAE,eAAe,GAC3B,MAAM,CA4JR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,EACvC,UAAU,CAAC,EAAE,eAAe,GAC3B,MAAM,CA0NR;AA4CD;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,GACtC,MAAM,CAmIR;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,GACtC,MAAM,CAsNR;AAqCD;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,GACtC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAoF7C;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,kBAAkB,EAChC,cAAc,EAAE,uBAAuB,GACtC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAwI7C;AAgCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,GAAG,OAAO,CAGtF"}
|
|
@@ -12,11 +12,12 @@ exports.generateRdbConnectorFunctionPython = generateRdbConnectorFunctionPython;
|
|
|
12
12
|
exports.generateApiConnectorFunctionPython = generateApiConnectorFunctionPython;
|
|
13
13
|
exports.isReadOnlyConnector = isReadOnlyConnector;
|
|
14
14
|
const model_parser_1 = require("./model-parser");
|
|
15
|
+
const auth_generator_1 = require("./auth-generator");
|
|
15
16
|
// ─── TypeScript Generators ────────────────────────────────────────
|
|
16
17
|
/**
|
|
17
18
|
* RDB コネクタ用 TypeScript Azure Functions を生成
|
|
18
19
|
*/
|
|
19
|
-
function generateRdbConnectorFunctionTS(model, sharedPackageName, connectorDef, modelConnector) {
|
|
20
|
+
function generateRdbConnectorFunctionTS(model, sharedPackageName, connectorDef, modelConnector, authPolicy) {
|
|
20
21
|
const modelCamel = (0, model_parser_1.toCamelCase)(model.name);
|
|
21
22
|
const schemaName = model.schemaName;
|
|
22
23
|
const ops = new Set(modelConnector.operations);
|
|
@@ -106,10 +107,19 @@ function generateRdbConnectorFunctionTS(model, sharedPackageName, connectorDef,
|
|
|
106
107
|
} finally {
|
|
107
108
|
await pool.close();
|
|
108
109
|
}`;
|
|
110
|
+
// Auth guard setup
|
|
111
|
+
const hasAuth = !!authPolicy;
|
|
112
|
+
const authImport = hasAuth ? `\n${(0, auth_generator_1.generateAuthImportTS)()}\n` : '';
|
|
113
|
+
const readGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'read')}\n` : '';
|
|
114
|
+
const writeGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'write')}\n` : '';
|
|
115
|
+
const authCatchBlock = hasAuth
|
|
116
|
+
? ` const authErr = handleAuthError(error);
|
|
117
|
+
if (authErr) return authErr;\n `
|
|
118
|
+
: ` `;
|
|
109
119
|
let code = `import { app, HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';
|
|
110
120
|
import { z } from 'zod/v4';
|
|
111
121
|
import { ${schemaName} } from '${sharedPackageName}';
|
|
112
|
-
${driverImport}
|
|
122
|
+
${driverImport}${authImport}
|
|
113
123
|
|
|
114
124
|
${getConnection}
|
|
115
125
|
`;
|
|
@@ -121,10 +131,10 @@ app.http('${modelCamel}-get-all', {
|
|
|
121
131
|
route: '${modelCamel}',
|
|
122
132
|
authLevel: 'anonymous',
|
|
123
133
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
124
|
-
try {
|
|
134
|
+
try {${readGuard}
|
|
125
135
|
${queryAll}
|
|
126
136
|
} catch (error) {
|
|
127
|
-
context.error(\`Error fetching from ${table}:\`, error);
|
|
137
|
+
${authCatchBlock}context.error(\`Error fetching from ${table}:\`, error);
|
|
128
138
|
return { status: 500, jsonBody: { error: 'Failed to fetch items' } };
|
|
129
139
|
}
|
|
130
140
|
},
|
|
@@ -139,14 +149,14 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
139
149
|
route: '${modelCamel}/{id}',
|
|
140
150
|
authLevel: 'anonymous',
|
|
141
151
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
142
|
-
try {
|
|
152
|
+
try {${readGuard}
|
|
143
153
|
const id = request.params.id;
|
|
144
154
|
if (!id) {
|
|
145
155
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
146
156
|
}
|
|
147
157
|
${queryById}
|
|
148
158
|
} catch (error) {
|
|
149
|
-
context.error(\`Error fetching item from ${table}:\`, error);
|
|
159
|
+
${authCatchBlock}context.error(\`Error fetching item from ${table}:\`, error);
|
|
150
160
|
return { status: 500, jsonBody: { error: 'Failed to fetch item' } };
|
|
151
161
|
}
|
|
152
162
|
},
|
|
@@ -158,16 +168,25 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
158
168
|
/**
|
|
159
169
|
* API コネクタ用 TypeScript Azure Functions を生成
|
|
160
170
|
*/
|
|
161
|
-
function generateApiConnectorFunctionTS(model, sharedPackageName, connectorDef, modelConnector) {
|
|
171
|
+
function generateApiConnectorFunctionTS(model, sharedPackageName, connectorDef, modelConnector, authPolicy) {
|
|
162
172
|
const modelCamel = (0, model_parser_1.toCamelCase)(model.name);
|
|
163
173
|
const schemaName = model.schemaName;
|
|
164
174
|
const ops = new Set(modelConnector.operations);
|
|
165
175
|
const baseUrlEnv = connectorDef.baseUrlEnvVar;
|
|
166
176
|
const endpoints = modelConnector.endpoints || {};
|
|
167
177
|
const authSetup = generateTSAuthSetup(connectorDef);
|
|
178
|
+
// Auth guard setup (user access control, separate from connector auth to external APIs)
|
|
179
|
+
const hasAuth = !!authPolicy;
|
|
180
|
+
const authImportLine = hasAuth ? `\n${(0, auth_generator_1.generateAuthImportTS)()}\n` : '';
|
|
181
|
+
const readGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'read')}\n` : '';
|
|
182
|
+
const writeGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'write')}\n` : '';
|
|
183
|
+
const authCatchBlock = hasAuth
|
|
184
|
+
? ` const authErr = handleAuthError(error);
|
|
185
|
+
if (authErr) return authErr;\n `
|
|
186
|
+
: ` `;
|
|
168
187
|
let code = `import { app, HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';
|
|
169
188
|
import { z } from 'zod/v4';
|
|
170
|
-
import { ${schemaName} } from '${sharedPackageName}'
|
|
189
|
+
import { ${schemaName} } from '${sharedPackageName}';${authImportLine}
|
|
171
190
|
|
|
172
191
|
function getBaseUrl(): string {
|
|
173
192
|
return process.env.${baseUrlEnv} || '';
|
|
@@ -185,7 +204,7 @@ app.http('${modelCamel}-get-all', {
|
|
|
185
204
|
route: '${modelCamel}',
|
|
186
205
|
authLevel: 'anonymous',
|
|
187
206
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
188
|
-
try {
|
|
207
|
+
try {${readGuard}
|
|
189
208
|
const url = getBaseUrl() + '${epPath}';
|
|
190
209
|
const response = await fetch(url, {
|
|
191
210
|
method: 'GET',
|
|
@@ -201,7 +220,7 @@ app.http('${modelCamel}-get-all', {
|
|
|
201
220
|
const validated = z.array(${schemaName}).parse(data);
|
|
202
221
|
return { status: 200, jsonBody: validated };
|
|
203
222
|
} catch (error) {
|
|
204
|
-
context.error(\`Error fetching from external API:\`, error);
|
|
223
|
+
${authCatchBlock}context.error(\`Error fetching from external API:\`, error);
|
|
205
224
|
return { status: 500, jsonBody: { error: 'Failed to fetch items' } };
|
|
206
225
|
}
|
|
207
226
|
},
|
|
@@ -218,7 +237,7 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
218
237
|
route: '${modelCamel}/{id}',
|
|
219
238
|
authLevel: 'anonymous',
|
|
220
239
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
221
|
-
try {
|
|
240
|
+
try {${readGuard}
|
|
222
241
|
const id = request.params.id;
|
|
223
242
|
if (!id) {
|
|
224
243
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
@@ -240,7 +259,7 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
240
259
|
const validated = ${schemaName}.parse(data);
|
|
241
260
|
return { status: 200, jsonBody: validated };
|
|
242
261
|
} catch (error) {
|
|
243
|
-
context.error(\`Error fetching item from external API:\`, error);
|
|
262
|
+
${authCatchBlock}context.error(\`Error fetching item from external API:\`, error);
|
|
244
263
|
return { status: 500, jsonBody: { error: 'Failed to fetch item' } };
|
|
245
264
|
}
|
|
246
265
|
},
|
|
@@ -257,7 +276,7 @@ app.http('${modelCamel}-create', {
|
|
|
257
276
|
route: '${modelCamel}',
|
|
258
277
|
authLevel: 'anonymous',
|
|
259
278
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
260
|
-
try {
|
|
279
|
+
try {${writeGuard}
|
|
261
280
|
const body = await request.json();
|
|
262
281
|
const url = getBaseUrl() + '${epPath}';
|
|
263
282
|
const response = await fetch(url, {
|
|
@@ -275,7 +294,7 @@ app.http('${modelCamel}-create', {
|
|
|
275
294
|
const data = await response.json();
|
|
276
295
|
return { status: 201, jsonBody: data };
|
|
277
296
|
} catch (error) {
|
|
278
|
-
context.error(\`Error creating item via external API:\`, error);
|
|
297
|
+
${authCatchBlock}context.error(\`Error creating item via external API:\`, error);
|
|
279
298
|
return { status: 500, jsonBody: { error: 'Failed to create item' } };
|
|
280
299
|
}
|
|
281
300
|
},
|
|
@@ -294,7 +313,7 @@ app.http('${modelCamel}-update', {
|
|
|
294
313
|
route: '${modelCamel}/{id}',
|
|
295
314
|
authLevel: 'anonymous',
|
|
296
315
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
297
|
-
try {
|
|
316
|
+
try {${writeGuard}
|
|
298
317
|
const id = request.params.id;
|
|
299
318
|
if (!id) {
|
|
300
319
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
@@ -316,7 +335,7 @@ app.http('${modelCamel}-update', {
|
|
|
316
335
|
const data = await response.json();
|
|
317
336
|
return { status: 200, jsonBody: data };
|
|
318
337
|
} catch (error) {
|
|
319
|
-
context.error(\`Error updating item via external API:\`, error);
|
|
338
|
+
${authCatchBlock}context.error(\`Error updating item via external API:\`, error);
|
|
320
339
|
return { status: 500, jsonBody: { error: 'Failed to update item' } };
|
|
321
340
|
}
|
|
322
341
|
},
|
|
@@ -333,7 +352,7 @@ app.http('${modelCamel}-delete', {
|
|
|
333
352
|
route: '${modelCamel}/{id}',
|
|
334
353
|
authLevel: 'anonymous',
|
|
335
354
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
336
|
-
try {
|
|
355
|
+
try {${writeGuard}
|
|
337
356
|
const id = request.params.id;
|
|
338
357
|
if (!id) {
|
|
339
358
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
@@ -350,7 +369,7 @@ app.http('${modelCamel}-delete', {
|
|
|
350
369
|
|
|
351
370
|
return { status: 204 };
|
|
352
371
|
} catch (error) {
|
|
353
|
-
context.error(\`Error deleting item via external API:\`, error);
|
|
372
|
+
${authCatchBlock}context.error(\`Error deleting item via external API:\`, error);
|
|
354
373
|
return { status: 500, jsonBody: { error: 'Failed to delete item' } };
|
|
355
374
|
}
|
|
356
375
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/connector-functions-generator.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAiBH,wEAuJC;AAKD,wEAqNC;AA+CD,gFAuIC;AAKD,gFA0NC;AAwCD,gFAwFC;AAKD,gFA4IC;AAmCD,kDAGC;AA5kCD,iDAAqE;AAUrE,qEAAqE;AAErE;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,KAAgB,EAChB,iBAAyB,EACzB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IAEvC,MAAM,YAAY,GAAG,QAAQ,KAAK,OAAO;QACvC,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,0BAA0B,CAAC;IAE/B,MAAM,aAAa,GAAG,QAAQ,KAAK,OAAO;QACxC,CAAC,CAAC;8CACwC,MAAM;EAClD;QACE,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC;6CACuC,MAAM;;;EAGjD;YACE,CAAC,CAAC;mCAC6B,MAAM;EACvC,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,KAAK,OAAO;QACnC,CAAC,CAAC;;yDAEmD,KAAK;oCAC1B,UAAU;;;;QAItC;QACJ,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC;;2DAEqD,KAAK;oCAC5B,UAAU;;;;QAItC;YACJ,CAAC,CAAC;;mEAE6D,KAAK;oCACpC,UAAU;;;;QAItC,CAAC;IAEP,MAAM,SAAS,GAAG,QAAQ,KAAK,OAAO;QACpC,CAAC,CAAC;;yDAEmD,KAAK,UAAU,KAAK;;;;;4BAKjD,UAAU;;;;QAI9B;QACJ,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC;;2DAEqD,KAAK,UAAU,KAAK;;;;4BAInD,UAAU;;;;QAI9B;YACJ,CAAC,CAAC;;;;kCAI4B,KAAK,UAAU,KAAK;;;;4BAI1B,UAAU;;;;QAI9B,CAAC;IAEP,IAAI,IAAI,GAAG;;WAEF,UAAU,YAAY,iBAAiB;EAChD,YAAY;;EAEZ,aAAa;CACd,CAAC;IAEA,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,IAAI,IAAI;cACE,UAAU;YACZ,UAAU;;YAEV,UAAU;;;;QAId,QAAQ;;4CAE4B,KAAK;;;;;CAKhD,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,IAAI,IAAI;cACE,UAAU;YACZ,UAAU;;YAEV,UAAU;;;;;;;;QAQd,SAAS;;iDAEgC,KAAK;;;;;CAKrD,CAAC;IACA,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,KAAgB,EAChB,iBAAyB,EACzB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;IAEjD,MAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAI,IAAI,GAAG;;WAEF,UAAU,YAAY,iBAAiB;;;uBAG3B,UAAU;;;EAG/B,SAAS,CAAC,UAAU;CACrB,CAAC;IAEA,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,EAAE,CAAC;QAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI;cACE,UAAU;YACZ,UAAU;;YAEV,UAAU;;;;oCAIc,MAAM;;;;;;;;;;;;kCAYR,UAAU;;;;;;;;CAQ3C,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,IAAI,QAAQ,UAAU,OAAO,CAAC;QAChE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI;cACE,UAAU;YACZ,UAAU;;YAEV,UAAU;;;;;;;;oCAQc,MAAM;;;;;;;;;;;;;;0BAchB,UAAU;;;;;;;;CAQnC,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,UAAU,EAAE,CAAC;QAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI;eACG,UAAU;YACb,UAAU;;YAEV,UAAU;;;;;oCAKc,MAAM;;;;;;;;;;;;;;;;;;;;;CAqBzC,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,OAAO,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI;cACE,UAAU;YACZ,UAAU;;YAEV,UAAU;;;;;;;;;oCASc,MAAM;;mBAEvB,MAAM;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,UAAU,OAAO,CAAC;QAClE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI;iBACK,UAAU;YACf,UAAU;;YAEV,UAAU;;;;;;;;oCAQc,MAAM;;;;;;;;;;;;;;;;;CAiBzC,CAAC;IACA,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAgC;IAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,UAAU,EAAE;;EAEhB;SACG,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAEjE,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO;YACL,UAAU,EAAE;;;;;;wBAMM,SAAS,IAAI,QAAQ,uCAAuC,MAAM;EACxF;SACG,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO;YACL,UAAU,EAAE;cACJ,SAAS,IAAI,WAAW,kBAAkB,MAAM;EAC5D;SACG,CAAC;IACJ,CAAC;IAED,SAAS;IACT,OAAO;QACL,UAAU,EAAE;uDACuC,MAAM;EAC3D;KACC,CAAC;AACJ,CAAC;AAED,qEAAqE;AAErE;;GAEG;AACH,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,SAAS,oBAAoB,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IAEvC,MAAM,eAAe,GAAG,QAAQ,KAAK,OAAO;QAC1C,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,iCAAiC,CAAC;IAEtC,MAAM,QAAQ,GAAG,QAAQ,KAAK,OAAO;QACnC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,eAAe,CAAC;IAEpB,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO;QAClC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,QAAQ,KAAK,UAAU;YACzB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,YAAY,CAAC;IAEjB,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAErF,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI;iBACE,UAAU;;qEAE0C,UAAU;;;;yCAItC,QAAQ,wCAAwC,MAAM;;;sCAGzD,OAAO,mBAAmB,KAAK;;;;;;;;;;;;;;;;;+DAiBN,KAAK;;;;CAInE,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI;iBACE,UAAU;;qEAE0C,UAAU;;;;;yCAKtC,QAAQ,wCAAwC,MAAM;;;sCAGzD,OAAO,mBAAmB,KAAK,UAAU,KAAK,MAAM,WAAW;+CACtD,WAAW;;;;;+FAKqC,SAAS;;;;;;;;;;;;;oDAapD,SAAS,mBAAmB,KAAK;;;;CAIpF,CAAC;IACA,CAAC;IAED,OAAO;;EAEP,eAAe;;;;;;;sBAOK,SAAS;;+BAEA,SAAS;;aAE3B,SAAS,YAAY,SAAS;;;;;;;;;;;EAWzC,OAAO;CACR,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,GAAG,SAAS,oBAAoB,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;IAEjD,MAAM,SAAS,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,EAAE,CAAC;QAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI;iBACE,UAAU;;qEAE0C,UAAU;;;;mCAI5C,MAAM;;cAE3B,SAAS,CAAC,SAAS;;;;;;;;;;;;;;oDAcmB,SAAS;;;;CAI5D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,IAAI,QAAQ,UAAU,OAAO,CAAC;QAChE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI;iBACE,UAAU;;qEAE0C,UAAU;;;;;mCAK5C,MAAM;;cAE3B,SAAS,CAAC,SAAS;;;;;+FAK8D,SAAS;;;;;;;;;;;;;oDAapD,SAAS;;;;CAI5D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,UAAU,EAAE,CAAC;QAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI;iBACE,UAAU;;sEAE2C,UAAU;;;;;;mCAM7C,MAAM;;;;;cAK3B,SAAS,CAAC,SAAS;;;;;;;;;;qDAUoB,SAAS;;;;CAI7D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,OAAO,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,IAAI;iBACE,UAAU;;qEAE0C,UAAU;;;;;;;mCAO5C,MAAM;wEAC+B,UAAU;;;;cAIpE,SAAS,CAAC,SAAS;;;;;;;;;qDASoB,SAAS;;;;CAI7D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,UAAU,OAAO,CAAC;QAClE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI;iBACE,UAAU;;wEAE6C,UAAU;;;;;mCAK/C,MAAM;;cAE3B,SAAS,CAAC,SAAS;;;;;;;;;;;;qDAYoB,SAAS;;;;CAI7D,CAAC;IACA,CAAC;IAED,OAAO;;;;;;;;sBAQa,SAAS;;+BAEA,SAAS;;2EAEmC,UAAU;MAC/E,SAAS,CAAC,SAAS;;aAEZ,SAAS,YAAY,SAAS;;;;;;;;;;;;EAYzC,OAAO;CACR,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAgC;IAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAEjE,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO;YACL,SAAS,EAAE,EAAE;YACb,SAAS,EAAE;;;qBAGI,SAAS,IAAI,QAAQ,4CAA4C,MAAM;;qDAEvC;SAChD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,4BAA4B,SAAS,IAAI,WAAW,0CAA0C,MAAM,MAAM;SACtH,CAAC;IACJ,CAAC;IAED,SAAS;IACT,OAAO;QACL,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,2IAA2I,MAAM,MAAM;KACnK,CAAC;AACJ,CAAC;AAED,qEAAqE;AAErE;;GAEG;AACH,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAE7C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;;wCAIwB,KAAK;;;;;;8CAMC,KAAK;;CAElD,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;;;;;wCAOwB,KAAK,UAAU,KAAK;;;;;;;;mDAQT,KAAK;;CAEvD,CAAC;IACA,CAAC;IAED,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;+BAoBW,MAAM;+BACN,MAAM;mCACF,MAAM;mCACN,MAAM;;;EAGvC,QAAQ,EAAE,CAAC;IAEX,OAAO;QACL,SAAS;QACT,YAAY,EAAE,mBAAmB,UAAU,iBAAiB,UAAU,+BAA+B,UAAU,MAAM;KACtH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAChD,KAAgB,EAChB,YAAgC,EAChC,cAAuC;IAEvC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,0BAAW,EAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC;IAC9C,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;IAEjD,MAAM,SAAS,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,EAAE,CAAC;QAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;4BAEY,MAAM;uCACK,SAAS,CAAC,aAAa;;;;;;CAM7D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,IAAI,QAAQ,UAAU,OAAO,CAAC;QAChE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;;;4BAKY,MAAM;uCACK,SAAS,CAAC,aAAa;;;;;;;;CAQ7D,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,UAAU,EAAE,CAAC;QAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;4BAGY,MAAM;mDACiB,SAAS,CAAC,aAAa;;;;;;CAMzE,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,UAAU,OAAO,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;;;;4BAMY,MAAM;8BACJ,MAAM,oBAAoB,SAAS,CAAC,aAAa;;;;;;CAM9E,CAAC;IACA,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,IAAI,WAAW,UAAU,OAAO,CAAC;QAClE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,QAAQ,IAAI;mBACG,UAAU;MACvB,UAAU;;;;;4BAKY,MAAM;0CACQ,SAAS,CAAC,aAAa;;;;;CAKhE,CAAC;IACA,CAAC;IAED,MAAM,SAAS,GAAG;;;;;;;;6BAQS,UAAU;EACrC,SAAS,CAAC,KAAK;;;;;;;;;;EAUf,QAAQ,EAAE,CAAC;IAEX,OAAO;QACL,SAAS;QACT,YAAY,EAAE,mBAAmB,UAAU,iBAAiB,UAAU,+BAA+B,UAAU,MAAM;KACtH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,YAAgC;IAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAEjE,IAAI,IAAI,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,6BAA6B,MAAM,QAAQ;YAClD,aAAa,EAAE,YAAY,SAAS,IAAI,QAAQ,yBAAyB;SAC1E,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,KAAK,EAAE,6BAA6B,MAAM,QAAQ;YAClD,aAAa,EAAE,aAAa,SAAS,IAAI,WAAW,yBAAyB;SAC9E,CAAC;IACJ,CAAC;IAED,SAAS;IACT,OAAO;QACL,KAAK,EAAE,gCAAgC,MAAM,QAAQ;QACrD,aAAa,EAAE,+DAA+D;KAC/E,CAAC;AACJ,CAAC;AAED,qEAAqE;AAErE;;GAEG;AACH,SAAgB,mBAAmB,CAAC,UAAyC;IAC3E,MAAM,QAAQ,GAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"connector-functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/connector-functions-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
* インラインハンドラー方式(ファクトリー不使用)
|
|
5
5
|
*/
|
|
6
6
|
import { ModelInfo } from "./model-parser";
|
|
7
|
+
import { ModelAuthPolicy } from "../../types";
|
|
7
8
|
/**
|
|
8
9
|
* Azure Functions エンティティファイルを生成(インラインハンドラー方式)
|
|
9
10
|
* 各ハンドラーがベタ書きされており、ビジネスロジックの追加・変更が容易
|
|
10
11
|
*/
|
|
11
|
-
export declare function generateCompactAzureFunctionsCRUD(model: ModelInfo, sharedPackageName: string): string;
|
|
12
|
+
export declare function generateCompactAzureFunctionsCRUD(model: ModelInfo, sharedPackageName: string, authPolicy?: ModelAuthPolicy): string;
|
|
12
13
|
export declare function generateCSharpAzureFunctionsCRUD(model: ModelInfo): string;
|
|
13
14
|
export declare function generatePythonAzureFunctionsCRUD(model: ModelInfo): {
|
|
14
15
|
blueprint: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"functions-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,MAAM,CA0OnI;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAmSzE;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,GAAG;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CA0IA"}
|
|
@@ -9,19 +9,28 @@ exports.generateCompactAzureFunctionsCRUD = generateCompactAzureFunctionsCRUD;
|
|
|
9
9
|
exports.generateCSharpAzureFunctionsCRUD = generateCSharpAzureFunctionsCRUD;
|
|
10
10
|
exports.generatePythonAzureFunctionsCRUD = generatePythonAzureFunctionsCRUD;
|
|
11
11
|
const model_parser_1 = require("./model-parser");
|
|
12
|
+
const auth_generator_1 = require("./auth-generator");
|
|
12
13
|
/**
|
|
13
14
|
* Azure Functions エンティティファイルを生成(インラインハンドラー方式)
|
|
14
15
|
* 各ハンドラーがベタ書きされており、ビジネスロジックの追加・変更が容易
|
|
15
16
|
*/
|
|
16
|
-
function generateCompactAzureFunctionsCRUD(model, sharedPackageName) {
|
|
17
|
+
function generateCompactAzureFunctionsCRUD(model, sharedPackageName, authPolicy) {
|
|
17
18
|
const modelName = model.name;
|
|
18
19
|
const modelCamel = (0, model_parser_1.toCamelCase)(modelName);
|
|
19
20
|
const modelKebab = (0, model_parser_1.toKebabCase)(modelName);
|
|
20
21
|
const schemaName = model.schemaName;
|
|
22
|
+
const hasAuth = !!authPolicy;
|
|
23
|
+
const authImport = hasAuth ? `\n${(0, auth_generator_1.generateAuthImportTS)()}\n` : '';
|
|
24
|
+
const readGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'read')}\n` : '';
|
|
25
|
+
const writeGuard = hasAuth ? `\n${(0, auth_generator_1.generateAuthGuardTS)(authPolicy, 'write')}\n` : '';
|
|
26
|
+
const authCatchBlock = hasAuth
|
|
27
|
+
? ` const authErr = handleAuthError(error);
|
|
28
|
+
if (authErr) return authErr;\n`
|
|
29
|
+
: '';
|
|
21
30
|
return `import { app, HttpRequest, HttpResponseInit, InvocationContext } from '@azure/functions';
|
|
22
31
|
import { z } from 'zod/v4';
|
|
23
32
|
import crypto from 'crypto';
|
|
24
|
-
import { ${schemaName} } from '${sharedPackageName}'
|
|
33
|
+
import { ${schemaName} } from '${sharedPackageName}';${authImport}
|
|
25
34
|
|
|
26
35
|
const containerName = '${modelName}s';
|
|
27
36
|
|
|
@@ -41,7 +50,7 @@ app.http('${modelCamel}-get-all', {
|
|
|
41
50
|
},
|
|
42
51
|
],
|
|
43
52
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
44
|
-
try {
|
|
53
|
+
try {${readGuard}
|
|
45
54
|
const documents = context.extraInputs.get('cosmosInput') as any[];
|
|
46
55
|
|
|
47
56
|
if (!documents || !Array.isArray(documents)) {
|
|
@@ -53,7 +62,7 @@ app.http('${modelCamel}-get-all', {
|
|
|
53
62
|
|
|
54
63
|
return { status: 200, jsonBody: validated };
|
|
55
64
|
} catch (error) {
|
|
56
|
-
context.error(\`Error fetching from \${containerName}:\`, error);
|
|
65
|
+
${authCatchBlock} context.error(\`Error fetching from \${containerName}:\`, error);
|
|
57
66
|
return { status: 500, jsonBody: { error: 'Failed to fetch items' } };
|
|
58
67
|
}
|
|
59
68
|
},
|
|
@@ -76,7 +85,7 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
76
85
|
},
|
|
77
86
|
],
|
|
78
87
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
79
|
-
try {
|
|
88
|
+
try {${readGuard}
|
|
80
89
|
const document = context.extraInputs.get('cosmosInput');
|
|
81
90
|
|
|
82
91
|
if (!document) {
|
|
@@ -86,7 +95,7 @@ app.http('${modelCamel}-get-by-id', {
|
|
|
86
95
|
const validated = ${schemaName}.parse(document);
|
|
87
96
|
return { status: 200, jsonBody: validated };
|
|
88
97
|
} catch (error) {
|
|
89
|
-
context.error(\`Error fetching item from \${containerName}:\`, error);
|
|
98
|
+
${authCatchBlock} context.error(\`Error fetching item from \${containerName}:\`, error);
|
|
90
99
|
return { status: 500, jsonBody: { error: 'Failed to fetch item' } };
|
|
91
100
|
}
|
|
92
101
|
},
|
|
@@ -108,7 +117,7 @@ app.http('${modelCamel}-create', {
|
|
|
108
117
|
},
|
|
109
118
|
],
|
|
110
119
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
111
|
-
try {
|
|
120
|
+
try {${writeGuard}
|
|
112
121
|
const body = await request.json() as any;
|
|
113
122
|
|
|
114
123
|
const { id, createdAt, updatedAt, ...userData } = body;
|
|
@@ -130,7 +139,7 @@ app.http('${modelCamel}-create', {
|
|
|
130
139
|
context.extraOutputs.set('cosmosOutput', result.data);
|
|
131
140
|
return { status: 201, jsonBody: result.data };
|
|
132
141
|
} catch (error) {
|
|
133
|
-
context.error(\`Error creating item in \${containerName}:\`, error);
|
|
142
|
+
${authCatchBlock} context.error(\`Error creating item in \${containerName}:\`, error);
|
|
134
143
|
return { status: 500, jsonBody: { error: 'Failed to create item' } };
|
|
135
144
|
}
|
|
136
145
|
},
|
|
@@ -162,7 +171,7 @@ app.http('${modelCamel}-update', {
|
|
|
162
171
|
},
|
|
163
172
|
],
|
|
164
173
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
165
|
-
try {
|
|
174
|
+
try {${writeGuard}
|
|
166
175
|
const id = request.params.id;
|
|
167
176
|
if (!id) {
|
|
168
177
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
@@ -193,7 +202,7 @@ app.http('${modelCamel}-update', {
|
|
|
193
202
|
context.extraOutputs.set('cosmosOutput', result.data);
|
|
194
203
|
return { status: 200, jsonBody: result.data };
|
|
195
204
|
} catch (error) {
|
|
196
|
-
context.error(\`Error updating item in \${containerName}:\`, error);
|
|
205
|
+
${authCatchBlock} context.error(\`Error updating item in \${containerName}:\`, error);
|
|
197
206
|
return { status: 500, jsonBody: { error: 'Failed to update item' } };
|
|
198
207
|
}
|
|
199
208
|
},
|
|
@@ -205,7 +214,7 @@ app.http('${modelCamel}-delete', {
|
|
|
205
214
|
route: '${modelCamel}/{id}',
|
|
206
215
|
authLevel: 'anonymous',
|
|
207
216
|
handler: async (request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> => {
|
|
208
|
-
try {
|
|
217
|
+
try {${writeGuard}
|
|
209
218
|
const id = request.params.id;
|
|
210
219
|
if (!id) {
|
|
211
220
|
return { status: 400, jsonBody: { error: 'ID is required' } };
|
|
@@ -231,7 +240,7 @@ app.http('${modelCamel}-delete', {
|
|
|
231
240
|
if (error.code === 404) {
|
|
232
241
|
return { status: 404, jsonBody: { error: 'Item not found' } };
|
|
233
242
|
}
|
|
234
|
-
context.error(\`Error deleting item from \${containerName}:\`, error);
|
|
243
|
+
${authCatchBlock} context.error(\`Error deleting item from \${containerName}:\`, error);
|
|
235
244
|
return { status: 500, jsonBody: { error: 'Failed to delete item' } };
|
|
236
245
|
}
|
|
237
246
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Zod モデルファイルを解析して、スキーマ情報を抽出する
|
|
3
3
|
*/
|
|
4
|
-
import { ModelConnectorConfig } from "../../types";
|
|
4
|
+
import { ModelConnectorConfig, ModelAuthPolicy } from "../../types";
|
|
5
5
|
export interface ModelInfo {
|
|
6
6
|
name: string;
|
|
7
7
|
displayName: string;
|
|
@@ -13,6 +13,7 @@ export interface ModelInfo {
|
|
|
13
13
|
hasUpdatedAt: boolean;
|
|
14
14
|
nestedSchemaRefs: NestedSchemaRef[];
|
|
15
15
|
connectorConfig?: ModelConnectorConfig;
|
|
16
|
+
authPolicy?: ModelAuthPolicy;
|
|
16
17
|
}
|
|
17
18
|
export interface FieldInfo {
|
|
18
19
|
name: string;
|
|
@@ -55,6 +56,11 @@ export declare function toCamelCase(str: string): string;
|
|
|
55
56
|
* モデルファイルから connectorConfig エクスポートを静的解析で抽出する
|
|
56
57
|
*/
|
|
57
58
|
export declare function parseConnectorConfig(content: string): ModelConnectorConfig | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* authPolicy をモデルファイルから抽出
|
|
61
|
+
* パターン: export const authPolicy = { roles: [...], read: [...], write: [...] }
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseAuthPolicy(content: string): ModelAuthPolicy | undefined;
|
|
58
64
|
/**
|
|
59
65
|
* 文字列を kebab-case に変換
|
|
60
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAiE1E;AAqfD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CA2FtF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAsC5E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAwB5F"}
|
|
@@ -40,6 +40,7 @@ exports.parseModelFile = parseModelFile;
|
|
|
40
40
|
exports.toPascalCase = toPascalCase;
|
|
41
41
|
exports.toCamelCase = toCamelCase;
|
|
42
42
|
exports.parseConnectorConfig = parseConnectorConfig;
|
|
43
|
+
exports.parseAuthPolicy = parseAuthPolicy;
|
|
43
44
|
exports.toKebabCase = toKebabCase;
|
|
44
45
|
exports.getAllModels = getAllModels;
|
|
45
46
|
const fs = __importStar(require("fs"));
|
|
@@ -75,6 +76,8 @@ async function parseModelFile(modelPath) {
|
|
|
75
76
|
const displayName = displayNameMatch ? displayNameMatch[1] : modelName;
|
|
76
77
|
// connectorConfig を抽出(外部データソース用メタデータ)
|
|
77
78
|
const connectorConfig = parseConnectorConfig(content);
|
|
79
|
+
// authPolicy を抽出(ロールベースアクセス制御用メタデータ)
|
|
80
|
+
const authPolicy = parseAuthPolicy(content);
|
|
78
81
|
// ネストしたスキーマ参照を検出
|
|
79
82
|
const nestedSchemaRefs = detectNestedSchemaRefs(modelPath, content, schemaName);
|
|
80
83
|
// フィールド情報を抽出(動的インポートを使用)
|
|
@@ -96,6 +99,7 @@ async function parseModelFile(modelPath) {
|
|
|
96
99
|
hasUpdatedAt,
|
|
97
100
|
nestedSchemaRefs,
|
|
98
101
|
...(connectorConfig ? { connectorConfig } : {}),
|
|
102
|
+
...(authPolicy ? { authPolicy } : {}),
|
|
99
103
|
};
|
|
100
104
|
}
|
|
101
105
|
/**
|
|
@@ -646,6 +650,47 @@ function parseConnectorConfig(content) {
|
|
|
646
650
|
...(endpoints ? { endpoints } : {}),
|
|
647
651
|
};
|
|
648
652
|
}
|
|
653
|
+
/**
|
|
654
|
+
* authPolicy をモデルファイルから抽出
|
|
655
|
+
* パターン: export const authPolicy = { roles: [...], read: [...], write: [...] }
|
|
656
|
+
*/
|
|
657
|
+
function parseAuthPolicy(content) {
|
|
658
|
+
const policyMatch = content.match(/export\s+const\s+authPolicy\s*=\s*\{/);
|
|
659
|
+
if (!policyMatch) {
|
|
660
|
+
return undefined;
|
|
661
|
+
}
|
|
662
|
+
const startIdx = content.indexOf('{', policyMatch.index);
|
|
663
|
+
let braceCount = 1;
|
|
664
|
+
let endIdx = startIdx + 1;
|
|
665
|
+
while (braceCount > 0 && endIdx < content.length) {
|
|
666
|
+
if (content[endIdx] === '{')
|
|
667
|
+
braceCount++;
|
|
668
|
+
if (content[endIdx] === '}')
|
|
669
|
+
braceCount--;
|
|
670
|
+
endIdx++;
|
|
671
|
+
}
|
|
672
|
+
const objectStr = content.substring(startIdx, endIdx);
|
|
673
|
+
const extractRoles = (key) => {
|
|
674
|
+
const match = objectStr.match(new RegExp(`${key}\\s*:\\s*\\[([^\\]]*)\\]`));
|
|
675
|
+
if (!match)
|
|
676
|
+
return undefined;
|
|
677
|
+
const entries = match[1].match(/['"]([^'"]+)['"]/g);
|
|
678
|
+
if (!entries)
|
|
679
|
+
return [];
|
|
680
|
+
return entries.map(e => e.replace(/['"]/g, ''));
|
|
681
|
+
};
|
|
682
|
+
const roles = extractRoles('roles');
|
|
683
|
+
const read = extractRoles('read');
|
|
684
|
+
const write = extractRoles('write');
|
|
685
|
+
if (!roles && !read && !write) {
|
|
686
|
+
return undefined;
|
|
687
|
+
}
|
|
688
|
+
return {
|
|
689
|
+
...(roles ? { roles } : {}),
|
|
690
|
+
...(read ? { read } : {}),
|
|
691
|
+
...(write ? { write } : {}),
|
|
692
|
+
};
|
|
693
|
+
}
|
|
649
694
|
/**
|
|
650
695
|
* 文字列を kebab-case に変換
|
|
651
696
|
*/
|