@lenne.tech/nest-server 11.2.0 → 11.4.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.
Files changed (73) hide show
  1. package/bin/migrate.js +40 -0
  2. package/dist/core/common/decorators/unified-field.decorator.d.ts +2 -0
  3. package/dist/core/common/decorators/unified-field.decorator.js +26 -9
  4. package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
  5. package/dist/core/common/models/core-persistence.model.js +2 -2
  6. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  7. package/dist/core/modules/file/core-file-info.model.js +41 -23
  8. package/dist/core/modules/file/core-file-info.model.js.map +1 -1
  9. package/dist/core/modules/migrate/cli/migrate-cli.d.ts +3 -0
  10. package/dist/core/modules/migrate/cli/migrate-cli.js +221 -0
  11. package/dist/core/modules/migrate/cli/migrate-cli.js.map +1 -0
  12. package/dist/core/modules/migrate/helpers/migration.helper.d.ts +12 -0
  13. package/dist/core/modules/migrate/helpers/migration.helper.js +57 -0
  14. package/dist/core/modules/migrate/helpers/migration.helper.js.map +1 -0
  15. package/dist/core/modules/migrate/helpers/ts-compiler.d.ts +2 -0
  16. package/dist/core/modules/migrate/helpers/ts-compiler.js +3 -0
  17. package/dist/core/modules/migrate/helpers/ts-compiler.js.map +1 -0
  18. package/dist/core/modules/migrate/index.d.ts +4 -0
  19. package/dist/core/modules/migrate/index.js +21 -0
  20. package/dist/core/modules/migrate/index.js.map +1 -0
  21. package/dist/core/modules/migrate/migration-runner.d.ts +26 -0
  22. package/dist/core/modules/migrate/migration-runner.js +124 -0
  23. package/dist/core/modules/migrate/migration-runner.js.map +1 -0
  24. package/dist/core/modules/migrate/mongo-state-store.d.ts +30 -0
  25. package/dist/core/modules/migrate/mongo-state-store.js +105 -0
  26. package/dist/core/modules/migrate/mongo-state-store.js.map +1 -0
  27. package/dist/core/modules/migrate/templates/migration-with-helper.template.d.ts +2 -0
  28. package/dist/core/modules/migrate/templates/migration-with-helper.template.js +10 -0
  29. package/dist/core/modules/migrate/templates/migration-with-helper.template.js.map +1 -0
  30. package/dist/core/modules/migrate/templates/migration.template.d.ts +2 -0
  31. package/dist/core/modules/migrate/templates/migration.template.js +15 -0
  32. package/dist/core/modules/migrate/templates/migration.template.js.map +1 -0
  33. package/dist/core/modules/user/core-user.model.js +95 -54
  34. package/dist/core/modules/user/core-user.model.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/main.js +22 -0
  39. package/dist/main.js.map +1 -1
  40. package/dist/server/common/models/persistence.model.js +13 -11
  41. package/dist/server/common/models/persistence.model.js.map +1 -1
  42. package/dist/server/modules/auth/auth.model.js +6 -2
  43. package/dist/server/modules/auth/auth.model.js.map +1 -1
  44. package/dist/server/modules/user/user.controller.d.ts +19 -0
  45. package/dist/server/modules/user/user.controller.js +256 -0
  46. package/dist/server/modules/user/user.controller.js.map +1 -0
  47. package/dist/server/modules/user/user.model.js +37 -24
  48. package/dist/server/modules/user/user.model.js.map +1 -1
  49. package/dist/server/modules/user/user.module.js +2 -1
  50. package/dist/server/modules/user/user.module.js.map +1 -1
  51. package/dist/tsconfig.build.tsbuildinfo +1 -1
  52. package/package.json +33 -29
  53. package/src/core/common/decorators/unified-field.decorator.ts +49 -10
  54. package/src/core/common/models/core-persistence.model.ts +3 -3
  55. package/src/core/modules/file/core-file-info.model.ts +40 -22
  56. package/src/core/modules/migrate/MIGRATION_FROM_NODEPIT.md +219 -0
  57. package/src/core/modules/migrate/README.md +452 -0
  58. package/src/core/modules/migrate/cli/migrate-cli.ts +319 -0
  59. package/src/core/modules/migrate/helpers/migration.helper.ts +117 -0
  60. package/src/core/modules/migrate/helpers/ts-compiler.js +14 -0
  61. package/src/core/modules/migrate/index.ts +41 -0
  62. package/src/core/modules/migrate/migration-runner.ts +230 -0
  63. package/src/core/modules/migrate/mongo-state-store.ts +283 -0
  64. package/src/core/modules/migrate/templates/migration-with-helper.template.ts +72 -0
  65. package/src/core/modules/migrate/templates/migration.template.ts +59 -0
  66. package/src/core/modules/user/core-user.model.ts +120 -78
  67. package/src/index.ts +9 -3
  68. package/src/main.ts +25 -0
  69. package/src/server/common/models/persistence.model.ts +15 -13
  70. package/src/server/modules/auth/auth.model.ts +7 -3
  71. package/src/server/modules/user/user.controller.ts +242 -0
  72. package/src/server/modules/user/user.model.ts +39 -26
  73. package/src/server/modules/user/user.module.ts +2 -1
