@brimble/models 3.7.7 → 3.7.9

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 (39) hide show
  1. package/collab-annotation.ts +29 -0
  2. package/collab-comment.ts +27 -0
  3. package/collab-integration.ts +20 -0
  4. package/collab-settings.ts +29 -0
  5. package/collab-share-token.ts +15 -0
  6. package/dist/collab-annotation.d.ts +30 -0
  7. package/dist/collab-annotation.js +24 -0
  8. package/dist/collab-comment.d.ts +30 -0
  9. package/dist/collab-comment.js +19 -0
  10. package/dist/collab-integration.d.ts +30 -0
  11. package/dist/collab-integration.js +16 -0
  12. package/dist/collab-settings.d.ts +30 -0
  13. package/dist/collab-settings.js +24 -0
  14. package/dist/collab-share-token.d.ts +30 -0
  15. package/dist/collab-share-token.js +11 -0
  16. package/dist/enum/index.d.ts +18 -0
  17. package/dist/enum/index.js +23 -1
  18. package/dist/index.d.ts +7 -2
  19. package/dist/index.js +16 -2
  20. package/dist/types/collab-annotation.d.ts +20 -0
  21. package/dist/types/collab-annotation.js +2 -0
  22. package/dist/types/collab-comment.d.ts +20 -0
  23. package/dist/types/collab-comment.js +2 -0
  24. package/dist/types/collab-integration.d.ts +11 -0
  25. package/dist/types/collab-integration.js +2 -0
  26. package/dist/types/collab-settings.d.ts +16 -0
  27. package/dist/types/collab-settings.js +2 -0
  28. package/dist/types/collab-share-token.d.ts +12 -0
  29. package/dist/types/collab-share-token.js +2 -0
  30. package/dist/types/index.d.ts +5 -0
  31. package/enum/index.ts +22 -0
  32. package/index.ts +17 -2
  33. package/package.json +1 -1
  34. package/types/collab-annotation.ts +21 -0
  35. package/types/collab-comment.ts +22 -0
  36. package/types/collab-integration.ts +12 -0
  37. package/types/collab-settings.ts +17 -0
  38. package/types/collab-share-token.ts +13 -0
  39. package/types/index.ts +5 -0
