codebase-models 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -30,6 +30,7 @@ import Report from "./src/models/Report";
30
30
  import Test from "./src/models/Test";
31
31
  import TestSequentialValue from "./src/models/TestSequentialValue";
32
32
  import User from "./src/models/User";
33
+ import AppEvent from "./src/models/AppEvent";
33
34
  import Announcement from "./src/models/Announcement";
34
35
  import ClientAdditionalRevenue from "./src/models/ClientAdditionalRevenue";
35
36
  import ClientLearning from "./src/models/ClientLearning";
@@ -40,6 +41,7 @@ import ClientRetention from "./src/models/ClientRetention";
40
41
  import ClientStrategy from "./src/models/ClientStrategy";
41
42
  import ClientSurvey from "./src/models/ClientSurvay";
42
43
  import CVRReport from "./src/models/CVRReport";
44
+ import Experiments from "./src/models/Experiments";
43
45
  import Faq from "./src/models/Faqs";
44
46
  import Feedback from "./src/models/Feedback";
45
47
  import Goal from "./src/models/Goal";
@@ -48,6 +50,7 @@ import HypothesisSheet from "./src/models/HypothesisSheet";
48
50
  import LandingPages from "./src/models/LandingPages";
49
51
  import NewIdeas from "./src/models/NewIdeas";
50
52
  import Notification from "./src/models/Notification";
53
+ import Page from "./src/models/Page";
51
54
  import PageElement from "./src/models/PageElement";
52
55
  import PageTestType from "./src/models/PageTestType";
53
56
  import Portfolio from "./src/models/Portfolio";
@@ -62,5 +65,9 @@ import Tag from "./src/models/Tag";
62
65
  import Temp from "./src/models/Temp";
63
66
  import Tier from "./src/models/Tier";
64
67
  import Trigger from "./src/models/Trigger";
68
+ import ClientScript from "./src/models/ClientScript";
69
+ import ClientExperiment from "./src/models/ClientExperiment";
70
+ import Audience from "./src/models/Audience";
71
+ import Environment from './src/models/Environment';
65
72
  export declare function connect(uri: string, options?: mongoose.ConnectOptions | undefined): Promise<typeof mongoose>;
66
- export { Client, ClientReportsTemp, QueryLog, Report, Test, TestSequentialValue, User, Announcement, ClientAdditionalRevenue, ClientLearning, ClientLinks, ClientNextStep, ClientNote, ClientRetention, ClientStrategy, ClientSurvey, CVRReport, Faq, Feedback, Goal, Hypothesis, HypothesisSheet, LandingPages, NewIdeas, Notification, PageElement, PageTestType, Portfolio, ReadNotification, Role, SavedSegment, Segment, SegmentCombination, Snippet, StageInCustomerJourney, Tag, Temp, Tier, Trigger, };
73
+ export { Client, ClientReportsTemp, QueryLog, Report, Test, TestSequentialValue, User, AppEvent, Announcement, ClientAdditionalRevenue, ClientLearning, ClientLinks, ClientNextStep, ClientNote, ClientRetention, ClientStrategy, ClientSurvey, CVRReport, Experiments, Faq, Feedback, Goal, Hypothesis, HypothesisSheet, LandingPages, NewIdeas, Notification, Page, PageElement, PageTestType, Portfolio, ReadNotification, Role, SavedSegment, Segment, SegmentCombination, Snippet, StageInCustomerJourney, Tag, Temp, Tier, Trigger, ClientScript, ClientExperiment, Audience, Environment };
package/dist/index.js CHANGED
@@ -1,9 +1,18 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Trigger = exports.Tier = exports.Temp = exports.Tag = exports.StageInCustomerJourney = exports.Snippet = exports.SegmentCombination = exports.Segment = exports.SavedSegment = exports.Role = exports.ReadNotification = exports.Portfolio = exports.PageTestType = exports.PageElement = exports.Notification = exports.NewIdeas = exports.LandingPages = exports.HypothesisSheet = exports.Hypothesis = exports.Goal = exports.Feedback = exports.Faq = exports.CVRReport = exports.ClientSurvey = exports.ClientStrategy = exports.ClientRetention = exports.ClientNote = exports.ClientNextStep = exports.ClientLinks = exports.ClientLearning = exports.ClientAdditionalRevenue = exports.Announcement = exports.User = exports.TestSequentialValue = exports.Test = exports.Report = exports.QueryLog = exports.ClientReportsTemp = exports.Client = exports.connect = void 0;
15
+ exports.Environment = exports.Audience = exports.ClientExperiment = exports.ClientScript = exports.Trigger = exports.Tier = exports.Temp = exports.Tag = exports.StageInCustomerJourney = exports.Snippet = exports.SegmentCombination = exports.Segment = exports.SavedSegment = exports.Role = exports.ReadNotification = exports.Portfolio = exports.PageTestType = exports.PageElement = exports.Page = exports.Notification = exports.NewIdeas = exports.LandingPages = exports.HypothesisSheet = exports.Hypothesis = exports.Goal = exports.Feedback = exports.Faq = exports.Experiments = exports.CVRReport = exports.ClientSurvey = exports.ClientStrategy = exports.ClientRetention = exports.ClientNote = exports.ClientNextStep = exports.ClientLinks = exports.ClientLearning = exports.ClientAdditionalRevenue = exports.Announcement = exports.AppEvent = exports.User = exports.TestSequentialValue = exports.Test = exports.Report = exports.QueryLog = exports.ClientReportsTemp = exports.Client = exports.connect = void 0;
7
16
  const mongoose_1 = __importDefault(require("mongoose"));
