@kominal/common-nestjs 0.0.9 → 0.0.11

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.
@@ -12,20 +12,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AccessTokenRequest = exports.AccessTokenSchema = exports.AccessToken = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
+ const class_validator_1 = require("class-validator");
15
16
  const entity_model_1 = require("../models/entity.model");
16
17
  let AccessToken = class AccessToken extends entity_model_1.TenantEntity {
17
18
  };
18
19
  exports.AccessToken = AccessToken;
19
20
  __decorate([
20
21
  (0, mongoose_1.Prop)(),
22
+ (0, swagger_1.ApiProperty)(),
23
+ (0, class_validator_1.IsString)(),
21
24
  __metadata("design:type", String)
22
25
  ], AccessToken.prototype, "userId", void 0);
23
26
  __decorate([
24
27
  (0, mongoose_1.Prop)(),
28
+ (0, swagger_1.ApiProperty)(),
29
+ (0, class_validator_1.IsString)(),
25
30
  __metadata("design:type", String)
26
31
  ], AccessToken.prototype, "name", void 0);
27
32
  __decorate([
28
33
  (0, mongoose_1.Prop)(),
34
+ (0, swagger_1.ApiProperty)(),
35
+ (0, class_validator_1.IsString)(),
29
36
  __metadata("design:type", String)
30
37
  ], AccessToken.prototype, "token", void 0);
31
38
  exports.AccessToken = AccessToken = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.entity.js","sourceRoot":"","sources":["../../src/entities/access-token.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA2C;AAE3C,yDAAsE;AAG/D,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAY;CAI5C,CAAA;AAJY,kCAAW;AACP;IAAd,IAAA,eAAI,GAAE;;2CAAuB;AACf;IAAd,IAAA,eAAI,GAAE;;yCAAqB;AACb;IAAd,IAAA,eAAI,GAAE;;0CAAsB;sBAHlB,WAAW;IADvB,IAAA,iBAAM,GAAE;GACI,WAAW,CAIvB;AAIY,QAAA,iBAAiB,GAAG,wBAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEpJ,MAAa,kBAAmB,SAAQ,IAAA,kBAAQ,EAAC,WAAW,EAAE,6BAAc,CAAC;CAAG;AAAhF,gDAAgF"}