@@ -0,0 +1,29 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { COLLAB_ANNOTATION_STATUS } from "./enum";
3
+ import { ICollabAnnotation } from "./types";
4
+
5
+ const collabAnnotationSchema = new Schema(
6
+ {
7
+ projectId: { type: Schema.Types.ObjectId, ref: "Project", required: true, index: true },
8
+ userId: { type: Schema.Types.ObjectId, ref: "User", required: true },
9
+ pageUrl: { type: String, required: true },
10
+ pagePath: { type: String, required: true, index: true },
11
+ xPercent: { type: Number, required: true },
12
+ yPercent: { type: Number, required: true },
13
+ elementSelector: { type: String },
14
+ elementOffsetX: { type: Number },
15
+ elementOffsetY: { type: Number },
16
+ status: {
17
+ type: String,
18
+ enum: Object.values(COLLAB_ANNOTATION_STATUS),
19
+ default: COLLAB_ANNOTATION_STATUS.OPEN,
20
+ },
21
+ resolvedAt: { type: Date },
22
+ resolvedBy: { type: Schema.Types.ObjectId, ref: "User" },
23
+ },
24
+ { timestamps: true, collection: "collab_annotations" },
25
+ );
26
+
27
+ collabAnnotationSchema.index({ projectId: 1, pagePath: 1, status: 1 });
28
+
29
+ export default model<ICollabAnnotation>("CollabAnnotation", collabAnnotationSchema);
@@ -0,0 +1,27 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { ICollabComment, ICollabAttachment } from "./types";
3
+
4
+ const collabAttachmentSchema = new Schema<ICollabAttachment>(
5
+ {
6
+ url: { type: String, required: true },
7
+ fileName: { type: String, required: true },
8
+ fileType: { type: String, required: true },
9
+ fileSize: { type: Number, required: true },
10
+ },
11
+ { _id: false },
12
+ );
13
+
14
+ const collabCommentSchema = new Schema(
15
+ {
16
+ annotationId: { type: Schema.Types.ObjectId, ref: "CollabAnnotation", required: true, index: true },
17
+ userId: { type: Schema.Types.ObjectId, ref: "User" },
18
+ body: { type: String, required: true },
19
+ screenshot: { type: String },
20
+ attachments: { type: [collabAttachmentSchema], default: undefined },
21
+ guestName: { type: String },
22
+ guestEmail: { type: String },
23
+ },
24
+ { timestamps: true, collection: "collab_comments" },
25
+ );
26
+
27
+ export default model<ICollabComment>("CollabComment", collabCommentSchema);
@@ -0,0 +1,20 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { COLLAB_INTEGRATION_TYPE } from "./enum";
3
+ import { ICollabIntegration } from "./types";
4
+
5
+ const collabIntegrationSchema = new Schema(
6
+ {
7
+ projectId: { type: Schema.Types.ObjectId, ref: "Project", required: true, index: true },
8
+ type: {
9
+ type: String,
10
+ enum: Object.values(COLLAB_INTEGRATION_TYPE),
11
+ required: true,
12
+ },
13
+ webhookUrl: { type: String, required: true },
14
+ channelName: { type: String },
15
+ enabled: { type: Boolean, default: true },
16
+ },
17
+ { timestamps: true, collection: "collab_integrations" },
18
+ );
19
+
20
+ export default model<ICollabIntegration>("CollabIntegration", collabIntegrationSchema);
@@ -0,0 +1,29 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { COLLAB_THEME, COLLAB_TOOLBAR_POSITION } from "./enum";
3
+ import { ICollabSettings } from "./types";
4
+
5
+ const collabSettingsSchema = new Schema(
6
+ {
7
+ userId: { type: Schema.Types.ObjectId, ref: "User", required: true },
8
+ projectId: { type: Schema.Types.ObjectId, ref: "Project", required: true },
9
+ pushNotifications: { type: Boolean, default: false },
10
+ slackUrl: { type: String },
11
+ discordUrl: { type: String },
12
+ theme: {
13
+ type: String,
14
+ enum: Object.values(COLLAB_THEME),
15
+ default: COLLAB_THEME.SYSTEM,
16
+ },
17
+ toolbarPosition: {
18
+ type: String,
19
+ enum: Object.values(COLLAB_TOOLBAR_POSITION),
20
+ default: COLLAB_TOOLBAR_POSITION.BOTTOM,
21
+ },
22
+ hasOnboarded: { type: Boolean, default: false },
23
+ },
24
+ { timestamps: true, collection: "collab_settings" },
25
+ );
26
+
27
+ collabSettingsSchema.index({ userId: 1, projectId: 1 }, { unique: true });
28
+
29
+ export default model<ICollabSettings>("CollabSettings", collabSettingsSchema);
@@ -0,0 +1,15 @@
1
+ import { model, Schema } from "mongoose";
2
+ import { ICollabShareToken } from "./types";
3
+
4
+ const collabShareTokenSchema = new Schema(
5
+ {
6
+ projectId: { type: Schema.Types.ObjectId, ref: "Project", required: true, index: true },
7
+ createdBy: { type: Schema.Types.ObjectId, ref: "User", required: true },
8
+ token: { type: String, required: true, unique: true },
9
+ expiresAt: { type: Date },
10
+ isActive: { type: Boolean, default: true },
11
+ },
12
+ { timestamps: true, collection: "collab_share_tokens" },
13
+ );
14
+
15
+ export default model<ICollabShareToken>("CollabShareToken", collabShareTokenSchema);
@@ -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 { ICollabAnnotation } from "./types";
27
+ declare const _default: import("mongoose").Model<ICollabAnnotation, {}, {}, {}, import("mongoose").Document<unknown, {}, ICollabAnnotation> & ICollabAnnotation & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const enum_1 = require("./enum");
5
+ const collabAnnotationSchema = new mongoose_1.Schema({
6
+ projectId: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: true, index: true },
7
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: "User", required: true },
8
+ pageUrl: { type: String, required: true },
9
+ pagePath: { type: String, required: true, index: true },
10
+ xPercent: { type: Number, required: true },
11
+ yPercent: { type: Number, required: true },
12
+ elementSelector: { type: String },
13
+ elementOffsetX: { type: Number },
14
+ elementOffsetY: { type: Number },
15
+ status: {
16
+ type: String,
17
+ enum: Object.values(enum_1.COLLAB_ANNOTATION_STATUS),
18
+ default: enum_1.COLLAB_ANNOTATION_STATUS.OPEN,
19
+ },
20
+ resolvedAt: { type: Date },
21
+ resolvedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: "User" },
22
+ }, { timestamps: true, collection: "collab_annotations" });
23
+ collabAnnotationSchema.index({ projectId: 1, pagePath: 1, status: 1 });
24
+ exports.default = (0, mongoose_1.model)("CollabAnnotation", collabAnnotationSchema);
@@ -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 { ICollabComment } from "./types";
27
+ declare const _default: import("mongoose").Model<ICollabComment, {}, {}, {}, import("mongoose").Document<unknown, {}, ICollabComment> & ICollabComment & {
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 collabAttachmentSchema = new mongoose_1.Schema({
5
+ url: { type: String, required: true },
6
+ fileName: { type: String, required: true },
7
+ fileType: { type: String, required: true },
8
+ fileSize: { type: Number, required: true },
9
+ }, { _id: false });
10
+ const collabCommentSchema = new mongoose_1.Schema({
11
+ annotationId: { type: mongoose_1.Schema.Types.ObjectId, ref: "CollabAnnotation", required: true, index: true },
12
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: "User" },
13
+ body: { type: String, required: true },
14
+ screenshot: { type: String },
15
+ attachments: { type: [collabAttachmentSchema], default: undefined },
16
+ guestName: { type: String },
17
+ guestEmail: { type: String },
18
+ }, { timestamps: true, collection: "collab_comments" });
19
+ exports.default = (0, mongoose_1.model)("CollabComment", collabCommentSchema);
@@ -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 { ICollabIntegration } from "./types";
27
+ declare const _default: import("mongoose").Model<ICollabIntegration, {}, {}, {}, import("mongoose").Document<unknown, {}, ICollabIntegration> & ICollabIntegration & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const enum_1 = require("./enum");
5
+ const collabIntegrationSchema = new mongoose_1.Schema({
6
+ projectId: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: true, index: true },
7
+ type: {
8
+ type: String,
9
+ enum: Object.values(enum_1.COLLAB_INTEGRATION_TYPE),
10
+ required: true,
11
+ },
12
+ webhookUrl: { type: String, required: true },
13
+ channelName: { type: String },
14
+ enabled: { type: Boolean, default: true },
15
+ }, { timestamps: true, collection: "collab_integrations" });
16
+ exports.default = (0, mongoose_1.model)("CollabIntegration", collabIntegrationSchema);
@@ -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 { ICollabSettings } from "./types";
27
+ declare const _default: import("mongoose").Model<ICollabSettings, {}, {}, {}, import("mongoose").Document<unknown, {}, ICollabSettings> & ICollabSettings & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const enum_1 = require("./enum");
5
+ const collabSettingsSchema = new mongoose_1.Schema({
6
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: "User", required: true },
7
+ projectId: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: true },
8
+ pushNotifications: { type: Boolean, default: false },
9
+ slackUrl: { type: String },
10
+ discordUrl: { type: String },
11
+ theme: {
12
+ type: String,
13
+ enum: Object.values(enum_1.COLLAB_THEME),
14
+ default: enum_1.COLLAB_THEME.SYSTEM,
15
+ },
16
+ toolbarPosition: {
17
+ type: String,
18
+ enum: Object.values(enum_1.COLLAB_TOOLBAR_POSITION),
19
+ default: enum_1.COLLAB_TOOLBAR_POSITION.BOTTOM,
20
+ },
21
+ hasOnboarded: { type: Boolean, default: false },
22
+ }, { timestamps: true, collection: "collab_settings" });
23
+ collabSettingsSchema.index({ userId: 1, projectId: 1 }, { unique: true });
24
+ exports.default = (0, mongoose_1.model)("CollabSettings", collabSettingsSchema);
@@ -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 { ICollabShareToken } from "./types";
27
+ declare const _default: import("mongoose").Model<ICollabShareToken, {}, {}, {}, import("mongoose").Document<unknown, {}, ICollabShareToken> & ICollabShareToken & {
28
+ _id: import("mongoose").Types.ObjectId;
29
+ }, any>;
30
+ export default _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mongoose_1 = require("mongoose");
4
+ const collabShareTokenSchema = new mongoose_1.Schema({
5
+ projectId: { type: mongoose_1.Schema.Types.ObjectId, ref: "Project", required: true, index: true },
6
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: "User", required: true },
7
+ token: { type: String, required: true, unique: true },
8
+ expiresAt: { type: Date },
9
+ isActive: { type: Boolean, default: true },
10
+ }, { timestamps: true, collection: "collab_share_tokens" });
11
+ exports.default = (0, mongoose_1.model)("CollabShareToken", collabShareTokenSchema);
@@ -172,3 +172,21 @@ export declare enum BRANCH_TYPE {
172
172
  USER_CREATED = "USER_CREATED",
173
173
  PREVIEW = "PREVIEW"
174
174
  }
