@grapadigital/shared-schemas 1.0.116 → 1.0.117

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.
@@ -52,10 +52,41 @@ export declare const CompanySchema: import("mongoose").Schema<Company, import("m
52
52
  } & {
53
53
  __v: number;
54
54
  }>;
55
+ export declare class CommissionRange {
56
+ startValue: number | null;
57
+ endValue: number | null;
58
+ percent: number;
59
+ }
60
+ export declare const CommissionRangeSchema: import("mongoose").Schema<CommissionRange, import("mongoose").Model<CommissionRange, any, any, any, import("mongoose").Document<unknown, any, CommissionRange, any, {}> & CommissionRange & {
61
+ _id: import("mongoose").Types.ObjectId;
62
+ } & {
63
+ __v: number;
64
+ }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, CommissionRange, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<CommissionRange>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<CommissionRange> & {
65
+ _id: import("mongoose").Types.ObjectId;
66
+ } & {
67
+ __v: number;
68
+ }>;
69
+ export declare class AgencyCommissionPeriod {
70
+ ranges: CommissionRange[];
71
+ startDate: Date;
72
+ endDate: Date;
73
+ }
74
+ export declare const AgencyCommissionPeriodSchema: import("mongoose").Schema<AgencyCommissionPeriod, import("mongoose").Model<AgencyCommissionPeriod, any, any, any, import("mongoose").Document<unknown, any, AgencyCommissionPeriod, any, {}> & AgencyCommissionPeriod & {
75
+ _id: import("mongoose").Types.ObjectId;
76
+ } & {
77
+ __v: number;
78
+ }, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, AgencyCommissionPeriod, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<AgencyCommissionPeriod>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<AgencyCommissionPeriod> & {
79
+ _id: import("mongoose").Types.ObjectId;
80
+ } & {
81
+ __v: number;
82
+ }>;
55
83
  export declare class Client extends User {
56
84
  clusters: Cluster[];
57
85
  companies: Company[];
86
+ type: string;
58
87
  categories: string[];
88
+ hasAgencyCommission: boolean;
89
+ agencyCommission: AgencyCommissionPeriod[];
59
90
  }
