@brimble/models 3.7.84 → 3.7.86

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 (237) hide show
  1. package/dist/activity-log.d.ts +30 -0
  2. package/dist/activity-log.js +61 -0
  3. package/dist/app-message.d.ts +30 -0
  4. package/dist/app-message.js +14 -0
  5. package/dist/auto-scaling.d.ts +30 -0
  6. package/dist/auto-scaling.js +63 -0
  7. package/dist/card.d.ts +30 -0
  8. package/dist/card.js +41 -0
  9. package/dist/cashier_subscription.d.ts +30 -0
  10. package/dist/cashier_subscription.js +27 -0
  11. package/dist/cashier_subscription_item.d.ts +30 -0
  12. package/dist/cashier_subscription_item.js +17 -0
  13. package/dist/collab-annotation.d.ts +30 -0
  14. package/dist/collab-annotation.js +31 -0
  15. package/dist/collab-comment.d.ts +30 -0
  16. package/dist/collab-comment.js +19 -0
  17. package/dist/collab-integration.d.ts +30 -0
  18. package/dist/collab-integration.js +17 -0
  19. package/dist/collab-push-subscription.d.ts +30 -0
  20. package/dist/collab-push-subscription.js +14 -0
  21. package/dist/collab-settings.d.ts +30 -0
  22. package/dist/collab-settings.js +24 -0
  23. package/dist/collab-share-token.d.ts +30 -0
  24. package/dist/collab-share-token.js +11 -0
  25. package/dist/compute.d.ts +30 -0
  26. package/dist/compute.js +82 -0
  27. package/dist/db-image.d.ts +30 -0
  28. package/dist/db-image.js +67 -0
  29. package/dist/domain/dns.d.ts +30 -0
  30. package/dist/domain/dns.js +33 -0
  31. package/dist/domain/index.d.ts +30 -0
  32. package/dist/domain/index.js +105 -0
  33. package/dist/domain/renewal.d.ts +30 -0
  34. package/dist/domain/renewal.js +21 -0
  35. package/dist/domain/transfer.d.ts +30 -0
  36. package/dist/domain/transfer.js +99 -0
  37. package/dist/enum/index.d.ts +222 -0
  38. package/dist/enum/index.js +261 -0
  39. package/dist/env.d.ts +30 -0
  40. package/dist/env.js +34 -0
  41. package/dist/environment-variable.d.ts +30 -0
  42. package/dist/environment-variable.js +16 -0
  43. package/dist/follower.d.ts +30 -0
  44. package/dist/follower.js +15 -0
  45. package/dist/following.d.ts +30 -0
  46. package/dist/following.js +15 -0
  47. package/dist/framework.d.ts +30 -0
  48. package/dist/framework.js +84 -0
  49. package/dist/index.d.ts +62 -0
  50. package/dist/index.js +197 -0
  51. package/dist/integration.d.ts +30 -0
  52. package/dist/integration.js +35 -0
  53. package/dist/intention.d.ts +30 -0
  54. package/dist/intention.js +36 -0
  55. package/dist/invoice.d.ts +30 -0
  56. package/dist/invoice.js +28 -0
  57. package/dist/job.d.ts +6 -0
  58. package/dist/job.js +52 -0
  59. package/dist/license.d.ts +30 -0
  60. package/dist/license.js +75 -0
  61. package/dist/load-balancer-port.d.ts +30 -0
  62. package/dist/load-balancer-port.js +27 -0
  63. package/dist/logs.d.ts +30 -0
  64. package/dist/logs.js +42 -0
  65. package/dist/member-permission.d.ts +30 -0
  66. package/dist/member-permission.js +9 -0
  67. package/dist/member.d.ts +30 -0
  68. package/dist/member.js +40 -0
  69. package/dist/ownership-transfer.d.ts +30 -0
  70. package/dist/ownership-transfer.js +35 -0
  71. package/dist/permission.d.ts +30 -0
  72. package/dist/permission.js +12 -0
  73. package/dist/plan_configuration.d.ts +6 -0
  74. package/dist/plan_configuration.js +42 -0
  75. package/dist/project/connection.d.ts +30 -0
  76. package/dist/project/connection.js +14 -0
  77. package/dist/project/index.d.ts +33 -0
  78. package/dist/project/index.js +249 -0
  79. package/dist/project/preview.d.ts +30 -0
  80. package/dist/project/preview.js +37 -0
  81. package/dist/project-environment.d.ts +30 -0
  82. package/dist/project-environment.js +13 -0
  83. package/dist/project-tag-assignment.d.ts +30 -0
  84. package/dist/project-tag-assignment.js +32 -0
  85. package/dist/project_analytics.d.ts +30 -0
  86. package/dist/project_analytics.js +18 -0
  87. package/dist/provider.d.ts +30 -0
  88. package/dist/provider.js +10 -0
  89. package/dist/region.d.ts +30 -0
  90. package/dist/region.js +17 -0
  91. package/dist/role.d.ts +30 -0
  92. package/dist/role.js +11 -0
  93. package/dist/server.d.ts +30 -0
  94. package/dist/server.js +101 -0
  95. package/dist/settings.d.ts +30 -0
  96. package/dist/settings.js +49 -0
  97. package/dist/subscription.d.ts +30 -0
  98. package/dist/subscription.js +82 -0
  99. package/dist/tag.d.ts +30 -0
  100. package/dist/tag.js +29 -0
  101. package/dist/team.d.ts +30 -0
  102. package/dist/team.js +74 -0
  103. package/dist/token.d.ts +30 -0
  104. package/dist/token.js +36 -0
  105. package/dist/types/activity-log.d.ts +18 -0
  106. package/dist/types/activity-log.js +2 -0
  107. package/dist/types/app-message.d.ts +15 -0
  108. package/dist/types/app-message.js +2 -0
  109. package/dist/types/auto-scaling-group.d.ts +20 -0
  110. package/dist/types/auto-scaling-group.js +2 -0
  111. package/dist/types/card.d.ts +12 -0
  112. package/dist/types/card.js +2 -0
  113. package/dist/types/cashier_subscription.d.ts +27 -0
  114. package/dist/types/cashier_subscription.js +2 -0
  115. package/dist/types/collab-annotation.d.ts +27 -0
  116. package/dist/types/collab-annotation.js +2 -0
  117. package/dist/types/collab-comment.d.ts +20 -0
  118. package/dist/types/collab-comment.js +2 -0
  119. package/dist/types/collab-integration.d.ts +13 -0
  120. package/dist/types/collab-integration.js +2 -0
  121. package/dist/types/collab-push-subscription.d.ts +12 -0
  122. package/dist/types/collab-push-subscription.js +2 -0
  123. package/dist/types/collab-settings.d.ts +16 -0
  124. package/dist/types/collab-settings.js +2 -0
  125. package/dist/types/collab-share-token.d.ts +12 -0
  126. package/dist/types/collab-share-token.js +2 -0
  127. package/dist/types/compute.d.ts +48 -0
  128. package/dist/types/compute.js +2 -0
  129. package/dist/types/db-image.d.ts +25 -0
  130. package/dist/types/db-image.js +2 -0
  131. package/dist/types/domain/dns.d.ts +12 -0
  132. package/dist/types/domain/dns.js +2 -0
  133. package/dist/types/domain/index.d.ts +34 -0
  134. package/dist/types/domain/index.js +2 -0
  135. package/dist/types/domain/renewal.d.ts +10 -0
  136. package/dist/types/domain/renewal.js +2 -0
  137. package/dist/types/domain/transfer.d.ts +27 -0
  138. package/dist/types/domain/transfer.js +2 -0
  139. package/dist/types/env.d.ts +13 -0
  140. package/dist/types/env.js +2 -0
  141. package/dist/types/environment-variable.d.ts +12 -0
  142. package/dist/types/environment-variable.js +2 -0
  143. package/dist/types/following.d.ts +5 -0
  144. package/dist/types/following.js +2 -0
  145. package/dist/types/framework.d.ts +39 -0
  146. package/dist/types/framework.js +2 -0
  147. package/dist/types/git.d.ts +14 -0
  148. package/dist/types/git.js +2 -0
  149. package/dist/types/index.d.ts +56 -0
  150. package/dist/types/index.js +2 -0
  151. package/dist/types/installed_integration.d.ts +6 -0
  152. package/dist/types/installed_integration.js +2 -0
  153. package/dist/types/integration.d.ts +14 -0
  154. package/dist/types/integration.js +2 -0
  155. package/dist/types/intention.d.ts +13 -0
  156. package/dist/types/intention.js +2 -0
  157. package/dist/types/invoice.d.ts +15 -0
  158. package/dist/types/invoice.js +2 -0
  159. package/dist/types/job.d.ts +19 -0
  160. package/dist/types/job.js +2 -0
  161. package/dist/types/license.d.ts +18 -0
  162. package/dist/types/license.js +2 -0
  163. package/dist/types/load-balancer-port.d.ts +12 -0
  164. package/dist/types/load-balancer-port.js +2 -0
  165. package/dist/types/logs.d.ts +35 -0
  166. package/dist/types/logs.js +2 -0
  167. package/dist/types/member-permission.d.ts +8 -0
  168. package/dist/types/member-permission.js +2 -0
  169. package/dist/types/member.d.ts +18 -0
  170. package/dist/types/member.js +2 -0
  171. package/dist/types/ownership-transfer.d.ts +12 -0
  172. package/dist/types/ownership-transfer.js +2 -0
  173. package/dist/types/permission.d.ts +13 -0
  174. package/dist/types/permission.js +2 -0
  175. package/dist/types/plan_configuration.d.ts +36 -0
  176. package/dist/types/plan_configuration.js +2 -0
  177. package/dist/types/project/connection.d.ts +6 -0
  178. package/dist/types/project/connection.js +2 -0
  179. package/dist/types/project/index.d.ts +97 -0
  180. package/dist/types/project/index.js +2 -0
  181. package/dist/types/project/preview.d.ts +21 -0
  182. package/dist/types/project/preview.js +2 -0
  183. package/dist/types/project-environment.d.ts +13 -0
  184. package/dist/types/project-environment.js +2 -0
  185. package/dist/types/project-tag-assignment.d.ts +13 -0
  186. package/dist/types/project-tag-assignment.js +2 -0
  187. package/dist/types/project_analytics.d.ts +11 -0
  188. package/dist/types/project_analytics.js +2 -0
  189. package/dist/types/provider.d.ts +7 -0
  190. package/dist/types/provider.js +2 -0
  191. package/dist/types/region.d.ts +15 -0
  192. package/dist/types/region.js +2 -0
  193. package/dist/types/role.d.ts +9 -0
  194. package/dist/types/role.js +2 -0
  195. package/dist/types/server.d.ts +32 -0
  196. package/dist/types/server.js +2 -0
  197. package/dist/types/settings.d.ts +11 -0
  198. package/dist/types/settings.js +2 -0
  199. package/dist/types/subscription.d.ts +33 -0
  200. package/dist/types/subscription.js +2 -0
  201. package/dist/types/tag.d.ts +11 -0
  202. package/dist/types/tag.js +2 -0
  203. package/dist/types/team.d.ts +22 -0
  204. package/dist/types/team.js +2 -0
  205. package/dist/types/token.d.ts +11 -0
  206. package/dist/types/token.js +2 -0
  207. package/dist/types/user.d.ts +42 -0
  208. package/dist/types/user.js +2 -0
  209. package/dist/types/volume.d.ts +14 -0
  210. package/dist/types/volume.js +2 -0
  211. package/dist/types/wallet.d.ts +8 -0
  212. package/dist/types/wallet.js +2 -0
  213. package/dist/types/webhook-category.d.ts +4 -0
  214. package/dist/types/webhook-category.js +2 -0
  215. package/dist/types/webhook-event.d.ts +7 -0
  216. package/dist/types/webhook-event.js +2 -0
  217. package/dist/types/webhook-setting.d.ts +16 -0
  218. package/dist/types/webhook-setting.js +2 -0
  219. package/dist/user.d.ts +30 -0
  220. package/dist/user.js +62 -0
  221. package/dist/volume.d.ts +30 -0
  222. package/dist/volume.js +31 -0
  223. package/dist/wallet.d.ts +30 -0
  224. package/dist/wallet.js +26 -0
  225. package/dist/webhook-category.d.ts +30 -0
  226. package/dist/webhook-category.js +10 -0
  227. package/dist/webhook-event.d.ts +30 -0
  228. package/dist/webhook-event.js +19 -0
  229. package/dist/webhook-setting.d.ts +30 -0
  230. package/dist/webhook-setting.js +50 -0
  231. package/package.json +1 -1
  232. package/project/index.ts +18 -0
  233. package/team.ts +13 -0
  234. package/types/project/index.ts +2 -0
  235. package/types/team.ts +5 -2
  236. package/types/user.ts +1 -0
  237. package/user.ts +1 -0
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { Document } from "mongoose";
2
+ import { IUser } from "./user";
3
+ import { ITeam } from "./team";
4
+ import { ISubscription } from "./subscription";
5
+ export interface IVolume extends Document {
6
+ name: string;
7
+ user?: IUser;
8
+ team?: ITeam;
9
+ subscription: ISubscription;
10
+ size: number;
11
+ mount_path?: string;
12
+ created_at?: Date;
13
+ updated_at?: Date;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { Document } from "mongoose";
2
+ export interface IWallet extends Document {
3
+ balance: number;
4
+ slug: string;
5
+ enabled: boolean;
6
+ provider: string;
7
+ discounted: boolean;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { Document } from "mongoose";
2
+ export interface IWebhookCategory extends Document {
3
+ category: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { Document } from "mongoose";
2
+ import { IWebhookCategory } from "./webhook-category";
3
+ export interface IWebhookEvent extends Document {
4
+ name: string;
5
+ category: IWebhookCategory;
6
+ description: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import { Document } from "mongoose";
2
+ import { IWebhookEvent } from "./webhook-event";
3
+ import { ISubscription } from "./subscription";
4
+ import { IUser } from "./user";
5
+ import { ITeam } from "./team";
6
+ export interface IWebhookSetting extends Document {
7
+ user_id: IUser;
8
+ team_id?: ITeam;
9
+ subscription_id: ISubscription;
10
+ webhook_id: string;
11
+ external_webhook_url?: string;
12
+ webhookUrl: string;
13
+ discordUrl: string;
14
+ slackUrl: string;
15
+ events: IWebhookEvent[];
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/user.d.ts ADDED
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IUser } from "./types";
27
+ declare const _default: import("mongoose").Model<IUser, {}, {}, {}, import("mongoose").Document<unknown, {}, IUser> & IUser & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
package/dist/user.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const userSchema = new mongoose_1.Schema({
5
+ first_name: String,
6
+ last_name: String,
7
+ username: String,
8
+ email: { type: String, required: true },
9
+ password: { type: String },
10
+ email_verified_at: Date,
11
+ following: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Following" }],
12
+ verification_token: { ype: Number },
13
+ location: { type: String },
14
+ interests: { type: Array },
15
+ github: Object,
16
+ gitlab: Object,
17
+ bitbucket: Object,
18
+ access_code: { type: Number },
19
+ company: String,
20
+ projects: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Project" }],
21
+ teams: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Team" }],
22
+ avatar: { type: String },
23
+ freeTrialActive: {
24
+ type: Boolean,
25
+ default: true,
26
+ required: false,
27
+ },
28
+ activated: {
29
+ type: Boolean,
30
+ default: false,
31
+ required: false,
32
+ },
33
+ build_disabled: {
34
+ type: Boolean,
35
+ default: false,
36
+ required: false,
37
+ },
38
+ build_disabled_by: {
39
+ type: String,
40
+ required: false,
41
+ },
42
+ ai_usage_count: {
43
+ type: Number,
44
+ default: 0,
45
+ required: false
46
+ },
47
+ tenant: { type: mongoose_1.Schema.Types.ObjectId, ref: "Tenancy", required: false },
48
+ is_waitlist: { type: Boolean, default: true },
49
+ spending_limit: { type: Number },
50
+ build_minutes: { type: Number, default: 0 },
51
+ notifications: Object,
52
+ disabled: Boolean,
53
+ disabled_at: Date,
54
+ has_payment_method: Boolean,
55
+ totp_enabled: { type: Boolean, default: false },
56
+ }, {
57
+ timestamps: {
58
+ createdAt: "created_at",
59
+ updatedAt: "updated_at",
60
+ },
61
+ });
62
+ exports.default = (0, mongoose_1.model)("User", userSchema);
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IVolume } from "./types";
27
+ declare const _default: import("mongoose").Model<IVolume, {}, {}, {}, import("mongoose").Document<unknown, {}, IVolume> & IVolume & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
package/dist/volume.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const volumeSchema = new mongoose_1.Schema({
5
+ name: String,
6
+ user: {
7
+ type: mongoose_1.Schema.Types.ObjectId,
8
+ required: false,
9
+ ref: "User",
10
+ default: null,
11
+ },
12
+ team: {
13
+ type: mongoose_1.Schema.Types.ObjectId,
14
+ required: false,
15
+ ref: "Team",
16
+ default: null,
17
+ },
18
+ subscription: {
19
+ type: mongoose_1.Schema.Types.ObjectId,
20
+ required: true,
21
+ ref: "Subscription",
22
+ },
23
+ size: { type: Number, required: true },
24
+ mount_path: { type: String },
25
+ }, {
26
+ timestamps: {
27
+ createdAt: "created_at",
28
+ updatedAt: "updated_at",
29
+ },
30
+ });
31
+ exports.default = (0, mongoose_1.model)("Volume", volumeSchema);
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IWallet } from "./types/wallet";
27
+ declare const _default: import("mongoose").Model<IWallet, {}, {}, {}, import("mongoose").Document<unknown, {}, IWallet> & IWallet & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
package/dist/wallet.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const walletSchema = new mongoose_1.Schema({
5
+ balance: {
6
+ type: Number,
7
+ required: true,
8
+ },
9
+ enabled: {
10
+ type: Boolean,
11
+ default: true,
12
+ },
13
+ slug: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ provider: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ discounted: {
22
+ type: Boolean,
23
+ default: false
24
+ }
25
+ });
26
+ exports.default = (0, mongoose_1.model)("Wallet", walletSchema);
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IWebhookCategory } from "./types/webhook-category";
27
+ declare const _default: import("mongoose").Model<IWebhookCategory, {}, {}, {}, import("mongoose").Document<unknown, {}, IWebhookCategory> & IWebhookCategory & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const webhookCategorySchema = new mongoose_1.Schema({
5
+ category: {
6
+ type: String,
7
+ required: true,
8
+ }
9
+ });
10
+ exports.default = (0, mongoose_1.model)("WebhookCategory", webhookCategorySchema, "webhook_category");
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IWebhookEvent } from "./types/webhook-event";
27
+ declare const _default: import("mongoose").Model<IWebhookEvent, {}, {}, {}, import("mongoose").Document<unknown, {}, IWebhookEvent> & IWebhookEvent & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const webhookEventSchema = new mongoose_1.Schema({
5
+ name: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ category: {
10
+ ref: "WebhookCategory",
11
+ type: mongoose_1.Schema.Types.ObjectId,
12
+ required: true,
13
+ },
14
+ description: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ });
19
+ exports.default = (0, mongoose_1.model)("WebhookEvent", webhookEventSchema, "webhook_event");
@@ -0,0 +1,30 @@
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/types/inferschematype" />
26
+ import { IWebhookSetting } from "./types/webhook-setting";
27
+ declare const _default: import("mongoose").Model<IWebhookSetting, {}, {}, {}, import("mongoose").Document<unknown, {}, IWebhookSetting> & IWebhookSetting & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mongoose_1 = require("mongoose");
7
+ const webhook_event_1 = __importDefault(require("./webhook-event"));
8
+ const webhookSettingSchema = new mongoose_1.Schema({
9
+ webhook_id: {
10
+ type: String,
11
+ required: false,
12
+ },
13
+ user_id: {
14
+ type: mongoose_1.Schema.Types.ObjectId,
15
+ ref: "User",
16
+ required: true,
17
+ },
18
+ team_id: {
19
+ type: mongoose_1.Schema.Types.ObjectId,
20
+ ref: "Team",
21
+ required: false,
22
+ },
23
+ subscription_id: {
24
+ type: mongoose_1.Schema.Types.ObjectId,
25
+ ref: "Subscription",
26
+ required: true,
27
+ },
28
+ external_webhook_url: {
29
+ type: String,
30
+ required: false,
31
+ },
32
+ webhookUrl: {
33
+ type: String,
34
+ required: false,
35
+ },
36
+ discordUrl: {
37
+ type: String,
38
+ default: false,
39
+ },
40
+ slackUrl: {
41
+ type: String,
42
+ default: false,
43
+ },
44
+ events: {
45
+ type: [mongoose_1.Schema.Types.ObjectId],
46
+ ref: webhook_event_1.default,
47
+ default: [],
48
+ }
49
+ });
50
+ exports.default = (0, mongoose_1.model)("WebhookSetting", webhookSettingSchema, "webhook_settings");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.7.84",
3
+ "version": "3.7.86",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/project/index.ts CHANGED
@@ -107,6 +107,14 @@ const projectSchema = new Schema(
107
107
  type: Boolean,
108
108
  default: false,
109
109
  },
