@brimble/models 3.7.99 → 3.8.2

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.
@@ -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 { IDomainTransfer } from "../types";
27
+ declare const _default: import("mongoose").Model<IDomainTransfer, {}, {}, {}, import("mongoose").Document<unknown, {}, IDomainTransfer> & IDomainTransfer & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const enum_1 = require("../enum");
5
+ const domainTransferSchema = new mongoose_1.Schema({
6
+ domain_id: {
7
+ ref: "Domain",
8
+ type: mongoose_1.Schema.Types.ObjectId,
9
+ required: true,
10
+ },
11
+ domain_name: {
12
+ type: String,
13
+ required: true,
14
+ trim: true,
15
+ },
16
+ user_id: {
17
+ ref: "User",
18
+ type: mongoose_1.Schema.Types.ObjectId,
19
+ required: true,
20
+ },
21
+ team_id: {
22
+ ref: "Team",
23
+ type: mongoose_1.Schema.Types.ObjectId,
24
+ required: false,
25
+ },
26
+ provider: {
27
+ type: String,
28
+ required: true,
29
+ enum: Object.values(enum_1.DomainTransferProvider),
30
+ },
31
+ direction: {
32
+ type: String,
33
+ required: true,
34
+ enum: Object.values(enum_1.DomainTransferDirection),
35
+ },
36
+ status: {
37
+ type: String,
38
+ required: true,
39
+ enum: Object.values(enum_1.DomainTransferStatus),
40
+ },
41
+ provider_transfer_id: {
42
+ type: String,
43
+ required: false,
44
+ },
45
+ payment_reference: {
46
+ type: String,
47
+ required: false,
48
+ },
49
+ payment_token: {
50
+ type: String,
51
+ required: false,
52
+ },
53
+ payment_amount: {
54
+ type: Number,
55
+ required: false,
56
+ },
57
+ renewal_price: {
58
+ type: Number,
59
+ required: false,
60
+ },
61
+ auto_renewal: {
62
+ type: Boolean,
63
+ required: false,
64
+ },
65
+ privacy_enabled: {
66
+ type: Boolean,
67
+ required: false,
68
+ },
69
+ renewal_duration: {
70
+ type: Number,
71
+ required: false,
72
+ },
73
+ project_id: {
74
+ ref: "Project",
75
+ type: mongoose_1.Schema.Types.ObjectId,
76
+ required: false,
77
+ },
78
+ last_polled_at: {
79
+ type: Date,
80
+ required: false,
81
+ },
82
+ poll_count: {
83
+ type: Number,
84
+ required: true,
85
+ default: 0,
86
+ min: 0,
87
+ },
88
+ last_provider_status: {
89
+ type: String,
90
+ required: false,
91
+ },
92
+ failure_reason: {
93
+ type: String,
94
+ required: false,
95
+ },
96
+ }, { timestamps: true });
97
+ domainTransferSchema.index({ status: 1, direction: 1 });
98
+ domainTransferSchema.index({ domain_id: 1 });
99
+ exports.default = (0, mongoose_1.model)("DomainTransfer", domainTransferSchema, "domain_transfers");
@@ -163,6 +163,21 @@ export declare enum DomainRenewalStatus {
163
163
  Completed = "completed",
164
164
  Failed = "failed"
165
165
  }
