swallowkit 1.0.0-beta.5 → 1.0.0-beta.51
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/LICENSE +21 -21
- package/README.ja.md +153 -242
- package/README.md +153 -243
- package/dist/__tests__/fixtures.d.ts +22 -0
- package/dist/__tests__/fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures.js +146 -0
- package/dist/__tests__/fixtures.js.map +1 -0
- package/dist/cli/commands/add-auth.d.ts +13 -0
- package/dist/cli/commands/add-auth.d.ts.map +1 -0
- package/dist/cli/commands/add-auth.js +759 -0
- package/dist/cli/commands/add-auth.js.map +1 -0
- package/dist/cli/commands/add-connector.d.ts +20 -0
- package/dist/cli/commands/add-connector.d.ts.map +1 -0
- package/dist/cli/commands/add-connector.js +163 -0
- package/dist/cli/commands/add-connector.js.map +1 -0
- package/dist/cli/commands/create-model.d.ts +1 -4
- package/dist/cli/commands/create-model.d.ts.map +1 -1
- package/dist/cli/commands/create-model.js +19 -81
- package/dist/cli/commands/create-model.js.map +1 -1
- package/dist/cli/commands/dev-seeds.d.ts +57 -0
- package/dist/cli/commands/dev-seeds.d.ts.map +1 -0
- package/dist/cli/commands/dev-seeds.js +470 -0
- package/dist/cli/commands/dev-seeds.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +37 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +720 -156
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +73 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3089 -1779
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts +13 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +513 -129
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/index.d.ts +5 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +206 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +14 -3
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +172 -5
- package/dist/core/config.js.map +1 -1
- package/dist/core/mock/connector-mock-server.d.ts +101 -0
- package/dist/core/mock/connector-mock-server.d.ts.map +1 -0
- package/dist/core/mock/connector-mock-server.js +480 -0
- package/dist/core/mock/connector-mock-server.js.map +1 -0
- package/dist/core/mock/zod-mock-generator.d.ts +14 -0
- package/dist/core/mock/zod-mock-generator.d.ts.map +1 -0
- package/dist/core/mock/zod-mock-generator.js +163 -0
- package/dist/core/mock/zod-mock-generator.js.map +1 -0
- package/dist/core/operations/create-model.d.ts +15 -0
- package/dist/core/operations/create-model.d.ts.map +1 -0
- package/dist/core/operations/create-model.js +171 -0
- package/dist/core/operations/create-model.js.map +1 -0
- package/dist/core/operations/runtime.d.ts +32 -0
- package/dist/core/operations/runtime.d.ts.map +1 -0
- package/dist/core/operations/runtime.js +225 -0
- package/dist/core/operations/runtime.js.map +1 -0
- package/dist/core/operations/scaffold-machine.d.ts +16 -0
- package/dist/core/operations/scaffold-machine.d.ts.map +1 -0
- package/dist/core/operations/scaffold-machine.js +63 -0
- package/dist/core/operations/scaffold-machine.js.map +1 -0
- package/dist/core/project/manifest.d.ts +92 -0
- package/dist/core/project/manifest.d.ts.map +1 -0
- package/dist/core/project/manifest.js +321 -0
- package/dist/core/project/manifest.js.map +1 -0
- package/dist/core/project/validation.d.ts +20 -0
- package/dist/core/project/validation.d.ts.map +1 -0
- package/dist/core/project/validation.js +226 -0
- package/dist/core/project/validation.js.map +1 -0
- package/dist/core/scaffold/auth-generator.d.ts +63 -0
- package/dist/core/scaffold/auth-generator.d.ts.map +1 -0
- package/dist/core/scaffold/auth-generator.js +1714 -0
- package/dist/core/scaffold/auth-generator.js.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts +41 -0
- package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -0
- package/dist/core/scaffold/connector-functions-generator.js +1029 -0
- package/dist/core/scaffold/connector-functions-generator.js.map +1 -0
- package/dist/core/scaffold/functions-generator.d.ts +7 -1
- package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/functions-generator.js +922 -220
- package/dist/core/scaffold/functions-generator.js.map +1 -1
- package/dist/core/scaffold/model-parser.d.ts +20 -1
- package/dist/core/scaffold/model-parser.d.ts.map +1 -1
- package/dist/core/scaffold/model-parser.js +333 -139
- package/dist/core/scaffold/model-parser.js.map +1 -1
- package/dist/core/scaffold/native-schema-generator.d.ts +13 -0
- package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -0
- package/dist/core/scaffold/native-schema-generator.js +696 -0
- package/dist/core/scaffold/native-schema-generator.js.map +1 -0
- package/dist/core/scaffold/nextjs-generator.d.ts +8 -0
- package/dist/core/scaffold/nextjs-generator.d.ts.map +1 -1
- package/dist/core/scaffold/nextjs-generator.js +326 -182
- package/dist/core/scaffold/nextjs-generator.js.map +1 -1
- package/dist/core/scaffold/openapi-generator.d.ts +3 -0
- package/dist/core/scaffold/openapi-generator.d.ts.map +1 -0
- package/dist/core/scaffold/openapi-generator.js +190 -0
- package/dist/core/scaffold/openapi-generator.js.map +1 -0
- package/dist/core/scaffold/ui-generator.d.ts +13 -4
- package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
- package/dist/core/scaffold/ui-generator.js +772 -663
- package/dist/core/scaffold/ui-generator.js.map +1 -1
- package/dist/database/base-model.d.ts +3 -3
- package/dist/database/base-model.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/machine/contracts.d.ts +16 -0
- package/dist/machine/contracts.d.ts.map +1 -0
- package/dist/machine/contracts.js +3 -0
- package/dist/machine/contracts.js.map +1 -0
- package/dist/machine/errors.d.ts +11 -0
- package/dist/machine/errors.d.ts.map +1 -0
- package/dist/machine/errors.js +34 -0
- package/dist/machine/errors.js.map +1 -0
- package/dist/machine/index.d.ts +3 -0
- package/dist/machine/index.d.ts.map +1 -0
- package/dist/machine/index.js +156 -0
- package/dist/machine/index.js.map +1 -0
- package/dist/mcp/index.d.ts +25 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +202 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/types/index.d.ts +95 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/package-manager.d.ts +5 -2
- package/dist/utils/package-manager.d.ts.map +1 -1
- package/dist/utils/package-manager.js +34 -13
- package/dist/utils/package-manager.js.map +1 -1
- package/dist/utils/python-uv.d.ts +21 -0
- package/dist/utils/python-uv.d.ts.map +1 -0
- package/dist/utils/python-uv.js +111 -0
- package/dist/utils/python-uv.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +49 -0
- package/dist/version.js.map +1 -0
- package/package.json +84 -74
- package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +1139 -0
- package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +206 -0
- package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +532 -0
- package/src/__tests__/auth.test.ts +761 -0
- package/src/__tests__/config.test.ts +295 -0
- package/src/__tests__/connector-functions-generator.test.ts +288 -0
- package/src/__tests__/connector-mock-server.test.ts +439 -0
- package/src/__tests__/connector-model-bff.test.ts +162 -0
- package/src/__tests__/dev-seeds.test.ts +173 -0
- package/src/__tests__/dev.test.ts +287 -0
- package/src/__tests__/fixtures.ts +144 -0
- package/src/__tests__/functions-generator.test.ts +237 -0
- package/src/__tests__/init.test.ts +356 -0
- package/src/__tests__/jest-globals.d.ts +8 -0
- package/src/__tests__/machine.test.ts +356 -0
- package/src/__tests__/mcp.test.ts +145 -0
- package/src/__tests__/model-parser.test.ts +52 -0
- package/src/__tests__/multi-auth.test.ts +133 -0
- package/src/__tests__/nextjs-generator.test.ts +105 -0
- package/src/__tests__/openapi-generator.test.ts +43 -0
- package/src/__tests__/package-manager.test.ts +227 -0
- package/src/__tests__/python-uv.test.ts +48 -0
- package/src/__tests__/scaffold.test.ts +191 -0
- package/src/__tests__/string-utils.test.ts +75 -0
- package/src/__tests__/tsconfig.json +15 -0
- package/src/__tests__/ui-generator.test.ts +144 -0
- package/src/__tests__/zod-mock-generator.test.ts +132 -0
- package/src/cli/commands/add-auth.ts +815 -0
- package/src/cli/commands/add-connector.ts +158 -0
- package/src/cli/commands/create-model.ts +62 -0
- package/src/cli/commands/dev-seeds.ts +614 -0
- package/src/cli/commands/dev.ts +1234 -0
- package/src/cli/commands/index.ts +9 -0
- package/src/cli/commands/init.ts +3902 -0
- package/src/cli/commands/provision.ts +193 -0
- package/src/cli/commands/scaffold.ts +1067 -0
- package/src/cli/index.ts +202 -0
- package/src/core/config.ts +379 -0
- package/src/core/mock/connector-mock-server.ts +555 -0
- package/src/core/mock/zod-mock-generator.ts +205 -0
- package/src/core/operations/create-model.ts +174 -0
- package/src/core/operations/runtime.ts +235 -0
- package/src/core/operations/scaffold-machine.ts +91 -0
- package/src/core/project/manifest.ts +402 -0
- package/src/core/project/validation.ts +245 -0
- package/src/core/scaffold/auth-generator.ts +1760 -0
- package/src/core/scaffold/connector-functions-generator.ts +1133 -0
- package/src/core/scaffold/functions-generator.ts +972 -0
- package/src/core/scaffold/model-parser.ts +847 -0
- package/src/core/scaffold/native-schema-generator.ts +822 -0
- package/src/core/scaffold/nextjs-generator.ts +382 -0
- package/src/core/scaffold/openapi-generator.ts +212 -0
- package/src/core/scaffold/ui-generator.ts +1068 -0
- package/src/database/base-model.ts +184 -0
- package/src/database/client.ts +140 -0
- package/src/database/repository.ts +104 -0
- package/src/database/runtime-check.ts +25 -0
- package/src/index.ts +27 -0
- package/src/machine/contracts.ts +17 -0
- package/src/machine/errors.ts +34 -0
- package/src/machine/index.ts +173 -0
- package/src/mcp/index.ts +209 -0
- package/src/types/index.ts +165 -0
- package/src/utils/package-manager.ts +246 -0
- package/src/utils/python-uv.ts +96 -0
- package/src/version.ts +13 -0
- package/dist/cli/commands/build.d.ts +0 -6
- package/dist/cli/commands/build.d.ts.map +0 -1
- package/dist/cli/commands/build.js +0 -177
- package/dist/cli/commands/build.js.map +0 -1
- package/dist/cli/commands/deploy.d.ts +0 -3
- package/dist/cli/commands/deploy.d.ts.map +0 -1
- package/dist/cli/commands/deploy.js +0 -147
- package/dist/cli/commands/deploy.js.map +0 -1
- package/dist/cli/commands/setup.d.ts +0 -6
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/setup.js +0 -254
- package/dist/cli/commands/setup.js.map +0 -1
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.validateProject = validateProject;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const manifest_1 = require("./manifest");
|
|
40
|
+
const model_parser_1 = require("../scaffold/model-parser");
|
|
41
|
+
function pushViolation(violations, violation) {
|
|
42
|
+
violations.push(violation);
|
|
43
|
+
}
|
|
44
|
+
function hasScaffoldedEntities(manifest) {
|
|
45
|
+
return manifest.entities.length > 0;
|
|
46
|
+
}
|
|
47
|
+
function validateRequiredPaths(manifest, violations) {
|
|
48
|
+
const requiredModules = manifest.modules.filter((module) => ["shared-models", "bff", "functions"].includes(module.kind));
|
|
49
|
+
for (const module of requiredModules) {
|
|
50
|
+
if (!module.exists) {
|
|
51
|
+
pushViolation(violations, {
|
|
52
|
+
code: "missing-required-module",
|
|
53
|
+
severity: "error",
|
|
54
|
+
message: `Required module path is missing: ${module.rootPath}`,
|
|
55
|
+
location: { path: module.rootPath },
|
|
56
|
+
suggestedFix: "Initialize or restore the standard SwallowKit project directories before generating code.",
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (hasScaffoldedEntities(manifest) && !manifest.artifacts.callFunctionHelperExists) {
|
|
61
|
+
pushViolation(violations, {
|
|
62
|
+
code: "missing-call-function-helper",
|
|
63
|
+
severity: "warning",
|
|
64
|
+
message: "BFF helper lib/api/call-function.ts is missing.",
|
|
65
|
+
location: { path: manifest.artifacts.callFunctionHelperPath },
|
|
66
|
+
suggestedFix: "Run scaffold to regenerate the BFF helper.",
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function validateSchemaNaming(entity, violations) {
|
|
71
|
+
const expectedFileName = `${(0, model_parser_1.toKebabCase)(entity.name)}.ts`;
|
|
72
|
+
if (!entity.filePath.endsWith(expectedFileName)) {
|
|
73
|
+
pushViolation(violations, {
|
|
74
|
+
code: "naming-model-file",
|
|
75
|
+
severity: "warning",
|
|
76
|
+
message: `Model file should match the entity name in kebab-case: expected ${expectedFileName}.`,
|
|
77
|
+
location: { path: entity.filePath, entity: entity.name },
|
|
78
|
+
suggestedFix: `Rename the model file to ${expectedFileName} to keep generator conventions deterministic.`,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const camelSchema = `${(0, model_parser_1.toCamelCase)(entity.name)}Schema`;
|
|
82
|
+
if (entity.schemaName !== entity.name && entity.schemaName !== camelSchema) {
|
|
83
|
+
pushViolation(violations, {
|
|
84
|
+
code: "naming-schema-export",
|
|
85
|
+
severity: "warning",
|
|
86
|
+
message: `Schema export should be ${entity.name} or ${camelSchema}. Found ${entity.schemaName}.`,
|
|
87
|
+
location: { path: entity.filePath, entity: entity.name },
|
|
88
|
+
suggestedFix: "Use either the PascalCase Zod export or the camelCase Schema suffix pattern supported by SwallowKit.",
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function validateGeneratedArtifacts(manifest, violations) {
|
|
93
|
+
for (const route of manifest.routes.filter((candidate) => candidate.kind === "entity")) {
|
|
94
|
+
if (!route.exists) {
|
|
95
|
+
pushViolation(violations, {
|
|
96
|
+
code: route.surface === "bff" ? "missing-bff-route" : "missing-functions-artifact",
|
|
97
|
+
severity: "warning",
|
|
98
|
+
message: `${route.surface === "bff" ? "BFF route" : "Functions artifact"} is missing for ${route.entityName}.`,
|
|
99
|
+
location: {
|
|
100
|
+
path: route.filePath,
|
|
101
|
+
entity: route.entityName,
|
|
102
|
+
},
|
|
103
|
+
suggestedFix: `Run scaffold for ${route.entityName} to regenerate ${route.surface === "bff" ? "API routes" : "Functions code"}.`,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (hasScaffoldedEntities(manifest) &&
|
|
108
|
+
manifest.backendLanguage !== "typescript" &&
|
|
109
|
+
manifest.artifacts.openApiSpecs.length === 0) {
|
|
110
|
+
pushViolation(violations, {
|
|
111
|
+
code: "missing-openapi-artifacts",
|
|
112
|
+
severity: "warning",
|
|
113
|
+
message: `No OpenAPI export or native schema artifacts were found for ${manifest.backendLanguage} backend generation.`,
|
|
114
|
+
location: { path: "functions/openapi" },
|
|
115
|
+
suggestedFix: "Run scaffold to regenerate the OpenAPI export and native backend schema artifacts.",
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function validateLayeringViolations(projectRoot, violations) {
|
|
120
|
+
const apiDir = path.join(projectRoot, "app", "api");
|
|
121
|
+
const modelsDir = path.join(projectRoot, "shared", "models");
|
|
122
|
+
if (fs.existsSync(apiDir)) {
|
|
123
|
+
for (const filePath of walkFiles(apiDir, [".ts", ".tsx"])) {
|
|
124
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
125
|
+
if (content.includes("@azure/cosmos") || content.match(/from\s+['"].*functions\//)) {
|
|
126
|
+
pushViolation(violations, {
|
|
127
|
+
code: "forbidden-bff-dependency",
|
|
128
|
+
severity: "error",
|
|
129
|
+
message: "BFF files must not depend directly on Azure Cosmos or Functions implementation paths.",
|
|
130
|
+
location: { path: path.relative(projectRoot, filePath).replace(/\\/g, "/") },
|
|
131
|
+
suggestedFix: "Keep app/api as a pure BFF layer and call the backend through generated helpers instead.",
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (fs.existsSync(modelsDir)) {
|
|
137
|
+
for (const filePath of walkFiles(modelsDir, [".ts", ".tsx"])) {
|
|
138
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
139
|
+
if (content.match(/from\s+['"].*(app\/|functions\/|lib\/api\/)/)) {
|
|
140
|
+
pushViolation(violations, {
|
|
141
|
+
code: "forbidden-model-layer-import",
|
|
142
|
+
severity: "error",
|
|
143
|
+
message: "Shared models must not import from app/, functions/, or lib/api/ layers.",
|
|
144
|
+
location: { path: path.relative(projectRoot, filePath).replace(/\\/g, "/") },
|
|
145
|
+
suggestedFix: "Keep shared/models framework-agnostic so generators can reuse them across all layers.",
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function validateManifestDrift(projectRoot, loadedManifest, rebuiltManifest, violations) {
|
|
152
|
+
const sameEntitySet = JSON.stringify(loadedManifest.entities.map((entity) => entity.name).sort()) ===
|
|
153
|
+
JSON.stringify(rebuiltManifest.entities.map((entity) => entity.name).sort());
|
|
154
|
+
const sameRouteSet = JSON.stringify(loadedManifest.routes.map((route) => route.name).sort()) ===
|
|
155
|
+
JSON.stringify(rebuiltManifest.routes.map((route) => route.name).sort());
|
|
156
|
+
if (!sameEntitySet || !sameRouteSet) {
|
|
157
|
+
pushViolation(violations, {
|
|
158
|
+
code: "manifest-out-of-date",
|
|
159
|
+
severity: "warning",
|
|
160
|
+
message: `${manifest_1.SWALLOWKIT_MANIFEST_PATH} is out of date with the current project structure.`,
|
|
161
|
+
location: { path: manifest_1.SWALLOWKIT_MANIFEST_PATH },
|
|
162
|
+
suggestedFix: "Run a SwallowKit generator command or refresh the manifest so inspection and validation use current metadata.",
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function walkFiles(directory, extensions) {
|
|
167
|
+
const collected = [];
|
|
168
|
+
for (const entry of fs.readdirSync(directory, { withFileTypes: true })) {
|
|
169
|
+
const entryPath = path.join(directory, entry.name);
|
|
170
|
+
if (entry.isDirectory()) {
|
|
171
|
+
collected.push(...walkFiles(entryPath, extensions));
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (extensions.some((extension) => entry.name.endsWith(extension))) {
|
|
175
|
+
collected.push(entryPath);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return collected;
|
|
179
|
+
}
|
|
180
|
+
async function validateProject(projectRoot = process.cwd()) {
|
|
181
|
+
const loaded = await (0, manifest_1.loadProjectManifest)(projectRoot);
|
|
182
|
+
const rebuilt = await (0, manifest_1.buildProjectManifest)(projectRoot);
|
|
183
|
+
const violations = [];
|
|
184
|
+
validateRequiredPaths(loaded.manifest, violations);
|
|
185
|
+
for (const error of loaded.manifest.configValidation.errors) {
|
|
186
|
+
pushViolation(violations, {
|
|
187
|
+
code: "config-validation",
|
|
188
|
+
severity: "error",
|
|
189
|
+
message: error,
|
|
190
|
+
location: loaded.manifest.configPath ? { path: loaded.manifest.configPath } : undefined,
|
|
191
|
+
suggestedFix: "Fix the SwallowKit config so generators and validators have a stable project definition.",
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
const namedPolicies = loaded.manifest.auth?.authorization?.policies ?? {};
|
|
195
|
+
for (const entity of loaded.manifest.entities) {
|
|
196
|
+
const policy = entity.authPolicy;
|
|
197
|
+
if (!policy)
|
|
198
|
+
continue;
|
|
199
|
+
const references = [policy.policy, typeof policy.read === "string" ? policy.read : undefined, typeof policy.write === "string" ? policy.write : undefined].filter((value) => Boolean(value));
|
|
200
|
+
for (const name of references) {
|
|
201
|
+
if (!namedPolicies[name])
|
|
202
|
+
pushViolation(violations, {
|
|
203
|
+
code: "undefined-auth-policy",
|
|
204
|
+
severity: "error",
|
|
205
|
+
message: `Model '${entity.name}' references undefined authorization policy '${name}'.`,
|
|
206
|
+
location: { path: entity.filePath, entity: entity.name },
|
|
207
|
+
suggestedFix: `Define auth.authorization.policies.${name} or update the model authPolicy reference.`,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
for (const entity of loaded.manifest.entities) {
|
|
212
|
+
validateSchemaNaming(entity, violations);
|
|
213
|
+
}
|
|
214
|
+
validateGeneratedArtifacts(loaded.manifest, violations);
|
|
215
|
+
validateLayeringViolations(projectRoot, violations);
|
|
216
|
+
if (loaded.source === "file") {
|
|
217
|
+
validateManifestDrift(projectRoot, loaded.manifest, rebuilt.manifest, violations);
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
manifest: loaded.manifest,
|
|
221
|
+
manifestSource: loaded.source,
|
|
222
|
+
diagnostics: [...loaded.diagnostics, ...rebuilt.diagnostics],
|
|
223
|
+
violations: violations.sort((left, right) => left.code.localeCompare(right.code)),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/core/project/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkMA,0CAkDC;AApPD,uCAAyB;AACzB,2CAA6B;AAC7B,yCAAyI;AACzI,2DAAoE;AAsBpE,SAAS,aAAa,CACpB,UAA8B,EAC9B,SAA2B;IAE3B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAyB;IACtD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAyB,EAAE,UAA8B;IACtF,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACzD,CAAC,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5D,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,UAAU,EAAE;gBACxB,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,oCAAoC,MAAM,CAAC,QAAQ,EAAE;gBAC9D,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACnC,YAAY,EAAE,2FAA2F;aAC1G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QACpF,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,iDAAiD;YAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE;YAC7D,YAAY,EAAE,4CAA4C;SAC3D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA6B,EAAE,UAA8B;IACzF,MAAM,gBAAgB,GAAG,GAAG,IAAA,0BAAW,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,mEAAmE,gBAAgB,GAAG;YAC/F,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;YACxD,YAAY,EAAE,4BAA4B,gBAAgB,+CAA+C;SAC1G,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,IAAA,0BAAW,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxD,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QAC3E,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,2BAA2B,MAAM,CAAC,IAAI,OAAO,WAAW,WAAW,MAAM,CAAC,UAAU,GAAG;YAChG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;YACxD,YAAY,EAAE,sGAAsG;SACrH,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAyB,EAAE,UAA8B;IAC3F,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,aAAa,CAAC,UAAU,EAAE;gBACxB,IAAI,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B;gBAClF,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,mBAAmB,KAAK,CAAC,UAAU,GAAG;gBAC9G,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,MAAM,EAAE,KAAK,CAAC,UAAU;iBACzB;gBACD,YAAY,EAAE,oBAAoB,KAAK,CAAC,UAAU,kBAAkB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,GAAG;aACjI,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IACE,qBAAqB,CAAC,QAAQ,CAAC;QAC/B,QAAQ,CAAC,eAAe,KAAK,YAAY;QACzC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAC5C,CAAC;QACD,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,+DAA+D,QAAQ,CAAC,eAAe,sBAAsB;YACtH,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;YACvC,YAAY,EAAE,oFAAoF;SACnG,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,WAAmB,EAAE,UAA8B;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE7D,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;gBACnF,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,0BAA0B;oBAChC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,uFAAuF;oBAChG,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBAC5E,YAAY,EAAE,0FAA0F;iBACzG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,EAAE,CAAC;gBACjE,aAAa,CAAC,UAAU,EAAE;oBACxB,IAAI,EAAE,8BAA8B;oBACpC,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,0EAA0E;oBACnF,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBAC5E,YAAY,EAAE,uFAAuF;iBACtG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,cAA+B,EAC/B,eAAgC,EAChC,UAA8B;IAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3E,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,mCAAwB,qDAAqD;YACzF,QAAQ,EAAE,EAAE,IAAI,EAAE,mCAAwB,EAAE;YAC5C,YAAY,EAAE,+GAA+G;SAC9H,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB,EAAE,UAAoB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACvE,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAmB,EAAC,WAAW,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAoB,EAAC,WAAW,CAAC,CAAC;IACxD,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5D,aAAa,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YACvF,YAAY,EAAE,0FAA0F;SACzG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9M,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,aAAa,CAAC,UAAU,EAAE;oBAClD,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,UAAU,MAAM,CAAC,IAAI,gDAAgD,IAAI,IAAI;oBACtF,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;oBACxD,YAAY,EAAE,sCAAsC,IAAI,4CAA4C;iBACrG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9C,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,0BAA0B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,MAAM,CAAC,MAAM;QAC7B,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5D,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SwallowKit 認証・認可コード生成
|
|
3
|
+
* add-auth コマンドおよび scaffold ロールガード挿入で使用するテンプレート群
|
|
4
|
+
*/
|
|
5
|
+
import { AuthProvider, CustomJwtConfig, ModelAuthPolicy, NormalizedAuthConfig, RdbConnectorConfig } from "../../types";
|
|
6
|
+
type RdbProvider = RdbConnectorConfig["provider"];
|
|
7
|
+
export declare function generateNamedAuthRouterTS(config: NormalizedAuthConfig): string;
|
|
8
|
+
export declare function generateNamedExternalTokenVerifierCSharp(scheme: string): string;
|
|
9
|
+
export declare function generateNamedExternalTokenVerifierPython(scheme: string): string;
|
|
10
|
+
export declare function generateNamedAuthRouterCSharp(config: NormalizedAuthConfig): string;
|
|
11
|
+
export declare function generateNamedAuthRouterPython(config: NormalizedAuthConfig): string;
|
|
12
|
+
export declare function generateAuthModels(): string;
|
|
13
|
+
export declare function generateAuthFunctionsTS(sharedPackageName: string, config: CustomJwtConfig, provider: RdbProvider): string;
|
|
14
|
+
export declare function generateJwtHelperTS(): string;
|
|
15
|
+
export declare function generateAuthFunctionsCSharp(config: CustomJwtConfig, provider: RdbProvider): string;
|
|
16
|
+
export declare function generateJwtHelperCSharp(): string;
|
|
17
|
+
export declare function generateAuthFunctionsPython(config: CustomJwtConfig, provider: RdbProvider): string;
|
|
18
|
+
export declare function generateJwtHelperPython(): string;
|
|
19
|
+
export declare function generateBFFAuthLoginRoute(projectName: string, sharedPackageName: string): string;
|
|
20
|
+
export declare function generateBFFAuthLogoutRoute(projectName: string): string;
|
|
21
|
+
export declare function generateBFFAuthMeRoute(_sharedPackageName?: string): string;
|
|
22
|
+
export declare function generateProxy(projectName: string): string;
|
|
23
|
+
export declare function generateLoginPage(): string;
|
|
24
|
+
export declare function generateAuthContext(): string;
|
|
25
|
+
export declare function generateBFFCallFunctionWithAuth(): string;
|
|
26
|
+
/** SWA built-in auth variant: forward only a platform-derived client principal. */
|
|
27
|
+
export declare function generateBFFCallFunctionWithSwaAuth(): string;
|
|
28
|
+
/** Combined transport for named schemes. Functions still performs all verification. */
|
|
29
|
+
export declare function generateBFFCallFunctionWithMultipleAuth(): string;
|
|
30
|
+
export declare function generateSwaAuthHelperTS(): string;
|
|
31
|
+
export declare function generateExternalTokenAdapter(): string;
|
|
32
|
+
export declare function generateAuthenticatedFetch(): string;
|
|
33
|
+
export declare function generateExternalTokenBFFMeRoute(): string;
|
|
34
|
+
export declare function generateExternalTokenAuthContext(): string;
|
|
35
|
+
export declare function generateExternalTokenVerifierTS(): string;
|
|
36
|
+
export declare function generateExternalTokenHelperTS(): string;
|
|
37
|
+
export declare function generateExternalAuthMeTS(): string;
|
|
38
|
+
export declare function generateExternalTokenVerifierCSharp(): string;
|
|
39
|
+
export declare function generateExternalTokenHelperCSharp(): string;
|
|
40
|
+
export declare function generateExternalAuthMeCSharp(): string;
|
|
41
|
+
export declare function generateExternalTokenVerifierPython(): string;
|
|
42
|
+
export declare function generateExternalTokenHelperPython(): string;
|
|
43
|
+
export declare function generateExternalAuthMePython(): string;
|
|
44
|
+
export declare function generateSwaAuthHelperPython(): string;
|
|
45
|
+
export declare function generateSwaAuthHelperCSharp(): string;
|
|
46
|
+
/**
|
|
47
|
+
* TypeScript Functions のハンドラーにロールガードを挿入するためのインポート文を生成
|
|
48
|
+
*/
|
|
49
|
+
export declare function generateAuthImportTS(namedPolicy?: boolean): string;
|
|
50
|
+
/**
|
|
51
|
+
* TypeScript Functions のハンドラー先頭に挿入する認証チェックコードを生成
|
|
52
|
+
*/
|
|
53
|
+
export declare function generateAuthGuardTS(policy: ModelAuthPolicy, operation: 'read' | 'write', provider?: AuthProvider): string;
|
|
54
|
+
/**
|
|
55
|
+
* C# Functions のハンドラーに挿入するロールガードコードを生成
|
|
56
|
+
*/
|
|
57
|
+
export declare function generateAuthGuardCSharp(policy: ModelAuthPolicy, operation: 'read' | 'write'): string;
|
|
58
|
+
/**
|
|
59
|
+
* Python Functions のハンドラーに挿入するロールガードコードを生成
|
|
60
|
+
*/
|
|
61
|
+
export declare function generateAuthGuardPython(policy: ModelAuthPolicy, operation: 'read' | 'write'): string;
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=auth-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
|