Browse Source

update: generators and schematics for the resource api parameter

pull/25761/head
sumeyye 2 months ago
parent
commit
e178be7d6d
  1. 1
      npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.d.ts
  2. 5
      npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.json
  3. 13
      npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts
  4. 5
      npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json
  5. 9
      npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts
  6. 5
      npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json
  7. 9
      npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts
  8. 5
      npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json

1
npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.d.ts

@ -5,5 +5,6 @@ export interface GenerateProxyGeneratorSchema {
target: string;
url: string;
serviceType: string;
resourceApi: boolean;
entryPoint: string;
}

5
npm/ng-packs/packages/generators/src/generators/generate-proxy/schema.json

@ -80,6 +80,11 @@
]
}
},
"resourceApi": {
"description": "Generate Resource API helpers for read endpoints",
"type": "boolean",
"default": false
},
"entryPoint": {
"description": "Target Angular project to place the generated code",
"type": "string",

13
npm/ng-packs/packages/schematics/src/commands/proxy-add/index.ts

@ -11,6 +11,7 @@ import {
createProxyWarningSaver,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProxyResourceApi,
resolveProject,
} from '../../utils';
@ -24,17 +25,21 @@ export default function (schema: GenerateProxySchema) {
const targetPath = buildTargetPath(target.definition, params.entryPoint);
const readProxyConfig = createProxyConfigReader(targetPath);
let generated: string[] = [];
let previousResourceApi = false;
try {
generated = readProxyConfig(host).generated;
const previousConfig = readProxyConfig(host);
generated = previousConfig.generated;
previousResourceApi = resolveProxyResourceApi(params, previousConfig);
const index = generated.findIndex(m => m === moduleName);
if (index < 0) generated.push(moduleName);
} catch (_) {
generated.push(moduleName);
previousResourceApi = resolveProxyResourceApi(params);
}
const getApiDefinition = createApiDefinitionGetter(params);
const data = { generated, ...(await getApiDefinition(host)) };
const data = { generated, resourceApi: previousResourceApi, ...(await getApiDefinition(host)) };
data.generated = [];
const clearProxy = createProxyClearer(targetPath);
@ -43,10 +48,12 @@ export default function (schema: GenerateProxySchema) {
const saveProxyWarning = createProxyWarningSaver(targetPath);
const generateApis = createApisGenerator(schema, generated);
const generateApis = createApisGenerator({ ...schema, resourceApi: previousResourceApi }, generated);
const generateIndex = createProxyIndexGenerator(targetPath);
console.log('HELLO');
return chain([
mergeAndAllowDelete(host, clearProxy),
saveProxyConfig,

5
npm/ng-packs/packages/schematics/src/commands/proxy-add/schema.json

@ -80,6 +80,11 @@
]
}
},
"resourceApi": {
"description": "Generate Resource API helpers for read endpoints",
"type": "boolean",
"default": false
},
"entryPoint": {
"description": "Target Angular project to place the generated code",
"type": "string",

9
npm/ng-packs/packages/schematics/src/commands/proxy-refresh/index.ts

@ -10,6 +10,7 @@ import {
createProxyIndexGenerator,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProxyResourceApi,
resolveProject,
} from '../../utils';
@ -21,17 +22,19 @@ export default function (schema: GenerateProxySchema) {
const targetPath = buildTargetPath(target.definition, params.entryPoint);
const readProxyConfig = createProxyConfigReader(targetPath);
const { generated } = readProxyConfig(host);
const previousConfig = readProxyConfig(host);
const { generated } = previousConfig;
const resourceApi = resolveProxyResourceApi(params, previousConfig);
const getApiDefinition = createApiDefinitionGetter(params);
const data = { generated, ...(await getApiDefinition(host)) };
const data = { generated, resourceApi, ...(await getApiDefinition(host)) };
data.generated = [];
const clearProxy = createProxyClearer(targetPath);
const saveProxyConfig = createProxyConfigSaver(data, targetPath);
const generateApis = createApisGenerator(schema, generated);
const generateApis = createApisGenerator({ ...schema, resourceApi }, generated);
const generateIndex = createProxyIndexGenerator(targetPath);

5
npm/ng-packs/packages/schematics/src/commands/proxy-refresh/schema.json

@ -49,6 +49,11 @@
},
"x-prompt": "Please enter URL for api definition (default: API Name's url in environment file)"
},
"resourceApi": {
"description": "Generate Resource API helpers for read endpoints",
"type": "boolean",
"default": false
},
"entryPoint": {
"description": "Target Angular project to place the generated code",
"type": "string",

9
npm/ng-packs/packages/schematics/src/commands/proxy-remove/index.ts

@ -10,6 +10,7 @@ import {
createProxyIndexGenerator,
mergeAndAllowDelete,
removeDefaultPlaceholders,
resolveProxyResourceApi,
resolveProject,
} from '../../utils';
@ -23,21 +24,23 @@ export default function (schema: GenerateProxySchema) {
const targetPath = buildTargetPath(target.definition, params.entryPoint);
const readProxyConfig = createProxyConfigReader(targetPath);
const { generated } = readProxyConfig(host);
const previousConfig = readProxyConfig(host);
const { generated } = previousConfig;
const resourceApi = resolveProxyResourceApi(params, previousConfig);
const index = generated.findIndex(m => m === moduleName);
if (index < 0) return host;
generated.splice(index, 1);
const getApiDefinition = createApiDefinitionGetter(params);
const data = { generated, ...(await getApiDefinition(host)) };
const data = { generated, resourceApi, ...(await getApiDefinition(host)) };
data.generated = [];
const clearProxy = createProxyClearer(targetPath);
const saveProxyConfig = createProxyConfigSaver(data, targetPath);
const generateApis = createApisGenerator(schema, generated);
const generateApis = createApisGenerator({ ...schema, resourceApi }, generated);
const generateIndex = createProxyIndexGenerator(targetPath);

5
npm/ng-packs/packages/schematics/src/commands/proxy-remove/schema.json

@ -49,6 +49,11 @@
},
"x-prompt": "Please enter URL for API definition (default: API Name's url in environment file)"
},
"resourceApi": {
"description": "Generate Resource API helpers for read endpoints",
"type": "boolean",
"default": false
},
"entryPoint": {
"description": "Target Angular project to place the generated code",
"type": "string",

Loading…
Cancel
Save