1
+ {"version":3,"file":"access-token.entity.js","sourceRoot":"","sources":["../../src/entities/access-token.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAAwD;AACxD,qDAA2C;AAE3C,yDAAsE;AAG/D,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAY;CAI5C,CAAA;AAJY,kCAAW;AACoB;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;2CAAuB;AACf;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;yCAAqB;AACb;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;0CAAsB;sBAH7C,WAAW;IADvB,IAAA,iBAAM,GAAE;GACI,WAAW,CAIvB;AAIY,QAAA,iBAAiB,GAAG,wBAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEpJ,MAAa,kBAAmB,SAAQ,IAAA,kBAAQ,EAAC,WAAW,EAAE,6BAAc,CAAC;CAAG;AAAhF,gDAAgF"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MembershipPathParams = exports.MembershipUpdateRequest = exports.MembershipPopulated = exports.MembershipCreateRequest = exports.MembershipSchema = exports.Membership = exports.MembershipStatusDecorator = exports.MembershipStatus = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
+ const class_validator_1 = require("class-validator");
15
16
  const entity_model_1 = require("../models/entity.model");
16
17
  var MembershipStatus;
17
18
  (function (MembershipStatus) {
@@ -25,23 +26,34 @@ let Membership = class Membership extends entity_model_1.TenantEntity {
25
26
  exports.Membership = Membership;
26
27
  __decorate([
27
28
  (0, mongoose_1.Prop)(),
29
+ (0, swagger_1.ApiProperty)(),
30
+ (0, class_validator_1.IsString)(),
28
31
  __metadata("design:type", String)
29
32
  ], Membership.prototype, "userId", void 0);
30
33
  __decorate([
31
34
  (0, mongoose_1.Prop)(),
35
+ (0, swagger_1.ApiProperty)(),
36
+ (0, class_validator_1.IsString)(),
32
37
  __metadata("design:type", String)
33
38
  ], Membership.prototype, "email", void 0);
34
39
  __decorate([
35
40
  (0, mongoose_1.Prop)(),
41
+ (0, swagger_1.ApiProperty)(),
42
+ (0, class_validator_1.IsArray)(),
43
+ (0, class_validator_1.IsString)({ each: true }),
36
44
  __metadata("design:type", Array)
37
45
  ], Membership.prototype, "permissions", void 0);
38
46
  __decorate([
39
47
  (0, mongoose_1.Prop)(),
48
+ (0, swagger_1.ApiProperty)(),
49
+ (0, class_validator_1.IsArray)(),
50
+ (0, class_validator_1.IsString)({ each: true }),
40
51
  __metadata("design:type", Array)
41
52
  ], Membership.prototype, "roles", void 0);
42
53
  __decorate([
43
54
  (0, mongoose_1.Prop)(),
44
55
  exports.MembershipStatusDecorator,
56
+ (0, class_validator_1.IsEnum)(MembershipStatus),
45
57
  __metadata("design:type", String)
46
58
  ], Membership.prototype, "status", void 0);
47
59
  exports.Membership = Membership = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"membership.entity.js","sourceRoot":"","sources":["../../src/entities/membership.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA2D;AAE3D,yDAAsD;AAGtD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AACY,QAAA,yBAAyB,GAAG,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAGxG,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,2BAAY;CAM3C,CAAA;AANY,gCAAU;AACN;IAAd,IAAA,eAAI,GAAE;;0CAAuB;AACf;IAAd,IAAA,eAAI,GAAE;;yCAAsB;AACd;IAAd,IAAA,eAAI,GAAE;;+CAA8B;AACtB;IAAd,IAAA,eAAI,GAAE;;yCAAwB;AACW;IAAzC,IAAA,eAAI,GAAE;IAAE,iCAAyB;;0CAAiC;qBALxD,UAAU;IADtB,IAAA,iBAAM,GAAE;GACI,UAAU,CAMtB;AAIY,QAAA,gBAAgB,GAAG,wBAAa,CAAC,cAAc,CAAC,UAAU,CAAC;KACrE,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;KACtB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACjD,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEvD,MAAa,uBAAuB;CAEnC;AAFD,0DAEC;AAED,MAAa,mBAAoB,SAAQ,IAAA,qBAAW,EAAC,UAAU,CAAC;CAE/D;AAFD,kDAEC;AAED,MAAa,uBAAuB;CAEnC;AAFD,0DAEC;AAED,MAAa,oBAAoB;CAEhC;AAFD,oDAEC"}
1
+ {"version":3,"file":"membership.entity.js","sourceRoot":"","sources":["../../src/entities/membership.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA2D;AAC3D,qDAA4D;AAE5D,yDAAsD;AAGtD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AACY,QAAA,yBAAyB,GAAG,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAGxG,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,2BAAY;CAM3C,CAAA;AANY,gCAAU;AACqB;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;0CAAuB;AACf;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;yCAAsB;AACW;IAAlE,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,yBAAO,GAAE;IAAE,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;+CAA8B;AACtB;IAAlE,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,yBAAO,GAAE;IAAE,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;yCAAwB;AACf;IAAnE,IAAA,eAAI,GAAE;IAAE,iCAAyB;IAAE,IAAA,wBAAM,EAAC,gBAAgB,CAAC;;0CAAiC;qBALlF,UAAU;IADtB,IAAA,iBAAM,GAAE;GACI,UAAU,CAMtB;AAIY,QAAA,gBAAgB,GAAG,wBAAa,CAAC,cAAc,CAAC,UAAU,CAAC;KACrE,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;KACtB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACjD,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEvD,MAAa,uBAAuB;CAEnC;AAFD,0DAEC;AAED,MAAa,mBAAoB,SAAQ,IAAA,qBAAW,EAAC,UAAU,CAAC;CAE/D;AAFD,kDAEC;AAED,MAAa,uBAAuB;CAEnC;AAFD,0DAEC;AAED,MAAa,oBAAoB;CAEhC;AAFD,oDAEC"}
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TenantUpdateRequest = exports.TenantCreateRequest = exports.TenantSchema = exports.Tenant = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const class_validator_1 = require("class-validator");
15
17
  const entity_model_1 = require("../models/entity.model");
16
18
  const stored_file_model_1 = require("../models/stored-file.model");
17
19
  let Tenant = class Tenant extends entity_model_1.BaseEntity {
@@ -19,10 +21,15 @@ let Tenant = class Tenant extends entity_model_1.BaseEntity {
19
21
  exports.Tenant = Tenant;
20
22
  __decorate([
21
23
  (0, mongoose_1.Prop)(),
24
+ (0, swagger_1.ApiProperty)(),
25
+ (0, class_validator_1.IsString)(),
22
26
  __metadata("design:type", String)
23
27
  ], Tenant.prototype, "name", void 0);
24
28
  __decorate([
25
29
  (0, mongoose_1.Prop)(),
30
+ (0, swagger_1.ApiProperty)(),
31
+ (0, class_validator_1.ValidateNested)(),
32
+ (0, class_transformer_1.Type)(() => stored_file_model_1.StoredFile),
26
33
  __metadata("design:type", stored_file_model_1.StoredFile)
27
34
  ], Tenant.prototype, "logo", void 0);
28
35
  exports.Tenant = Tenant = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.entity.js","sourceRoot":"","sources":["../../src/entities/tenant.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA2C;AAE3C,yDAAgF;AAChF,mEAAyD;AAGlD,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,yBAAU;CAGrC,CAAA;AAHY,wBAAM;AACF;IAAd,IAAA,eAAI,GAAE;;oCAAqB;AACb;IAAd,IAAA,eAAI,GAAE;8BAAe,8BAAU;oCAAC;iBAFtB,MAAM;IADlB,IAAA,iBAAM,GAAE;GACI,MAAM,CAGlB;AAIY,QAAA,YAAY,GAAG,wBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtG,MAAa,mBAAoB,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,CAAC,GAAG,yCAA0B,EAAE,MAAM,CAAC,CAAC;CAAG;AAArG,kDAAqG;AAErG,MAAa,mBAAoB,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,yCAA0B,CAAC;CAAG;AAAxF,kDAAwF"}
1
+ {"version":3,"file":"tenant.entity.js","sourceRoot":"","sources":["../../src/entities/tenant.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAAwD;AACxD,yDAAyC;AACzC,qDAA2D;AAE3D,yDAAgF;AAChF,mEAAyD;AAGlD,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,yBAAU;CAGrC,CAAA;AAHY,wBAAM;AACyB;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;oCAAqB;AACkB;IAAxE,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,gCAAc,GAAE;IAAE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,8BAAU,CAAC;8BAAgB,8BAAU;oCAAC;iBAFhF,MAAM;IADlB,IAAA,iBAAM,GAAE;GACI,MAAM,CAGlB;AAIY,QAAA,YAAY,GAAG,wBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtG,MAAa,mBAAoB,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,CAAC,GAAG,yCAA0B,EAAE,MAAM,CAAC,CAAC;CAAG;AAArG,kDAAqG;AAErG,MAAa,mBAAoB,SAAQ,IAAA,kBAAQ,EAAC,MAAM,EAAE,yCAA0B,CAAC;CAAG;AAAxF,kDAAwF"}
@@ -12,16 +12,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UserUpdateRequest = exports.UserSchema = exports.User = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
14
  const swagger_1 = require("@nestjs/swagger");
15
+ const class_validator_1 = require("class-validator");
15
16
  const entity_model_1 = require("../models/entity.model");
16
17
  let User = class User extends entity_model_1.BaseEntity {
17
18
  };
18
19
  exports.User = User;
19
20
  __decorate([
20
21
  (0, mongoose_1.Prop)(),
22
+ (0, swagger_1.ApiProperty)(),
23
+ (0, class_validator_1.IsString)(),
21
24
  __metadata("design:type", String)
22
25
  ], User.prototype, "userId", void 0);
23
26
  __decorate([
24
27
  (0, mongoose_1.Prop)(),
28
+ (0, swagger_1.ApiProperty)(),
29
+ (0, class_validator_1.IsString)(),
25
30
  __metadata("design:type", Date)
26
31
  ], User.prototype, "lastActivity", void 0);
27
32
  exports.User = User = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAA2C;AAE3C,yDAAgF;AAGzE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,yBAAU;CAGnC,CAAA;AAHY,oBAAI;AACA;IAAd,IAAA,eAAI,GAAE;;oCAAuB;AACf;IAAd,IAAA,eAAI,GAAE;8BAAsB,IAAI;0CAAC;eAFvB,IAAI;IADhB,IAAA,iBAAM,GAAE;GACI,IAAI,CAGhB;AAIY,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAElG,MAAa,iBAAkB,SAAQ,IAAA,kBAAQ,EAAC,IAAI,EAAE,yCAA0B,CAAC;CAAG;AAApF,8CAAoF"}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA+D;AAC/D,6CAAwD;AACxD,qDAA2C;AAE3C,yDAAgF;AAGzE,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,yBAAU;CAGnC,CAAA;AAHY,oBAAI;AAC2B;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;oCAAuB;AACf;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;8BAAsB,IAAI;0CAAC;eAFlD,IAAI;IADhB,IAAA,iBAAM,GAAE;GACI,IAAI,CAGhB;AAIY,QAAA,UAAU,GAAG,wBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAElG,MAAa,iBAAkB,SAAQ,IAAA,kBAAQ,EAAC,IAAI,EAAE,yCAA0B,CAAC;CAAG;AAApF,8CAAoF"}
@@ -34,18 +34,20 @@ export declare function created<Entity extends BaseEntity>(changeContext: Change
34
34
  export declare function changed<Entity extends BaseEntity>(changeContext: ChangeContext, entity: Partial<Entity>): Partial<Entity>;
35
35
  export declare class EntityService<Entity extends BaseEntity, EntitiesPath extends FilterQuery<Entity> = EntitiesPathParams, EntityPath extends FilterQuery<Entity> = EntityPathParams, PopulatedEntity = Entity> {
36
36
  private model;
37
- protected options?: {
37
+ protected options: {
38
38
  listSelect?: string;
39
39
  populate?: PopulateOptions | PopulateOptions[];
40
40
  defaultSortKey?: string;
41
41
  defaultSortDirection?: string;
42
- } | undefined;
43
- constructor(model: Model<Entity>, options?: {
42
+ technicalKeys: (keyof Entity)[];
43
+ };
44
+ constructor(model: Model<Entity>, options: {
44
45
  listSelect?: string;
45
46
  populate?: PopulateOptions | PopulateOptions[];
46
47
  defaultSortKey?: string;
47
48
  defaultSortDirection?: string;
48
- } | undefined);
49
+ technicalKeys: (keyof Entity)[];
50
+ });
49
51
  create(changeContext: ChangeContext, pathParams: EntitiesPath, createRequest: Partial<Entity>): Promise<Entity>;
50
52
  list(pathParams: EntitiesPath, { active, direction, pageIndex, pageSize, filter, select }: ListParams): Promise<ListResponse<PopulatedEntity>>;
51
53
  read(params: EntityPath): Promise<Entity>;
@@ -51,17 +51,20 @@ class EntityService {
51
51
  this.options = options;
52
52
  }
53
53
  async create(changeContext, pathParams, createRequest) {
54
+ for (const key of this.options.technicalKeys) {
55
+ delete createRequest[key];
56
+ }
54
57
  return this.model.create(created(changeContext, { ...createRequest, ...pathParams }));
55
58
  }
56
59
  async list(pathParams, { active, direction, pageIndex, pageSize, filter, select }) {
57
60
  const evaluatedFilter = { ...(filter ? JSON.parse(filter) : {}), ...pathParams };
58
61
  const items = await this.model
59
62
  .find(evaluatedFilter)
60
- .select(this.options?.listSelect || select || '')
61
- .sort({ [active || this.options?.defaultSortKey || '_id']: (direction || this.options?.defaultSortDirection || 'asc') })
63
+ .select(this.options.listSelect || select || '')
64
+ .sort({ [active || this.options.defaultSortKey || '_id']: (direction || this.options.defaultSortDirection || 'asc') })
62
65
  .skip((pageIndex || 0) * (pageSize || 10))
63
66
  .limit(pageSize || 10)
64
- .populate(this.options?.populate || [])
67
+ .populate(this.options.populate || [])
65
68
  .lean();
66
69
  const count = await this.model.countDocuments(evaluatedFilter);
67
70
  return { items, count };
@@ -70,6 +73,9 @@ class EntityService {
70
73
  return this.model.findOne(params).orFail(new common_1.HttpException('exception.notFound', 404));
71
74
  }
72
75
  async update(changeContext, entityPath, createRequest) {
76
+ for (const key of this.options.technicalKeys) {
77
+ delete createRequest[key];
78
+ }
73
79
  await this.model.updateOne(entityPath, changed(changeContext, { ...createRequest, tenantId: entityPath.tenantId }));
74
80
  }
75
81
  async delete(params) {
@@ -1 +1 @@
1
- {"version":3,"file":"entity-service.helper.js","sourceRoot":"","sources":["../../src/helpers/entity-service.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-service.helper.js","sourceRoot":"","sources":["../../src/helpers/entity-service.helper.ts"],"names":[],"mappings":";;;AAkDA,0BASC;AAED,0BAMC;AAnED,2CAAgE;AAChE,6CAA+E;AAE/E,+BAA0B;AAG1B,MAAa,kBAAkB;CAE9B;AAFD,gDAEC;AAED,MAAa,wBAAwB;CAGpC;AAHD,4DAGC;AAED,MAAa,gBAAgB;CAG5B;AAHD,4CAGC;AAED,MAAa,sBAAsB;CAElC;AAFD,wDAEC;AAED,MAAa,UAAU;CAOtB;AAPD,gCAOC;AAED,MAAa,YAAY;CAGxB;AAHD,oCAGC;AAEM,MAAM,yBAAyB,GAAG,CACvC,KAAU,EACqI,EAAE,CACjJ,IAAA,wBAAe,EACb,IAAA,uBAAa,EAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EACvK,IAAA,wBAAc,EAAC,KAAK,CAAC,CACtB,CAAC;AANS,QAAA,yBAAyB,6BAMlC;AAEJ,MAAM,aAAa;CAElB;AAED,SAAgB,OAAO,CAA4B,aAA4B,EAAE,MAAuB;IACtG,OAAO;QACL,GAAG,MAAM;QACT,IAAI,EAAE,IAAA,SAAE,GAAE;QACV,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,aAAa,CAAC,KAAK;QAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,aAAa,CAAC,KAAK;KAC/B,CAAC;AACJ,CAAC;AAED,SAAgB,OAAO,CAA4B,aAA4B,EAAE,MAAuB;IACtG,OAAO;QACL,GAAG,MAAM;QACT,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,aAAa,CAAC,KAAK;KAC/B,CAAC;AACJ,CAAC;AAED,MAAa,aAAa;IAMxB,YACU,KAAoB,EAClB,OAMT;QAPO,UAAK,GAAL,KAAK,CAAe;QAClB,YAAO,GAAP,OAAO,CAMhB;IACA,CAAC;IAEG,KAAK,CAAC,MAAM,CAAC,aAA4B,EAAE,UAAwB,EAAE,aAA8B;QACxG,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAEC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAc;QAChH,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK;aAC3B,IAAI,CAAC,eAAe,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,IAAI,EAAE,CAAC;aAC/C,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAQ,EAAE,CAAC;aAC5H,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;aACzC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;aACrB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACrC,IAAI,EAAqB,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAkB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,sBAAa,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,aAA4B,EAAE,UAAsB,EAAE,aAA8B;QACtG,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAChD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAEC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAkB;QACpC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,sBAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAkB;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA7DD,sCA6DC"}
@@ -11,31 +11,52 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TECHNICAL_KEYS = exports.TenantEntity = exports.TECHNICAL_KEYS_BASE_ENTITY = exports.BaseEntity = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const class_validator_1 = require("class-validator");
14
17
  class BaseEntity {
15
18
  }
16
19
  exports.BaseEntity = BaseEntity;
20
+ __decorate([
21
+ (0, swagger_1.ApiProperty)(),
22
+ __metadata("design:type", String)
23
+ ], BaseEntity.prototype, "_id", void 0);
17
24
  __decorate([
18
25
  (0, mongoose_1.Prop)(),
26
+ (0, swagger_1.ApiProperty)(),
27
+ (0, class_validator_1.IsString)(),
19
28
  __metadata("design:type", String)
20
29
  ], BaseEntity.prototype, "uuid", void 0);
21
30
  __decorate([
22
31
  (0, mongoose_1.Prop)(),
32
+ (0, swagger_1.ApiProperty)(),
33
+ (0, class_validator_1.IsDate)(),
34
+ (0, class_transformer_1.Transform)(({ value }) => (value === '' ? undefined : new Date(value))),
23
35
  __metadata("design:type", Date)
24
36
  ], BaseEntity.prototype, "createdAt", void 0);
25
37
  __decorate([
26
38
  (0, mongoose_1.Prop)(),
39
+ (0, swagger_1.ApiProperty)(),
40
+ (0, class_validator_1.IsString)(),
27
41
  __metadata("design:type", String)
28
42
  ], BaseEntity.prototype, "createdBy", void 0);
29
43
  __decorate([
30
44
  (0, mongoose_1.Prop)(),
45
+ (0, swagger_1.ApiProperty)(),
46
+ (0, class_validator_1.IsDate)(),
47
+ (0, class_transformer_1.Transform)(({ value }) => (value === '' ? undefined : new Date(value))),
31
48
  __metadata("design:type", Date)
32
49
  ], BaseEntity.prototype, "updatedAt", void 0);
33
50
  __decorate([
34
51
  (0, mongoose_1.Prop)(),
52
+ (0, swagger_1.ApiProperty)(),
53
+ (0, class_validator_1.IsString)(),
35
54
  __metadata("design:type", String)
36
55
  ], BaseEntity.prototype, "updatedBy", void 0);
37
56
  __decorate([
38
57
  (0, mongoose_1.Prop)(),
58
+ (0, swagger_1.ApiProperty)(),
59
+ (0, class_validator_1.IsNumber)(),
39
60
  __metadata("design:type", Number)
40
61
  ], BaseEntity.prototype, "version", void 0);
41
62
  exports.TECHNICAL_KEYS_BASE_ENTITY = ['_id', 'uuid', 'createdAt', 'createdBy', 'updatedAt', 'updatedBy', 'version'];
@@ -44,6 +65,8 @@ class TenantEntity extends BaseEntity {
44
65
  exports.TenantEntity = TenantEntity;
45
66
  __decorate([
46
67
  (0, mongoose_1.Prop)(),
68
+ (0, swagger_1.ApiProperty)(),
69
+ (0, class_validator_1.IsString)(),
47
70
  __metadata("design:type", String)
48
71
  ], TenantEntity.prototype, "tenantId", void 0);
49
72
  exports.TECHNICAL_KEYS = [...exports.TECHNICAL_KEYS_BASE_ENTITY, 'tenantId'];
@@ -1 +1 @@
1
- {"version":3,"file":"entity.model.js","sourceRoot":"","sources":["../../src/models/entity.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AAExC,MAAsB,UAAU;CAQ/B;AARD,gCAQC;AANgB;IAAd,IAAA,eAAI,GAAE;;wCAAqB;AACb;IAAd,IAAA,eAAI,GAAE;8BAAmB,IAAI;6CAAC;AAChB;IAAd,IAAA,eAAI,GAAE;;6CAA0B;AAClB;IAAd,IAAA,eAAI,GAAE;8BAAmB,IAAI;6CAAC;AAChB;IAAd,IAAA,eAAI,GAAE;;6CAA0B;AAClB;IAAd,IAAA,eAAI,GAAE;;2CAAwB;AAGpB,QAAA,0BAA0B,GAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/I,MAAsB,YAAa,SAAQ,UAAU;CAEpD;AAFD,oCAEC;AADgB;IAAd,IAAA,eAAI,GAAE;;8CAAyB;AAGrB,QAAA,cAAc,GAA2B,CAAC,GAAG,kCAA0B,EAAE,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"entity.model.js","sourceRoot":"","sources":["../../src/models/entity.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AACxC,6CAA8C;AAC9C,yDAA8C;AAC9C,qDAA6D;AAE7D,MAAsB,UAAU;CAQ/B;AARD,gCAQC;AAPuB;IAArB,IAAA,qBAAW,GAAE;;uCAAoB;AACQ;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;wCAAqB;AACyD;IAA/G,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,wBAAM,GAAE;IAAE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;8BAAmB,IAAI;6CAAC;AACtF;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;6CAA0B;AACoD;IAA/G,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,wBAAM,GAAE;IAAE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;8BAAmB,IAAI;6CAAC;AACtF;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;6CAA0B;AAClB;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;2CAAwB;AAG/C,QAAA,0BAA0B,GAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAE/I,MAAsB,YAAa,SAAQ,UAAU;CAEpD;AAFD,oCAEC;AAD2C;IAAzC,IAAA,eAAI,GAAE;IAAE,IAAA,qBAAW,GAAE;IAAE,IAAA,0BAAQ,GAAE;;8CAAyB;AAGhD,QAAA,cAAc,GAA2B,CAAC,GAAG,kCAA0B,EAAE,UAAU,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kominal/common-nestjs",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {