@cool-digital-solutions/interferir-models 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/config/index.d.ts +75 -0
  2. package/dist/config/index.js +27 -0
  3. package/dist/index.d.ts +82 -0
  4. package/dist/index.js +79 -0
  5. package/dist/models/ai-conversation.model.d.ts +2 -0
  6. package/dist/models/ai-conversation.model.js +43 -0
  7. package/dist/models/backend-error.model.d.ts +2 -0
  8. package/dist/models/backend-error.model.js +40 -0
  9. package/dist/models/badge.model.d.ts +2 -0
  10. package/dist/models/badge.model.js +43 -0
  11. package/dist/models/batch-history.model.d.ts +33 -0
  12. package/dist/models/batch-history.model.js +39 -0
  13. package/dist/models/company.model.d.ts +2 -0
  14. package/dist/models/company.model.js +180 -0
  15. package/dist/models/competitor.model.d.ts +2 -0
  16. package/dist/models/competitor.model.js +33 -0
  17. package/dist/models/contact-message.model.d.ts +2 -0
  18. package/dist/models/contact-message.model.js +40 -0
  19. package/dist/models/contact-startup.model.d.ts +2 -0
  20. package/dist/models/contact-startup.model.js +28 -0
  21. package/dist/models/content.model.d.ts +2 -0
  22. package/dist/models/content.model.js +41 -0
  23. package/dist/models/draft-version.model.d.ts +2 -0
  24. package/dist/models/draft-version.model.js +35 -0
  25. package/dist/models/evidence-layout.model.d.ts +2 -0
  26. package/dist/models/evidence-layout.model.js +39 -0
  27. package/dist/models/evidence.model.d.ts +2 -0
  28. package/dist/models/evidence.model.js +108 -0
  29. package/dist/models/faq.model.d.ts +2 -0
  30. package/dist/models/faq.model.js +35 -0
  31. package/dist/models/follow-content.model.d.ts +2 -0
  32. package/dist/models/follow-content.model.js +37 -0
  33. package/dist/models/general-config-sub.model.d.ts +2 -0
  34. package/dist/models/general-config-sub.model.js +14 -0
  35. package/dist/models/general-config.model.d.ts +2 -0
  36. package/dist/models/general-config.model.js +16 -0
  37. package/dist/models/image.model.d.ts +2 -0
  38. package/dist/models/image.model.js +46 -0
  39. package/dist/models/index.d.ts +39 -0
  40. package/dist/models/index.js +79 -0
  41. package/dist/models/industry.model.d.ts +2 -0
  42. package/dist/models/industry.model.js +34 -0
  43. package/dist/models/instant-research.model.d.ts +2 -0
  44. package/dist/models/instant-research.model.js +174 -0
  45. package/dist/models/investor.model.d.ts +2 -0
  46. package/dist/models/investor.model.js +36 -0
  47. package/dist/models/like.model.d.ts +2 -0
  48. package/dist/models/like.model.js +43 -0
  49. package/dist/models/model-indexes.d.ts +3 -0
  50. package/dist/models/model-indexes.js +24 -0
  51. package/dist/models/news.model.d.ts +2 -0
  52. package/dist/models/news.model.js +77 -0
  53. package/dist/models/notification.model.d.ts +2 -0
  54. package/dist/models/notification.model.js +17 -0
  55. package/dist/models/otp.model.d.ts +2 -0
  56. package/dist/models/otp.model.js +15 -0
  57. package/dist/models/portia-article.model.d.ts +2 -0
  58. package/dist/models/portia-article.model.js +96 -0
  59. package/dist/models/problem.model.d.ts +2 -0
  60. package/dist/models/problem.model.js +54 -0
  61. package/dist/models/search-history.model.d.ts +2 -0
  62. package/dist/models/search-history.model.js +41 -0
  63. package/dist/models/sf-category.model.d.ts +2 -0
  64. package/dist/models/sf-category.model.js +36 -0
  65. package/dist/models/sf-sub-category.model.d.ts +2 -0
  66. package/dist/models/sf-sub-category.model.js +35 -0
  67. package/dist/models/sf-tag.model.d.ts +2 -0
  68. package/dist/models/sf-tag.model.js +34 -0
  69. package/dist/models/site-map-cache.model.d.ts +2 -0
  70. package/dist/models/site-map-cache.model.js +19 -0
  71. package/dist/models/spark-use-case.model.d.ts +2 -0
  72. package/dist/models/spark-use-case.model.js +87 -0
  73. package/dist/models/spark.model.d.ts +2 -0
  74. package/dist/models/spark.model.js +78 -0
  75. package/dist/models/suggest.model.d.ts +2 -0
  76. package/dist/models/suggest.model.js +40 -0
  77. package/dist/models/technology.model.d.ts +2 -0
  78. package/dist/models/technology.model.js +34 -0
  79. package/dist/models/theme.model.d.ts +2 -0
  80. package/dist/models/theme.model.js +69 -0
  81. package/dist/models/token.model.d.ts +2 -0
  82. package/dist/models/token.model.js +15 -0
  83. package/dist/models/update-job.model.d.ts +2 -0
  84. package/dist/models/update-job.model.js +37 -0
  85. package/dist/models/use-case.model.d.ts +2 -0
  86. package/dist/models/use-case.model.js +83 -0
  87. package/dist/models/user-token.model.d.ts +2 -0
  88. package/dist/models/user-token.model.js +33 -0
  89. package/dist/models/user-visit.model.d.ts +2 -0
  90. package/dist/models/user-visit.model.js +35 -0
  91. package/dist/models/user.model.d.ts +2 -0
  92. package/dist/models/user.model.js +78 -0
  93. package/dist/types/ai-conversation.type.d.ts +46 -0
  94. package/dist/types/ai-conversation.type.js +8 -0
  95. package/dist/types/backend-error.type.d.ts +19 -0
  96. package/dist/types/backend-error.type.js +10 -0
  97. package/dist/types/badge.type.d.ts +42 -0
  98. package/dist/types/badge.type.js +11 -0
  99. package/dist/types/batch-history.type.d.ts +39 -0
  100. package/dist/types/batch-history.type.js +10 -0
  101. package/dist/types/company.type.d.ts +229 -0
  102. package/dist/types/company.type.js +75 -0
  103. package/dist/types/competitor.type.d.ts +33 -0
  104. package/dist/types/competitor.type.js +2 -0
  105. package/dist/types/contact-message.type.d.ts +46 -0
  106. package/dist/types/contact-message.type.js +11 -0
  107. package/dist/types/contact-startup.type.d.ts +43 -0
  108. package/dist/types/contact-startup.type.js +10 -0
  109. package/dist/types/content.type.d.ts +33 -0
  110. package/dist/types/content.type.js +2 -0
  111. package/dist/types/draft-version.type.d.ts +41 -0
  112. package/dist/types/draft-version.type.js +12 -0
  113. package/dist/types/evidence-layout.type.d.ts +13 -0
  114. package/dist/types/evidence-layout.type.js +2 -0
  115. package/dist/types/evidence.type.d.ts +102 -0
  116. package/dist/types/evidence.type.js +11 -0
  117. package/dist/types/faq.type.d.ts +17 -0
  118. package/dist/types/faq.type.js +12 -0
  119. package/dist/types/follow-content.type.d.ts +50 -0
  120. package/dist/types/follow-content.type.js +17 -0
  121. package/dist/types/general-config-sub.type.d.ts +17 -0
  122. package/dist/types/general-config-sub.type.js +14 -0
  123. package/dist/types/general-config.type.d.ts +55 -0
  124. package/dist/types/general-config.type.js +25 -0
  125. package/dist/types/image.type.d.ts +54 -0
  126. package/dist/types/image.type.js +13 -0
  127. package/dist/types/index.d.ts +43 -0
  128. package/dist/types/index.js +2 -0
  129. package/dist/types/industry.type.d.ts +5 -0
  130. package/dist/types/industry.type.js +2 -0
  131. package/dist/types/instant-research.type.d.ts +182 -0
  132. package/dist/types/instant-research.type.js +37 -0
  133. package/dist/types/investor.type.d.ts +32 -0
  134. package/dist/types/investor.type.js +2 -0
  135. package/dist/types/like.type.d.ts +49 -0
  136. package/dist/types/like.type.js +16 -0
  137. package/dist/types/news.type.d.ts +63 -0
  138. package/dist/types/news.type.js +2 -0
  139. package/dist/types/notification.type.d.ts +34 -0
  140. package/dist/types/notification.type.js +2 -0
  141. package/dist/types/otp.type.d.ts +10 -0
  142. package/dist/types/otp.type.js +2 -0
  143. package/dist/types/portia-article.type.d.ts +87 -0
  144. package/dist/types/portia-article.type.js +23 -0
  145. package/dist/types/problem.type.d.ts +56 -0
  146. package/dist/types/problem.type.js +2 -0
  147. package/dist/types/search-history.type.d.ts +36 -0
  148. package/dist/types/search-history.type.js +2 -0
  149. package/dist/types/sf-category.type.d.ts +8 -0
  150. package/dist/types/sf-category.type.js +2 -0
  151. package/dist/types/sf-sub-category.type.d.ts +7 -0
  152. package/dist/types/sf-sub-category.type.js +2 -0
  153. package/dist/types/sf-tag.type.d.ts +5 -0
  154. package/dist/types/sf-tag.type.js +2 -0
  155. package/dist/types/site-map-cache.type.d.ts +11 -0
  156. package/dist/types/site-map-cache.type.js +2 -0
  157. package/dist/types/spark-use-case.type.d.ts +93 -0
  158. package/dist/types/spark-use-case.type.js +18 -0
  159. package/dist/types/spark.type.d.ts +108 -0
  160. package/dist/types/spark.type.js +42 -0
  161. package/dist/types/suggest.type.d.ts +42 -0
  162. package/dist/types/suggest.type.js +11 -0
  163. package/dist/types/technology.type.d.ts +5 -0
  164. package/dist/types/technology.type.js +2 -0
  165. package/dist/types/theme.type.d.ts +63 -0
  166. package/dist/types/theme.type.js +2 -0
  167. package/dist/types/token.type.d.ts +41 -0
  168. package/dist/types/token.type.js +10 -0
  169. package/dist/types/update-job.type.d.ts +49 -0
  170. package/dist/types/update-job.type.js +18 -0
  171. package/dist/types/use-case.type.d.ts +81 -0
  172. package/dist/types/use-case.type.js +2 -0
  173. package/dist/types/user-token.type.d.ts +33 -0
  174. package/dist/types/user-token.type.js +2 -0
  175. package/dist/types/user-visit.type.d.ts +41 -0
  176. package/dist/types/user-visit.type.js +11 -0
  177. package/dist/types/user.type.d.ts +71 -0
  178. package/dist/types/user.type.js +15 -0
  179. package/package.json +28 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ThemeModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const _config_1 = require("../config");
