@brimble/models 2.4.5 → 2.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/compute.ts ADDED
@@ -0,0 +1,61 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { IComputeChange } from "./types/compute";
3
+
4
+ const ComputeChangeSchema = new Schema({
5
+ project_id: {
6
+ type: String,
7
+ required: true,
8
+ index: true,
9
+ },
10
+ user_id: {
11
+ type: Schema.Types.ObjectId,
12
+ ref: "User",
13
+ required: true,
14
+ index: true,
15
+ },
16
+ team_id: {
17
+ type: Schema.Types.ObjectId,
18
+ ref: "Team",
19
+ required: true,
20
+ index: true,
21
+ },
22
+ subscription_id: {
23
+ type: Schema.Types.ObjectId,
24
+ ref: "Subscription",
25
+ required: true,
26
+ index: true,
27
+ },
28
+ timestamp: {
29
+ type: Date,
30
+ default: Date.now,
31
+ required: true,
32
+ },
33
+ previous: {
34
+ cpu: { type: Number, required: true },
35
+ memory: { type: Number, required: true },
36
+ storage: { type: Number, required: true },
37
+ },
38
+ current: {
39
+ cpu: { type: Number, required: true },
40
+ memory: { type: Number, required: true },
41
+ storage: { type: Number, required: true },
42
+ },
43
+ costs: {
44
+ startDate: { type: Date, required: true },
45
+ endDate: { type: Date },
46
+ cpuCost: { type: Number, default: 0 },
47
+ memoryCost: { type: Number, default: 0 },
48
+ storageCost: { type: Number, default: 0 },
49
+ totalCost: { type: Number, default: 0 },
50
+ },
51
+ billed: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ });
56
+
57
+ export default model<IComputeChange>(
58
+ "ComputeChange",
59
+ ComputeChangeSchema,
60
+ "compute_changes",
61
+ );
@@ -0,0 +1,56 @@
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose" />
25
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/aggregate" />
26
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/callback" />
27
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/collection" />
28
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/connection" />
29
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/cursor" />
30
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/document" />
31
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/error" />
32
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/expressions" />
33
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/helpers" />
34
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/middlewares" />
35
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/indexes" />
36
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/models" />
37
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/mongooseoptions" />
38
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/pipelinestage" />
39
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/populate" />
40
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/query" />
41
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/schemaoptions" />
42
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/schematypes" />
43
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/session" />
44
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/types" />
45
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/utility" />
46
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/validation" />
47
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/virtuals" />
48
+ /// <reference types="mongoose-delete/node_modules/mongoose" />
49
+ /// <reference types="mongoose/types/inferschematype" />
50
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/inferschematype" />
51
+ /// <reference types="mongoose-delete/node_modules/mongoose/types/inferrawdoctype" />
52
+ import { IComputeChange } from "./types/compute";
53
+ declare const _default: import("mongoose").Model<IComputeChange, {}, {}, {}, import("mongoose").Document<unknown, {}, IComputeChange> & IComputeChange & Required<{
54
+ _id: string;
55
+ }>, any>;
56
+ export default _default;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const ComputeChangeSchema = new mongoose_1.Schema({
5
+ project_id: {
6
+ type: String,
7
+ required: true,
8
+ index: true,
9
+ },
10
+ user_id: {
11
+ type: mongoose_1.Schema.Types.ObjectId,
12
+ ref: "User",
13
+ required: true,
14
+ index: true,
15
+ },
16
+ team_id: {
17
+ type: mongoose_1.Schema.Types.ObjectId,
18
+ ref: "Team",
19
+ required: true,
20
+ index: true,
21
+ },
22
+ subscription_id: {
23
+ type: mongoose_1.Schema.Types.ObjectId,
24
+ ref: "Subscription",
25
+ required: true,
26
+ index: true,
27
+ },
28
+ timestamp: {
29
+ type: Date,
30
+ default: Date.now,
31
+ required: true,
32
+ },
33
+ previous: {
34
+ cpu: { type: Number, required: true },
35
+ memory: { type: Number, required: true },
36
+ storage: { type: Number, required: true },
37
+ },
38
+ current: {
39
+ cpu: { type: Number, required: true },
40
+ memory: { type: Number, required: true },
41
+ storage: { type: Number, required: true },
42
+ },
43
+ costs: {
44
+ startDate: { type: Date, required: true },
45
+ endDate: { type: Date },
46
+ cpuCost: { type: Number, default: 0 },
47
+ memoryCost: { type: Number, default: 0 },
48
+ storageCost: { type: Number, default: 0 },
49
+ totalCost: { type: Number, default: 0 },
50
+ },
51
+ billed: {
52
+ type: Boolean,
53
+ default: false,
54
+ },
55
+ });
56
+ exports.default = (0, mongoose_1.model)("ComputeChange", ComputeChangeSchema, "compute_changes");
package/dist/index.d.ts CHANGED
@@ -22,7 +22,8 @@ export { default as Job } from "./job";
22
22
  export { default as Liscense } from "./license";
