@oneuptime/common 7.0.4415 → 7.0.4428

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 (36) hide show
  1. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +2 -1
  2. package/Models/DatabaseModels/Project.ts +44 -10
  3. package/Server/API/OpenAPI.ts +1 -1
  4. package/Server/Middleware/ProjectAuthorization.ts +10 -1
  5. package/Server/Utils/OpenAPI.ts +2 -15
  6. package/Tests/Server/Middleware/ProjectAuthorization.test.ts +4 -4
  7. package/Tests/Server/Services/TeamMemberService.test.ts +3 -1
  8. package/Types/Database/TableColumn.ts +1 -0
  9. package/Types/Date.ts +18 -0
  10. package/Types/ObjectID.ts +7 -15
  11. package/Utils/Schema/AnalyticsModelSchema.ts +5 -9
  12. package/Utils/Schema/ModelSchema.ts +34 -17
  13. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +2 -1
  14. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  15. package/build/dist/Models/DatabaseModels/Project.js +42 -10
  16. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  17. package/build/dist/Server/API/OpenAPI.js +1 -1
  18. package/build/dist/Server/API/OpenAPI.js.map +1 -1
  19. package/build/dist/Server/Middleware/ProjectAuthorization.js +6 -1
  20. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  21. package/build/dist/Server/Utils/OpenAPI.js +2 -9
  22. package/build/dist/Server/Utils/OpenAPI.js.map +1 -1
  23. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +3 -3
  24. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +1 -1
  25. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +3 -1
  26. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +1 -1
  27. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  28. package/build/dist/Types/Date.js +17 -0
  29. package/build/dist/Types/Date.js.map +1 -1
  30. package/build/dist/Types/ObjectID.js +5 -13
  31. package/build/dist/Types/ObjectID.js.map +1 -1
  32. package/build/dist/Utils/Schema/AnalyticsModelSchema.js +5 -9
  33. package/build/dist/Utils/Schema/AnalyticsModelSchema.js.map +1 -1
  34. package/build/dist/Utils/Schema/ModelSchema.js +30 -17
  35. package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
  36. package/package.json +1 -1
@@ -92,8 +92,9 @@ export default class DatabaseBaseModel extends BaseEntity {
92
92
 
93
93
  @TableColumn({
94
94
  title: "Version",
95
- type: TableColumnType.Version,
95
+ type: TableColumnType.Number,
96
96
  description: "Object version",
97
+ hideColumnInDocumentation: true,
97
98
  })
98
99
  @VersionColumn()
99
100
  public version?: number = undefined;
@@ -595,7 +595,10 @@ export default class Project extends TenantModel {
595
595
  read: [],
596
596
  update: [],
597
597
  })