110
+ free_tier_expires_at: {
111
+ type: Date,
112
+ default: null,
113
+ },
114
+ free_tier_expiry_notified_at: {
115
+ type: Date,
116
+ default: null,
117
+ },
110
118
  disabled: {
111
119
  type: Boolean,
112
120
  default: false,
@@ -234,5 +242,15 @@ const projectSchema = new Schema(
234
242
  { timestamps: true },
235
243
  );
236
244
 
245
+ // Partial index for the free-tier lifecycle crons. Restricts the index to
246
+ // rows that actually carry an expiry, so paid/legacy projects stay out of it.
247
+ projectSchema.index(
248
+ { free_tier_expires_at: 1, serviceType: 1, status: 1 },
249
+ {
250
+ partialFilterExpression: { free_tier_expires_at: { $type: "date" } },
251
+ name: "free_tier_lifecycle",
252
+ },
253
+ );
254
+
237
255
  export default model<IProject>("Project", projectSchema);
238
256
  export const DeletedProject = model<IProject>("DeletedProject", projectSchema);
package/team.ts CHANGED
@@ -56,6 +56,19 @@ const teamSchema: Schema = new Schema(
56
56
  type: Number,
57
57
  required: false,
58
58
  },
59
+ enforce_2fa: {
60
+ type: Boolean,
61
+ default: false,
62
+ },
63
+ enforce_2fa_at: {
64
+ type: Date,
65
+ default: null,
66
+ },
67
+ enforce_2fa_by: {
68
+ type: Schema.Types.ObjectId,
69
+ ref: "User",
70
+ default: null,
71
+ },
59
72
  },
