@brimble/models 3.7.99 → 3.8.0

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/dist/index.d.ts CHANGED
@@ -44,7 +44,9 @@ export { default as CollabShareToken } from "./collab-share-token";
44
44
  export { default as CollabPushSubscription } from "./collab-push-subscription";
45
45
  export { default as AppMessage } from "./app-message";
46
46
  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";
47
+ export { default as Tag } from "./tag";
48
+ export { default as ProjectTagAssignment } from "./project-tag-assignment";
49
+ 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, ITag, IProjectTagAssignment, } from "./types";
48
50
  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";
49
51
  import mongoose from "mongoose";
50
52
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
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.GIT_TYPE = 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.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 = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = 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");
@@ -107,6 +107,10 @@ var app_message_1 = require("./app-message");
107
107
  Object.defineProperty(exports, "AppMessage", { enumerable: true, get: function () { return __importDefault(app_message_1).default; } });
108
108
  var invoice_1 = require("./invoice");
109
109
  Object.defineProperty(exports, "Invoice", { enumerable: true, get: function () { return __importDefault(invoice_1).default; } });
110
+ var tag_1 = require("./tag");
111
+ Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return __importDefault(tag_1).default; } });
112
+ var project_tag_assignment_1 = require("./project-tag-assignment");
113
+ Object.defineProperty(exports, "ProjectTagAssignment", { enumerable: true, get: function () { return __importDefault(project_tag_assignment_1).default; } });
110
114
  var enum_1 = require("./enum");
111
115
  Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
112
116
  Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
@@ -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);
@@ -46,3 +46,5 @@ export type { ICollabShareToken } from "./collab-share-token";
46
46
  export type { ICollabPushSubscription } from "./collab-push-subscription";
47
47
  export type { IAppMessage } from "./app-message";
48
48
  export type { IInvoice } from "./invoice";
49
+ export type { IProjectTagAssignment } from "./project-tag-assignment";
50
+ 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 });
package/enum/index.ts CHANGED
@@ -239,4 +239,4 @@ export enum INVOICE_PAYMENT_STATUS {
239
239
  export enum INVOICE_TYPE {
240
240
  INVOICE = "invoice",
241
241
  RECEIPT = "receipt",
242
- }
242
+ }
package/index.ts CHANGED
@@ -44,6 +44,8 @@ export { default as CollabShareToken } from "./collab-share-token";
44
44
  export { default as CollabPushSubscription } from "./collab-push-subscription";
45
45
  export { default as AppMessage } from "./app-message";
46
46
  export { default as Invoice } from "./invoice";
47
+ export { default as Tag } from "./tag";
48
+ export { default as ProjectTagAssignment } from "./project-tag-assignment";
47
49
 
48
50
  export {
49
51
  IUser,
@@ -95,7 +97,9 @@ export {
95
97
  ICollabShareToken,
96
98
  ICollabPushSubscription,
97
99
  IAppMessage,
98
- IInvoice
100
+ IInvoice,
101
+ ITag,
102
+ IProjectTagAssignment,
99
103
  } from "./types";
100
104
  export {
101
105
  GIT_TYPE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.7.99",
3
+ "version": "3.8.0",
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);
package/types/index.ts CHANGED
@@ -46,3 +46,5 @@ export type { ICollabShareToken } from "./collab-share-token";
46
46
  export type { ICollabPushSubscription } from "./collab-push-subscription";
47
47
  export type { IAppMessage } from "./app-message";
48
48
  export type { IInvoice } from "./invoice";
49
+ export type { IProjectTagAssignment } from "./project-tag-assignment";
50
+ 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
+ }