8
17
  const Client_1 = __importDefault(require("./src/models/Client"));
9
18
  exports.Client = Client_1.default;
@@ -19,6 +28,8 @@ const TestSequentialValue_1 = __importDefault(require("./src/models/TestSequenti
19
28
  exports.TestSequentialValue = TestSequentialValue_1.default;
20
29
  const User_1 = __importDefault(require("./src/models/User"));
21
30
  exports.User = User_1.default;
31
+ const AppEvent_1 = __importDefault(require("./src/models/AppEvent"));
32
+ exports.AppEvent = AppEvent_1.default;
22
33
  const Announcement_1 = __importDefault(require("./src/models/Announcement"));
23
34
  exports.Announcement = Announcement_1.default;
24
35
  const ClientAdditionalRevenue_1 = __importDefault(require("./src/models/ClientAdditionalRevenue"));
@@ -39,6 +50,8 @@ const ClientSurvay_1 = __importDefault(require("./src/models/ClientSurvay"));
39
50
  exports.ClientSurvey = ClientSurvay_1.default;
40
51
  const CVRReport_1 = __importDefault(require("./src/models/CVRReport"));
41
52
  exports.CVRReport = CVRReport_1.default;
53
+ const Experiments_1 = __importDefault(require("./src/models/Experiments"));
54
+ exports.Experiments = Experiments_1.default;
42
55
  const Faqs_1 = __importDefault(require("./src/models/Faqs"));
43
56
  exports.Faq = Faqs_1.default;
44
57
  const Feedback_1 = __importDefault(require("./src/models/Feedback"));
@@ -55,6 +68,8 @@ const NewIdeas_1 = __importDefault(require("./src/models/NewIdeas"));
55
68
  exports.NewIdeas = NewIdeas_1.default;
56
69
  const Notification_1 = __importDefault(require("./src/models/Notification"));
57
70
  exports.Notification = Notification_1.default;
71
+ const Page_1 = __importDefault(require("./src/models/Page"));
72
+ exports.Page = Page_1.default;
58
73
  const PageElement_1 = __importDefault(require("./src/models/PageElement"));
59
74
  exports.PageElement = PageElement_1.default;
60
75
  const PageTestType_1 = __importDefault(require("./src/models/PageTestType"));
@@ -83,11 +98,50 @@ const Tier_1 = __importDefault(require("./src/models/Tier"));
83
98
  exports.Tier = Tier_1.default;
84
99
  const Trigger_1 = __importDefault(require("./src/models/Trigger"));
85
100
  exports.Trigger = Trigger_1.default;
101
+ const ClientScript_1 = __importDefault(require("./src/models/ClientScript"));
102
+ exports.ClientScript = ClientScript_1.default;
103
+ const ClientExperiment_1 = __importDefault(require("./src/models/ClientExperiment"));
104
+ exports.ClientExperiment = ClientExperiment_1.default;
105
+ const Audience_1 = __importDefault(require("./src/models/Audience"));
106
+ exports.Audience = Audience_1.default;
107
+ const Environment_1 = __importDefault(require("./src/models/Environment"));
108
+ exports.Environment = Environment_1.default;
109
+ function seedRoles() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const checkRoles = yield Role_1.default.countDocuments();
112
+ if (checkRoles < 5) {
113
+ Promise.all(["USER", "ADMIN", "EDITOR", "OPTIMIZER", "CLIENT"].map((name) => {
114
+ Role_1.default.bulkWrite([
115
+ {
116
+ updateOne: {
117
+ filter: {
118
+ name: name,
119
+ },
120
+ update: {
121
+ $set: {
122
+ name,
123
+ },
124
+ },
125
+ upsert: true,
126
+ },
127
+ },
128
+ ]);
129
+ }));
130
+ }
131
+ });
132
+ }
86
133
  function connect(uri, options) {
87
- if (uri) {
88
- console.log("Connecting to the database on URI: ", uri);
89
- return mongoose_1.default.connect(uri, options);
90
- }
91
- throw new Error("URI is required to connect to the database");
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ if (uri) {
136
+ console.log("Connecting to the database on URI: ", uri);
137
+ const mongooseConnection = yield mongoose_1.default.connect(uri, options);
138
+ if (mongooseConnection.connection.readyState === 1) {
139
+ yield seedRoles();
140
+ console.log("Roles seeded successfully");
141
+ }
142
+ return mongooseConnection;
143
+ }
144
+ throw new Error("URI is required to connect to the database");
145
+ });
92
146
  }