598
- @TableColumn({ type: TableColumnType.Number })
598
+ @TableColumn({
599
+ type: TableColumnType.Number,
600
+ hideColumnInDocumentation: true,
601
+ })
599
602
  @Column({
600
603
  type: ColumnType.Number,
601
604
  nullable: true,
@@ -768,6 +771,7 @@ export default class Project extends TenantModel {
768
771
  @TableColumn({
769
772
  required: true,
770
773
  isDefaultValueColumn: true,
774
+ hideColumnInDocumentation: true,
771
775
  type: TableColumnType.Boolean,
772
776
  title: "Low Call and SMS Balance Notification Sent to Owners",
773
777
  description: "Low Call and SMS Balance Notification Sent to Owners",
@@ -788,6 +792,7 @@ export default class Project extends TenantModel {
788
792
  required: true,
789
793
  isDefaultValueColumn: true,
790
794
  type: TableColumnType.Boolean,
795
+ hideColumnInDocumentation: true,
791
796
  title: "Failed Call and SMS Balance Charge Notification Sent to Owners",
792
797
  description:
793
798
  "Failed Call and SMS Balance Charge Notification Sent to Owners",
@@ -808,6 +813,7 @@ export default class Project extends TenantModel {
808
813
  @TableColumn({
809
814
  required: true,
810
815
  isDefaultValueColumn: true,
816
+ hideColumnInDocumentation: true,
811
817
  type: TableColumnType.Boolean,
812
818
  title: "Failed Call and SMS Balance Charge Notification Sent to Owners",
813
819
  description:
@@ -838,6 +844,7 @@ export default class Project extends TenantModel {
838
844
  title: "Plan Name",
839
845
  description: "Name of the plan this project is subscribed to.",
840
846
  canReadOnRelationQuery: true,
847
+ hideColumnInDocumentation: true,
841
848
  })
842
849
  @Column({
843
850
  nullable: true,
@@ -865,7 +872,7 @@ export default class Project extends TenantModel {
865
872
  read: [],
866
873
  update: [],
867
874
  })
868
- @TableColumn({ type: TableColumnType.Phone })
875
+ @TableColumn({ type: TableColumnType.Phone, hideColumnInDocumentation: true })
869
876
  @Column({
870
877
  type: ColumnType.Phone,
871
878
  length: ColumnLength.Phone,
@@ -880,7 +887,7 @@ export default class Project extends TenantModel {
880
887
  read: [],
881
888
  update: [],
882
889
  })
883
- @TableColumn({ type: TableColumnType.Email })
890
+ @TableColumn({ type: TableColumnType.Email, hideColumnInDocumentation: true })
884
891
  @Column({
885
892
  type: ColumnType.Email,
886
893
  length: ColumnLength.Email,
@@ -895,7 +902,7 @@ export default class Project extends TenantModel {
895
902
  read: [],
896
903
  update: [],
897
904
  })
898
- @TableColumn({ type: TableColumnType.Name })
905
+ @TableColumn({ type: TableColumnType.Name, hideColumnInDocumentation: true })
899
906
  @Column({
900
907
  type: ColumnType.Name,
901
908
  length: ColumnLength.Name,
@@ -910,7 +917,10 @@ export default class Project extends TenantModel {
910
917
  read: [],
911
918
  update: [],
912
919
  })
913
- @TableColumn({ type: TableColumnType.LongText })
920
+ @TableColumn({
921
+ type: TableColumnType.LongText,
922
+ hideColumnInDocumentation: true,
923
+ })
914
924
  @Column({
915
925
  type: ColumnType.LongText,
916
926
  length: ColumnLength.LongText,
@@ -924,7 +934,10 @@ export default class Project extends TenantModel {
924
934
  read: [],
925
935
  update: [],
926
936
  })
927
- @TableColumn({ type: TableColumnType.LongText })
937
+ @TableColumn({
938
+ type: TableColumnType.LongText,
939
+ hideColumnInDocumentation: true,
940
+ })
928
941
  @Column({
929
942
  type: ColumnType.LongText,
930
943
  length: ColumnLength.LongText,
@@ -938,7 +951,10 @@ export default class Project extends TenantModel {
938
951
  read: [],
939
952
  update: [],
940
953
  })
941
- @TableColumn({ type: TableColumnType.LongText })
954
+ @TableColumn({
955
+ type: TableColumnType.LongText,
956
+ hideColumnInDocumentation: true,
957
+ })
942
958
  @Column({
943
959
  type: ColumnType.LongText,
944
960
  length: ColumnLength.LongText,
@@ -952,7 +968,10 @@ export default class Project extends TenantModel {
952
968
  read: [],
953
969
  update: [],
954
970
  })
955
- @TableColumn({ type: TableColumnType.LongText })
971
+ @TableColumn({
972
+ type: TableColumnType.LongText,
973
+ hideColumnInDocumentation: true,
974
+ })
956
975
  @Column({
957
976
  type: ColumnType.LongText,
958
977
  length: ColumnLength.LongText,
@@ -980,10 +999,14 @@ export default class Project extends TenantModel {
980
999
  read: [],
981
1000
  update: [],
982
1001
  })
983
- @TableColumn({ type: TableColumnType.LongText })
1002
+ @TableColumn({
1003
+ type: TableColumnType.LongText,
1004
+ hideColumnInDocumentation: true,
1005
+ })
984
1006
  @Column({
985
1007
  type: ColumnType.LongText,
986
1008
  length: ColumnLength.LongText,
1009
+
987
1010
  nullable: true,
988
1011
  unique: false,
989
1012
  })
@@ -994,9 +1017,13 @@ export default class Project extends TenantModel {
994
1017
  read: [],
995
1018
  update: [],
996
1019
  })
997
- @TableColumn({ type: TableColumnType.ShortText })
1020
+ @TableColumn({
1021
+ type: TableColumnType.ShortText,
1022
+ hideColumnInDocumentation: true,
1023
+ })
998
1024
  @Column({
999
1025
  type: ColumnType.ShortText,
1026
+
1000
1027
  length: ColumnLength.ShortText,
1001
1028
  nullable: true,
1002
1029
  unique: false,
@@ -1011,6 +1038,7 @@ export default class Project extends TenantModel {
1011
1038
  @TableColumn({
1012
1039
  manyToOneRelationColumn: "resellerId",
1013
1040
  type: TableColumnType.Entity,
1041
+ hideColumnInDocumentation: true,
1014
1042
  modelType: Reseller,
1015
1043
  title: "Reseller",
1016
1044
  description: "Relation to Reseller Resource in which this object belongs",
@@ -1046,6 +1074,7 @@ export default class Project extends TenantModel {
1046
1074
  type: TableColumnType.ObjectID,
1047
1075
  required: false,
1048
1076
  canReadOnRelationQuery: true,
1077
+ hideColumnInDocumentation: true,
1049
1078
  title: "Reseller ID",
1050
1079
  description: "ID of your OneUptime Reseller in which this object belongs",
1051
1080
  })
@@ -1065,6 +1094,7 @@ export default class Project extends TenantModel {
1065
1094
  manyToOneRelationColumn: "ResellerPlanId",
1066
1095
  type: TableColumnType.Entity,
1067
1096
  modelType: ResellerPlan,
1097
+ hideColumnInDocumentation: true,
1068
1098
  title: "ResellerPlan",
1069
1099
  description:
1070
1100
  "Relation to ResellerPlan Resource in which this object belongs",
@@ -1093,6 +1123,7 @@ export default class Project extends TenantModel {
1093
1123
  type: TableColumnType.ObjectID,
1094
1124
  required: false,
1095
1125
  canReadOnRelationQuery: true,
1126
+ hideColumnInDocumentation: true,
1096
1127
  title: "Reseller Plan ID",
1097
1128
  description:
1098
1129
  "ID of your OneUptime Reseller Plan in which this object belongs",
@@ -1113,6 +1144,7 @@ export default class Project extends TenantModel {
1113
1144
  required: false,
1114
1145
  type: TableColumnType.ShortText,
1115
1146
  title: "License ID",
1147
+ hideColumnInDocumentation: true,
1116
1148
  description: "License ID from a OneUptime Reseller",
1117
1149
  canReadOnRelationQuery: true,
1118
1150
  })
@@ -1132,6 +1164,7 @@ export default class Project extends TenantModel {
1132
1164
  required: false,
1133
1165
  type: TableColumnType.Number,
1134
1166
  title: "Enterprise Annual Contract Value",
1167
+ hideColumnInDocumentation: true,
1135
1168
  description:
1136
1169
  "Annual contract value for this project (in USD). This field is only applicable for enterprise customers and is manually edited.",
1137
1170
  })
@@ -1156,6 +1189,7 @@ export default class Project extends TenantModel {
1156
1189
  required: false,
1157
1190
  type: TableColumnType.Boolean,
1158
1191
  title: "Let Customer Support Access Project",
1192
+ hideColumnInDocumentation: true,
1159
1193
  description:
1160
1194
  "OneUptime customer support can access this project. This is used for debugging purposes.",
1161
1195
  })
@@ -19,7 +19,7 @@ export default class OpenAPI {
19
19
  public static getRouter(): ExpressRouter {
20
20
  const router: ExpressRouter = Express.getRouter();
21
21
 
22
- router.get("/openapi", (req: ExpressRequest, res: ExpressResponse) => {
22
+ router.get("/openapi/spec", (req: ExpressRequest, res: ExpressResponse) => {
23
23
  const openAPISpec: JSONObject = OpenAPIUtil.generateOpenAPISpec();
24
24
  return Response.sendJsonObjectResponse(req, res, openAPISpec);
25
25
  });
@@ -76,7 +76,9 @@ export default class ProjectMiddleware {
76
76
  }
77
77
 
78
78
  if (!apiKey) {
79
- throw new BadDataException("ApiKey not found in the request");
79
+ throw new BadDataException(
80
+ "Api Key not found in the request header. Please provide a valid API Key in the request header.",
81
+ );
80
82
  }
81
83
 
82
84
  let apiKeyModel: ApiKey | null = null;
@@ -102,6 +104,8 @@ export default class ProjectMiddleware {
102
104
  );
103
105
  }
104
106
 
107
+ (req as OneUptimeRequest).tenantId = tenantId;
108
+
105
109
  if (apiKeyModel) {
106
110
  (req as OneUptimeRequest).userType = UserType.API;
107
111
  // TODO: Add API key permissions.
@@ -184,6 +188,11 @@ export default class ProjectMiddleware {
184
188
  }
185
189
  }
186
190
 
191
+ if (apiKey) {
192
+ // If we have an API key but no tenant ID, we throw an error.
193
+ throw new BadDataException("Invalid API Key");
194
+ }
195
+
187
196
  if (!tenantId) {
188
197
  throw new BadDataException(
189
198
  "ProjectID not found in the request header.",
@@ -11,7 +11,6 @@ import Models from "../../Models/DatabaseModels/Index";
11
11
  import AnalyticsBaseModel from "../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
12
12
  import AnalyticsModels from "../../Models/AnalyticsModels/Index";
13
13
  import { JSONObject, JSONValue } from "../../Types/JSON";
14
- import logger from "./Logger";
15
14
  import { ModelSchema, ModelSchemaType } from "../../Utils/Schema/ModelSchema";
16
15
  import {
17
16
  AnalyticsModelSchema,
@@ -54,7 +53,6 @@ export default class OpenAPIUtil {
54
53
  );
55
54
 
56
55
  if (cachedSpec) {
57
- logger.debug("Returning cached OpenAPI spec");
58
56
  return cachedSpec as JSONObject;
59
57
  }
60
58
 
@@ -73,16 +71,10 @@ export default class OpenAPIUtil {
73
71
  // check if enable documentation is enabled
74
72
 
75
73
  if (!model.enableDocumentation) {
76
- logger.debug(
77
- `Skipping OpenAPI documentation for model ${modelName} as it is disabled.`,
78
- );
79
74
  continue;
80
75
  }
81
76
 
82
77
  if (!model.crudApiPath) {
83
- logger.debug(
84
- `Skipping OpenAPI documentation for model ${modelName} as it does not have a CRUD API path defined.`,
85
- );
86
78
  continue;
87
79
  }
88
80
 
@@ -134,9 +126,6 @@ export default class OpenAPIUtil {
134
126
  }
135
127
 
136
128
  if (!analyticsModel.crudApiPath) {
137
- logger.debug(
138
- `Skipping OpenAPI documentation for Analytics model ${modelName} as it does not have a CRUD API path defined.`,
139
- );
140
129
  continue;
141
130
  }
142
131
 
@@ -216,7 +205,7 @@ export default class OpenAPIUtil {
216
205
  }
217
206
 
218
207
  (spec["components"] as JSONObject)["securitySchemes"] = {
219
- ApiKeyAuth: {
208
+ ApiKey: {
220
209
  type: "apiKey",
221
210
  in: "header",
222
211
  name: "APIKey",
@@ -227,7 +216,7 @@ export default class OpenAPIUtil {
227
216
 
228
217
  spec["security"] = [
229
218
  {
230
- ApiKeyAuth: [],
219
+ ApiKey: [],
231
220
  },
232
221
  ];
233
222
 
@@ -249,7 +238,6 @@ export default class OpenAPIUtil {
249
238
  const querySchemaName: string = `${tableName}QuerySchema`;
250
239
  const selectSchemaName: string = `${tableName}SelectSchema`;
251
240
  const sortSchemaName: string = `${tableName}SortSchema`;
252
- const groupBySchemaName: string = `${tableName}GroupBySchema`;
253
241
 
254
242
  data.registry.registerPath({
255
243
  method: "post",
@@ -268,7 +256,6 @@ export default class OpenAPIUtil {
268
256
  query: { $ref: `#/components/schemas/${querySchemaName}` },
269
257
  select: { $ref: `#/components/schemas/${selectSchemaName}` },
270
258
  sort: { $ref: `#/components/schemas/${sortSchemaName}` },
271
- groupBy: { $ref: `#/components/schemas/${groupBySchemaName}` },
272
259
  },
273
260
  },
274
261
  },
@@ -170,7 +170,7 @@ describe("ProjectMiddleware", () => {
170
170
  test("should throw BadDataException when getProjectId returns null", async () => {
171
171
  // Mock ApiKeyService.findOneBy to return null first
172
172
  getJestSpyOn(ApiKeyService, "findOneBy").mockResolvedValue(null);
173
-
173
+
174
174
  const spyFindOneBy: jest.SpyInstance = getJestSpyOn(
175
175
  GlobalConfigService,
176
176
  "findOneBy",
@@ -200,7 +200,7 @@ describe("ProjectMiddleware", () => {
200
200
  });
201
201
 
202
202
  expect(next).toHaveBeenCalledWith(
203
- new BadDataException("ProjectID not found in the request header."),
203
+ new BadDataException("Invalid API Key"),
204
204
  );
205
205
  });
206
206
 
@@ -247,7 +247,7 @@ describe("ProjectMiddleware", () => {
247
247
  });
248
248
 
249
249
  expect(next).toHaveBeenCalledWith(
250
- new BadDataException("Invalid Project ID or API Key"),
250
+ new BadDataException("Invalid API Key"),
251
251
  );
252
252
  });
253
253
 
@@ -267,7 +267,7 @@ describe("ProjectMiddleware", () => {
267
267
  expect(spyGetApiTenantAccessPermission).toHaveBeenCalled();
268
268
  // check first param of next
269
269
  expect(next).toHaveBeenCalledWith(
270
- new BadDataException("Invalid Project ID or API Key"),
270
+ new BadDataException("Invalid API Key"),
271
271
  );
272
272
  });
273
273
 
@@ -29,7 +29,9 @@ import EmptyResponseData from "../../../Types/API/EmptyResponse";
29
29
  jest.setTimeout(60000); // Increase test timeout to 60 seconds becuase GitHub runners are slow
30
30
 
31
31
  // Mock ProjectUserService to prevent connection termination
32
- const mockRefreshProjectUsersByProject = jest.fn().mockResolvedValue(undefined);
32
+ const mockRefreshProjectUsersByProject: jest.Mock<any, any> = jest
33
+ .fn()
34
+ .mockResolvedValue(undefined);
33
35
 
34
36
  jest.mock("../../../Server/Services/ProjectUserService", () => {
35
37
  return {
@@ -18,6 +18,7 @@ export interface TableColumnMetadata {
18
18
  manyToOneRelationColumn?: string;
19
19
  type: TableColumnType;
20
20
  canReadOnRelationQuery?: boolean;
21
+ hideColumnInDocumentation?: boolean;
21
22
  modelType?: { new (): BaseModel };
22
23
  forceGetDefaultValueOnCreate?: () => string | number | boolean; // overwrites any value that is being passed and generates a new one. Useful for generating OTPs, etc.
23
24
  }
package/Types/Date.ts CHANGED
@@ -5,12 +5,30 @@ import { JSONObject, ObjectType } from "./JSON";
5
5
  import PositiveNumber from "./PositiveNumber";
6
6
  import moment from "moment-timezone";
7
7
  import Timezone from "./Timezone";
8
+ import Zod, { ZodSchema } from "../Utils/Schema/Zod";
8
9
 
9
10
  export const Moment: typeof moment = moment;
10
11
 
11
12
  export default class OneUptimeDate {
12
13
  // get date time from unix timestamp
13
14
 
15
+ public static getSchema(): ZodSchema {
16
+ return Zod.object({
17
+ _type: Zod.literal(ObjectType.DateTime),
18
+ value: Zod.string().openapi({
19
+ type: "string",
20
+ example: "2023-10-01T12:00:00Z",
21
+ }),
22
+ }).openapi({
23
+ type: "object",
24
+ description: "A date time object.",
25
+ example: {
26
+ _type: ObjectType.DateTime,
27
+ value: "2023-10-01T12:00:00Z",
28
+ },
29
+ });
30
+ }
31
+
14
32
  public static getHoursAndMinutesFromMinutes(minutes: number): string {
15
33
  const hours: number = Math.floor(minutes / 60);
16
34
  const mins: number = minutes % 60;
package/Types/ObjectID.ts CHANGED
@@ -4,7 +4,7 @@ import DatabaseProperty from "./Database/DatabaseProperty";
4
4
  import BadDataException from "./Exception/BadDataException";
5
5
  import { JSONObject, ObjectType } from "./JSON";
6
6
  import { FindOperator } from "typeorm";
7
- import Zod, { ZodSchema } from "../Utils/Schema/Zod";
7
+ import Zod from "../Utils/Schema/Zod";
8
8
 
9
9
  export default class ObjectID extends DatabaseProperty {
10
10
  private _id: string = "";
@@ -112,20 +112,12 @@ export default class ObjectID extends DatabaseProperty {
112
112
  return new ObjectID(id);
113
113
  }
114
114
 
115
- public static override getSchema(): ZodSchema {
116
- return Zod.object({
117
- _type: Zod.literal(ObjectType.ObjectID),
118
- value: Zod.string().openapi({
119
- type: "string",
120
- example: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
121
- }),
122
- }).openapi({
123
- type: "object",
124
- description: "ObjectID object",
125
- example: {
126
- _type: ObjectType.ObjectID,
127
- value: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
128
- },
115
+ public static override getSchema(): any {
116
+ return Zod.string().openapi({
117
+ type: "string",
118
+ example: "123e4567-e89b-12d3-a456-426614174000",
119
+ format: "uuid",
120
+ description: "A unique identifier for an object, represented as a UUID.",
129
121
  });
130
122
  }
131
123
  }
@@ -7,6 +7,8 @@ import { z as ZodTypes } from "zod";
7
7
  import { BaseSchema, SchemaExample, ShapeRecord } from "./BaseSchema";
8
8
  import IP from "../../Types/IP/IP";
9
9
  import Port from "../../Types/Port";
10
+ import ObjectID from "../../Types/ObjectID";
11
+ import OneUptimeDate from "../../Types/Date";
10
12
 
11
13
  export type AnalyticsModelSchemaType = ZodSchema;
12
14
 
@@ -136,16 +138,9 @@ export class AnalyticsModelSchema extends BaseSchema {
136
138
  ): ZodTypes.ZodTypeAny {
137
139
  switch (column.type) {
138
140
  case TableColumnType.ObjectID:
139
- return z.string().openapi({
140
- type: "string",
141
- example: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
142
- });
141
+ return ObjectID.getSchema();
143
142
  case TableColumnType.Date:
144
- return z.date().openapi({
145
- type: "string",
146
- format: "date-time",
147
- example: "2023-01-15T12:30:00.000Z",
148
- });
143
+ return OneUptimeDate.getSchema();
149
144
  case TableColumnType.Text:
150
145
  return z.string().openapi({
151
146
  type: "string",
@@ -668,6 +663,7 @@ export class AnalyticsModelSchema extends BaseSchema {
668
663
 
669
664
  switch (operatorType) {
670
665
  case "EqualTo":
666
+ return baseValue;
671
667
  case "NotEqual":
672
668
  return z.object({
673
669
  _type: z.literal(operatorType),
@@ -22,6 +22,7 @@ import Name from "../../Types/Name";
22
22
  import IP from "../../Types/IP/IP";
23
23
  import Port from "../../Types/Port";
24
24
  import MonitorSteps from "../../Types/Monitor/MonitorSteps";
25
+ import OneUptimeDate from "../../Types/Date";
25
26
 
26
27
  export type ModelSchemaType = ZodSchema;
27
28
 
@@ -113,11 +114,7 @@ export class ModelSchema extends BaseSchema {
113
114
  } else if (column.type === TableColumnType.MonitorSteps) {
114
115
  zodType = MonitorSteps.getSchema();
115
116
  } else if (column.type === TableColumnType.Date) {
116
- zodType = z.date().openapi({
117
- type: "string",
118
- format: "date-time",
119
- example: "2023-01-15T12:30:00.000Z",
120
- });
117
+ zodType = OneUptimeDate.getSchema();
121
118
  } else if (column.type === TableColumnType.VeryLongText) {
122
119
  zodType = z.string().openapi({
123
120
  type: "string",
@@ -292,10 +289,18 @@ export class ModelSchema extends BaseSchema {
292
289
  items: {
293
290
  type: "object",
294
291
  properties: {
295
- id: { type: "string" },
292
+ _id: {
293
+ type: "string",
294
+ format: "uuid",
295
+ description: "Unique identifier for the entity",
296
+ },
296
297
  },
297
298
  },
298
- example: [{ id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }],
299
+ example: [
300
+ {
301
+ _id: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
302
+ },
303
+ ],
299
304
  });
300
305
  } else if (column.type === TableColumnType.Entity) {
301
306
  const entityType: (new () => DatabaseBaseModel) | undefined =
@@ -315,7 +320,17 @@ export class ModelSchema extends BaseSchema {
315
320
  })
316
321
  .openapi({
317
322
  type: "object",
318
- example: { id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" },
323
+ properties: {
324
+ _id: {
325
+ type: "string",
326
+ format: "uuid",
327
+ description: "Unique identifier for the entity",
328
+ example: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
329
+ },
330
+ },
331
+ example: {
332
+ _id: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
333
+ },
319
334
  });
320
335
  } else {
321
336
  zodType = z.any().openapi({ type: "null", example: null });
@@ -490,6 +505,8 @@ export class ModelSchema extends BaseSchema {
490
505
 
491
506
  switch (operatorType) {
492
507
  case "EqualTo":
508
+ return baseValue;
509
+
493
510
  case "NotEqual":
494
511
  case "EqualToOrNull":
495
512
  return z.object({
@@ -850,10 +867,7 @@ export class ModelSchema extends BaseSchema {
850
867
  example[key] = { _type: "GreaterThan", value: 10 };
851
868
  exampleCount++;
852
869
  } else if (validOperators.includes("EqualTo")) {
853
- example[key] = {
854
- _type: "EqualTo",
855
- value: this.getExampleValueForColumn(column.type),
856
- };
870
+ example[key] = this.getExampleValueForColumn(column.type);
857
871
  exampleCount++;
858
872
  }
859
873
  }
@@ -1006,6 +1020,13 @@ export class ModelSchema extends BaseSchema {
1006
1020
  continue;
1007
1021
  }
1008
1022
 
1023
+ if (column.hideColumnInDocumentation) {
1024
+ logger.debug(
1025
+ `Skipping column ${key} in model ${model.tableName} due to hideColumnInDocumentation flag`,
1026
+ );
1027
+ continue;
1028
+ }
1029
+
1009
1030
  // Skip excluded fields
1010
1031
  if (data.excludedFields && data.excludedFields.includes(key)) {
1011
1032
  continue;
@@ -1108,11 +1129,7 @@ export class ModelSchema extends BaseSchema {
1108
1129
  } else if (column.type === TableColumnType.Color) {
1109
1130
  zodType = Color.getSchema();
1110
1131
  } else if (column.type === TableColumnType.Date) {
1111
- zodType = z.date().openapi({
1112
- type: "string",
1113
- format: "date-time",
1114
- example: "2023-01-15T12:30:00.000Z",
1115
- });
1132
+ zodType = OneUptimeDate.getSchema();
1116
1133
  } else if (column.type === TableColumnType.VeryLongText) {
1117
1134
  zodType = z.string().openapi({
1118
1135
  type: "string",
@@ -462,8 +462,9 @@ __decorate([
462
462
  __decorate([
463
463
  TableColumn({
464
464
  title: "Version",
465
- type: TableColumnType.Version,
465
+ type: TableColumnType.Number,
466
466
  description: "Object version",
467
+ hideColumnInDocumentation: true,
467
468
  }),
468
469
  VersionColumn(),
469
470
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseBaseModel.js","sourceRoot":"","sources":["../../../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAE,mCAAmC,EAAE,MAAM,2DAA2D,CAAC;AAChH,OAAO,EAAE,0CAA0C,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,OAAO,MAAM,iCAAiC,CAAC;AACtD,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,WAAW,EAAE,EAElB,cAAc,EACd,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,eAAe,MAAM,yCAAyC,CAAC;AAGtE,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAIzE,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAM/C,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AAejB,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,UAAU;IAoGvD,YAAmB,EAAa;QAC9B,KAAK,EAAE,CAAC;QA9FH,QAAG,GAAY,SAAS,CAAC;QAUzB,cAAS,GAAU,SAAS,CAAC;QAU7B,cAAS,GAAU,SAAS,CAAC;QAU7B,cAAS,GAAU,SAAS,CAAC;QAQ7B,YAAO,GAAY,SAAS,CAAC;QAmC7B,mBAAc,GAA2B,EAAE,CAAC;QAsBjD,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEM,gBAAgB;;QACrB,MAAM,UAAU,GAAoC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,0CAAE,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,6BAA6B,CAAC,UAAkB;;QACrD,OAAO,CAAA,MAAA,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,0CAAE,WAAW,KAAI,IAAI,CAAC;IAC/D,CAAC;IAEM,uBAAuB,CAAC,UAAkB;;QAC/C,OAAO,CAAA,MAAA,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,0CAAE,KAAK,KAAI,IAAI,CAAC;IACzD,CAAC;IAEM,6BAA6B,CAAC,UAAkB;;QACrD,OAAO,CAAA,MAAA,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,0CAAE,WAAW,KAAI,IAAI,CAAC;IAC/D,CAAC;IAEM,mBAAmB;;QACxB,MAAM,UAAU,GAAoC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,0CAAE,SAAS,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,mBAAmB;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IAEM,+BAA+B;QACpC,OAAO,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IAEM,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,UAAU,GAAoC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,UAAU,CAAwB,CAAC;IACvD,CAAC;IAEM,SAAS,CAAC,UAAkB;QACjC,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,6BAA6B,CAClC,UAAkB;QAElB,MAAM,UAAU,GACd,0CAA0C,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9D,CAAC;IAEM,yBAAyB,CAC9B,UAAkB;QAElB,OAAO,IAAI,CAAC,mCAAmC,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IACxE,CAAC;IAEM,mCAAmC;QACxC,MAAM,UAAU,GACd,mCAAmC,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAkB;YACpC,KAAK;YACL,WAAW;YACX,WAAW;YACX,WAAW;SACZ,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,UAAU,CAAC,GAAG,CAAC,GAAG;gBAChB,IAAI,EAAE,IAAI,CAAC,qBAAqB;gBAChC,MAAM,EAAE,IAAI,CAAC,uBAAuB;gBACpC,MAAM,EAAE,IAAI,CAAC,uBAAuB;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,QAAQ,CAAC,UAAkB;QAChC,OAAO,OAAO,CAAE,IAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEM,QAAQ,CAAoB,UAAkB;QACnD,OAAQ,IAAY,CAAC,UAAU,CAAM,CAAC;IACxC,CAAC;IAEM,QAAQ,CAAoB,UAAkB,EAAE,KAAQ;QAC5D,IAAY,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;IACpC,CAAC;IAEM,WAAW,CAAC,UAAkB;QAClC,IAAY,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACxC,CAAC;IAEM,4BAA4B,CACjC,UAAsB;QAEtB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACpC,CAAC,CAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAgB;YACjD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEM,gBAAgB;;QACrB,MAAM,UAAU,GAAoC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,0CAAE,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,gBAAgB,CAAC,UAAkB;QACxC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;IAClC,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEM,2BAA2B;QAChC,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,kBAAkB;;QACvB,MAAM,UAAU,GAAoC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,0CAAE,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,IAAW,EAAE,CAAC,KAAsB;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,UAAkB;QAC5C,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACxE,CAAC;IAEM,cAAc,CACnB,UAAkB;QAElB,IAAI,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,IAAK,IAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,OAAQ,IAAY,CAAC,UAAU,CAAc,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CACnB,UAAkB,EAClB,KAA+D;QAE/D,IAAI,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,CAAE,IAAY,CAAC,UAAU,CAAC,GAAG,KAAY,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,UAAkB;QACrC,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,cAAc,CAAC,UAAkB;QACtC,MAAM,eAAe,GAAwB,cAAc,CACzD,IAAI,EACJ,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CACxB,oCAAoC,GAAG,UAAU,GAAG,SAAS,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CACZ,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;YAC7C,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,CACvD,CAAC;IACJ,CAAC;IAEM,oBAAoB,CAAC,UAAkB;QAC5C,MAAM,eAAe,GAAwB,cAAc,CACzD,IAAI,EACJ,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CACxB,oCAAoC,GAAG,UAAU,GAAG,SAAS,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAEM,YAAY,CAAC,UAAkB;QACpC,MAAM,eAAe,GAAwB,cAAc,CACzD,IAAI,EACJ,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAsB,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QAErE,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,aAAa,CAAC,YAA+B;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,aAAa;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,WAAW;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,oBAAoB;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,WAAW;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,oBAAoB,CACzB,sBAAsE,EACtE,UAAmB;QAEnB,IAAI,eAAe,GAAsB,IAAI,CAAC,uBAAuB,CAAC;QAEtE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,kBAAkB,CACvB,sBAAsE,EACtE,UAAmB;QAEnB,IAAI,eAAe,GAAsB,IAAI,CAAC,qBAAqB,CAAC;QAEpE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,sBAAsE;QAEtE,MAAM,eAAe,GAAsB,IAAI,CAAC,uBAAuB,CAAC;QACxE,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,sBAAsE,EACtE,UAAmB;QAEnB,IAAI,eAAe,GAAsB,IAAI,CAAC,uBAAuB,CAAC;QAEtE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,MAAM,CAClB,KAAwB,EACxB,SAAgC;QAEhC,MAAM,IAAI,GAAe,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,KAAwB,EACxB,SAAgC;QAEhC,MAAM,IAAI,GAAe,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAsB,IAAI,SAAS,EAAE,CAAC;QAExD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;YACzD,IAAK,KAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,mBAAmB,GACvB,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAE3C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IACG,KAAa,CAAC,GAAG,CAAC;oBACnB,mBAAmB,CAAC,SAAS;oBAC7B,mBAAmB,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;oBAClD,KAAa,CAAC,GAAG,CAAC,YAAY,iBAAiB,EAChD,CAAC;oBACA,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CACnC,KAAa,CAAC,GAAG,CAAC,EACnB,mBAAmB,CAAC,SAAS,CAC9B,CAAC;gBACJ,CAAC;qBAAM,IACJ,KAAa,CAAC,GAAG,CAAC;oBACnB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,GAAG,CAAC,CAAC;oBACjC,KAAa,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC9B,mBAAmB,CAAC,SAAS;oBAC7B,mBAAmB,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,EACxD,CAAC;oBACA,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CACxC,KAAa,CAAC,GAAG,CAA6B,EAC/C,mBAAmB,CAAC,SAAS,CAC9B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACL,IAAY,CAAC,GAAG,CAAC,GAAI,KAAa,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAC7B,IAA8B,EAC9B,SAAgC;QAEhC,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,WAAW,CACvB,IAA8B,EAC9B,SAAgC;QAEhC,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,SAAS,CACtB,IAAoB,EACpB,IAAmB;QAEnB,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAM,IAAI,IAAI,EAAE,CAAC;QAEhC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,mBAAmB,GACvB,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IACE,IAAI,CAAC,GAAG,CAAC;oBACT,mBAAmB,CAAC,SAAS;oBAC7B,mBAAmB,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,EACnD,CAAC;oBACD,IACE,IAAI,CAAC,GAAG,CAAC;wBACT,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACvB,IAAI,CAAC,GAAG,CAAgB,CAAC,MAAM,GAAG,CAAC,EACpC,CAAC;wBACD,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAgB,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC;oBAEA,SAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CACrC,IAAI,CAAC,GAAG,CAAe,EACvB,mBAAmB,CAAC,SAAS,CAC9B,CAAC;gBACJ,CAAC;qBAAM,IACL,IAAI,CAAC,GAAG,CAAC;oBACT,mBAAmB,CAAC,SAAS;oBAC7B,mBAAmB,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,EACxD,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1B,CAAC;oBAEA,SAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAC1C,IAAI,CAAC,GAAG,CAAc,EACtB,mBAAmB,CAAC,SAAS,CAC9B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACL,SAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAc,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,IAA2E,EAC3E,IAAmB;QAEnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAa,EAAE,CAAC;YAEzB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;oBACtC,GAAG,CAAC,IAAI,CAAC,IAAS,CAAC,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,IAAoB,EACpB,IAAmB;QAEnB,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAI,IAAI,EAAE,IAAI,CAAM,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,IAA2B,EAC3B,IAAmB;QAEnB,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5qBQ;IANN,WAAW,CAAC;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,eAAe,CAAC,QAAQ;QAC9B,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACD,sBAAsB,CAAC,MAAM,CAAC;;8CACC;AAUzB;IARN,WAAW,CAAC;QACX,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACD,gBAAgB,CAAC;QAChB,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAC;8BACiB,IAAI;oDAAa;AAU7B;IARN,WAAW,CAAC;QACX,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACD,gBAAgB,CAAC;QAChB,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAC;8BACiB,IAAI;oDAAa;AAU7B;IARN,WAAW,CAAC;QACX,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACD,gBAAgB,CAAC;QAChB,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAC;8BACiB,IAAI;oDAAa;AAQ7B;IANN,WAAW,CAAC;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,eAAe,CAAC,OAAO;QAC7B,WAAW,EAAE,gBAAgB;KAC9B,CAAC;IACD,aAAa,EAAE;;kDACoB"}
1
+ {"version":3,"file":"DatabaseBaseModel.js","sourceRoot":"","sources":["../../../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts"],"names":[],"mappings":"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"}