60
91
  export declare const ClientSchema: import("mongoose").Schema<Client, import("mongoose").Model<Client, any, any, any, import("mongoose").Document<unknown, any, Client, any, {}> & Client & Required<{
61
92
  _id: import("mongoose").Types.ObjectId;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ClientModel = exports.ClientSchema = exports.Client = exports.CompanySchema = exports.Company = exports.ClusterSchema = exports.Cluster = void 0;
12
+ exports.ClientModel = exports.ClientSchema = exports.Client = exports.AgencyCommissionPeriodSchema = exports.AgencyCommissionPeriod = exports.CommissionRangeSchema = exports.CommissionRange = exports.CompanySchema = exports.Company = exports.ClusterSchema = exports.Cluster = void 0;
13
13
  const mongoose_1 = require("@nestjs/mongoose");
14
14
  const mongoose_2 = require("mongoose");
15
15
  const user_schema_1 = require("./user.schema");
@@ -43,6 +43,44 @@ Company = __decorate([
43
43
  ], Company);
44
44
  exports.Company = Company;
45
45
  exports.CompanySchema = mongoose_1.SchemaFactory.createForClass(Company);
46
+ let CommissionRange = class CommissionRange {
47
+ };
48
+ __decorate([
49
+ (0, mongoose_1.Prop)({ required: false }),
50
+ __metadata("design:type", Object)
51
+ ], CommissionRange.prototype, "startValue", void 0);
52
+ __decorate([
53
+ (0, mongoose_1.Prop)({ required: false }),
54
+ __metadata("design:type", Object)
55
+ ], CommissionRange.prototype, "endValue", void 0);
56
+ __decorate([
57
+ (0, mongoose_1.Prop)({ required: true }),
58
+ __metadata("design:type", Number)
59
+ ], CommissionRange.prototype, "percent", void 0);
60
+ CommissionRange = __decorate([
61
+ (0, mongoose_1.Schema)({ _id: false })
62
+ ], CommissionRange);
63
+ exports.CommissionRange = CommissionRange;
64
+ exports.CommissionRangeSchema = mongoose_1.SchemaFactory.createForClass(CommissionRange);
65
+ let AgencyCommissionPeriod = class AgencyCommissionPeriod {
66
+ };
67
+ __decorate([
68
+ (0, mongoose_1.Prop)({ type: [exports.CommissionRangeSchema], required: true, default: [] }),
69
+ __metadata("design:type", Array)
70
+ ], AgencyCommissionPeriod.prototype, "ranges", void 0);
71
+ __decorate([
72
+ (0, mongoose_1.Prop)({ required: true }),
73
+ __metadata("design:type", Date)
74
+ ], AgencyCommissionPeriod.prototype, "startDate", void 0);
75
+ __decorate([
76
+ (0, mongoose_1.Prop)({ required: true }),
77
+ __metadata("design:type", Date)
78
+ ], AgencyCommissionPeriod.prototype, "endDate", void 0);
79
+ AgencyCommissionPeriod = __decorate([
80
+ (0, mongoose_1.Schema)({ _id: false })
81
+ ], AgencyCommissionPeriod);
82
+ exports.AgencyCommissionPeriod = AgencyCommissionPeriod;
83
+ exports.AgencyCommissionPeriodSchema = mongoose_1.SchemaFactory.createForClass(AgencyCommissionPeriod);
46
84
  let Client = class Client extends user_schema_1.User {
47
85
  };
48
86
  __decorate([
@@ -53,10 +91,22 @@ __decorate([
53
91
  (0, mongoose_1.Prop)({ type: [exports.CompanySchema], default: [] }),
54
92
  __metadata("design:type", Array)
55
93
  ], Client.prototype, "companies", void 0);
94
+ __decorate([
95
+ (0, mongoose_1.Prop)({ type: String }),
96
+ __metadata("design:type", String)
97
+ ], Client.prototype, "type", void 0);
56
98
  __decorate([
57
99
  (0, mongoose_1.Prop)({ type: [String], default: [] }),
58
100
  __metadata("design:type", Array)
59
101
  ], Client.prototype, "categories", void 0);
102
+ __decorate([
103
+ (0, mongoose_1.Prop)({ required: true, default: false }),
104
+ __metadata("design:type", Boolean)
105
+ ], Client.prototype, "hasAgencyCommission", void 0);
106
+ __decorate([
107
+ (0, mongoose_1.Prop)({ type: [exports.AgencyCommissionPeriodSchema], default: [] }),
108
+ __metadata("design:type", Array)
109
+ ], Client.prototype, "agencyCommission", void 0);
60
110
  Client = __decorate([
61
111
  (0, mongoose_1.Schema)({ timestamps: true })
62
112
  ], Client);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grapadigital/shared-schemas",
3
- "version": "1.0.116",
3
+ "version": "1.0.117",
4
4
  "description": "Shared Mongoose Schemas",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,6 +26,34 @@ export class Company {
26
26
 
27
27
  export const CompanySchema = SchemaFactory.createForClass(Company);
28
28
 
29
+ @Schema({ _id: false })
30
+ export class CommissionRange {
31
+ @Prop({ required: false })
32
+ startValue: number | null;
33
+
34
+ @Prop({ required: false })
35
+ endValue: number | null;
36
+
37
+ @Prop({ required: true })
38
+ percent: number;
39
+ }
40
+
41
+ export const CommissionRangeSchema = SchemaFactory.createForClass(CommissionRange);
42
+
43
+ @Schema({ _id: false })
44
+ export class AgencyCommissionPeriod {
45
+ @Prop({ type: [CommissionRangeSchema], required: true, default: [] })
46
+ ranges: CommissionRange[];
47
+
48
+ @Prop({ required: true })
49
+ startDate: Date;
50
+
51
+ @Prop({ required: true })
52
+ endDate: Date;
53
+ }
54
+
55
+ export const AgencyCommissionPeriodSchema = SchemaFactory.createForClass(AgencyCommissionPeriod);
56
+
29
57
  @Schema({ timestamps: true })
30
58
  export class Client extends User {
31
59
  @Prop({ type: [ClusterSchema], default: [] })
@@ -34,8 +62,17 @@ export class Client extends User {
34
62
  @Prop({ type: [CompanySchema], default: [] })
35
63
  companies: Company[];
36
64
 
65
+ @Prop({ type: String })
66
+ type: string;
67
+
37
68
  @Prop({ type: [String], default: [] })
38
69
  categories: string[];
70
+
71
+ @Prop({ required: true, default: false })
72
+ hasAgencyCommission: boolean;
73
+
74
+ @Prop({ type: [AgencyCommissionPeriodSchema], default: [] })
75
+ agencyCommission: AgencyCommissionPeriod[];
39
76
  }
40
77
 
41
78
  export const ClientSchema = SchemaFactory.createForClass(Client);