60
73
  {
61
74
  timestamps: true,
@@ -17,6 +17,8 @@ export interface IProject extends Document {
17
17
  healthCheckPath?: string;
18
18
  preStartCommand?: string;
19
19
  backupEnabled: boolean;
20
+ free_tier_expires_at?: Date | null;
21
+ free_tier_expiry_notified_at?: Date | null;
20
22
  buildCacheEnabled?: boolean;
21
23
  domains: Array<IDomain>;
22
24
  environments: Array<IEnv>;
package/types/team.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Document } from "mongoose";
2
- import { IMember, IProject, ISubscription } from "./";
1
+ import { Document, Types } from "mongoose";
2
+ import { IMember, IProject, ISubscription, IUser } from "./";
3
3
  import { BUILD_DISABLED_BY } from "../enum";
4
4
 
5
5
  export interface ITeam extends Document {
@@ -17,4 +17,7 @@ export interface ITeam extends Document {
17
17
  build_disabled: boolean;
18
18
  build_disabled_by: BUILD_DISABLED_BY;
19
19
  subscription: ISubscription;
20
+ enforce_2fa: boolean;
21
+ enforce_2fa_at: Date | null;
22
+ enforce_2fa_by: IUser | Types.ObjectId | null;
20
23
  }
package/types/user.ts CHANGED
@@ -37,6 +37,7 @@ export interface IUser extends Document {
37
37
  email: boolean;
38
38
  mute: boolean;
39
39
  };
40
+ totp_enabled?: boolean;
40
41
  created_at: Date;
41
42
  updated_at: Date;
42
43
  }
package/user.ts CHANGED
@@ -54,6 +54,7 @@ const userSchema: Schema = new Schema(
54
54
  disabled: Boolean,
55
55
  disabled_at: Date,
56
56
  has_payment_method: Boolean,
57
+ totp_enabled: { type: Boolean, default: false },
57
58
  },
58
59
  {
59
60
  timestamps: {