package/bin/migrate.js ADDED
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Migration CLI wrapper
5
+ *
6
+ * This is a shim that makes the nest-server migration CLI available as "migrate"
7
+ * for drop-in compatibility with projects using the @nodepit/migrate package.
8
+ */
9
+
10
+ const fs = require('fs');
11
+ // Check if running from built dist or src
12
+ const path = require('path');
13
+
14
+ const distPath = path.join(__dirname, '../dist/core/modules/migrate/cli/migrate-cli.js');
15
+ const srcPath = path.join(__dirname, '../src/core/modules/migrate/cli/migrate-cli.ts');
16
+
17
+ let cliPath;
18
+
19
+ if (fs.existsSync(distPath)) {
20
+ // Production: use built version
21
+ cliPath = distPath;
22
+ } else if (fs.existsSync(srcPath)) {
23
+ // Development: register ts-node and use source
24
+ try {
25
+ require('ts-node/register');
26
+ cliPath = srcPath;
27
+ } catch (e) {
28
+ console.error('Error: ts-node is required in development mode');
29
+ console.error('Install it with: npm install --save-dev ts-node');
30
+ process.exit(1);
31
+ }
32
+ } else {
33
+ console.error('Error: Migration CLI not found');
34
+ console.error('Make sure @lenne.tech/nest-server is properly built');
35
+ process.exit(1);
36
+ }
37
+
38
+ // Load and run the CLI
39
+ const { main } = require(cliPath);
40
+ main();
@@ -1,4 +1,5 @@
1
1
  import { FieldOptions } from '@nestjs/graphql';
2
+ import { PropOptions } from '@nestjs/mongoose';
2
3
  import { ApiPropertyOptions } from '@nestjs/swagger';
3
4
  import { EnumAllowedTypes } from '@nestjs/swagger/dist/interfaces/schema-object-metadata.interface';
4
5
  import { ValidationOptions } from 'class-validator';
@@ -18,6 +19,7 @@ export interface UnifiedFieldOptions {
18
19
  isAny?: boolean;
19
20
  isArray?: boolean;
20
21
  isOptional?: boolean;
22
+ mongoose?: boolean | PropOptions;
21
23
  roles?: RestrictedType | RoleEnum | RoleEnum[];
22
24
  swaggerApiOptions?: ApiPropertyOptions;
23
25
  type?: (() => any) | GraphQLScalarType | (new (...args: any[]) => any) | Record<number | string, number | string>;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UnifiedField = UnifiedField;
4
4
  const graphql_1 = require("@nestjs/graphql");
5
+ const mongoose_1 = require("@nestjs/mongoose");
5
6
  const swagger_1 = require("@nestjs/swagger");
6
7
  const class_transformer_1 = require("class-transformer");
7
8
  const class_validator_1 = require("class-validator");
@@ -32,7 +33,10 @@ function UnifiedField(opts = {}) {
32
33
  }
33
34
  return metadataType;
34
35
  };
35
- const baseType = resolvedTypeFn();
36
+ const resolvedType = resolvedTypeFn();
37
+ const baseType = isArrayField && Array.isArray(resolvedType) && resolvedType.length === 1
38
+ ? resolvedType[0]
39
+ : resolvedType;
36
40
  const gqlOpts = { ...opts.gqlOptions };