166
+ export declare enum DomainTransferProvider {
167
+ Dynadot = "dynadot",
168
+ NameDotCom = "name-dot-com",
169
+ NameCheap = "name-cheap"
170
+ }
171
+ export declare enum DomainTransferDirection {
172
+ TransferIn = "transfer_in",
173
+ TransferOut = "transfer_out"
174
+ }
175
+ export declare enum DomainTransferStatus {
176
+ Pending = "pending",
177
+ Completed = "completed",
178
+ Failed = "failed",
179
+ Cancelled = "cancelled"
180
+ }
166
181
  export declare enum NomadDeploymentStatus {
167
182
  NOMAD_SETUP = "nomad_setup",
168
183
  NOMAD_READY = "nomad_ready",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.BRANCH_TYPE = exports.NomadDeploymentStatus = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SCALING_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = exports.PROJECT_STATUS = exports.CARD_TYPES = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.ENVIRONMENT = exports.REQUEST_TYPE = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
3
+ exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.BRANCH_TYPE = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SCALING_METRIC = exports.SCALING_STRATEGY = exports.LicenseStatus = exports.JobStatus = exports.DatabaseEngine = exports.ServiceType = exports.REGION_CONTINENT = exports.PERMISSION_TYPE = exports.ROLES = exports.DNS_TYPE = exports.SERVER_STATUS = exports.OAUTH_PERMISSIONS = exports.SUBSCRIPTION_PLAN_TYPE = exports.SUBSCRIPTION_STATUS = exports.PROJECT_STATUS = exports.CARD_TYPES = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.ENVIRONMENT = exports.REQUEST_TYPE = exports.BUILD_DISABLED_BY = exports.SERVER_PROTOCOL = exports.GIT_TYPE = void 0;
4
4
  var GIT_TYPE;
5
5
  (function (GIT_TYPE) {
6
6
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -191,6 +191,24 @@ var DomainRenewalStatus;
191
191
  DomainRenewalStatus["Completed"] = "completed";
192
192
  DomainRenewalStatus["Failed"] = "failed";
193
193
  })(DomainRenewalStatus = exports.DomainRenewalStatus || (exports.DomainRenewalStatus = {}));
194
+ var DomainTransferProvider;
195
+ (function (DomainTransferProvider) {
196
+ DomainTransferProvider["Dynadot"] = "dynadot";
197
+ DomainTransferProvider["NameDotCom"] = "name-dot-com";
198
+ DomainTransferProvider["NameCheap"] = "name-cheap";
199
+ })(DomainTransferProvider = exports.DomainTransferProvider || (exports.DomainTransferProvider = {}));
200
+ var DomainTransferDirection;
201
+ (function (DomainTransferDirection) {
202
+ DomainTransferDirection["TransferIn"] = "transfer_in";
203
+ DomainTransferDirection["TransferOut"] = "transfer_out";
204
+ })(DomainTransferDirection = exports.DomainTransferDirection || (exports.DomainTransferDirection = {}));
205
+ var DomainTransferStatus;
206
+ (function (DomainTransferStatus) {
207
+ DomainTransferStatus["Pending"] = "pending";
208
+ DomainTransferStatus["Completed"] = "completed";
209
+ DomainTransferStatus["Failed"] = "failed";
210
+ DomainTransferStatus["Cancelled"] = "cancelled";
211
+ })(DomainTransferStatus = exports.DomainTransferStatus || (exports.DomainTransferStatus = {}));
194
212
  var NomadDeploymentStatus;
195
213
  (function (NomadDeploymentStatus) {
196
214
  NomadDeploymentStatus["NOMAD_SETUP"] = "nomad_setup";
package/dist/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export { default as Framework } from "./framework";
30
30
  export { default as Settings } from "./settings";
31
31
  export { default as LoadBalancerPort } from "./load-balancer-port";
32
32
  export { default as DomainRenewal } from "./domain/renewal";
33
+ export { default as DomainTransfer } from "./domain/transfer";
33
34
  export { default as WebhookCategory } from "./webhook-category";
34
35
  export { default as WebhookEvent } from "./webhook-event";
35
36
  export { default as WebhookSetting } from "./webhook-setting";
@@ -44,8 +45,10 @@ export { default as CollabShareToken } from "./collab-share-token";
44
45
  export { default as CollabPushSubscription } from "./collab-push-subscription";
45
46
  export { default as AppMessage } from "./app-message";
46
47
  export { default as Invoice } from "./invoice";
47
- export { IUser, IGit, IProject, IPreview, IProjectConnection, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, IRegion, IVolume, IFramework, BrimbleFrameworkType, ISettings, ILoadBalancerPort, IDomainRenewal, IWebhookCategory, IWebhookEvent, IWebhookSetting, IIntention, IProvider, IBranch, ICollabAnnotation, ICollabComment, ICollabAttachment, ICollabIntegration, ICollabSettings, ICollabShareToken, ICollabPushSubscription, IAppMessage, IInvoice } from "./types";
48
- 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, REGION_CONTINENT, BUILD_DISABLED_BY, SERVER_PROTOCOL, FrameworkApplicationType, DomainRenewalStatus, NomadDeploymentStatus, BRANCH_TYPE, COLLAB_ANNOTATION_STATUS, COLLAB_INTEGRATION_TYPE, COLLAB_THEME, COLLAB_TOOLBAR_POSITION, INVOICE_STATUS, INVOICE_PAYMENT_STATUS, INVOICE_TYPE } from "./enum";
48
+ export { default as Tag } from "./tag";
49
+ export { default as ProjectTagAssignment } from "./project-tag-assignment";
50
+ export { IUser, IGit, IProject, IPreview, IProjectConnection, IFollowing, IIntegration, IEnv, IServer, IDomain, IToken, IMember, ITeam, IInstalledIntegration, ILog, ISubscription, ICard, IDns, IRole, IPermission, IMemberPermission, IWallet, IDbImage, IJob, ILicense, IPlanConfiguration, IAutoScalingGroup, IComputeChange, IRegion, IVolume, IFramework, BrimbleFrameworkType, ISettings, ILoadBalancerPort, IDomainRenewal, IDomainTransfer, IWebhookCategory, IWebhookEvent, IWebhookSetting, IIntention, IProvider, IBranch, ICollabAnnotation, ICollabComment, ICollabAttachment, ICollabIntegration, ICollabSettings, ICollabShareToken, ICollabPushSubscription, IAppMessage, IInvoice, ITag, IProjectTagAssignment, } from "./types";
51
+ 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, REGION_CONTINENT, BUILD_DISABLED_BY, SERVER_PROTOCOL, FrameworkApplicationType, DomainRenewalStatus, DomainTransferProvider, DomainTransferDirection, DomainTransferStatus, NomadDeploymentStatus, BRANCH_TYPE, COLLAB_ANNOTATION_STATUS, COLLAB_INTEGRATION_TYPE, COLLAB_THEME, COLLAB_TOOLBAR_POSITION, INVOICE_STATUS, INVOICE_PAYMENT_STATUS, INVOICE_TYPE } from "./enum";
49
52
  import mongoose from "mongoose";
50
53
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
51
54
  export declare const db: mongoose.Connection;
package/dist/index.js CHANGED
@@ -12,8 +12,8 @@ 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.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = exports.Invoice = exports.AppMessage = exports.CollabPushSubscription = exports.CollabShareToken = exports.CollabSettings = exports.CollabIntegration = exports.CollabComment = exports.CollabAnnotation = exports.Branch = exports.Provider = exports.Intention = exports.WebhookSetting = exports.WebhookEvent = exports.WebhookCategory = exports.DomainRenewal = exports.LoadBalancerPort = exports.Settings = exports.Framework = exports.Volume = exports.Region = 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.ProjectConnection = exports.Preview = exports.DeletedProject = exports.Project = exports.User = void 0;
16
- exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.BRANCH_TYPE = exports.NomadDeploymentStatus = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SERVER_PROTOCOL = exports.BUILD_DISABLED_BY = exports.REGION_CONTINENT = 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 = void 0;
15
+ exports.ProjectTagAssignment = exports.Tag = exports.Invoice = exports.AppMessage = exports.CollabPushSubscription = exports.CollabShareToken = exports.CollabSettings = exports.CollabIntegration = exports.CollabComment = exports.CollabAnnotation = exports.Branch = exports.Provider = exports.Intention = exports.WebhookSetting = exports.WebhookEvent = exports.WebhookCategory = exports.DomainTransfer = exports.DomainRenewal = exports.LoadBalancerPort = exports.Settings = exports.Framework = exports.Volume = exports.Region = 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.ProjectConnection = exports.Preview = exports.DeletedProject = exports.Project = exports.User = void 0;
16
+ exports.healthCheckMongo = exports.closeMongo = exports.db = exports.connectToMongo = exports.INVOICE_TYPE = exports.INVOICE_PAYMENT_STATUS = exports.INVOICE_STATUS = exports.COLLAB_TOOLBAR_POSITION = exports.COLLAB_THEME = exports.COLLAB_INTEGRATION_TYPE = exports.COLLAB_ANNOTATION_STATUS = exports.BRANCH_TYPE = exports.NomadDeploymentStatus = exports.DomainTransferStatus = exports.DomainTransferDirection = exports.DomainTransferProvider = exports.DomainRenewalStatus = exports.FrameworkApplicationType = exports.SERVER_PROTOCOL = exports.BUILD_DISABLED_BY = exports.REGION_CONTINENT = 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 = void 0;
17
17
  var user_1 = require("./user");
18
18
  Object.defineProperty(exports, "User", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
19
19
  var project_1 = require("./project");
@@ -79,6 +79,8 @@ var load_balancer_port_1 = require("./load-balancer-port");
79
79
  Object.defineProperty(exports, "LoadBalancerPort", { enumerable: true, get: function () { return __importDefault(load_balancer_port_1).default; } });
80
80
  var renewal_1 = require("./domain/renewal");
81
81
  Object.defineProperty(exports, "DomainRenewal", { enumerable: true, get: function () { return __importDefault(renewal_1).default; } });
82
+ var transfer_1 = require("./domain/transfer");
83
+ Object.defineProperty(exports, "DomainTransfer", { enumerable: true, get: function () { return __importDefault(transfer_1).default; } });
82
84
  var webhook_category_1 = require("./webhook-category");
83
85
  Object.defineProperty(exports, "WebhookCategory", { enumerable: true, get: function () { return __importDefault(webhook_category_1).default; } });
84
86
  var webhook_event_1 = require("./webhook-event");
@@ -107,6 +109,10 @@ var app_message_1 = require("./app-message");
107
109
  Object.defineProperty(exports, "AppMessage", { enumerable: true, get: function () { return __importDefault(app_message_1).default; } });
108
110
  var invoice_1 = require("./invoice");
109
111
  Object.defineProperty(exports, "Invoice", { enumerable: true, get: function () { return __importDefault(invoice_1).default; } });
112
+ var tag_1 = require("./tag");
113
+ Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return __importDefault(tag_1).default; } });
114
+ var project_tag_assignment_1 = require("./project-tag-assignment");
115
+ Object.defineProperty(exports, "ProjectTagAssignment", { enumerable: true, get: function () { return __importDefault(project_tag_assignment_1).default; } });
110
116
  var enum_1 = require("./enum");