175
+ export declare enum COLLAB_ANNOTATION_STATUS {
176
+ OPEN = "open",
177
+ RESOLVED = "resolved"
178
+ }
179
+ export declare enum COLLAB_INTEGRATION_TYPE {
180
+ SLACK = "slack",
181
+ DISCORD = "discord"
182
+ }
183
+ export declare enum COLLAB_THEME {
184
+ LIGHT = "light",
185
+ DARK = "dark",
186
+ SYSTEM = "system"
187
+ }
188
+ export declare enum COLLAB_TOOLBAR_POSITION {
189
+ LEFT = "left",
190
+ BOTTOM = "bottom",
191
+ RIGHT = "right"
192
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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;
4
4
  var GIT_TYPE;
5
5
  (function (GIT_TYPE) {
6
6
  GIT_TYPE["GITHUB"] = "GITHUB";
@@ -202,3 +202,25 @@ var BRANCH_TYPE;
202
202
  BRANCH_TYPE["USER_CREATED"] = "USER_CREATED";
203
203
  BRANCH_TYPE["PREVIEW"] = "PREVIEW";
204
204
  })(BRANCH_TYPE = exports.BRANCH_TYPE || (exports.BRANCH_TYPE = {}));
205
+ var COLLAB_ANNOTATION_STATUS;
206
+ (function (COLLAB_ANNOTATION_STATUS) {
207
+ COLLAB_ANNOTATION_STATUS["OPEN"] = "open";
208
+ COLLAB_ANNOTATION_STATUS["RESOLVED"] = "resolved";
209
+ })(COLLAB_ANNOTATION_STATUS = exports.COLLAB_ANNOTATION_STATUS || (exports.COLLAB_ANNOTATION_STATUS = {}));
210
+ var COLLAB_INTEGRATION_TYPE;
211
+ (function (COLLAB_INTEGRATION_TYPE) {
212
+ COLLAB_INTEGRATION_TYPE["SLACK"] = "slack";
213
+ COLLAB_INTEGRATION_TYPE["DISCORD"] = "discord";
214
+ })(COLLAB_INTEGRATION_TYPE = exports.COLLAB_INTEGRATION_TYPE || (exports.COLLAB_INTEGRATION_TYPE = {}));
215
+ var COLLAB_THEME;
216
+ (function (COLLAB_THEME) {
217
+ COLLAB_THEME["LIGHT"] = "light";
218
+ COLLAB_THEME["DARK"] = "dark";
219
+ COLLAB_THEME["SYSTEM"] = "system";
220
+ })(COLLAB_THEME = exports.COLLAB_THEME || (exports.COLLAB_THEME = {}));
221
+ var COLLAB_TOOLBAR_POSITION;
222
+ (function (COLLAB_TOOLBAR_POSITION) {
223
+ COLLAB_TOOLBAR_POSITION["LEFT"] = "left";
224
+ COLLAB_TOOLBAR_POSITION["BOTTOM"] = "bottom";
225
+ COLLAB_TOOLBAR_POSITION["RIGHT"] = "right";
226
+ })(COLLAB_TOOLBAR_POSITION = exports.COLLAB_TOOLBAR_POSITION || (exports.COLLAB_TOOLBAR_POSITION = {}));
package/dist/index.d.ts CHANGED
@@ -36,8 +36,13 @@ export { default as WebhookSetting } from "./webhook-setting";
36
36
  export { default as Intention } from "./intention";
37
37
  export { default as Provider } from "./provider";
38
38
  export { default as Branch } from "./branch";
39
- 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 } from "./types";
40
- 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 } from "./enum";
39
+ export { default as CollabAnnotation } from "./collab-annotation";
40
+ export { default as CollabComment } from "./collab-comment";
41
+ export { default as CollabIntegration } from "./collab-integration";
42
+ export { default as CollabSettings } from "./collab-settings";
43
+ export { default as CollabShareToken } from "./collab-share-token";
44
+ 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 } from "./types";
45
+ 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 } from "./enum";
41
46
  import mongoose from "mongoose";