23
23
  export { default as PlanConfiguration } from "./plan_configuration";
24
24
  export { default as AutoScalingGroup } from "./auto-scaling";
25
- export { IUser, IGit, IProject, IPreview, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup } from "./types";
25
+ export { default as ComputeChange } from "./compute";
26
+ export { IUser, IGit, IProject, IPreview, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, } from "./types";
26
27
  export { GIT_TYPE, INTEGRATION_TYPES, INTEGRATION_PROVIDERS, OAUTH_PERMISSIONS, ENVIRONMENT, SERVER_STATUS, ROLES, SUBSCRIPTION_PLAN_TYPE, PROJECT_STATUS, SUBSCRIPTION_STATUS, CARD_TYPES, DNS_TYPE, PERMISSION_TYPE, REQUEST_TYPE, ServiceType, DatabaseEngine, JobStatus, LicenseStatus, } from "./enum";
27
28
  import mongoose from "mongoose";
28
29
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.closeMongo = exports.db = exports.connectToMongo = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = exports.PROJECT_STATUS = exports.SUBSCRIPTION_PLAN_TYPE = exports.ROLES = exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.AutoScalingGroup = exports.PlanConfiguration = exports.Liscense = exports.Job = exports.DbImage = exports.Wallet = exports.Server = exports.Card = exports.Subscription = exports.Log = exports.Role = exports.MemberPermission = exports.Permission = exports.Member = exports.Team = exports.Token = exports.Env = exports.Dns = exports.Domain = exports.Integration = exports.Following = exports.Preview = exports.DeletedProject = exports.Project = exports.User = void 0;
15
+ exports.closeMongo = exports.db = exports.connectToMongo = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REQUEST_TYPE = exports.PERMISSION_TYPE = exports.DNS_TYPE = exports.CARD_TYPES = exports.SUBSCRIPTION_STATUS = exports.PROJECT_STATUS = exports.SUBSCRIPTION_PLAN_TYPE = exports.ROLES = exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.ComputeChange = exports.AutoScalingGroup = exports.PlanConfiguration = exports.Liscense = exports.Job = exports.DbImage = exports.Wallet = exports.Server = exports.Card = exports.Subscription = exports.Log = exports.Role = exports.MemberPermission = exports.Permission = exports.Member = exports.Team = exports.Token = exports.Env = exports.Dns = exports.Domain = exports.Integration = exports.Following = exports.Preview = exports.DeletedProject = exports.Project = exports.User = void 0;
16
16
  var user_1 = require("./user");
17
17
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
18
18
  var project_1 = require("./project");
@@ -62,6 +62,8 @@ var plan_configuration_1 = require("./plan_configuration");
62
62
  Object.defineProperty(exports, "PlanConfiguration", { enumerable: true, get: function () { return __importDefault(plan_configuration_1).default; } });
63
63
  var auto_scaling_1 = require("./auto-scaling");
64
64
  Object.defineProperty(exports, "AutoScalingGroup", { enumerable: true, get: function () { return __importDefault(auto_scaling_1).default; } });
65
+ var compute_1 = require("./compute");
66
+ Object.defineProperty(exports, "ComputeChange", { enumerable: true, get: function () { return __importDefault(compute_1).default; } });
65
67
  var enum_1 = require("./enum");
66
68
  Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
67
69
  Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
@@ -143,13 +143,13 @@ const projectSchema = new mongoose_1.Schema({
143
143
  },
144
144
  replica_ready: {
145
145
  type: Boolean,
146
- default: false
146
+ default: false,
147
147
  },
148
148
  autoscaling_group: {
149
149
  ref: "AutoScalingGroup",
150
150
  type: mongoose_1.Schema.Types.ObjectId,
151
151
  required: false,
152
- }
152
+ },
153
153
  }, { timestamps: true });