10
+ const themeSchema = new mongoose_1.Schema({
11
+ title: { type: String, required: [true, 'title is required!'] },
12
+ slug: { type: String, required: [true, 'slug is required!'], unique: true },
13
+ description: { type: String, default: '' },
14
+ descriptionHTML: { type: String, default: '' },
15
+ image: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
16
+ source: [{ type: String }],
17
+ tagList: [{ type: String }],
18
+ seo: {
19
+ sitemapIndex: { type: Boolean, default: false },
20
+ title: { type: String, default: '' },
21
+ description: { type: String, default: '' },
22
+ },
23
+ likeCount: { type: Number, default: 0 },
24
+ dislikeCount: { type: Number, default: 0 },
25
+ evidenceCount: { type: Object, default: { publish: 0, private: 0, draft: 0, prePublish: 0 } },
26
+ problemCount: { type: Object, default: { publish: 0, private: 0, draft: 0, prePublish: 0 } },
27
+ solutionCount: { type: Object, default: { publish: 0, private: 0, draft: 0, prePublish: 0 } },
28
+ companyCount: { type: Object, default: { publish: 0, private: 0, draft: 0, prePublish: 0 } },
29
+ showCounts: { type: Boolean, default: false },
30
+ status: {
31
+ type: String,
32
+ enum: Object.values(_config_1.ContentStatus),
33
+ required: [true, 'status is required!'],
34
+ },
35
+ draftVersionStatus: { type: String, enum: Object.values(_config_1.ContentDraftStatus), default: _config_1.ContentDraftStatus.DEFAULT },
36
+ sfTags: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFTag' }],
37
+ sfIndustries: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Industry' }],
38
+ sfTechnologies: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Technology' }],
39
+ sfCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFCategory' }],
40
+ sfSubCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFSubCategory' }],
41
+ writtenBy: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
42
+ privForUsers: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
43
+ requestedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User' },
44
+ requestedDate: { type: Number },
45
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
46
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
47
+ updatedDate: { type: Number, index: -1 },
48
+ createdDate: { type: Number, index: -1 },
49
+ }, _config_1.schemaOptions);
50
+ themeSchema.pre('save', function (next) {
51
+ const user = express_http_context_1.default.get('user');
52
+ const notUpdatedBy = express_http_context_1.default.get('notUpdatedBy');
53
+ if (user) {
54
+ if (!this.createdBy)
55
+ this.createdBy = user._id;
56
+ if (!notUpdatedBy) {
57
+ this.updatedBy = user._id;
58
+ }
59
+ }
60
+ next();
61
+ });
62
+ themeSchema.pre('findOneAndUpdate', function (next) {
63
+ const user = express_http_context_1.default.get('user');
64
+ const notUpdatedBy = express_http_context_1.default.get('notUpdatedBy');
65
+ if (user && !notUpdatedBy)
66
+ this._update.updatedBy = user._id;
67
+ next();
68
+ });
69
+ exports.ThemeModel = (0, mongoose_1.model)('Theme', themeSchema);
@@ -0,0 +1,2 @@
1
+ import { ITokenModel } from '../types';
2
+ export declare const TokenModel: ITokenModel;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenModel = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const token_type_1 = require("../types/token.type");
6
+ const _config_1 = require("../config");
7
+ const tokenSchema = new mongoose_1.Schema({
8
+ tokenFor: { type: String, enum: Object.values(token_type_1.TokenForList) },
9
+ token: { type: String, required: [true, 'token required!'] },
10
+ user: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
11
+ evidence: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Evidence', default: null },
12
+ updatedDate: Number,
13
+ createdDate: Number,
14
+ }, _config_1.schemaOptions);
15
+ exports.TokenModel = (0, mongoose_1.model)('Token', tokenSchema);
@@ -0,0 +1,2 @@
1
+ import { IUpdateJobModel } from '../types';
2
+ export declare const UpdateJobModel: IUpdateJobModel;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UpdateJobModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const update_job_type_1 = require("../types/update-job.type");
10
+ const _config_1 = require("../config");
11
+ const updateJobSchema = new mongoose_1.Schema({
12
+ relatedId: { type: mongoose_1.Schema.Types.ObjectId, required: true },
13
+ relatedModel: { type: String, enum: Object.values(update_job_type_1.RelatedModel), required: true },
14
+ status: { type: String, enum: Object.values(update_job_type_1.Status), required: true, default: update_job_type_1.Status.CREATED },
15
+ data: { type: Object, required: true },
16
+ error: { type: mongoose_1.Schema.Types.Mixed, default: [] },
17
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
18
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
19
+ updatedDate: { type: Number, index: -1 },
20
+ createdDate: { type: Number, index: -1 },
21
+ }, _config_1.schemaOptions);
22
+ updateJobSchema.pre('save', function (next) {
23
+ const user = express_http_context_1.default.get('user');
24
+ if (user) {
25
+ if (!this.createdBy)
26
+ this.createdBy = user._id;
27
+ this.updatedBy = user._id;
28
+ }
29
+ next();
30
+ });
31
+ updateJobSchema.pre('findOneAndUpdate', function (next) {
32
+ const user = express_http_context_1.default.get('user');
33
+ if (user)
34
+ this._update.updatedBy = user._id;
35
+ next();
36
+ });
37
+ exports.UpdateJobModel = (0, mongoose_1.model)('UpdateJob', updateJobSchema);
@@ -0,0 +1,2 @@
1
+ import { IUseCaseModel } from '../types';
2
+ export declare const UseCaseModel: IUseCaseModel;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UseCaseModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const _config_1 = require("../config");
10
+ const useCaseSchema = new mongoose_1.Schema({
11
+ slug: { type: String, required: [true, 'slug is required!'], unique: true },
12
+ status: { type: String, enum: Object.values(_config_1.ContentStatus), required: [true, 'status is required!'] },
13
+ draftVersionStatus: { type: String, enum: Object.values(_config_1.ContentDraftStatus), default: _config_1.ContentDraftStatus.DEFAULT },
14
+ privForUsers: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
15
+ writtenBy: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
16
+ problem: { type: String },
17
+ problemHTML: { type: String, default: '' },
18
+ solution: { type: String, required: [true, 'solution is required!'] },
19
+ solutionHTML: { type: String, default: '' },
20
+ importance: { type: String, required: [true, 'importance is required!'] },
21
+ importanceHTML: { type: String, default: '' },
22
+ themeList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Theme', index: true }],
23
+ evidenceList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Evidence', index: true }],
24
+ problemList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Problem' }],
25
+ source: {
26
+ url: { type: String, default: '' },
27
+ freeText: { type: String, default: '' },
28
+ evidence: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Evidence', default: null },
29
+ startup: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null },
30
+ },
31
+ actors: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company' }],
32
+ solutionProviderList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company' }],
33
+ geographyList: [{ type: String, required: [true, 'geographyList element is required!'] }],
34
+ relatedUseCaseList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'UseCase' }],
35
+ newsCrawlingTagList: [
36
+ [
37
+ {
38
+ tag: { type: String, required: [true, 'tag id required'] },
39
+ operator: { type: String, enum: ['or', 'and'] },
40
+ },
41
+ ],
42
+ ],
43
+ likeCount: { type: Number, default: 0 },
44
+ dislikeCount: { type: Number, default: 0 },
45
+ sparkUseCase: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SparkUseCase' }],
46
+ fromEmptySparkUseCase: { type: Boolean, default: false },
47
+ sfIndustries: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Industry' }],
48
+ sfTechnologies: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Technology' }],
49
+ sfCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFCategory' }],
50
+ sfSubCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFSubCategory' }],
51
+ sfTags: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFTag' }],
52
+ instantResearches: [
53
+ {
54
+ instantResearchId: { type: mongoose_1.Schema.Types.ObjectId, ref: 'InstantResearch' },
55
+ score: { type: Number, default: 0 },
56
+ },
57
+ ],
58
+ externalParameter: {
59
+ approvedByAI: { type: Boolean, default: false },
60
+ publishedByAI: { type: Boolean, default: false },
61
+ superCase: { type: Boolean, default: false },
62
+ },
63
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
64
+ createdDate: Number,
65
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
66
+ updatedDate: Number,
67
+ }, _config_1.schemaOptions);
68
+ useCaseSchema.pre('save', function (next) {
69
+ const user = express_http_context_1.default.get('user');
70
+ if (user) {
71
+ if (!this.createdBy)
72
+ this.createdBy = user._id;
73
+ this.updatedBy = user._id;
74
+ }
75
+ next();
76
+ });
77
+ useCaseSchema.pre('findOneAndUpdate', function (next) {
78
+ const user = express_http_context_1.default.get('user');
79
+ if (user)
80
+ this._update.updatedBy = user._id;
81
+ next();
82
+ });
83
+ exports.UseCaseModel = (0, mongoose_1.model)('UseCase', useCaseSchema);
@@ -0,0 +1,2 @@
1
+ import { IUserTokenModel } from '../types';
2
+ export declare const UserTokenModel: IUserTokenModel;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserTokenModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const _config_1 = require("../config");
10
+ const userTokenSchema = new mongoose_1.Schema({
11
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
12
+ expires: Number,
13
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
14
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
15
+ updatedDate: { type: Number, index: -1 },
16
+ createdDate: { type: Number, index: -1 },
17
+ }, _config_1.schemaOptions);
18
+ userTokenSchema.pre('save', function (next) {
19
+ const user = express_http_context_1.default.get('user');
20
+ if (user) {
21
+ if (!this.createdBy)
22
+ this.createdBy = user._id;
23
+ this.updatedBy = user._id;
24
+ }
25
+ next();
26
+ });
27
+ userTokenSchema.pre('findOneAndUpdate', function (next) {
28
+ const user = express_http_context_1.default.get('user');
29
+ if (user)
30
+ this._update.updatedBy = user._id;
31
+ next();
32
+ });
33
+ exports.UserTokenModel = (0, mongoose_1.model)('UserToken', userTokenSchema);
@@ -0,0 +1,2 @@
1
+ import { IUserVisitModel } from '../types';
2
+ export declare const UserVisitModel: IUserVisitModel;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserVisitModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const user_visit_type_1 = require("../types/user-visit.type");
10
+ const _config_1 = require("../config");
11
+ const userVisitSchema = new mongoose_1.Schema({
12
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
13
+ model: { type: mongoose_1.Schema.Types.ObjectId, default: null },
14
+ type: { type: String, enum: user_visit_type_1.UserVisitType, required: [true, 'type is required'] },
15
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
16
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
17
+ updatedDate: { type: Number, index: -1 },
18
+ createdDate: { type: Number, index: -1 },
19
+ }, _config_1.schemaOptions);
20
+ userVisitSchema.pre('save', function (next) {
21
+ const user = express_http_context_1.default.get('user');
22
+ if (user) {
23
+ if (!this.createdBy)
24
+ this.createdBy = user._id;
25
+ this.updatedBy = user._id;
26
+ }
27
+ next();
28
+ });
29
+ userVisitSchema.pre('findOneAndUpdate', function (next) {
30
+ const user = express_http_context_1.default.get('user');
31
+ if (user)
32
+ this._update.updatedBy = user._id;
33
+ next();
34
+ });
35
+ exports.UserVisitModel = (0, mongoose_1.model)('UserVisit', userVisitSchema);
@@ -0,0 +1,2 @@
1
+ import { IUserModel } from '../types';
2
+ export declare const UserModel: IUserModel;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const user_type_1 = require("../types/user.type");
10
+ const _config_1 = require("../config");
11
+ const userSchema = new mongoose_1.Schema({
12
+ email: { type: String, required: [true, 'email required!'] },
13
+ password: { type: String, required: false },
14
+ name: { type: String, default: '' },
15
+ surname: { type: String, default: '' },
16
+ profileImage: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
17
+ industries: [{ type: String }],
18
+ phone: { type: String, default: '' },
19
+ jobTitle: { type: String, default: '' },
20
+ timeZone: { type: String, default: '' },
21
+ profileType: { type: String, enum: Object.values(user_type_1.ProfileType) },
22
+ paymentMethod: [
23
+ {
24
+ paymentType: { enum: Object.values(user_type_1.PaymentType) },
25
+ title: { type: String, required: [true, 'title required!'] },
26
+ },
27
+ ],
28
+ viewedEvidenceList: [
29
+ {
30
+ viewDate: { type: Number, required: [true, 'viewDate required'] },
31
+ evidence: {
32
+ type: mongoose_1.Schema.Types.ObjectId,
33
+ ref: 'Evidence',
34
+ required: [true, 'evidence required'],
35
+ },
36
+ },
37
+ ],
38
+ favoriteEvidenceList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Evidence' }],
39
+ isActive: { type: Boolean, default: false },
40
+ isAccepted: { type: Boolean, default: false },
41
+ isAdmin: { type: Boolean, default: false },
42
+ isContentWriter: { type: Boolean, default: false },
43
+ isDataAnalyst: { type: Boolean, default: false },
44
+ isCreatedByAdmin: { type: Boolean, default: false },
45
+ isPasswordSetted: { type: Boolean, default: false },
46
+ company: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null },
47
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
48
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
49
+ updatedDate: { type: Number, index: -1 },
50
+ createdDate: { type: Number, index: -1 },
51
+ }, {
52
+ ..._config_1.schemaOptions,
53
+ toJSON: {
54
+ transform(doc, ret) {
55
+ delete ret.password;
56
+ },
57
+ },
58
+ });
59
+ userSchema.pre('save', function (next) {
60
+ if (this.email)
61
+ this.email = this.email.toLowerCase();
62
+ const user = express_http_context_1.default.get('user');
63
+ if (user) {
64
+ if (!this.createdBy)
65
+ this.createdBy = user._id;
66
+ this.updatedBy = user._id;
67
+ }
68
+ next();
69
+ });
70
+ userSchema.pre('findOneAndUpdate', function (next) {
71
+ if (this._update?.email)
72
+ this._update.email = this._update.email.toLowerCase();
73
+ const user = express_http_context_1.default.get('user');
74
+ if (user)
75
+ this._update.updatedBy = user._id;
76
+ next();
77
+ });
78
+ exports.UserModel = (0, mongoose_1.model)('User', userSchema);
@@ -0,0 +1,46 @@
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 { Types } from 'mongoose';
26
+ import { IUser } from './';
27
+ import { BaseModel, BaseSchema } from '../config';
28
+ export declare enum ROLE {
29
+ USER = "user",
30
+ ASSISTANT = "assistant"
31
+ }
32
+ interface IMessage {
33
+ role: ROLE;
34
+ content: string;
35
+ token: number;
36
+ messageDate: number;
37
+ }
38
+ export interface IAiConversation extends BaseSchema {
39
+ userId: Types.ObjectId | IUser;
40
+ title: string;
41
+ summary: string;
42
+ messages: IMessage[];
43
+ }
44
+ export interface IAiConversationModel extends BaseModel<IAiConversation> {
45
+ }
46
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROLE = void 0;
4
+ var ROLE;
5
+ (function (ROLE) {
6
+ ROLE["USER"] = "user";
7
+ ROLE["ASSISTANT"] = "assistant";
8
+ })(ROLE || (exports.ROLE = ROLE = {}));
@@ -0,0 +1,19 @@
1
+ import { BaseModel, BaseSchema } from '../config';
2
+ export declare enum ErrorLevel {
3
+ INFO = "info",
4
+ MEDIUM = "medium",
5
+ HIGH = "high",
6
+ CRITICAL = "critical"
7
+ }
8
+ export interface IBackendError extends BaseSchema {
9
+ errorString: string;
10
+ clientJSONMessage: string;
11
+ errorCode: string;
12
+ code: number;
13
+ errorLevel: ErrorLevel;
14
+ functionName: string;
15
+ numberOfLine: number;
16
+ callerErrorStack: string;
17
+ }
18
+ export interface IBackendErrorModel extends BaseModel<IBackendError> {
19
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorLevel = void 0;
4
+ var ErrorLevel;
5
+ (function (ErrorLevel) {
6
+ ErrorLevel["INFO"] = "info";
7
+ ErrorLevel["MEDIUM"] = "medium";
8
+ ErrorLevel["HIGH"] = "high";
9
+ ErrorLevel["CRITICAL"] = "critical";
10
+ })(ErrorLevel || (exports.ErrorLevel = ErrorLevel = {}));
@@ -0,0 +1,42 @@
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 { Types } from 'mongoose';
26
+ import { IImage } from './';
27
+ import { BaseModel, BaseSchema } from '../config';
28
+ export declare enum BadgeType {
29
+ STAKEHOLDER = "stakeholder",
30
+ ADDITIONAL_MATERIAL = "additionalMaterial",
31
+ BADGE = "badge",
32
+ PRIVATE = "private",
33
+ SECURITY_CERTIFICATE = "securityCertificate"
34
+ }
35
+ export interface IBadge extends BaseSchema {
36
+ key: string;
37
+ text: string;
38
+ icon: Types.ObjectId | IImage;
39
+ type: BadgeType;
40
+ }
41
+ export interface IBadgeModel extends BaseModel<IBadge> {
42
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BadgeType = void 0;
4
+ var BadgeType;
5
+ (function (BadgeType) {
6
+ BadgeType["STAKEHOLDER"] = "stakeholder";
7
+ BadgeType["ADDITIONAL_MATERIAL"] = "additionalMaterial";
8
+ BadgeType["BADGE"] = "badge";
9
+ BadgeType["PRIVATE"] = "private";
10
+ BadgeType["SECURITY_CERTIFICATE"] = "securityCertificate";
11
+ })(BadgeType || (exports.BadgeType = BadgeType = {}));
@@ -0,0 +1,39 @@
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 { BaseSchema } from '../config';
26
+ import { Types } from 'mongoose';
27
+ export declare enum BatchHistoryDocumentType {
28
+ USECASES = "usecases",
29
+ EVIDENCES = "evidences",
30
+ COMPANIES = "companies",
31
+ THEMES = "themes"
32
+ }
33
+ export interface IBatchHistory extends BaseSchema {
34
+ document_id: Types.ObjectId;
35
+ document_type: BatchHistoryDocumentType;
36
+ document_text_field?: string;
37
+ documentLastUpdateDate: number;
38
+ status: boolean;
39
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BatchHistoryDocumentType = void 0;
4
+ var BatchHistoryDocumentType;
5
+ (function (BatchHistoryDocumentType) {
6
+ BatchHistoryDocumentType["USECASES"] = "usecases";
7
+ BatchHistoryDocumentType["EVIDENCES"] = "evidences";
8
+ BatchHistoryDocumentType["COMPANIES"] = "companies";
9
+ BatchHistoryDocumentType["THEMES"] = "themes";
10
+ })(BatchHistoryDocumentType || (exports.BatchHistoryDocumentType = BatchHistoryDocumentType = {}));