93
147
  exports.connect = connect;
@@ -0,0 +1,56 @@
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/types/inferschematype" />
25
+ import mongoose, { Document } from "mongoose";
26
+ export interface IPerformanceMetrics extends Document {
27
+ pageLoadTime?: string;
28
+ serverResponseTime?: string;
29
+ }
30
+ export interface IEngagementMetrics extends Document {
31
+ bounceRate?: string;
32
+ sessionDuration?: string;
33
+ returnVisits?: string;
34
+ }
35
+ export interface IBrowser extends Document {
36
+ browserName: string;
37
+ browserVersion?: string;
38
+ }
39
+ export interface IOs extends Document {
40
+ osName: string;
41
+ osVersion?: string;
42
+ }
43
+ export interface IAppEvent extends Document {
44
+ clientId?: mongoose.Schema.Types.ObjectId;
45
+ variant?: string;
46
+ viewId?: boolean;
47
+ browser?: IBrowser;
48
+ os?: IOs;
49
+ eventName?: string;
50
+ performanceMetrics?: IPerformanceMetrics;
51
+ engagementMetrics?: IEngagementMetrics;
52
+ }
53
+ declare const AppEvent: mongoose.Model<IAppEvent, {}, {}, {}, mongoose.Document<unknown, {}, IAppEvent> & IAppEvent & {
54
+ _id: mongoose.Types.ObjectId;
55
+ }, any>;
56
+ export default AppEvent;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mongoose_1 = __importStar(require("mongoose"));
27
+ const PerformanceMetricsSchema = new mongoose_1.Schema({
28
+ browserName: mongoose_1.default.Schema.Types.String,
29
+ browserVersion: mongoose_1.default.Schema.Types.String,
30
+ });
31
+ const EngagementMetricsSchema = new mongoose_1.Schema({
32
+ browserName: mongoose_1.default.Schema.Types.String,
33
+ browserVersion: mongoose_1.default.Schema.Types.String,
34
+ });
35
+ const browserSchema = new mongoose_1.Schema({
36
+ browserName: mongoose_1.default.Schema.Types.String,
37
+ browserVersion: mongoose_1.default.Schema.Types.String,
38
+ });
39
+ const osSchema = new mongoose_1.Schema({
40
+ osName: mongoose_1.default.Schema.Types.String,
41
+ osVersion: mongoose_1.default.Schema.Types.String,
42
+ });
43
+ const AppEventsSchema = new mongoose_1.Schema({
44
+ clientId: {
45
+ type: mongoose_1.default.Schema.Types.ObjectId,
46
+ ref: "client",
47
+ required: true,
48
+ },
49
+ variant: {
50
+ type: mongoose_1.default.Schema.Types.String,
51
+ },
52
+ viewId: {
53
+ type: String,
54
+ },
55
+ eventName: {
56
+ type: String,
57
+ },
58
+ performanceMetrics: PerformanceMetricsSchema,
59
+ engagementMetrics: EngagementMetricsSchema,
60
+ browser: browserSchema,
61
+ os: osSchema,
62
+ }, {
63
+ timestamps: true,
64
+ });
65
+ const AppEvent = (0, mongoose_1.model)("appevent", AppEventsSchema);
66
+ exports.default = AppEvent;
@@ -0,0 +1,34 @@
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/types/inferschematype" />
25
+ import mongoose, { Document } from "mongoose";
26
+ export interface IAudience extends Document {
27
+ name: string;
28
+ rules_js?: string;
29
+ client: mongoose.Schema.Types.ObjectId;
30
+ }
31
+ declare const Audience: mongoose.Model<IAudience, {}, {}, {}, mongoose.Document<unknown, {}, IAudience> & IAudience & {
32
+ _id: mongoose.Types.ObjectId;
33
+ }, any>;
34
+ export default Audience;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mongoose_1 = __importStar(require("mongoose"));
27
+ const AudienceSchema = new mongoose_1.Schema({
28
+ name: {
29
+ type: String,
30
+ required: true,
31
+ },
32
+ rules_js: {
33
+ type: String,
34
+ },
35
+ client: {
36
+ type: mongoose_1.default.Schema.Types.ObjectId,
37
+ ref: "client",
38
+ }
39
+ }, {
40
+ timestamps: true,
41
+ });
42
+ const Audience = (0, mongoose_1.model)("audience", AudienceSchema);
43
+ exports.default = Audience;
@@ -0,0 +1,58 @@
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/types/inferschematype" />
25
+ import mongoose, { Document } from "mongoose";
26
+ export interface IPageTargeting extends Document {
27
+ condition: string;
28
+ routes: mongoose.Schema.Types.Mixed;
29
+ }
30
+ export interface IAudienceTargeting extends Document {
31
+ javascript: string;
32
+ }
33
+ export interface IVariants extends Document {
34
+ name: string;
35
+ javascript?: string;
36
+ css?: string;
37
+ traffic_allocation?: string;
38
+ slug?: string;
39
+ }
40
+ export interface IClientExperiment extends Document {
41
+ organisationId?: string;
42
+ client?: mongoose.Schema.Types.ObjectId;
43
+ viewId?: string;
44
+ javascript: string;
45
+ css: string;
46
+ name?: string;
47
+ status?: string;
48
+ experimentUrl: string;
49
+ pageTargeting: IPageTargeting;
50
+ audienceTargeting: IAudienceTargeting;
51
+ variants: IVariants;
52
+ createdAt?: Date;
53
+ updatedAt?: Date;
54
+ }
55
+ declare const ClientExperiment: mongoose.Model<IClientExperiment, {}, {}, {}, mongoose.Document<unknown, {}, IClientExperiment> & IClientExperiment & {
56
+ _id: mongoose.Types.ObjectId;
57
+ }, any>;
58
+ export default ClientExperiment;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const mongoose_1 = __importStar(require("mongoose"));
27
+ const PageTargetingSchema = new mongoose_1.Schema({
28
+ condition: {
29
+ type: String,
30
+ default: null,
31
+ },
32
+ routes: {
33
+ type: mongoose_1.default.Schema.Types.Mixed,
34
+ },
35
+ });
36
+ const AudienceTargetingSchema = new mongoose_1.Schema({
37
+ javascript: {
38
+ type: String,
39
+ default: "return true",
40
+ },
41
+ });
42
+ const VariantsSchema = new mongoose_1.Schema({
43
+ name: {
44
+ type: String,
45
+ default: null,
46
+ },
47
+ traffic_allocation: {
48
+ type: Number,
49
+ default: null,
50
+ },
51
+ javascript: {
52
+ type: String,
53
+ default: null,
54
+ },
55
+ css: {
56
+ type: String,
57
+ default: null,
58
+ },
59
+ slug: {
60
+ type: String,
61
+ default: null,
62
+ },
63
+ });
64
+ const ClientExperimentSchema = new mongoose_1.Schema({
65
+ organisationId: {
66
+ type: String,
67
+ default: null,
68
+ },
69
+ name: String,
70
+ status: {
71
+ type: String,
72
+ default: "draft",
73
+ },
74
+ experimentUrl: String,
75
+ client: {
76
+ type: mongoose_1.default.Schema.Types.ObjectId,
77
+ ref: "client",
78
+ },
79
+ viewId: {
80
+ type: String,
81
+ },
82
+ pageTargeting: [PageTargetingSchema],
83
+ audienceTargeting: AudienceTargetingSchema,
84
+ variants: [VariantsSchema],
85
+ }, {
86
+ timestamps: true,
87
+ });
88
+ ClientExperimentSchema.index({
89
+ client: 1,
90
+ });
91
+ const ClientExperiment = (0, mongoose_1.model)("clientexperiment", ClientExperimentSchema);
92
+ exports.default = ClientExperiment;
@@ -0,0 +1,66 @@
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/types/inferschematype" />
25
+ import mongoose, { Document } from "mongoose";
26
+ export interface IClientScriptSchema extends Document {
27
+ scriptUrl: string;
28
+ viewId: string;
29
+ }
30
+ export interface IClientScript extends Document {
31
+ organisationId?: string;
32
+ client?: mongoose.Schema.Types.ObjectId;
33
+ viewId?: string;
34
+ clientScriptURL: string;
35
+ jquery_include: string;
36
+ debug: Boolean;
37
+ restrict_debug: Boolean;
38
+ adhere_dnt: Boolean;
39
+ max_cookie_lifetime: Number;
40
+ activation_mode: string;
41
+ use_antiflicker: Boolean;
42
+ snippet_revision: Number;
43
+ rules: string;
44
+ rules_tracking: string;
45
+ tracker_url: string;
46
+ asset_url: string;
47
+ metadata_key_exp_1: mongoose.Schema.Types.Mixed;
48
+ metadata_key_exp_2: mongoose.Schema.Types.Mixed;
49
+ metadata_key_exp_3: mongoose.Schema.Types.Mixed;
50
+ metadata_key_var_1: mongoose.Schema.Types.Mixed;
51
+ metadata_key_var_2: mongoose.Schema.Types.Mixed;
52
+ metadata_key_var_3: mongoose.Schema.Types.Mixed;
53
+ cookie_domain: string;
54
+ snippet_version: Number;
55
+ storage: string;
56
+ run_only_on_reinit: Boolean;
57
+ allow_in_iframes: Boolean;
58
+ visual_editor_version: Number;
59
+ jscode: string;
60
+ csscode: string;
61
+ is_spa: Boolean;
62
+ }
63
+ declare const ClientScript: mongoose.Model<IClientScript, {}, {}, {}, mongoose.Document<unknown, {}, IClientScript> & IClientScript & {
64
+ _id: mongoose.Types.ObjectId;
65
+ }, any>;
66
+ export default ClientScript;