154
154
  exports.default = (0, mongoose_1.model)("Project", projectSchema);
155
155
  exports.DeletedProject = (0, mongoose_1.model)("DeletedProject", projectSchema);
@@ -0,0 +1,31 @@
1
+ import { IProject } from "./project";
2
+ import { ISubscription } from "./subscription";
3
+ import { ITeam } from "./team";
4
+ import { IUser } from "./user";
5
+ export interface IComputeChange {
6
+ _id?: string;
7
+ project_id: IProject;
8
+ user_id: IUser;
9
+ team_id: ITeam;
10
+ subscription_id: ISubscription;
11
+ timestamp: Date;
12
+ previous: {
13
+ cpu: number;
14
+ memory: number;
15
+ storage: number;
16
+ };
17
+ current: {
18
+ cpu: number;
19
+ memory: number;
20
+ storage: number;
21
+ };
22
+ costs: {
23
+ startDate: Date;
24
+ endDate?: Date;
25
+ cpuCost: number;
26
+ memoryCost: number;
27
+ storageCost: number;
28
+ totalCost: number;
29
+ };
30
+ billed: boolean;
31
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -24,3 +24,4 @@ export { IJob } from "./job";
24
24
  export { ILicense } from "./license";
25
25
  export { IPlanConfiguration } from "./plan_configuration";
26
26
  export { IAutoScalingGroup } from "./auto-scaling-group";
27
+ export { IComputeChange } from "./compute";
package/index.ts CHANGED
@@ -21,7 +21,8 @@ export { default as DbImage } from "./db-image";
21
21
  export { default as Job } from "./job";
22
22
  export { default as Liscense } from "./license";
23
23
  export { default as PlanConfiguration } from "./plan_configuration";
24
- export { default as AutoScalingGroup } from "./auto-scaling"
24
+ export { default as AutoScalingGroup } from "./auto-scaling";
25
+ export { default as ComputeChange } from "./compute";
25
26
 
26
27
  export {
27
28
  IUser,
@@ -49,7 +50,8 @@ export {
49
50
  IJob,
50
51
  ILicense,
51
52
  IPlanConfiguration,
52
- IAutoScalingGroup
53
+ IAutoScalingGroup,
54
+ IComputeChange,
53
55
  } from "./types";
54
56
  export {
55
57
  GIT_TYPE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "2.4.5",
3
+ "version": "2.4.7",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/project/index.ts CHANGED
@@ -143,13 +143,13 @@ const projectSchema = new Schema(
143
143
  },
144
144
  replica_ready: {
145
145
  type: Boolean,
146
- default: false
146
+ default: false,
147
147
  },
148
148
  autoscaling_group: {
149
149
  ref: "AutoScalingGroup",
150
150
  type: Schema.Types.ObjectId,
151
151
  required: false,
152
- }
152
+ },
153
153
  },
154
154
  { timestamps: true },
155
155
  );
@@ -0,0 +1,32 @@
1
+ import { IProject } from "./project";
2
+ import { ISubscription } from "./subscription";
3
+ import { ITeam } from "./team";
4
+ import { IUser } from "./user";
5
+
6
+ export interface IComputeChange {
7
+ _id?: string;
8
+ project_id: IProject;
9
+ user_id: IUser;
10
+ team_id: ITeam;
11
+ subscription_id: ISubscription;
12
+ timestamp: Date;
13
+ previous: {
14
+ cpu: number;
15
+ memory: number;
16
+ storage: number;
17
+ };
18
+ current: {
19
+ cpu: number;
20
+ memory: number;
21
+ storage: number;
22
+ };
23
+ costs: {
24
+ startDate: Date;
25
+ endDate?: Date;
26
+ cpuCost: number;
27
+ memoryCost: number;
28
+ storageCost: number;
29
+ totalCost: number;
30
+ };
31
+ billed: boolean;
32
+ }
package/types/index.ts CHANGED
@@ -24,3 +24,4 @@ export { IJob } from "./job";
24
24
  export { ILicense } from "./license";
25
25
  export { IPlanConfiguration } from "./plan_configuration";
26
26
  export { IAutoScalingGroup } from "./auto-scaling-group";
27
+ export { IComputeChange } from "./compute";