37
41
  const swaggerOpts = { ...opts.swaggerApiOptions };
38
42
  const valOpts = { ...opts.validationOptions };
@@ -79,7 +83,10 @@ function UnifiedField(opts = {}) {
79
83
  valOpts.each = false;
80
84
  }
81
85
  const gqlTypeFn = isArrayField
82
- ? () => [opts.enum?.enum || opts.gqlType || resolvedTypeFn()]
86
+ ? () => {
87
+ const resolved = opts.enum?.enum || opts.gqlType || resolvedTypeFn();
88
+ return [Array.isArray(resolved) && resolved.length === 1 ? resolved[0] : resolved];
89
+ }
83
90
  : () => opts.enum?.enum || opts.gqlType || resolvedTypeFn();
84
91
  (0, graphql_1.Field)(gqlTypeFn, gqlOpts)(target, propertyKey);
85
92
  (0, swagger_1.ApiProperty)(swaggerOpts)(target, propertyKey);
@@ -87,7 +94,7 @@ function UnifiedField(opts = {}) {
87
94
  (0, class_validator_1.ValidateIf)(opts.validateIf)(target, propertyKey);
88
95
  }
89
96
  if (opts.validator) {
90
- opts.validator(valOpts).forEach(d => d(target, propertyKey));
97
+ opts.validator(valOpts).forEach((d) => d(target, propertyKey));
91
98
  }
92
99
  else if (!opts.isAny) {
93
100
  const validator = getBuiltInValidator(baseType, valOpts, isArrayField, target);
@@ -105,6 +112,16 @@ function UnifiedField(opts = {}) {
105
112
  const rolesArr = Array.isArray(opts.roles) ? opts.roles : [opts.roles];
106
113
  (0, restricted_decorator_1.Restricted)(...rolesArr)(target, propertyKey);
107
114
  }
115
+ if (opts.mongoose) {
116
+ const propOptions = typeof opts.mongoose === 'object' ? opts.mongoose : {};
117
+ if (typeof propOptions === 'object' && !Array.isArray(propOptions) && !propOptions.type && baseType) {
118
+ propOptions.type = baseType;
119
+ }
120
+ if (typeof propOptions === 'object' && !Array.isArray(propOptions) && isArrayField && !propOptions.type) {
121
+ propOptions.type = [baseType];
122
+ }
123
+ (0, mongoose_1.Prop)(propOptions)(target, propertyKey);
124
+ }
108
125
  };
109
126
  }
110
127
  function getBuiltInValidator(type, opts, each, target) {
@@ -125,12 +142,12 @@ function getBuiltInValidator(type, opts, each, target) {
125
142
  return decorator;
126
143
  }
127
144
  function isGraphQLScalar(type) {
128
- return ((type
129
- && typeof type === 'function'
130
- && typeof type.prototype?.serialize === 'function'
131
- && typeof type.prototype?.parseValue === 'function'
132
- && typeof type.prototype?.parseLiteral === 'function')
133
- || type instanceof graphql_2.GraphQLScalarType);
145
+ return ((type &&
146
+ typeof type === 'function' &&
147
+ typeof type.prototype?.serialize === 'function' &&
148
+ typeof type.prototype?.parseValue === 'function' &&
149
+ typeof type.prototype?.parseLiteral === 'function') ||
150
+ type instanceof graphql_2.GraphQLScalarType);
134
151
  }
135
152
  function isPrimitive(fn) {
136
153
  return [Boolean, Date, Number, String].includes(fn);
@@ -1 +1 @@
1
- {"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-field.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/unified-field.decorator.ts"],"names":[],"mappings":"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"}
@@ -89,10 +89,10 @@ __decorate([
89
89
  __metadata("design:type", String)
90
90
  ], CorePersistenceModel.prototype, "id", void 0);
91
91
  __decorate([
92
- (0, mongoose_1.Prop)(),
93
92
  (0, unified_field_decorator_1.UnifiedField)({
94
93
  description: 'Created date',
95
94
  isOptional: true,
95
+ mongoose: true,
96
96
  roles: role_enum_1.RoleEnum.S_EVERYONE,
97
97
  swaggerApiOptions: { example: 1740037703939, format: 'int64', type: Date },
98
98
  type: Date,
@@ -100,10 +100,10 @@ __decorate([
100
100
  __metadata("design:type", Date)
101
101
  ], CorePersistenceModel.prototype, "createdAt", void 0);
102
102
  __decorate([
103
- (0, mongoose_1.Prop)(),
104
103
  (0, unified_field_decorator_1.UnifiedField)({
105
104
  description: 'Updated date',
106
105
  isOptional: true,
106
+ mongoose: true,
107
107
  roles: role_enum_1.RoleEnum.S_EVERYONE,
108
108
  swaggerApiOptions: { example: 1740037703939, format: 'int64', type: Date },
109
109
  type: Date,
@@ -1 +1 @@
1
- {"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-persistence.model.js","sourceRoot":"","sources":["../../../../src/core/common/models/core-persistence.model.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CoreFileInfo = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
- const mongoose_1 = require("@nestjs/mongoose");
15
- const mongoose_2 = require("mongoose");
14
+ const mongoose_1 = require("mongoose");
16
15
  const restricted_decorator_1 = require("../../common/decorators/restricted.decorator");
16
+ const unified_field_decorator_1 = require("../../common/decorators/unified-field.decorator");
17
17
  const role_enum_1 = require("../../common/enums/role.enum");
18
18
  const core_model_model_1 = require("../../common/models/core-model.model");
19
19
  let CoreFileInfo = class CoreFileInfo extends core_model_model_1.CoreModel {
@@ -27,7 +27,7 @@ let CoreFileInfo = class CoreFileInfo extends core_model_model_1.CoreModel {
27
27
  this.uploadDate = undefined;
28
28
  }
29
29
  get _id() {
30
- return new mongoose_2.Types.ObjectId(this.id);
30
+ return new mongoose_1.Types.ObjectId(this.id);
31
31
  }
32
32
  };
33
33
  exports.CoreFileInfo = CoreFileInfo;
@@ -37,42 +37,60 @@ __decorate([
37
37
  __metadata("design:paramtypes", [])
38
38
  ], CoreFileInfo.prototype, "_id", null);
39
39
  __decorate([
40
- (0, graphql_1.Field)(() => String, { description: 'ID of the file' }),
41
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
40
+ (0, unified_field_decorator_1.UnifiedField)({
41
+ description: 'ID of the file',
42
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
43
+ type: () => String,
44
+ }),
42
45
  __metadata("design:type", String)
43
46
  ], CoreFileInfo.prototype, "id", void 0);
44
47
  __decorate([
45
- (0, graphql_1.Field)(() => Number, {
46
- description: 'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, '
47
- + 'except for the last, which is only as large as needed. The default size is 255 kilobytes (kB)',
48
- nullable: true,
48
+ (0, unified_field_decorator_1.UnifiedField)({
49
+ description: 'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, ' +
50
+ 'except for the last, which is only as large as needed. The default size is 255 kilobytes (kB)',
51
+ isOptional: true,
52
+ mongoose: { required: false, type: Number },
53
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
54
+ type: () => Number,
49
55
  }),
50
- (0, mongoose_1.Prop)({ required: false, type: Number }),
51
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
52
56
  __metadata("design:type", Number)
53
57
  ], CoreFileInfo.prototype, "chunkSize", void 0);
54
58
  __decorate([
55
- (0, graphql_1.Field)(() => String, { description: 'Content type', nullable: true }),
56
- (0, mongoose_1.Prop)({ required: false, type: String }),
57
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
59
+ (0, unified_field_decorator_1.UnifiedField)({
60
+ description: 'Content type',
61
+ isOptional: true,
62
+ mongoose: { required: false, type: String },
63
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
64
+ }),
58
65
  __metadata("design:type", String)
59
66
  ], CoreFileInfo.prototype, "contentType", void 0);
60
67
  __decorate([
61
- (0, graphql_1.Field)(() => String, { description: 'Name of the file', nullable: true }),
62
- (0, mongoose_1.Prop)({ required: false, type: String }),
63
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
68
+ (0, unified_field_decorator_1.UnifiedField)({
69
+ description: 'Name of the file',
70
+ isOptional: true,
71
+ mongoose: { required: false, type: String },
72
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
73
+ }),
64
74
  __metadata("design:type", String)
65
75
  ], CoreFileInfo.prototype, "filename", void 0);
66
76
  __decorate([
67
- (0, graphql_1.Field)(() => Number, { description: 'The size of the document in bytes', nullable: true }),
68
- (0, mongoose_1.Prop)({ required: false, type: Number }),
69
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
77
+ (0, unified_field_decorator_1.UnifiedField)({
78
+ description: 'The size of the document in bytes',
79
+ isOptional: true,
80
+ mongoose: { required: false, type: Number },
81
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
82
+ type: () => Number,
83
+ }),
70
84
  __metadata("design:type", Number)
71
85
  ], CoreFileInfo.prototype, "length", void 0);
72
86
  __decorate([
73
- (0, graphql_1.Field)(() => Date, { description: 'The date the file was first stored', nullable: true }),
74
- (0, mongoose_1.Prop)({ required: false, type: Date }),
75
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
87
+ (0, unified_field_decorator_1.UnifiedField)({
88
+ description: 'The date the file was first stored',
89
+ isOptional: true,
90
+ mongoose: { required: false, type: Date },
91
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
92
+ type: () => Date,
93
+ }),
76
94
  __metadata("design:type", Date)
77
95
  ], CoreFileInfo.prototype, "uploadDate", void 0);
78
96
  exports.CoreFileInfo = CoreFileInfo = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"core-file-info.model.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file-info.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAwC;AACxC,uCAAiC;AAEjC,uFAA0E;AAC1E,4DAAwD;AACxD,2EAAiE;AAO1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAS;IAApC;;QAgBL,OAAE,GAAW,SAAS,CAAC;QAUvB,cAAS,GAAW,SAAS,CAAC;QAK9B,gBAAW,GAAY,SAAS,CAAC;QAKjC,aAAQ,GAAY,SAAS,CAAC;QAK9B,WAAM,GAAW,SAAS,CAAC;QAK3B,eAAU,GAAS,SAAS,CAAC;IAC/B,CAAC;IA1CC,IACI,GAAG;QACL,OAAO,IAAI,gBAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CAuCF,CAAA;AA/CY,oCAAY;AAKvB;IAAC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;;uCAG/B;AAQD;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACtD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;wCACT;AAUvB;IARC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE;QACnB,WAAW,EACT,8FAA8F;cAC5F,+FAA+F;QACnG,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;+CACF;AAK9B;IAHC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpE,IAAA,eAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;iDACC;AAKjC;IAHC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,eAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;8CACF;AAK9B;IAHC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzF,IAAA,eAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;4CACL;AAK3B;IAHC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxF,IAAA,eAAI,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;8BACpB,IAAI;gDAAa;uBA9ClB,YAAY;IAFxB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACrD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;GACnB,YAAY,CA+CxB"}
1
+ {"version":3,"file":"core-file-info.model.js","sourceRoot":"","sources":["../../../../src/core/modules/file/core-file-info.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,uCAAiC;AAEjC,uFAA0E;AAC1E,6FAA+E;AAC/E,4DAAwD;AACxD,2EAAiE;AAO1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAS;IAApC;;QAmBL,OAAE,GAAW,SAAS,CAAC;QAWvB,cAAS,GAAW,SAAS,CAAC;QAQ9B,gBAAW,GAAY,SAAS,CAAC;QAQjC,aAAQ,GAAY,SAAS,CAAC;QAS9B,WAAM,GAAW,SAAS,CAAC;QAS3B,eAAU,GAAS,SAAS,CAAC;IAC/B,CAAC;IA5DC,IACI,GAAG;QACL,OAAO,IAAI,gBAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CAyDF,CAAA;AAjEY,oCAAY;AAKvB;IAAC,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;;;uCAG/B;AAWD;IALC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;wCACqB;AAWvB;IATC,IAAA,sCAAY,EAAC;QACZ,WAAW,EACT,8FAA8F;YAC9F,+FAA+F;QACjG,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;+CAC4B;AAQ9B;IANC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,cAAc;QAC3B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;KAC3B,CAAC;;iDAC+B;AAQjC;IANC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;KAC3B,CAAC;;8CAC4B;AAS9B;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3C,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;4CACyB;AAS3B;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,oCAAoC;QACjD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;QACzC,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB,CAAC;8BACU,IAAI;gDAAa;uBAhElB,YAAY;IAFxB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACrD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;GACnB,YAAY,CAiExB"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ declare function main(): Promise<void>;
3
+ export { main };
@@ -0,0 +1,221 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.main = main;
5
+ const fs = require("fs");
6
+ const path = require("path");
7
+ const migration_runner_1 = require("../migration-runner");
8
+ async function createMigration(name, options) {
9
+ if (!name) {
10
+ console.error('Error: Migration name is required');
11
+ console.log('Usage: migrate create <name> [options]');
12
+ process.exit(1);
13
+ }
14
+ const timestamp = Date.now();
15
+ const fileName = `${timestamp}-${name}.ts`;
16
+ const filePath = path.join(options.migrationsDir, fileName);
17
+ if (!fs.existsSync(options.migrationsDir)) {
18
+ fs.mkdirSync(options.migrationsDir, { recursive: true });
19
+ }
20
+ let template;
21
+ if (options.templateFile) {
22
+ const templatePath = path.resolve(process.cwd(), options.templateFile);
23
+ template = fs.readFileSync(templatePath, 'utf-8');
24
+ }
25
+ else {
26
+ template = `/**
27
+ * Migration: ${name}
28
+ * Created: ${new Date().toISOString()}
29
+ */
30
+
31
+ export const up = async () => {
32
+ // TODO: Implement migration
33
+ console.log('Running migration: ${name}');
34
+ };
35
+
36
+ export const down = async () => {
37
+ // TODO: Implement rollback
38
+ console.log('Rolling back migration: ${name}');
39
+ };
40
+ `;
41
+ }
42
+ fs.writeFileSync(filePath, template, 'utf-8');
43
+ console.log(`Created migration: ${fileName}`);
44
+ }
45
+ async function listMigrations(options) {
46
+ registerCompiler(options.compiler);
47
+ const stateStore = loadStateStore(options.store);
48
+ const runner = new migration_runner_1.MigrationRunner({
49
+ migrationsDirectory: options.migrationsDir,
50
+ stateStore,
51
+ });
52
+ const status = await runner.status();
53
+ console.log('\nMigration Status:');
54
+ console.log('=================\n');
55
+ if (status.completed.length > 0) {
56
+ console.log('Completed:');
57
+ status.completed.forEach((name) => {
58
+ console.log(` ✓ ${name}`);
59
+ });
60
+ console.log('');
61
+ }
62
+ if (status.pending.length > 0) {
63
+ console.log('Pending:');
64
+ status.pending.forEach((name) => {
65
+ console.log(` ⋯ ${name}`);
66
+ });
67
+ console.log('');
68
+ }
69
+ if (status.completed.length === 0 && status.pending.length === 0) {
70
+ console.log('No migrations found\n');
71
+ }
72
+ }
73
+ function loadStateStore(storePath) {
74
+ if (!storePath) {
75
+ throw new Error('--store option is required for up/down/list commands');
76
+ }
77
+ const absolutePath = path.resolve(process.cwd(), storePath);
78
+ const StoreClass = require(absolutePath);
79
+ if (StoreClass.default) {
80
+ return new StoreClass.default();
81
+ }
82
+ else if (typeof StoreClass === 'function') {
83
+ return new StoreClass();
84
+ }
85
+ else {
86
+ throw new Error(`Invalid state store module at ${storePath}`);
87
+ }
88
+ }
89
+ async function main() {
90
+ const { command, name, options } = parseArgs();
91
+ try {
92
+ switch (command) {
93
+ case '--help':
94
+ case '-h':
95
+ case 'help':
96
+ showHelp();
97
+ break;
98
+ case 'create':
99
+ await createMigration(name, options);
100
+ break;
101
+ case 'down':
102
+ await runDown(options);
103
+ break;
104
+ case 'list':
105
+ case 'status':
106
+ await listMigrations(options);
107
+ break;
108
+ case 'up':
109
+ await runUp(options);
110
+ break;
111
+ default:
112
+ if (!command) {
113
+ showHelp();
114
+ }
115
+ else {
116
+ console.error(`Unknown command: ${command}`);
117
+ console.log('Run "migrate --help" for usage information');
118
+ process.exit(1);
119
+ }
120
+ }
121
+ }
122
+ catch (error) {
123
+ console.error('Error:', error.message);
124
+ if (process.env.DEBUG) {
125
+ console.error(error.stack);
126
+ }
127
+ process.exit(1);
128
+ }
129
+ }
130
+ function parseArgs() {
131
+ const args = process.argv.slice(2);
132
+ const command = args[0];
133
+ let name;
134
+ const options = {
135
+ migrationsDir: './migrations',
136
+ };
137
+ if (args[1] && !args[1].startsWith('-')) {
138
+ name = args[1];
139
+ }
140
+ for (let i = 1; i < args.length; i++) {
141
+ const arg = args[i];
142
+ if (arg === '--migrations-dir' || arg === '-d') {
143
+ options.migrationsDir = args[++i];
144
+ }
145
+ else if (arg === '--store' || arg === '-s') {
146
+ options.store = args[++i];
147
+ }
148
+ else if (arg === '--compiler' || arg === '-c') {
149
+ options.compiler = args[++i];
150
+ }
151
+ else if (arg === '--template-file' || arg === '-t') {
152
+ options.templateFile = args[++i];
153
+ }
154
+ }
155
+ return { command, name, options };
156
+ }
157
+ function registerCompiler(compiler) {
158
+ if (!compiler) {
159
+ return;
160
+ }
161
+ const [type, compilerPath] = compiler.split(':');
162
+ if (type === 'ts' && compilerPath) {
163
+ const absolutePath = path.resolve(process.cwd(), compilerPath);
164
+ const register = require(absolutePath);
165
+ if (typeof register === 'function') {
166
+ register();
167
+ }
168
+ }
169
+ }
170
+ async function runDown(options) {
171
+ registerCompiler(options.compiler);
172
+ const stateStore = loadStateStore(options.store);
173
+ const runner = new migration_runner_1.MigrationRunner({
174
+ migrationsDirectory: options.migrationsDir,
175
+ stateStore,
176
+ });
177
+ await runner.down();
178
+ }
179
+ async function runUp(options) {
180
+ registerCompiler(options.compiler);
181
+ const stateStore = loadStateStore(options.store);
182
+ const runner = new migration_runner_1.MigrationRunner({
183
+ migrationsDirectory: options.migrationsDir,
184
+ stateStore,
185
+ });
186
+ await runner.up();
187
+ }
188
+ function showHelp() {
189
+ console.log(`
190
+ Migration CLI - Compatible with migrate package
191
+
192
+ Usage:
193
+ migrate create <name> [options] Create a new migration
194
+ migrate up [options] Run all pending migrations
195
+ migrate down [options] Rollback the last migration
196
+ migrate list [options] List migration status
197
+
198
+ Options:
199
+ --migrations-dir, -d <path> Directory containing migrations (default: ./migrations)
200
+ --store, -s <path> Path to state store module
201
+ --compiler, -c <compiler> Compiler to use (e.g., ts:./path/to/ts-compiler.js)
202
+ --template-file, -t <path> Template file for creating migrations
203
+
204
+ Examples:
205
+ migrate create add-user-email
206
+ migrate create add-user-email --template-file ./migrations-utils/template.ts
207
+ migrate up --store ./migrations-utils/migrate.js --migrations-dir ./migrations
208
+ migrate down --store ./migrations-utils/migrate.js
209
+ migrate list --store ./migrations-utils/migrate.js
210
+
211
+ Environment Variables:
212
+ NODE_ENV Set environment (e.g., development, production)
213
+ `);
214
+ }
215
+ if (require.main === module) {
216
+ main().catch((error) => {
217
+ console.error('Fatal error:', error);
218
+ process.exit(1);
219
+ });
220
+ }
221
+ //# sourceMappingURL=migrate-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-cli.js","sourceRoot":"","sources":["../../../../../src/core/modules/migrate/cli/migrate-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Db, ObjectId } from 'mongodb';
2
+ export declare const getDb: (mongoUrl: string) => Promise<Db>;
3
+ export declare const uploadFileToGridFS: (mongoUrl: string, relativePath: string, options?: {
4
+ bucketName?: string;
5
+ filename?: string;
6
+ }) => Promise<ObjectId>;
7
+ export declare const createMigrationStore: (mongoUrl: string, collectionName?: string, lockCollectionName?: string) => {
8
+ new (): {
9
+ [x: string]: any;
10
+ };
11
+ [x: string]: any;
12
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMigrationStore = exports.uploadFileToGridFS = exports.getDb = void 0;
4
+ const fs = require("fs");
5
+ const mongodb_1 = require("mongodb");
6
+ const path = require("path");
7
+ const getDb = async (mongoUrl) => {
8
+ const client = await mongodb_1.MongoClient.connect(mongoUrl);
9
+ return client.db();
10
+ };
11
+ exports.getDb = getDb;
12
+ const uploadFileToGridFS = async (mongoUrl, relativePath, options) => {
13
+ if (!relativePath) {
14
+ throw new Error('relativePath is required');
15
+ }
16
+ const { bucketName, filename } = {
17
+ bucketName: 'fs',
18
+ filename: relativePath.split('/')[relativePath.split('/').length - 1],
19
+ ...options,
20
+ };
21
+ return new Promise(async (resolve, reject) => {
22
+ let client;
23
+ try {
24
+ client = await mongodb_1.MongoClient.connect(mongoUrl);
25
+ const db = client.db();
26
+ const bucket = new mongodb_1.GridFSBucket(db, { bucketName });
27
+ const writeStream = bucket.openUploadStream(filename);
28
+ const rs = fs.createReadStream(path.resolve(__dirname, relativePath)).pipe(writeStream);
29
+ rs.on('finish', () => {
30
+ resolve(writeStream.id);
31
+ });
32
+ rs.on('error', (err) => {
33
+ reject(err);
34
+ });
35
+ }
36
+ catch (err) {
37
+ reject(err);
38
+ }
39
+ finally {
40
+ }
41
+ });
42
+ };
43
+ exports.uploadFileToGridFS = uploadFileToGridFS;
44
+ const createMigrationStore = (mongoUrl, collectionName = 'migrations', lockCollectionName) => {
45
+ const { MongoStateStore } = require('../mongo-state-store');
46
+ return class MigrationStateStore extends MongoStateStore {
47
+ constructor() {
48
+ super({
49
+ collectionName,
50
+ lockCollectionName,
51
+ uri: mongoUrl,
52
+ });
53
+ }
54
+ };
55
+ };
56
+ exports.createMigrationStore = createMigrationStore;
57
+ //# sourceMappingURL=migration.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.helper.js","sourceRoot":"","sources":["../../../../../src/core/modules/migrate/helpers/migration.helper.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,qCAAkE;AAClE,6BAA6B;AAkBtB,MAAM,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAe,EAAE;IAC3D,MAAM,MAAM,GAAgB,MAAM,qBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC;AACrB,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB;AAmBK,MAAM,kBAAkB,GAAG,KAAK,EACrC,QAAgB,EAChB,YAAoB,EACpB,OAAoD,EACjC,EAAE;IACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG;QAC/B,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,GAAG,OAAO;KACX,CAAC;IAEF,OAAO,IAAI,OAAO,CAAW,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,IAAI,MAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,qBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,sBAAY,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEtD,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAExF,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,WAAW,CAAC,EAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;gBAAS,CAAC;QAGX,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvCW,QAAA,kBAAkB,sBAuC7B;AAmBK,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EAChB,iBAAyB,YAAY,EACrC,kBAA2B,EAC3B,EAAE;IACF,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE5D,OAAO,MAAM,mBAAoB,SAAQ,eAAe;QACtD;YACE,KAAK,CAAC;gBACJ,cAAc;gBACd,kBAAkB;gBAClB,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
@@ -0,0 +1,2 @@
1
+ declare const _exports: typeof tsNode.register;
2
+ export = _exports;
@@ -0,0 +1,3 @@
1
+ const tsNode = require('ts-node');
2
+ module.exports = tsNode.register;
3
+ //# sourceMappingURL=ts-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-compiler.js","sourceRoot":"","sources":["../../../../../src/core/modules/migrate/helpers/ts-compiler.js"],"names":[],"mappings":"AAWA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAElC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC"}