@rxap/schematic-nestjs 0.0.2-dev.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 -0
- package/GETSTARTED.md +0 -0
- package/GUIDES.md +0 -0
- package/README.md +21 -0
- package/collection.json +74 -0
- package/package.json +67 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -0
- package/src/schematics/crud/index.d.ts +3 -0
- package/src/schematics/crud/index.js +49 -0
- package/src/schematics/crud/index.js.map +1 -0
- package/src/schematics/crud/schema.d.ts +7 -0
- package/src/schematics/crud/schema.js +3 -0
- package/src/schematics/crud/schema.js.map +1 -0
- package/src/schematics/crud/schema.json +17 -0
- package/src/schematics/crud-init/index.d.ts +3 -0
- package/src/schematics/crud-init/index.js +14 -0
- package/src/schematics/crud-init/index.js.map +1 -0
- package/src/schematics/crud-init/schema.d.ts +4 -0
- package/src/schematics/crud-init/schema.js +3 -0
- package/src/schematics/crud-init/schema.js.map +1 -0
- package/src/schematics/crud-init/schema.json +18 -0
- package/src/schematics/crud-service/add-module-export.d.ts +4 -0
- package/src/schematics/crud-service/add-module-export.js +29 -0
- package/src/schematics/crud-service/add-module-export.js.map +1 -0
- package/src/schematics/crud-service/add-module-provider.d.ts +4 -0
- package/src/schematics/crud-service/add-module-provider.js +29 -0
- package/src/schematics/crud-service/add-module-provider.js.map +1 -0
- package/src/schematics/crud-service/coerce-class-method.d.ts +2 -0
- package/src/schematics/crud-service/coerce-class-method.js +10 -0
- package/src/schematics/crud-service/coerce-class-method.js.map +1 -0
- package/src/schematics/crud-service/coerce-class-property.d.ts +2 -0
- package/src/schematics/crud-service/coerce-class-property.js +10 -0
- package/src/schematics/crud-service/coerce-class-property.js.map +1 -0
- package/src/schematics/crud-service/coerce-collection-enum.d.ts +4 -0
- package/src/schematics/crud-service/coerce-collection-enum.js +29 -0
- package/src/schematics/crud-service/coerce-collection-enum.js.map +1 -0
- package/src/schematics/crud-service/coerce-module-class.d.ts +2 -0
- package/src/schematics/crud-service/coerce-module-class.js +32 -0
- package/src/schematics/crud-service/coerce-module-class.js.map +1 -0
- package/src/schematics/crud-service/coerce-source-file-rule.d.ts +11 -0
- package/src/schematics/crud-service/coerce-source-file-rule.js +29 -0
- package/src/schematics/crud-service/coerce-source-file-rule.js.map +1 -0
- package/src/schematics/crud-service/crud-class/create-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/create-method.js +69 -0
- package/src/schematics/crud-service/crud-class/create-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/delete-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/delete-method.js +46 -0
- package/src/schematics/crud-service/crud-class/delete-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/exists-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/exists-method.js +46 -0
- package/src/schematics/crud-service/crud-class/exists-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/find-in-group-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/find-in-group-method.js +37 -0
- package/src/schematics/crud-service/crud-class/find-in-group-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/find-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/find-method.js +46 -0
- package/src/schematics/crud-service/crud-class/find-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/get-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/get-method.js +52 -0
- package/src/schematics/crud-service/crud-class/get-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/update-field-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/update-field-method.js +68 -0
- package/src/schematics/crud-service/crud-class/update-field-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class/update-method.d.ts +3 -0
- package/src/schematics/crud-service/crud-class/update-method.js +59 -0
- package/src/schematics/crud-service/crud-class/update-method.js.map +1 -0
- package/src/schematics/crud-service/crud-class.d.ts +3 -0
- package/src/schematics/crud-service/crud-class.js +125 -0
- package/src/schematics/crud-service/crud-class.js.map +1 -0
- package/src/schematics/crud-service/dto-class/create-dto-class.d.ts +3 -0
- package/src/schematics/crud-service/dto-class/create-dto-class.js +26 -0
- package/src/schematics/crud-service/dto-class/create-dto-class.js.map +1 -0
- package/src/schematics/crud-service/dto-class/dto-class.d.ts +3 -0
- package/src/schematics/crud-service/dto-class/dto-class.js +133 -0
- package/src/schematics/crud-service/dto-class/dto-class.js.map +1 -0
- package/src/schematics/crud-service/dto-class/update-dto-class.d.ts +3 -0
- package/src/schematics/crud-service/dto-class/update-dto-class.js +28 -0
- package/src/schematics/crud-service/dto-class/update-dto-class.js.map +1 -0
- package/src/schematics/crud-service/index.d.ts +3 -0
- package/src/schematics/crud-service/index.js +215 -0
- package/src/schematics/crud-service/index.js.map +1 -0
- package/src/schematics/crud-service/options.d.ts +11 -0
- package/src/schematics/crud-service/options.js +3 -0
- package/src/schematics/crud-service/options.js.map +1 -0
- package/src/schematics/crud-service/schema.d.ts +53 -0
- package/src/schematics/crud-service/schema.js +3 -0
- package/src/schematics/crud-service/schema.js.map +1 -0
- package/src/schematics/crud-service/schema.json +57 -0
- package/src/schematics/feature-microservice/index.d.ts +11 -0
- package/src/schematics/feature-microservice/index.js +65 -0
- package/src/schematics/feature-microservice/index.js.map +1 -0
- package/src/schematics/feature-microservice/schema.d.ts +15 -0
- package/src/schematics/feature-microservice/schema.json +69 -0
- package/src/schematics/frontend-microservice/index.d.ts +11 -0
- package/src/schematics/frontend-microservice/index.js +61 -0
- package/src/schematics/frontend-microservice/index.js.map +1 -0
- package/src/schematics/frontend-microservice/schema.d.ts +16 -0
- package/src/schematics/frontend-microservice/schema.json +75 -0
- package/src/schematics/health-indicator/add-health-endpoint.d.ts +2 -0
- package/src/schematics/health-indicator/add-health-endpoint.js +58 -0
- package/src/schematics/health-indicator/add-health-endpoint.js.map +1 -0
- package/src/schematics/health-indicator/add-health-indicator.d.ts +2 -0
- package/src/schematics/health-indicator/add-health-indicator.js +61 -0
- package/src/schematics/health-indicator/add-health-indicator.js.map +1 -0
- package/src/schematics/health-indicator/add-to-global-health-endpoint.d.ts +2 -0
- package/src/schematics/health-indicator/add-to-global-health-endpoint.js +54 -0
- package/src/schematics/health-indicator/add-to-global-health-endpoint.js.map +1 -0
- package/src/schematics/health-indicator/coerce-health-controller.d.ts +2 -0
- package/src/schematics/health-indicator/coerce-health-controller.js +25 -0
- package/src/schematics/health-indicator/coerce-health-controller.js.map +1 -0
- package/src/schematics/health-indicator/coerce-health-module.d.ts +2 -0
- package/src/schematics/health-indicator/coerce-health-module.js +48 -0
- package/src/schematics/health-indicator/coerce-health-module.js.map +1 -0
- package/src/schematics/health-indicator/index.d.ts +3 -0
- package/src/schematics/health-indicator/index.js +29 -0
- package/src/schematics/health-indicator/index.js.map +1 -0
- package/src/schematics/health-indicator/schema.d.ts +4 -0
- package/src/schematics/health-indicator/schema.json +29 -0
- package/src/schematics/health-indicator-init/index.d.ts +3 -0
- package/src/schematics/health-indicator-init/index.js +23 -0
- package/src/schematics/health-indicator-init/index.js.map +1 -0
- package/src/schematics/health-indicator-init/schema.d.ts +3 -0
- package/src/schematics/health-indicator-init/schema.json +19 -0
- package/src/schematics/init/files/Dockerfile.template +24 -0
- package/src/schematics/init/files/healthcheck.js.template +35 -0
- package/src/schematics/init/files/main.ts.template +77 -0
- package/src/schematics/init/index.d.ts +6 -0
- package/src/schematics/init/index.js +463 -0
- package/src/schematics/init/index.js.map +1 -0
- package/src/schematics/init/schema.d.ts +23 -0
- package/src/schematics/init/schema.json +103 -0
- package/src/schematics/jwt/index.d.ts +2 -0
- package/src/schematics/jwt/index.js +46 -0
- package/src/schematics/jwt/index.js.map +1 -0
- package/src/schematics/jwt/schema.d.ts +3 -0
- package/src/schematics/jwt/schema.json +15 -0
- package/src/schematics/microservice/index.d.ts +12 -0
- package/src/schematics/microservice/index.js +117 -0
- package/src/schematics/microservice/index.js.map +1 -0
- package/src/schematics/microservice/schema.d.ts +15 -0
- package/src/schematics/microservice/schema.json +69 -0
- package/src/schematics/open-api/index.d.ts +2 -0
- package/src/schematics/open-api/index.js +39 -0
- package/src/schematics/open-api/index.js.map +1 -0
- package/src/schematics/open-api/schema.d.ts +3 -0
- package/src/schematics/open-api/schema.json +15 -0
- package/src/schematics/sentry/index.d.ts +3 -0
- package/src/schematics/sentry/index.js +129 -0
- package/src/schematics/sentry/index.js.map +1 -0
- package/src/schematics/sentry/schema.d.ts +5 -0
- package/src/schematics/sentry/schema.json +27 -0
- package/src/schematics/swagger/files/environments/environment.swagger.ts.template +7 -0
- package/src/schematics/swagger/files/swagger.ts.template +19 -0
- package/src/schematics/swagger/index.d.ts +3 -0
- package/src/schematics/swagger/index.js +88 -0
- package/src/schematics/swagger/index.js.map +1 -0
- package/src/schematics/swagger/schema.d.ts +4 -0
- package/src/schematics/swagger/schema.json +19 -0
- package/src/schematics/validator/index.d.ts +3 -0
- package/src/schematics/validator/index.js +15 -0
- package/src/schematics/validator/index.js.map +1 -0
- package/src/schematics/validator/schema.d.ts +3 -0
- package/src/schematics/validator/schema.json +19 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const ts_morph_1 = require("ts-morph");
|
|
6
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
7
|
+
function CreateMethod(options, className) {
|
|
8
|
+
const { classified, dtoName, camelized, documentId, collection, parentCollectionList, privateName } = options;
|
|
9
|
+
let parameters = [
|
|
10
|
+
{
|
|
11
|
+
name: `create${dtoName}`,
|
|
12
|
+
type: `Create${dtoName}`,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: `${documentId}`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
hasQuestionToken: !options.privateName,
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
if (privateName) {
|
|
21
|
+
parameters = parameters.reverse();
|
|
22
|
+
}
|
|
23
|
+
parameters.unshift(...parentCollectionList.map(subCollection => ({
|
|
24
|
+
name: `${(0, schematics_utilities_1.camelize)(subCollection)}Id`,
|
|
25
|
+
type: 'string',
|
|
26
|
+
})));
|
|
27
|
+
return {
|
|
28
|
+
name: 'create',
|
|
29
|
+
scope: ts_morph_1.Scope.Public,
|
|
30
|
+
isAsync: true,
|
|
31
|
+
parameters,
|
|
32
|
+
returnType: `Promise<${dtoName}>`,
|
|
33
|
+
statements: [
|
|
34
|
+
`this.logger.verbose('create: ' + ${documentId}, '${className}')`,
|
|
35
|
+
`if (!(create${dtoName} instanceof Create${dtoName})) { throw new InternalServerErrorException('Not instance of Create${dtoName}') }`,
|
|
36
|
+
`const ${camelized} = ${dtoName}.FromCreate${dtoName}(create${dtoName}, ${[
|
|
37
|
+
...parentCollectionList.map(subCollection => `${(0, schematics_utilities_1.camelize)(subCollection)}Id`),
|
|
38
|
+
documentId,
|
|
39
|
+
]});`,
|
|
40
|
+
`const result = validateSync(${camelized}, CrudValidatorOptions());`,
|
|
41
|
+
`if (result.length) { throw new ValidationException(result); }`,
|
|
42
|
+
writer => {
|
|
43
|
+
writer.writeLine(`const plain = classToPlain(${camelized}, CrudTransformOptions())`);
|
|
44
|
+
writer.writeLine('plain.__createdAt = new Date()');
|
|
45
|
+
writer.writeLine('plain.__updatedAt = new Date()');
|
|
46
|
+
writer.write('await this.firestore');
|
|
47
|
+
for (const subCollection of parentCollectionList) {
|
|
48
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
49
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
50
|
+
}
|
|
51
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
52
|
+
if (privateName) {
|
|
53
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
54
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
55
|
+
writer.writeLine(`.doc('${privateName}')`);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
writer.writeLine(`.doc(${camelized}.id)`);
|
|
59
|
+
}
|
|
60
|
+
writer.writeLine(`.set(plain)`);
|
|
61
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
62
|
+
},
|
|
63
|
+
`this.logger.debug('created: ' + ${documentId}, '${className}')`,
|
|
64
|
+
`return ${camelized}`,
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
exports.CreateMethod = CreateMethod;
|
|
69
|
+
//# sourceMappingURL=create-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/create-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,uCAIkB;AAElB,qEAAsD;AAEtD,SAAgB,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC9G,IAAI,UAAU,GAAG;QACf;YACE,IAAI,EAAE,SAAU,OAAQ,EAAE;YAC1B,IAAI,EAAE,SAAU,OAAQ,EAAE;SAC3B;QACD;YACE,IAAI,EAAE,GAAI,UAAW,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,gBAAgB,EAAE,CAAC,OAAO,CAAC,WAAW;SACvC;KACF,CAAC;IACF,IAAI,WAAW,EAAE;QACf,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;KACnC;IACD,UAAU,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,aAAa,CAAE,IAAI;QACtC,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC,CAAC,CAAC;IACL,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU;QACV,UAAU,EAAE,WAAY,OAAQ,GAAG;QACnC,UAAU,EAAE;YACV,oCAAqC,UAAW,MAAO,SAAU,IAAI;YACrE,eAAgB,OAAQ,qBAAsB,OAAQ,sEAAuE,OAAQ,MAAM;YAC3I,SAAU,SAAU,MAAO,OAAQ,cAAe,OAAQ,UAAW,OAAQ,KAAM;gBACjF,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,GAAI,IAAA,+BAAQ,EAAC,aAAa,CAAE,IAAI,CAAC;gBAC9E,UAAU;aACV,IAAI;YACN,+BAAgC,SAAU,4BAA4B;YACtE,+DAA+D;YAC/D,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,SAAS,CAAC,8BAA+B,SAAU,2BAA2B,CAAC,CAAC;gBACvF,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;gBACnD,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,IAAI,WAAW,EAAE;oBACf,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;oBAC1C,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,WAAY,IAAI,CAAC,CAAC;iBAC9C;qBAAM;oBACL,MAAM,CAAC,SAAS,CAAC,QAAS,SAAU,MAAM,CAAC,CAAC;iBAC7C;gBACD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;YAClE,CAAC;YACD,mCAAoC,UAAW,MAAO,SAAU,IAAI;YACpE,UAAW,SAAU,EAAE;SACxB;KACF,CAAC;AACJ,CAAC;AA3DD,oCA2DC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleteMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function DeleteMethod(options, className) {
|
|
8
|
+
const { classified, dtoName, documentId, camelized, collection, parentCollectionList } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'delete',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(subCollection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(subCollection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: `${documentId}`,
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
returnType: 'Promise<void>',
|
|
24
|
+
statements: [
|
|
25
|
+
`this.logger.verbose('delete: ' + ${documentId}, '${className}')`,
|
|
26
|
+
writer => {
|
|
27
|
+
writer.write('await this.firestore');
|
|
28
|
+
for (const subCollection of parentCollectionList) {
|
|
29
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
30
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
31
|
+
}
|
|
32
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
33
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
34
|
+
if (options.privateName) {
|
|
35
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
36
|
+
writer.writeLine(`.doc('${options.privateName}')`);
|
|
37
|
+
}
|
|
38
|
+
writer.writeLine('.delete()');
|
|
39
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
40
|
+
},
|
|
41
|
+
`this.logger.debug('deleted: ' + ${documentId}, '${className}')`,
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
exports.DeleteMethod = DeleteMethod;
|
|
46
|
+
//# sourceMappingURL=delete-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/delete-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACjG,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,aAAa,CAAE,IAAI;gBACtC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,GAAI,UAAW,EAAE;gBACvB,IAAI,EAAE,QAAQ;aACf;SACF;QACD,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE;YACV,oCAAqC,UAAW,MAAO,SAAU,IAAI;YACrE,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,EAAE;oBACvB,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,OAAO,CAAC,WAAY,IAAI,CAAC,CAAC;iBACtD;gBACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;YAClE,CAAC;YACD,mCAAoC,UAAW,MAAO,SAAU,IAAI;SACrE;KACF,CAAC;AACJ,CAAC;AArCD,oCAqCC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExistsMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function ExistsMethod(options, className) {
|
|
8
|
+
const { dtoName, documentId, collection, parentCollectionList } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'exists',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(collection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(collection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: documentId,
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
returnType: `Promise<${dtoName}>`,
|
|
24
|
+
statements: [
|
|
25
|
+
`this.logger.verbose('exists: ' + ${documentId}, '${className}')`,
|
|
26
|
+
writer => {
|
|
27
|
+
writer.write(`const snapshot = await this.firestore`);
|
|
28
|
+
for (const subCollection of parentCollectionList) {
|
|
29
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
30
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
31
|
+
}
|
|
32
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
33
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
34
|
+
if (options.privateName) {
|
|
35
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
36
|
+
writer.writeLine(`.doc('${options.privateName}')`);
|
|
37
|
+
}
|
|
38
|
+
writer.writeLine('.get()');
|
|
39
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
40
|
+
writer.writeLine('return snapshot.exists');
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
exports.ExistsMethod = ExistsMethod;
|
|
46
|
+
//# sourceMappingURL=exists-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/exists-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI;gBACnC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,GAAG;QACnC,UAAU,EAAE;YACV,oCAAqC,UAAW,MAAO,SAAU,IAAI;YACrE,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACtD,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,EAAE;oBACvB,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,OAAO,CAAC,WAAY,IAAI,CAAC,CAAC;iBACtD;gBACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAC7C,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AArCD,oCAqCC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FindInGroupMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const ts_morph_1 = require("ts-morph");
|
|
6
|
+
function FindInGroupMethod(options, className) {
|
|
7
|
+
const { dtoName, camelized, collection, parentCollectionList } = options;
|
|
8
|
+
return {
|
|
9
|
+
name: 'findInGroup',
|
|
10
|
+
scope: ts_morph_1.Scope.Public,
|
|
11
|
+
isAsync: true,
|
|
12
|
+
parameters: [
|
|
13
|
+
{
|
|
14
|
+
name: 'query',
|
|
15
|
+
type: '(queryRef: Query) => Query',
|
|
16
|
+
initializer: 'query => query',
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
returnType: `Promise<${dtoName}[]>`,
|
|
20
|
+
statements: [
|
|
21
|
+
`this.logger.verbose('findInGroup', '${className}')`,
|
|
22
|
+
writer => {
|
|
23
|
+
writer.write(`const ref = this.firestore`);
|
|
24
|
+
writer.writeLine(`.collectionGroup(Collection.${(0, strings_1.underscore)(collection).toUpperCase()});`);
|
|
25
|
+
writer.write(`const querySnapshot = await query(ref)`);
|
|
26
|
+
writer.writeLine('.get()');
|
|
27
|
+
writer.writeLine('.catch(FirestoreErrorHandler<QuerySnapshot>(this.logger));');
|
|
28
|
+
writer.writeLine(`const ${camelized}List = plainToClass(${dtoName}, querySnapshot.docs.map(doc => doc.data()), CrudTransformOptions());`);
|
|
29
|
+
writer.writeLine(`const result = ${camelized}List.map(${camelized} => validateSync(${camelized}, CrudValidatorOptions())).filter(r => r.length);`);
|
|
30
|
+
writer.writeLine(`if (result.length) { throw new ValidationException(result.flat()); }`);
|
|
31
|
+
writer.write(`return ${camelized}List;`);
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.FindInGroupMethod = FindInGroupMethod;
|
|
37
|
+
//# sourceMappingURL=find-in-group-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-in-group-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/find-in-group-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,uCAIkB;AAGlB,SAAgB,iBAAiB,CAAC,OAAgB,EAAE,SAAiB;IACnE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,gBAAgB;aAC9B;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,KAAK;QACrC,UAAU,EAAE;YACV,uCAAwC,SAAU,IAAI;YACtD,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,CAAC,+BAAgC,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,IAAI,CAAC,CAAC;gBAC5F,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;gBAC/E,MAAM,CAAC,SAAS,CAAC,SAAU,SAAU,uBAAwB,OAAQ,uEAAuE,CAAC,CAAC;gBAC9I,MAAM,CAAC,SAAS,CAAC,kBAAmB,SAAU,YAAa,SAAU,oBAAqB,SAAU,mDAAmD,CAAC,CAAC;gBACzJ,MAAM,CAAC,SAAS,CAAC,sEAAsE,CAAC,CAAC;gBACzF,MAAM,CAAC,KAAK,CAAC,UAAW,SAAU,OAAO,CAAC,CAAC;YAC7C,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AA7BD,8CA6BC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FindMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function FindMethod(options, className) {
|
|
8
|
+
const { dtoName, camelized, collection, parentCollectionList } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'find',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(collection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(collection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: 'query',
|
|
20
|
+
type: '(queryRef: Query) => Query',
|
|
21
|
+
initializer: 'query => query',
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
returnType: `Promise<${dtoName}[]>`,
|
|
25
|
+
statements: [
|
|
26
|
+
`this.logger.verbose('find', '${className}')`,
|
|
27
|
+
writer => {
|
|
28
|
+
writer.write(`const ref = this.firestore`);
|
|
29
|
+
for (const subCollection of parentCollectionList) {
|
|
30
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
31
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
32
|
+
}
|
|
33
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()});`);
|
|
34
|
+
writer.write(`const querySnapshot = await query(ref)`);
|
|
35
|
+
writer.writeLine('.get()');
|
|
36
|
+
writer.writeLine('.catch(FirestoreErrorHandler<QuerySnapshot>(this.logger));');
|
|
37
|
+
writer.writeLine(`const ${camelized}List = plainToClass(${dtoName}, querySnapshot.docs.map(doc => doc.data()), CrudTransformOptions());`);
|
|
38
|
+
writer.writeLine(`const result = ${camelized}List.map(${camelized} => validateSync(${camelized}, CrudValidatorOptions())).filter(r => r.length);`);
|
|
39
|
+
writer.writeLine(`if (result.length) { throw new ValidationException(result.flat()); }`);
|
|
40
|
+
writer.write(`return ${camelized}List;`);
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
exports.FindMethod = FindMethod;
|
|
46
|
+
//# sourceMappingURL=find-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/find-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,UAAU,CAAC,OAAgB,EAAE,SAAiB;IAC5D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI;gBACnC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,4BAA4B;gBAClC,WAAW,EAAE,gBAAgB;aAC9B;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,KAAK;QACrC,UAAU,EAAE;YACV,gCAAiC,SAAU,IAAI;YAC/C,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,IAAI,CAAC,CAAC;gBACvF,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,4DAA4D,CAAC,CAAC;gBAC/E,MAAM,CAAC,SAAS,CAAC,SAAU,SAAU,uBAAwB,OAAQ,uEAAuE,CAAC,CAAC;gBAC9I,MAAM,CAAC,SAAS,CAAC,kBAAmB,SAAU,YAAa,SAAU,oBAAqB,SAAU,mDAAmD,CAAC,CAAC;gBACzJ,MAAM,CAAC,SAAS,CAAC,sEAAsE,CAAC,CAAC;gBACzF,MAAM,CAAC,KAAK,CAAC,UAAW,SAAU,OAAO,CAAC,CAAC;YAC7C,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AArCD,gCAqCC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function GetMethod(options, className) {
|
|
8
|
+
const { classified, dtoName, documentId, camelized, collection, parentCollectionList } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'get',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(collection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(collection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: documentId,
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
returnType: `Promise<${dtoName}>`,
|
|
24
|
+
statements: [
|
|
25
|
+
`this.logger.verbose('get: ' + ${documentId}, '${className}')`,
|
|
26
|
+
writer => {
|
|
27
|
+
writer.write(`const snapshot = await this.firestore`);
|
|
28
|
+
for (const subCollection of parentCollectionList) {
|
|
29
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
30
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
31
|
+
}
|
|
32
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
33
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
34
|
+
if (options.privateName) {
|
|
35
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
36
|
+
writer.writeLine(`.doc('${options.privateName}')`);
|
|
37
|
+
}
|
|
38
|
+
writer.writeLine('.get()');
|
|
39
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
40
|
+
writer.writeLine('if (!snapshot.exists) {');
|
|
41
|
+
writer.writeLine(`throw new NotFoundException('A ${collection} document with the provided id does not exists.');`);
|
|
42
|
+
writer.writeLine('}');
|
|
43
|
+
writer.writeLine(`const ${camelized} = plainToClass(${dtoName}, snapshot.data(), CrudTransformOptions())`);
|
|
44
|
+
writer.writeLine(`const result = validateSync(${camelized}, CrudValidatorOptions());`);
|
|
45
|
+
writer.writeLine(`if (result.length) { throw new ValidationException(result); }`);
|
|
46
|
+
writer.write(`return ${camelized};`);
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.GetMethod = GetMethod;
|
|
52
|
+
//# sourceMappingURL=get-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/get-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,SAAS,CAAC,OAAgB,EAAE,SAAiB;IAC3D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IACjG,OAAO;QACL,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI;gBACnC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,GAAG;QACnC,UAAU,EAAE;YACV,iCAAkC,UAAW,MAAO,SAAU,IAAI;YAClE,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACtD,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,WAAW,EAAE;oBACvB,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,OAAO,CAAC,WAAY,IAAI,CAAC,CAAC;iBACtD;gBACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3B,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,kCAAmC,UAAW,oDAAoD,CAAC,CAAC;gBACrH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,CAAC,SAAS,CAAC,SAAU,SAAU,mBAAoB,OAAQ,4CAA4C,CAAC,CAAC;gBAC/G,MAAM,CAAC,SAAS,CAAC,+BAAgC,SAAU,4BAA4B,CAAC,CAAC;gBACzF,MAAM,CAAC,SAAS,CAAC,+DAA+D,CAAC,CAAC;gBAClF,MAAM,CAAC,KAAK,CAAC,UAAW,SAAU,GAAG,CAAC,CAAC;YACzC,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AA3CD,8BA2CC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateFieldMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function UpdateFieldMethod(options, className) {
|
|
8
|
+
const { classified, documentId, dtoName, camelized, collection, parentCollectionList, privateName } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'updateField',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(collection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(collection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: documentId,
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
/*
|
|
23
|
+
field: string | FieldPath,
|
|
24
|
+
value: any,
|
|
25
|
+
...moreFieldsOrPrecondition: any[]
|
|
26
|
+
*/
|
|
27
|
+
{
|
|
28
|
+
name: 'field',
|
|
29
|
+
type: 'string | FieldPath',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'value',
|
|
33
|
+
type: 'any',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'moreFieldsOrPrecondition',
|
|
37
|
+
type: 'any[]',
|
|
38
|
+
isRestParameter: true,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
returnType: `Promise<${dtoName}>`,
|
|
42
|
+
statements: [
|
|
43
|
+
`this.logger.verbose('update: ' + ${documentId}, '${className}')`,
|
|
44
|
+
writer => {
|
|
45
|
+
writer.write('await this.firestore');
|
|
46
|
+
for (const subCollection of parentCollectionList) {
|
|
47
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
48
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
49
|
+
}
|
|
50
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
51
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
52
|
+
if (privateName) {
|
|
53
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
54
|
+
writer.writeLine(`.doc('${options.privateName}')`);
|
|
55
|
+
}
|
|
56
|
+
writer.writeLine(`.update(field, value, ...moreFieldsOrPrecondition)`);
|
|
57
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
58
|
+
},
|
|
59
|
+
`this.logger.debug('updated: ' + ${documentId}, '${className}')`,
|
|
60
|
+
`return this.get(${[
|
|
61
|
+
...parentCollectionList.map(collection => `${(0, schematics_utilities_1.camelize)(collection)}Id`),
|
|
62
|
+
`${documentId}`,
|
|
63
|
+
].join(', ')})`,
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
exports.UpdateFieldMethod = UpdateFieldMethod;
|
|
68
|
+
//# sourceMappingURL=update-field-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-field-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/update-field-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,iBAAiB,CAAC,OAAgB,EAAE,SAAiB;IACnE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC9G,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI;gBACnC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;aACf;YACD;;;;eAIG;YACH;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,oBAAoB;aAC3B;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,KAAK;aACZ;YACD;gBACE,IAAI,EAAE,0BAA0B;gBAChC,IAAI,EAAE,OAAO;gBACb,eAAe,EAAE,IAAI;aACtB;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,GAAG;QACnC,UAAU,EAAE;YACV,oCAAqC,UAAW,MAAO,SAAU,IAAI;YACrE,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;gBAC1C,IAAI,WAAW,EAAE;oBACf,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,OAAO,CAAC,WAAY,IAAI,CAAC,CAAC;iBACtD;gBACD,MAAM,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAC;gBACvE,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;YAClE,CAAC;YACD,mCAAoC,UAAW,MAAO,SAAU,IAAI;YACpE,mBAAoB;gBAClB,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI,CAAC;gBACxE,GAAI,UAAW,EAAE;aAClB,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG;SACjB;KACF,CAAC;AACJ,CAAC;AA3DD,8CA2DC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateMethod = void 0;
|
|
4
|
+
const strings_1 = require("@angular-devkit/core/src/utils/strings");
|
|
5
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
function UpdateMethod(options, className) {
|
|
8
|
+
const { classified, documentId, dtoName, camelized, collection, parentCollectionList, privateName } = options;
|
|
9
|
+
return {
|
|
10
|
+
name: 'update',
|
|
11
|
+
scope: ts_morph_1.Scope.Public,
|
|
12
|
+
isAsync: true,
|
|
13
|
+
parameters: [
|
|
14
|
+
...parentCollectionList.map(collection => ({
|
|
15
|
+
name: `${(0, schematics_utilities_1.camelize)(collection)}Id`,
|
|
16
|
+
type: 'string',
|
|
17
|
+
})),
|
|
18
|
+
{
|
|
19
|
+
name: documentId,
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: `update${dtoName}`,
|
|
24
|
+
type: `Update${dtoName}`,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
returnType: `Promise<${dtoName}>`,
|
|
28
|
+
statements: [
|
|
29
|
+
`this.logger.verbose('update: ' + ${documentId}, '${className}')`,
|
|
30
|
+
`if (!(update${dtoName} instanceof Update${dtoName})) { throw new InternalServerErrorException('Not instance of Update${dtoName}') }`,
|
|
31
|
+
`const result = validateSync(update${dtoName}, CrudValidatorOptions());`,
|
|
32
|
+
`if (result.length) { throw new ValidationException(result); }`,
|
|
33
|
+
writer => {
|
|
34
|
+
writer.writeLine(`const plain = classToPlain(update${dtoName}, CrudTransformOptions())`);
|
|
35
|
+
writer.writeLine('plain.__updatedAt = new Date()');
|
|
36
|
+
writer.write('await this.firestore');
|
|
37
|
+
for (const subCollection of parentCollectionList) {
|
|
38
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(subCollection).toUpperCase()})`);
|
|
39
|
+
writer.writeLine(`.doc(${(0, schematics_utilities_1.camelize)(subCollection)}Id)`);
|
|
40
|
+
}
|
|
41
|
+
writer.writeLine(`.collection(Collection.${(0, strings_1.underscore)(collection).toUpperCase()})`);
|
|
42
|
+
writer.writeLine(`.doc(${documentId})`);
|
|
43
|
+
if (privateName) {
|
|
44
|
+
writer.writeLine(`.collection(Collection.PRIVATE)`);
|
|
45
|
+
writer.writeLine(`.doc('${options.privateName}')`);
|
|
46
|
+
}
|
|
47
|
+
writer.writeLine(`.update(plain)`);
|
|
48
|
+
writer.writeLine('.catch(FirestoreErrorHandler(this.logger));');
|
|
49
|
+
},
|
|
50
|
+
`this.logger.debug('updated: ' + ${documentId}, '${className}')`,
|
|
51
|
+
`return this.get(${[
|
|
52
|
+
...parentCollectionList.map(collection => `${(0, schematics_utilities_1.camelize)(collection)}Id`),
|
|
53
|
+
`${documentId}`,
|
|
54
|
+
].join(', ')})`,
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.UpdateMethod = UpdateMethod;
|
|
59
|
+
//# sourceMappingURL=update-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-method.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/nestjs/src/schematics/crud-service/crud-class/update-method.ts"],"names":[],"mappings":";;;AAAA,oEAAoE;AACpE,qEAAsD;AACtD,uCAIkB;AAGlB,SAAgB,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC9G,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,gBAAK,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI;gBACnC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,IAAI,EAAE,SAAU,OAAQ,EAAE;gBAC1B,IAAI,EAAE,SAAU,OAAQ,EAAE;aAC3B;SACF;QACD,UAAU,EAAE,WAAY,OAAQ,GAAG;QACnC,UAAU,EAAE;YACV,oCAAqC,UAAW,MAAO,SAAU,IAAI;YACrE,eAAgB,OAAQ,qBAAsB,OAAQ,sEAAuE,OAAQ,MAAM;YAC3I,qCAAsC,OAAQ,4BAA4B;YAC1E,+DAA+D;YAC/D,MAAM,CAAC,EAAE;gBACP,MAAM,CAAC,SAAS,CAAC,oCAAqC,OAAQ,2BAA2B,CAAC,CAAC;gBAC3F,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACrC,KAAK,MAAM,aAAa,IAAI,oBAAoB,EAAE;oBAChD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;oBACzF,MAAM,CAAC,SAAS,CAAC,QAAS,IAAA,+BAAQ,EAAC,aAAa,CAAE,KAAK,CAAC,CAAC;iBAC1D;gBACD,MAAM,CAAC,SAAS,CAAC,0BAA2B,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC,WAAW,EAAG,GAAG,CAAC,CAAC;gBACtF,MAAM,CAAC,SAAS,CAAC,QAAS,UAAW,GAAG,CAAC,CAAC;gBAC1C,IAAI,WAAW,EAAE;oBACf,MAAM,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;oBACpD,MAAM,CAAC,SAAS,CAAC,SAAU,OAAO,CAAC,WAAY,IAAI,CAAC,CAAC;iBACtD;gBACD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBACnC,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;YAClE,CAAC;YACD,mCAAoC,UAAW,MAAO,SAAU,IAAI;YACpE,mBAAoB;gBAClB,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAI,IAAA,+BAAQ,EAAC,UAAU,CAAE,IAAI,CAAC;gBACxE,GAAI,UAAW,EAAE;aAClB,CAAC,IAAI,CAAC,IAAI,CAAE,GAAG;SACjB;KACF,CAAC;AACJ,CAAC;AAlDD,oCAkDC"}
|