111
117
  Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
112
118
  Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
@@ -131,6 +137,9 @@ Object.defineProperty(exports, "BUILD_DISABLED_BY", { enumerable: true, get: fun
131
137
  Object.defineProperty(exports, "SERVER_PROTOCOL", { enumerable: true, get: function () { return enum_1.SERVER_PROTOCOL; } });
132
138
  Object.defineProperty(exports, "FrameworkApplicationType", { enumerable: true, get: function () { return enum_1.FrameworkApplicationType; } });
133
139
  Object.defineProperty(exports, "DomainRenewalStatus", { enumerable: true, get: function () { return enum_1.DomainRenewalStatus; } });
140
+ Object.defineProperty(exports, "DomainTransferProvider", { enumerable: true, get: function () { return enum_1.DomainTransferProvider; } });
141
+ Object.defineProperty(exports, "DomainTransferDirection", { enumerable: true, get: function () { return enum_1.DomainTransferDirection; } });
142
+ Object.defineProperty(exports, "DomainTransferStatus", { enumerable: true, get: function () { return enum_1.DomainTransferStatus; } });
134
143
  Object.defineProperty(exports, "NomadDeploymentStatus", { enumerable: true, get: function () { return enum_1.NomadDeploymentStatus; } });
135
144
  Object.defineProperty(exports, "BRANCH_TYPE", { enumerable: true, get: function () { return enum_1.BRANCH_TYPE; } });
136
145
  Object.defineProperty(exports, "COLLAB_ANNOTATION_STATUS", { enumerable: true, get: function () { return enum_1.COLLAB_ANNOTATION_STATUS; } });
@@ -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 { IProjectTagAssignment } from "./types";
27
+ declare const _default: import("mongoose").Model<IProjectTagAssignment, {}, {}, {}, import("mongoose").Document<unknown, {}, IProjectTagAssignment> & IProjectTagAssignment & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const projectTagAssignmentSchema = new mongoose_1.Schema({
5
+ tagId: {
6
+ type: mongoose_1.Schema.Types.ObjectId,
7
+ ref: "Tag",
8
+ required: true,
9
+ },
10
+ projectId: {
11
+ type: mongoose_1.Schema.Types.ObjectId,
12
+ ref: "Project",
13
+ required: true,
14
+ },
15
+ teamId: {
16
+ type: mongoose_1.Schema.Types.ObjectId,
17
+ ref: "Team",
18
+ default: null,
19
+ },
20
+ assignedBy: {
21
+ type: mongoose_1.Schema.Types.ObjectId,
22
+ ref: "User",
23
+ required: true,
24
+ },
25
+ }, {
26
+ timestamps: true,
27
+ collection: "project_tag_assignments",
28
+ });
29
+ projectTagAssignmentSchema.index({ tagId: 1, projectId: 1 }, { unique: true });
30
+ projectTagAssignmentSchema.index({ projectId: 1 });
31
+ projectTagAssignmentSchema.index({ teamId: 1 });
32
+ exports.default = (0, mongoose_1.model)("ProjectTagAssignment", projectTagAssignmentSchema);
package/dist/tag.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 { ITag } from "./types";
27
+ declare const _default: import("mongoose").Model<ITag, {}, {}, {}, import("mongoose").Document<unknown, {}, ITag> & ITag & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
package/dist/tag.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const tagSchema = new mongoose_1.Schema({
5
+ name: {
6
+ type: String,
7
+ required: true,
8
+ trim: true,
9
+ },
10
+ color: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ teamId: {
15
+ type: mongoose_1.Schema.Types.ObjectId,
16
+ ref: "Team",
17
+ default: null,
18
+ },
19
+ createdBy: {
20
+ type: mongoose_1.Schema.Types.ObjectId,
21
+ ref: "User",
22
+ required: true,
23
+ },
24
+ }, {
25
+ timestamps: true,
26
+ collection: "tags",
27
+ });
28
+ tagSchema.index({ teamId: 1, name: 1 }, { unique: true });
29
+ exports.default = (0, mongoose_1.model)("Tag", tagSchema);
@@ -0,0 +1,27 @@
1
+ import { Document } from "mongoose";
2
+ import { IDomain, IProject, ITeam, IUser } from "../";
3
+ import { DomainTransferDirection, DomainTransferProvider, DomainTransferStatus } from "../../enum";
4
+ export interface IDomainTransfer extends Document {
5
+ domain_id: IDomain;
6
+ domain_name: string;
7
+ user_id: IUser;
8
+ team_id?: ITeam;
9
+ provider: DomainTransferProvider;
10
+ direction: DomainTransferDirection;
11
+ status: DomainTransferStatus;
12
+ provider_transfer_id?: string;
13
+ payment_reference?: string;
14
+ payment_token?: string;
15
+ payment_amount?: number;
16
+ renewal_price?: number;
17
+ auto_renewal?: boolean;
18
+ privacy_enabled?: boolean;
19
+ renewal_duration?: number;
20
+ project_id?: IProject;
21
+ last_polled_at?: Date;
22
+ poll_count: number;
23
+ last_provider_status?: string;
24
+ failure_reason?: string;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,6 +6,7 @@ export type { IDbImage } from "./db-image";
6
6
  export type { IDomain } from "./domain";
7
7
  export type { IDns } from "./domain/dns";
8
8
  export type { IDomainRenewal } from "./domain/renewal";
9
+ export type { IDomainTransfer } from "./domain/transfer";
9
10
  export type { IEnv } from "./env";
10
11
  export type { IFollowing } from "./following";
11
12
  export type { BrimbleFrameworkType, IFramework } from "./framework";
@@ -46,3 +47,5 @@ export type { ICollabShareToken } from "./collab-share-token";
46
47
  export type { ICollabPushSubscription } from "./collab-push-subscription";
47
48
  export type { IAppMessage } from "./app-message";
48
49
  export type { IInvoice } from "./invoice";
50
+ export type { IProjectTagAssignment } from "./project-tag-assignment";
51
+ export type { ITag } from "./tag";
@@ -0,0 +1,13 @@
1
+ import { Document } from "mongoose";
2
+ import { ITag } from "./tag";
3
+ import { IProject } from "./project";
4
+ import { ITeam } from "./team";
5
+ import { IUser } from "./user";
6
+ export interface IProjectTagAssignment extends Document {
7
+ tagId: ITag;
8
+ projectId: IProject;
9
+ teamId: ITeam;
10
+ assignedBy: IUser;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { Document } from "mongoose";
2
+ import { ITeam } from "./team";
3
+ import { IUser } from "./user";
4
+ export interface ITag extends Document {
5
+ name: string;
6
+ color: string;
7
+ teamId: ITeam;
8
+ createdBy: IUser;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,112 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { IDomainTransfer } from "../types";
3
+ import {
4
+ DomainTransferDirection,
5
+ DomainTransferProvider,
6
+ DomainTransferStatus,
7
+ } from "../enum";
8
+
9
+ const domainTransferSchema = new Schema(
10
+ {
11
+ domain_id: {
12
+ ref: "Domain",
13
+ type: Schema.Types.ObjectId,
14
+ required: true,
15
+ },
16
+ domain_name: {
17
+ type: String,
18
+ required: true,
19
+ trim: true,
20
+ },
21
+ user_id: {
22
+ ref: "User",
23
+ type: Schema.Types.ObjectId,
24
+ required: true,
25
+ },
26
+ team_id: {
27
+ ref: "Team",
28
+ type: Schema.Types.ObjectId,
29
+ required: false,
30
+ },
31
+ provider: {
32
+ type: String,
33
+ required: true,
34
+ enum: Object.values(DomainTransferProvider),
35
+ },
36
+ direction: {
37
+ type: String,
38
+ required: true,
39
+ enum: Object.values(DomainTransferDirection),
40
+ },
41
+ status: {
42
+ type: String,
43
+ required: true,
44
+ enum: Object.values(DomainTransferStatus),
45
+ },
46
+ provider_transfer_id: {
47
+ type: String,
48
+ required: false,
49
+ },
50
+ payment_reference: {
51
+ type: String,
52
+ required: false,
53
+ },
54
+ payment_token: {
55
+ type: String,
56
+ required: false,
57
+ },
58
+ payment_amount: {
59
+ type: Number,
60
+ required: false,
61
+ },
62
+ renewal_price: {
63
+ type: Number,
64
+ required: false,
65
+ },
66
+ auto_renewal: {
67
+ type: Boolean,
68
+ required: false,
69
+ },
70
+ privacy_enabled: {
71
+ type: Boolean,
72
+ required: false,
73
+ },
74
+ renewal_duration: {
75
+ type: Number,
76
+ required: false,
77
+ },
78
+ project_id: {
79
+ ref: "Project",
80
+ type: Schema.Types.ObjectId,
81
+ required: false,
82
+ },
83
+ last_polled_at: {
84
+ type: Date,
85
+ required: false,
86
+ },
87
+ poll_count: {
88
+ type: Number,
89
+ required: true,
90
+ default: 0,
91
+ min: 0,
92
+ },
93
+ last_provider_status: {
94
+ type: String,
95
+ required: false,
96
+ },
97
+ failure_reason: {
98
+ type: String,
99
+ required: false,
100
+ },
101
+ },
102
+ { timestamps: true },
103
+ );
104
+
105
+ domainTransferSchema.index({ status: 1, direction: 1 });
106
+ domainTransferSchema.index({ domain_id: 1 });
107
+
108
+ export default model<IDomainTransfer>(
109
+ "DomainTransfer",
110
+ domainTransferSchema,
111
+ "domain_transfers",
112
+ );
package/enum/index.ts CHANGED
@@ -188,6 +188,24 @@ export enum DomainRenewalStatus {
188
188
  Failed = "failed",
189
189
  }
190
190
 
191
+ export enum DomainTransferProvider {
192
+ Dynadot = "dynadot",
193
+ NameDotCom = "name-dot-com",
194
+ NameCheap = "name-cheap",
195
+ }
196
+
197
+ export enum DomainTransferDirection {
198
+ TransferIn = "transfer_in",
199
+ TransferOut = "transfer_out",
200
+ }
201
+
202
+ export enum DomainTransferStatus {
203
+ Pending = "pending",
204
+ Completed = "completed",
205
+ Failed = "failed",
206
+ Cancelled = "cancelled",
207
+ }
208
+
191
209
  export enum NomadDeploymentStatus {
192
210
  NOMAD_SETUP = 'nomad_setup',
193
211
  NOMAD_READY = 'nomad_ready',
package/index.ts CHANGED
@@ -30,6 +30,7 @@ export { default as Framework } from "./framework";
30
30
  export { default as Settings } from "./settings";
31
31
  export { default as LoadBalancerPort } from "./load-balancer-port";
32
32
  export { default as DomainRenewal } from "./domain/renewal";
33
+ export { default as DomainTransfer } from "./domain/transfer";
33
34
  export { default as WebhookCategory } from "./webhook-category";
34
35
  export { default as WebhookEvent } from "./webhook-event";
35
36
  export { default as WebhookSetting } from "./webhook-setting";
@@ -44,6 +45,8 @@ export { default as CollabShareToken } from "./collab-share-token";
44
45
  export { default as CollabPushSubscription } from "./collab-push-subscription";
45
46
  export { default as AppMessage } from "./app-message";
46
47
  export { default as Invoice } from "./invoice";
48
+ export { default as Tag } from "./tag";
49
+ export { default as ProjectTagAssignment } from "./project-tag-assignment";
47
50
 
48
51
  export {
49
52
  IUser,
@@ -81,6 +84,7 @@ export {
81
84
  ISettings,
82
85
  ILoadBalancerPort,
83
86
  IDomainRenewal,
87
+ IDomainTransfer,
84
88
  IWebhookCategory,
85
89
  IWebhookEvent,
86
90
  IWebhookSetting,
@@ -95,7 +99,9 @@ export {
95
99
  ICollabShareToken,
96
100
  ICollabPushSubscription,
97
101
  IAppMessage,
98
- IInvoice
102
+ IInvoice,
103
+ ITag,
104
+ IProjectTagAssignment,
99
105
  } from "./types";
100
106
  export {
101
107
  GIT_TYPE,
@@ -121,6 +127,9 @@ export {
121
127
  SERVER_PROTOCOL,
122
128
  FrameworkApplicationType,
123
129
  DomainRenewalStatus,
130
+ DomainTransferProvider,
131
+ DomainTransferDirection,
132
+ DomainTransferStatus,
124
133
  NomadDeploymentStatus,
125
134
  BRANCH_TYPE,
126
135
  COLLAB_ANNOTATION_STATUS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.7.99",
3
+ "version": "3.8.2",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,40 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { IProjectTagAssignment } from "./types";
3
+
4
+ const projectTagAssignmentSchema: Schema = new Schema(
5
+ {
6
+ tagId: {
7
+ type: Schema.Types.ObjectId,
8
+ ref: "Tag",
9
+ required: true,
10
+ },
11
+ projectId: {
12
+ type: Schema.Types.ObjectId,
13
+ ref: "Project",
14
+ required: true,
15
+ },
16
+ teamId: {
17
+ type: Schema.Types.ObjectId,
18
+ ref: "Team",
19
+ default: null,
20
+ },
21
+ assignedBy: {
22
+ type: Schema.Types.ObjectId,
23
+ ref: "User",
24
+ required: true,
25
+ },
26
+ },
27
+ {
28
+ timestamps: true,
29
+ collection: "project_tag_assignments",
30
+ },
31
+ );
32
+
33
+ projectTagAssignmentSchema.index({ tagId: 1, projectId: 1 }, { unique: true });
34
+ projectTagAssignmentSchema.index({ projectId: 1 });
35
+ projectTagAssignmentSchema.index({ teamId: 1 });
36
+
37
+ export default model<IProjectTagAssignment>(
38
+ "ProjectTagAssignment",
39
+ projectTagAssignmentSchema,
40
+ );
package/tag.ts ADDED
@@ -0,0 +1,34 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { ITag } from "./types";
3
+
4
+ const tagSchema: Schema = new Schema(
5
+ {
6
+ name: {
7
+ type: String,
8
+ required: true,
9
+ trim: true,
10
+ },
11
+ color: {
12
+ type: String,
13
+ required: true,
14
+ },
15
+ teamId: {
16
+ type: Schema.Types.ObjectId,
17
+ ref: "Team",
18
+ default: null,
19
+ },
20
+ createdBy: {
21
+ type: Schema.Types.ObjectId,
22
+ ref: "User",
23
+ required: true,
24
+ },
25
+ },
26
+ {
27
+ timestamps: true,
28
+ collection: "tags",
29
+ },
30
+ );
31
+
32
+ tagSchema.index({ teamId: 1, name: 1 }, { unique: true });
33
+
34
+ export default model<ITag>("Tag", tagSchema);
@@ -0,0 +1,32 @@
1
+ import { Document } from "mongoose";
2
+ import { IDomain, IProject, ITeam, IUser } from "../";
3
+ import {
4
+ DomainTransferDirection,
5
+ DomainTransferProvider,
6
+ DomainTransferStatus,
7
+ } from "../../enum";
8
+
9
+ export interface IDomainTransfer extends Document {
10
+ domain_id: IDomain;
11
+ domain_name: string;
12
+ user_id: IUser;
13
+ team_id?: ITeam;
14
+ provider: DomainTransferProvider;
15
+ direction: DomainTransferDirection;
16
+ status: DomainTransferStatus;
17
+ provider_transfer_id?: string;
18
+ payment_reference?: string;
19
+ payment_token?: string;
20
+ payment_amount?: number;
21
+ renewal_price?: number;
22
+ auto_renewal?: boolean;
23
+ privacy_enabled?: boolean;
24
+ renewal_duration?: number;
25
+ project_id?: IProject;
26
+ last_polled_at?: Date;
27
+ poll_count: number;
28
+ last_provider_status?: string;
29
+ failure_reason?: string;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ }
package/types/index.ts CHANGED
@@ -6,6 +6,7 @@ export type { IDbImage } from "./db-image";
6
6
  export type { IDomain } from "./domain";
7
7
  export type { IDns } from "./domain/dns";
8
8
  export type { IDomainRenewal } from "./domain/renewal";
9
+ export type { IDomainTransfer } from "./domain/transfer";
9
10
  export type { IEnv } from "./env";
10
11
  export type { IFollowing } from "./following";
11
12
  export type { BrimbleFrameworkType, IFramework } from "./framework";
@@ -46,3 +47,5 @@ export type { ICollabShareToken } from "./collab-share-token";
46
47
  export type { ICollabPushSubscription } from "./collab-push-subscription";
47
48
  export type { IAppMessage } from "./app-message";
48
49
  export type { IInvoice } from "./invoice";
50
+ export type { IProjectTagAssignment } from "./project-tag-assignment";
51
+ export type { ITag } from "./tag";
@@ -0,0 +1,14 @@
1
+ import { Document } from "mongoose";
2
+ import { ITag } from "./tag";
3
+ import { IProject } from "./project";
4
+ import { ITeam } from "./team";
5
+ import { IUser } from "./user";
6
+
7
+ export interface IProjectTagAssignment extends Document {
8
+ tagId: ITag;
9
+ projectId: IProject;
10
+ teamId: ITeam;
11
+ assignedBy: IUser;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ }
package/types/tag.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { Document } from "mongoose";
2
+ import { ITeam } from "./team";
3
+ import { IUser } from "./user";
4
+
5
+ export interface ITag extends Document {
6
+ name: string;
7
+ color: string;
8
+ teamId: ITeam;
9
+ createdBy: IUser;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }