@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.
- package/collab-annotation.ts +29 -0
- package/collab-comment.ts +27 -0
- package/collab-integration.ts +20 -0
- package/collab-settings.ts +29 -0
- package/collab-share-token.ts +15 -0
- package/dist/collab-annotation.d.ts +30 -0
- package/dist/collab-annotation.js +24 -0
- package/dist/collab-comment.d.ts +30 -0
- package/dist/collab-comment.js +19 -0
- package/dist/collab-integration.d.ts +30 -0
- package/dist/collab-integration.js +16 -0
- package/dist/collab-settings.d.ts +30 -0
- package/dist/collab-settings.js +24 -0
- package/dist/collab-share-token.d.ts +30 -0
- package/dist/collab-share-token.js +11 -0
- package/dist/enum/index.d.ts +18 -0
- package/dist/enum/index.js +23 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +16 -2
- package/dist/types/collab-annotation.d.ts +20 -0
- package/dist/types/collab-annotation.js +2 -0
- package/dist/types/collab-comment.d.ts +20 -0
- package/dist/types/collab-comment.js +2 -0
- package/dist/types/collab-integration.d.ts +11 -0
- package/dist/types/collab-integration.js +2 -0
- package/dist/types/collab-settings.d.ts +16 -0
- package/dist/types/collab-settings.js +2 -0
- package/dist/types/collab-share-token.d.ts +12 -0
- package/dist/types/collab-share-token.js +2 -0
- package/dist/types/index.d.ts +5 -0
- package/enum/index.ts +22 -0
- package/index.ts +17 -2
- package/package.json +1 -1
- package/types/collab-annotation.ts +21 -0
- package/types/collab-comment.ts +22 -0
- package/types/collab-integration.ts +12 -0
- package/types/collab-settings.ts +17 -0
- package/types/collab-share-token.ts +13 -0
- 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);
|
package/dist/enum/index.d.ts
CHANGED
|
@@ -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
|
+
}
|
package/dist/enum/index.js
CHANGED
|
@@ -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 {
|
|
40
|
-
export {
|
|
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.
|
|
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,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,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,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,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
|
+
}
|
package/dist/types/index.d.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";
|
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
|
@@ -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";
|