42
47
  export declare const connectToMongo: (mongoUrl: string, config?: mongoose.ConnectOptions) => Promise<void>;
43
48
  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.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.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.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 = void 0;
15
+ exports.SERVER_STATUS = exports.ENVIRONMENT = exports.OAUTH_PERMISSIONS = exports.INTEGRATION_PROVIDERS = exports.INTEGRATION_TYPES = exports.GIT_TYPE = 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.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 = 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");
@@ -91,6 +91,16 @@ var provider_1 = require("./provider");
91
91
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return __importDefault(provider_1).default; } });
92
92
  var branch_1 = require("./branch");
93
93
  Object.defineProperty(exports, "Branch", { enumerable: true, get: function () { return __importDefault(branch_1).default; } });
94
+ var collab_annotation_1 = require("./collab-annotation");
95
+ Object.defineProperty(exports, "CollabAnnotation", { enumerable: true, get: function () { return __importDefault(collab_annotation_1).default; } });
96
+ var collab_comment_1 = require("./collab-comment");
97
+ Object.defineProperty(exports, "CollabComment", { enumerable: true, get: function () { return __importDefault(collab_comment_1).default; } });
98
+ var collab_integration_1 = require("./collab-integration");
99
+ Object.defineProperty(exports, "CollabIntegration", { enumerable: true, get: function () { return __importDefault(collab_integration_1).default; } });
100
+ var collab_settings_1 = require("./collab-settings");
101
+ Object.defineProperty(exports, "CollabSettings", { enumerable: true, get: function () { return __importDefault(collab_settings_1).default; } });
102
+ var collab_share_token_1 = require("./collab-share-token");
103
+ Object.defineProperty(exports, "CollabShareToken", { enumerable: true, get: function () { return __importDefault(collab_share_token_1).default; } });
94
104
  var enum_1 = require("./enum");
95
105
  Object.defineProperty(exports, "GIT_TYPE", { enumerable: true, get: function () { return enum_1.GIT_TYPE; } });
96
106
  Object.defineProperty(exports, "INTEGRATION_TYPES", { enumerable: true, get: function () { return enum_1.INTEGRATION_TYPES; } });
@@ -117,6 +127,10 @@ Object.defineProperty(exports, "FrameworkApplicationType", { enumerable: true, g
117
127
  Object.defineProperty(exports, "DomainRenewalStatus", { enumerable: true, get: function () { return enum_1.DomainRenewalStatus; } });
118
128
  Object.defineProperty(exports, "NomadDeploymentStatus", { enumerable: true, get: function () { return enum_1.NomadDeploymentStatus; } });
119
129
  Object.defineProperty(exports, "BRANCH_TYPE", { enumerable: true, get: function () { return enum_1.BRANCH_TYPE; } });
130
+ Object.defineProperty(exports, "COLLAB_ANNOTATION_STATUS", { enumerable: true, get: function () { return enum_1.COLLAB_ANNOTATION_STATUS; } });
131
+ Object.defineProperty(exports, "COLLAB_INTEGRATION_TYPE", { enumerable: true, get: function () { return enum_1.COLLAB_INTEGRATION_TYPE; } });
132
+ Object.defineProperty(exports, "COLLAB_THEME", { enumerable: true, get: function () { return enum_1.COLLAB_THEME; } });
133
+ Object.defineProperty(exports, "COLLAB_TOOLBAR_POSITION", { enumerable: true, get: function () { return enum_1.COLLAB_TOOLBAR_POSITION; } });
120
134
  const mongoose_1 = __importDefault(require("mongoose"));
121
135
  const utils_1 = require("@brimble/utils");
122
136
  const connectToMongo = (mongoUrl, config) => __awaiter(void 0, void 0, void 0, function* () {
@@ -0,0 +1,20 @@
1
+ import { Document } from "mongoose";
2
+ import { COLLAB_ANNOTATION_STATUS } from "../enum";
3
+ import { IUser } from "./user";
4
+ import { IProject } from "./project";
5
+ export interface ICollabAnnotation extends Document {
6
+ projectId: IProject;
7
+ userId: IUser;
8
+ pageUrl: string;
9
+ pagePath: string;
10
+ xPercent: number;
11
+ yPercent: number;
12
+ elementSelector?: string;
13
+ elementOffsetX?: number;
14
+ elementOffsetY?: number;
15
+ status: COLLAB_ANNOTATION_STATUS;
16
+ resolvedAt?: Date;
17
+ resolvedBy?: IUser;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ import { Document } from "mongoose";
2
+ import { IUser } from "./user";
3
+ import { ICollabAnnotation } from "./collab-annotation";
4
+ export interface ICollabAttachment {
5
+ url: string;
6
+ fileName: string;
7
+ fileType: string;
8
+ fileSize: number;
9
+ }
10
+ export interface ICollabComment extends Document {
11
+ annotationId: ICollabAnnotation;
12
+ userId?: IUser;
13
+ body: string;
14
+ screenshot?: string;
15
+ attachments?: ICollabAttachment[];
16
+ guestName?: string;
17
+ guestEmail?: string;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }
@@ -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 { COLLAB_INTEGRATION_TYPE } from "../enum";
3
+ import { IProject } from "./project";
4
+ export interface ICollabIntegration extends Document {
5
+ projectId: IProject;
6
+ type: COLLAB_INTEGRATION_TYPE;
7
+ webhookUrl: string;
8
+ channelName?: string;
9
+ enabled: boolean;
10
+ createdAt: Date;
11
+ }
@@ -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 { COLLAB_THEME, COLLAB_TOOLBAR_POSITION } from "../enum";
3
+ import { IUser } from "./user";
4
+ import { IProject } from "./project";
5
+ export interface ICollabSettings extends Document {
6
+ userId: IUser;
7
+ projectId: IProject;
8
+ pushNotifications: boolean;
9
+ slackUrl?: string;
10
+ discordUrl?: string;
11
+ theme: COLLAB_THEME;
12
+ toolbarPosition: COLLAB_TOOLBAR_POSITION;
13
+ hasOnboarded: boolean;
14
+ createdAt: Date;
15
+ updatedAt: Date;
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { Document } from "mongoose";
2
+ import { IUser } from "./user";
3
+ import { IProject } from "./project";
4
+ export interface ICollabShareToken extends Document {
5
+ projectId: IProject;
6
+ createdBy: IUser;
7
+ token: string;
8
+ expiresAt?: Date;
9
+ isActive: boolean;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -38,3 +38,8 @@ export type { IWallet } from "./wallet";
38
38
  export type { IWebhookCategory } from "./webhook-category";
39
39
  export type { IWebhookEvent } from "./webhook-event";
40
40
  export type { IWebhookSetting } from "./webhook-setting";
41
+ export type { ICollabAnnotation } from "./collab-annotation";
42
+ export type { ICollabComment, ICollabAttachment } from "./collab-comment";
43
+ export type { ICollabIntegration } from "./collab-integration";
44
+ export type { ICollabSettings } from "./collab-settings";
45
+ export type { ICollabShareToken } from "./collab-share-token";
package/enum/index.ts CHANGED
@@ -198,3 +198,25 @@ export enum BRANCH_TYPE {
198
198
  USER_CREATED = "USER_CREATED",
199
199
  PREVIEW = "PREVIEW",
200
200
  }
201
+
202
+ export enum COLLAB_ANNOTATION_STATUS {
203
+ OPEN = "open",
204
+ RESOLVED = "resolved",
205
+ }
206
+
207
+ export enum COLLAB_INTEGRATION_TYPE {
208
+ SLACK = "slack",
209
+ DISCORD = "discord",
210
+ }
211
+
212
+ export enum COLLAB_THEME {
213
+ LIGHT = "light",
214
+ DARK = "dark",
215
+ SYSTEM = "system",
216
+ }
217
+
218
+ export enum COLLAB_TOOLBAR_POSITION {
219
+ LEFT = "left",
220
+ BOTTOM = "bottom",
221
+ RIGHT = "right",
222
+ }
package/index.ts CHANGED
@@ -36,6 +36,11 @@ export { default as WebhookSetting } from "./webhook-setting";
36
36
  export { default as Intention } from "./intention";
37
37
  export { default as Provider } from "./provider";
38
38
  export { default as Branch } from "./branch";
39
+ export { default as CollabAnnotation } from "./collab-annotation";
40
+ export { default as CollabComment } from "./collab-comment";
41
+ export { default as CollabIntegration } from "./collab-integration";
42
+ export { default as CollabSettings } from "./collab-settings";
43
+ export { default as CollabShareToken } from "./collab-share-token";
39
44
 
40
45
  export {
41
46
  IUser,
@@ -78,7 +83,13 @@ export {
78
83
  IWebhookSetting,
79
84
  IIntention,
80
85
  IProvider,
81
- IBranch
86
+ IBranch,
87
+ ICollabAnnotation,
88
+ ICollabComment,
89
+ ICollabAttachment,
90
+ ICollabIntegration,
91
+ ICollabSettings,
92
+ ICollabShareToken
82
93
  } from "./types";
83
94
  export {
84
95
  GIT_TYPE,
@@ -105,7 +116,11 @@ export {
105
116
  FrameworkApplicationType,
106
117
  DomainRenewalStatus,
107
118
  NomadDeploymentStatus,
108
- BRANCH_TYPE
119
+ BRANCH_TYPE,
120
+ COLLAB_ANNOTATION_STATUS,
121
+ COLLAB_INTEGRATION_TYPE,
122
+ COLLAB_THEME,
123
+ COLLAB_TOOLBAR_POSITION
109
124
  } from "./enum";
110
125
 
111
126
  import mongoose from "mongoose";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brimble/models",
3
- "version": "3.7.7",
3
+ "version": "3.7.9",
4
4
  "description": "Brimble models",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,21 @@
1
+ import { Document } from "mongoose";
2
+ import { COLLAB_ANNOTATION_STATUS } from "../enum";
3
+ import { IUser } from "./user";
4
+ import { IProject } from "./project";
5
+
6
+ export interface ICollabAnnotation extends Document {
7
+ projectId: IProject;
8
+ userId: IUser;
9
+ pageUrl: string;
10
+ pagePath: string;
11
+ xPercent: number;
12
+ yPercent: number;
13
+ elementSelector?: string;
14
+ elementOffsetX?: number;
15
+ elementOffsetY?: number;
16
+ status: COLLAB_ANNOTATION_STATUS;
17
+ resolvedAt?: Date;
18
+ resolvedBy?: IUser;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }
@@ -0,0 +1,22 @@
1
+ import { Document } from "mongoose";
2
+ import { IUser } from "./user";
3
+ import { ICollabAnnotation } from "./collab-annotation";
4
+
5
+ export interface ICollabAttachment {
6
+ url: string;
7
+ fileName: string;
8
+ fileType: string;
9
+ fileSize: number;
10
+ }
11
+
12
+ export interface ICollabComment extends Document {
13
+ annotationId: ICollabAnnotation;
14
+ userId?: IUser;
15
+ body: string;
16
+ screenshot?: string;
17
+ attachments?: ICollabAttachment[];
18
+ guestName?: string;
19
+ guestEmail?: string;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ }
@@ -0,0 +1,12 @@
1
+ import { Document } from "mongoose";
2
+ import { COLLAB_INTEGRATION_TYPE } from "../enum";
3
+ import { IProject } from "./project";
4
+
5
+ export interface ICollabIntegration extends Document {
6
+ projectId: IProject;
7
+ type: COLLAB_INTEGRATION_TYPE;
8
+ webhookUrl: string;
9
+ channelName?: string;
10
+ enabled: boolean;
11
+ createdAt: Date;
12
+ }
@@ -0,0 +1,17 @@
1
+ import { Document } from "mongoose";
2
+ import { COLLAB_THEME, COLLAB_TOOLBAR_POSITION } from "../enum";
3
+ import { IUser } from "./user";
4
+ import { IProject } from "./project";
5
+
6
+ export interface ICollabSettings extends Document {
7
+ userId: IUser;
8
+ projectId: IProject;
9
+ pushNotifications: boolean;
10
+ slackUrl?: string;
11
+ discordUrl?: string;
12
+ theme: COLLAB_THEME;
13
+ toolbarPosition: COLLAB_TOOLBAR_POSITION;
14
+ hasOnboarded: boolean;
15
+ createdAt: Date;
16
+ updatedAt: Date;
17
+ }
@@ -0,0 +1,13 @@
1
+ import { Document } from "mongoose";
2
+ import { IUser } from "./user";
3
+ import { IProject } from "./project";
4
+
5
+ export interface ICollabShareToken extends Document {
6
+ projectId: IProject;
7
+ createdBy: IUser;
8
+ token: string;
9
+ expiresAt?: Date;
10
+ isActive: boolean;
11
+ createdAt: Date;
12
+ updatedAt: Date;
13
+ }
package/types/index.ts CHANGED
@@ -38,3 +38,8 @@ export type { IWallet } from "./wallet";
38
38
  export type { IWebhookCategory } from "./webhook-category";
39
39
  export type { IWebhookEvent } from "./webhook-event";
40
40
  export type { IWebhookSetting } from "./webhook-setting";
41
+ export type { ICollabAnnotation } from "./collab-annotation";
42
+ export type { ICollabComment, ICollabAttachment } from "./collab-comment";
43
+ export type { ICollabIntegration } from "./collab-integration";
44
+ export type { ICollabSettings } from "./collab-settings";
45
+ export type { ICollabShareToken } from "./collab-share-token";