@currentjs/gen 0.3.1 → 0.5.0
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/CHANGELOG.md +8 -289
- package/README.md +623 -427
- package/dist/cli.js +2 -1
- package/dist/commands/commit.js +25 -42
- package/dist/commands/createApp.js +1 -0
- package/dist/commands/createModule.js +151 -45
- package/dist/commands/diff.js +27 -40
- package/dist/commands/generateAll.js +141 -291
- package/dist/commands/migrateCommit.js +6 -18
- package/dist/commands/migratePush.d.ts +1 -0
- package/dist/commands/migratePush.js +135 -0
- package/dist/commands/migrateUpdate.d.ts +1 -0
- package/dist/commands/migrateUpdate.js +147 -0
- package/dist/commands/newGenerateAll.d.ts +4 -0
- package/dist/commands/newGenerateAll.js +336 -0
- package/dist/generators/controllerGenerator.d.ts +43 -19
- package/dist/generators/controllerGenerator.js +547 -329
- package/dist/generators/domainLayerGenerator.d.ts +21 -0
- package/dist/generators/domainLayerGenerator.js +276 -0
- package/dist/generators/dtoGenerator.d.ts +21 -0
- package/dist/generators/dtoGenerator.js +518 -0
- package/dist/generators/newControllerGenerator.d.ts +55 -0
- package/dist/generators/newControllerGenerator.js +644 -0
- package/dist/generators/newServiceGenerator.d.ts +19 -0
- package/dist/generators/newServiceGenerator.js +266 -0
- package/dist/generators/newStoreGenerator.d.ts +39 -0
- package/dist/generators/newStoreGenerator.js +408 -0
- package/dist/generators/newTemplateGenerator.d.ts +29 -0
- package/dist/generators/newTemplateGenerator.js +510 -0
- package/dist/generators/serviceGenerator.d.ts +16 -51
- package/dist/generators/serviceGenerator.js +167 -586
- package/dist/generators/storeGenerator.d.ts +35 -32
- package/dist/generators/storeGenerator.js +291 -238
- package/dist/generators/storeGeneratorV2.d.ts +31 -0
- package/dist/generators/storeGeneratorV2.js +190 -0
- package/dist/generators/templateGenerator.d.ts +21 -21
- package/dist/generators/templateGenerator.js +393 -268
- package/dist/generators/templates/appTemplates.d.ts +3 -1
- package/dist/generators/templates/appTemplates.js +15 -10
- package/dist/generators/templates/data/appYamlTemplate +5 -2
- package/dist/generators/templates/data/cursorRulesTemplate +315 -221
- package/dist/generators/templates/data/frontendScriptTemplate +76 -47
- package/dist/generators/templates/data/mainViewTemplate +1 -1
- package/dist/generators/templates/data/systemTsTemplate +5 -0
- package/dist/generators/templates/index.d.ts +0 -3
- package/dist/generators/templates/index.js +0 -3
- package/dist/generators/templates/newStoreTemplates.d.ts +5 -0
- package/dist/generators/templates/newStoreTemplates.js +141 -0
- package/dist/generators/templates/storeTemplates.d.ts +1 -5
- package/dist/generators/templates/storeTemplates.js +102 -219
- package/dist/generators/templates/viewTemplates.js +1 -1
- package/dist/generators/useCaseGenerator.d.ts +13 -0
- package/dist/generators/useCaseGenerator.js +188 -0
- package/dist/types/configTypes.d.ts +148 -0
- package/dist/types/configTypes.js +10 -0
- package/dist/utils/childEntityUtils.d.ts +18 -0
- package/dist/utils/childEntityUtils.js +78 -0
- package/dist/utils/commandUtils.d.ts +43 -0
- package/dist/utils/commandUtils.js +124 -0
- package/dist/utils/commitUtils.d.ts +4 -1
- package/dist/utils/constants.d.ts +10 -0
- package/dist/utils/constants.js +13 -1
- package/dist/utils/diResolver.d.ts +32 -0
- package/dist/utils/diResolver.js +204 -0
- package/dist/utils/new_parts_of_migrationUtils.d.ts +0 -0
- package/dist/utils/new_parts_of_migrationUtils.js +164 -0
- package/dist/utils/typeUtils.d.ts +19 -0
- package/dist/utils/typeUtils.js +70 -0
- package/package.json +7 -3
|
@@ -1,29 +1,53 @@
|
|
|
1
|
+
import { ModuleConfig } from '../types/configTypes';
|
|
1
2
|
export declare class ControllerGenerator {
|
|
2
|
-
private hasPermissions;
|
|
3
|
-
private getActionPermissions;
|
|
4
|
-
private shouldGenerateMethod;
|
|
5
|
-
private needsUserParam;
|
|
6
|
-
private getHttpMethodName;
|
|
7
3
|
private getHttpDecorator;
|
|
8
|
-
private
|
|
9
|
-
private generateParameterExtractions;
|
|
10
|
-
private generateMethodImplementation;
|
|
11
|
-
private replaceTemplateVars;
|
|
12
|
-
private generateControllerMethod;
|
|
13
|
-
private getWebMethodName;
|
|
14
|
-
private getPathSuffix;
|
|
15
|
-
private getReturnType;
|
|
4
|
+
private parseUseCase;
|
|
16
5
|
/**
|
|
17
|
-
*
|
|
6
|
+
* Normalize auth config to an array of roles
|
|
18
7
|
*/
|
|
19
|
-
private
|
|
8
|
+
private normalizeAuth;
|
|
20
9
|
/**
|
|
21
|
-
*
|
|
10
|
+
* Check if auth config includes owner permission
|
|
22
11
|
*/
|
|
23
|
-
private
|
|
24
|
-
|
|
12
|
+
private hasOwnerAuth;
|
|
13
|
+
/**
|
|
14
|
+
* Generate pre-fetch authentication/authorization check code.
|
|
15
|
+
* This runs before fetching the entity and validates authentication and role-based access.
|
|
16
|
+
* @param auth - The auth requirement: 'all', 'authenticated', 'owner', role names, or array of roles
|
|
17
|
+
* @returns Code string for the auth check, or empty string if no check needed
|
|
18
|
+
*/
|
|
19
|
+
private generateAuthCheck;
|
|
20
|
+
/**
|
|
21
|
+
* Generate post-fetch authorization check for owner validation.
|
|
22
|
+
* This runs after fetching the entity and validates ownership.
|
|
23
|
+
* Used for READ operations (get, list) where we check after fetch.
|
|
24
|
+
* For child entities, uses getResourceOwner() since result has no ownerId.
|
|
25
|
+
*/
|
|
26
|
+
private generatePostFetchOwnerCheck;
|
|
27
|
+
/**
|
|
28
|
+
* Generate pre-mutation authorization check for owner validation.
|
|
29
|
+
* This runs BEFORE the mutation to prevent unauthorized changes.
|
|
30
|
+
* Used for WRITE operations (update, delete).
|
|
31
|
+
* @param auth - The auth requirement
|
|
32
|
+
* @param useCaseVar - The use case variable name
|
|
33
|
+
* @returns Code string for the pre-mutation owner check, or empty string if not needed
|
|
34
|
+
*/
|
|
35
|
+
private generatePreMutationOwnerCheck;
|
|
36
|
+
private generateApiEndpointMethod;
|
|
37
|
+
private generateWebPageMethod;
|
|
38
|
+
private generateOnSuccessHandler;
|
|
39
|
+
private generateOnErrorHandler;
|
|
40
|
+
/**
|
|
41
|
+
* Sort routes so static paths are registered before parameterized ones.
|
|
42
|
+
* This prevents parameterized routes (e.g. /:id) from catching requests
|
|
43
|
+
* meant for static routes (e.g. /create).
|
|
44
|
+
*/
|
|
45
|
+
private sortRoutesBySpecificity;
|
|
46
|
+
private generateApiController;
|
|
47
|
+
private generateWebController;
|
|
48
|
+
generateFromConfig(config: ModuleConfig): Record<string, string>;
|
|
25
49
|
generateFromYamlFile(yamlFilePath: string): Record<string, string>;
|
|
26
|
-
generateAndSaveFiles(yamlFilePath
|
|
50
|
+
generateAndSaveFiles(yamlFilePath: string, moduleDir: string, opts?: {
|
|
27
51
|
force?: boolean;
|
|
28
52
|
skipOnConflict?: boolean;
|
|
29
53
|
}): Promise<string[]>;
|