@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,180 @@
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.CompanyModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const company_type_1 = require("../types/company.type");
10
+ const model_indexes_1 = require("./model-indexes");
11
+ const _config_1 = require("../config");
12
+ const companySchema = new mongoose_1.Schema({
13
+ name: { type: String, default: '' },
14
+ lcName: { type: String, default: '' },
15
+ slug: { type: String, required: [true, 'slug is required'], unique: true },
16
+ status: { type: String, enum: Object.values(_config_1.ContentStatus), required: [true, 'status is required!'], default: _config_1.ContentStatus.PUBLISH },
17
+ draftVersionStatus: { type: String, enum: Object.values(_config_1.ContentDraftStatus), default: _config_1.ContentDraftStatus.DEFAULT },
18
+ privForUsers: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
19
+ writtenBy: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
20
+ owner: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
21
+ members: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'User' }],
22
+ source: { type: String, default: '' },
23
+ countryCode: { type: String, default: '' },
24
+ logo: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
25
+ email: { type: String, default: '' },
26
+ type: { type: String, enum: Object.values(company_type_1.CompanyTypes) },
27
+ isActive: { type: Boolean, default: false },
28
+ isPaid: { type: Boolean, default: false },
29
+ website: { type: String, default: '' },
30
+ websiteBaseDomain: { type: String, default: '' },
31
+ trustedByList: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company' }],
32
+ voiceOfVCList: [
33
+ {
34
+ name: { type: String, required: [true, 'name is required.'] },
35
+ surname: { type: String, required: [true, 'surname is required.'] },
36
+ jobTitle: { type: String, default: '' },
37
+ profileImage: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
38
+ content: { type: String, default: '' },
39
+ },
40
+ ],
41
+ finance: [
42
+ {
43
+ investors: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null }],
44
+ investmentAmount: { type: Number, default: 0 },
45
+ currency: { type: String, default: '' },
46
+ round: { type: String, default: '' },
47
+ investmentDate: { type: Number, default: null },
48
+ },
49
+ ],
50
+ funding: {
51
+ amount: { type: Number, default: 0 },
52
+ currency: { type: String, default: '' },
53
+ },
54
+ sfIndustries: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Industry' }],
55
+ sfTechnologies: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Technology' }],
56
+ sfCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFCategory' }],
57
+ sfSubCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFSubCategory' }],
58
+ sfTags: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFTag' }],
59
+ files: [
60
+ {
61
+ media: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
62
+ icon: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Badge' },
63
+ isArchived: { type: Boolean, default: false },
64
+ },
65
+ ],
66
+ useCaseCount: {
67
+ type: Object,
68
+ default: { publish: 0, draft: 0, private: 0, prePublish: 0 },
69
+ },
70
+ evidenceCount: {
71
+ type: Object,
72
+ default: { publish: 0, draft: 0, private: 0, prePublish: 0 },
73
+ },
74
+ themeCount: {
75
+ type: Object,
76
+ default: { publish: 0, draft: 0, private: 0, prePublish: 0 },
77
+ },
78
+ newsCount: Number,
79
+ profileDetailUrls: [{ type: String, default: '' }],
80
+ acquiredBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null },
81
+ about: { type: String, default: '' },
82
+ operatingStatus: { type: String, enum: Object.values(company_type_1.OperatingStatus) },
83
+ headquartersLocation: {
84
+ city: { type: String, default: '' },
85
+ country: { type: String, default: '' },
86
+ },
87
+ foundedDate: { type: Number, default: null },
88
+ numberOfEmployees: { type: String, enum: Object.values(company_type_1.NumberOfEmployees) },
89
+ growthStage: { type: String, default: '' },
90
+ ipoStatus: { type: String, enum: Object.values(company_type_1.IPOStatus) },
91
+ role: { type: String, default: '' },
92
+ techStack: { type: String, default: '' },
93
+ businessModel: { type: String, default: '' },
94
+ targetMarket: { type: String, default: '' },
95
+ strategy: { type: String, default: '' },
96
+ globalPresence: {
97
+ country: [{ type: String, default: [] }],
98
+ region: [{ type: String, default: [] }],
99
+ content: { type: String, default: '' },
100
+ mapOptions: {
101
+ type: Object,
102
+ showMapMark: { type: Boolean, default: false },
103
+ mapColor: { type: String, default: '' },
104
+ mapMarkColor: { type: String, default: '' },
105
+ },
106
+ },
107
+ tagline: { type: String, default: '' },
108
+ history: { type: String, default: '' },
109
+ keyFeaturesAndDifferentiators: { type: String, default: '' },
110
+ analystObservation: {
111
+ analyst: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
112
+ comment: { type: String, default: '' },
113
+ },
114
+ analysisScore: {
115
+ enterpriseReadiness: { score: { type: Number, default: 0 }, content: { type: String, default: '' } },
116
+ responsiveness: { score: { type: Number, default: 0 }, content: { type: String, default: '' } },
117
+ competitiveLandscape: { score: { type: Number, default: 0 }, content: { type: String, default: '' } },
118
+ info: { type: String, default: '' },
119
+ },
120
+ technicalRequirement: {
121
+ history: { type: String, default: '' },
122
+ requirement: {
123
+ icons: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Badge', default: null }],
124
+ content: { type: String, default: '' },
125
+ },
126
+ liveDemo: { type: String, default: '' },
127
+ },
128
+ financial: {
129
+ info: { type: String, default: '' },
130
+ },
131
+ deploymentOption: {
132
+ isCloud: { type: Boolean, default: false },
133
+ isOnPremise: { type: Boolean, default: false },
134
+ isHybrid: { type: Boolean, default: false },
135
+ content: { type: String, default: '' },
136
+ },
137
+ investorType: [{ type: String, enum: Object.values(company_type_1.InvestorType), default: company_type_1.InvestorType.DEFAULT }],
138
+ investmentStage: [{ type: String, enum: Object.values(company_type_1.InvestmentStage), default: company_type_1.InvestmentStage.DEFAULT }],
139
+ investmentThesis: { type: String, default: '' },
140
+ industryFocus: { type: String, default: '' },
141
+ ticketSize: { type: String, default: '' },
142
+ stage: { type: String, default: '' },
143
+ isShowMissingInfo: { type: Boolean, default: true },
144
+ isHasMissingInfo: { type: Boolean, default: true },
145
+ isHasMissingUseCase: { type: Boolean, default: true },
146
+ latestBigRelease: { type: String, default: '' },
147
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
148
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
149
+ updatedDate: { type: Number },
150
+ createdDate: { type: Number },
151
+ }, _config_1.schemaOptions);
152
+ companySchema.pre('save', function (next) {
153
+ if (this?.name?.length > 0)
154
+ this.lcName = this.name.toLowerCase();
155
+ const user = express_http_context_1.default.get('user');
156
+ const notUpdatedBy = express_http_context_1.default.get('notUpdatedBy');
157
+ if (user) {
158
+ if (!this.createdBy)
159
+ this.createdBy = user._id;
160
+ if (!notUpdatedBy)
161
+ this.updatedBy = user._id;
162
+ }
163
+ next();
164
+ });
165
+ companySchema.pre('findOneAndUpdate', function (next) {
166
+ if (this._update?.name?.length > 0)
167
+ this._update.lcName = this._update.name.toLowerCase();
168
+ const user = express_http_context_1.default.get('user');
169
+ const notUpdatedBy = express_http_context_1.default.get('notUpdatedBy');
170
+ if (user && !notUpdatedBy)
171
+ this._update.updatedBy = user._id;
172
+ next();
173
+ });
174
+ const customCollation = {
175
+ locale: 'en',
176
+ };
177
+ model_indexes_1.INDEX.forEach((indexField) => {
178
+ companySchema.index(indexField, { collation: customCollation });
179
+ });
180
+ exports.CompanyModel = (0, mongoose_1.model)('Company', companySchema);
@@ -0,0 +1,2 @@
1
+ import { ICompetitorModel } from '../types';
2
+ export declare const CompetitorModel: ICompetitorModel;
@@ -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.CompetitorModel = 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 competitorSchema = new mongoose_1.Schema({
11
+ company: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null, unique: true },
12
+ competitors: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null }],
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
+ competitorSchema.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
+ competitorSchema.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.CompetitorModel = (0, mongoose_1.model)('Competitor', competitorSchema);
@@ -0,0 +1,2 @@
1
+ import { IContactMessageModel } from '../types';
2
+ export declare const ContactMessageModel: IContactMessageModel;
@@ -0,0 +1,40 @@
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.ContactMessageModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const contact_message_type_1 = require("../types/contact-message.type");
10
+ const _config_1 = require("../config");
11
+ const contactMessageSchema = new mongoose_1.Schema({
12
+ user: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
13
+ message: { type: String, required: [true, 'message required!'] },
14
+ name: { type: String, default: '' },
15
+ surname: { type: String, default: '' },
16
+ email: { type: String, default: '' },
17
+ sourceUrl: { type: String, default: '' },
18
+ type: { type: String, enum: Object.values(contact_message_type_1.ContactMessageTypes) },
19
+ requestMoreContentType: [{ type: String }],
20
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
21
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
22
+ updatedDate: { type: Number, index: -1 },
23
+ createdDate: { type: Number, index: -1 },
24
+ }, _config_1.schemaOptions);
25
+ contactMessageSchema.pre('save', function (next) {
26
+ const user = express_http_context_1.default.get('user');
27
+ if (user) {
28
+ if (!this.createdBy)
29
+ this.createdBy = user._id;
30
+ this.updatedBy = user._id;
31
+ }
32
+ next();
33
+ });
34
+ contactMessageSchema.pre('findOneAndUpdate', function (next) {
35
+ const user = express_http_context_1.default.get('user');
36
+ if (user)
37
+ this._update.updatedBy = user._id;
38
+ next();
39
+ });
40
+ exports.ContactMessageModel = (0, mongoose_1.model)('ContactMessage', contactMessageSchema);
@@ -0,0 +1,2 @@
1
+ import { IContactStartupModel } from '../types';
2
+ export declare const ContactStartupModel: IContactStartupModel;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContactStartupModel = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const contact_startup_type_1 = require("../types/contact-startup.type");
6
+ const _config_1 = require("../config");
7
+ const contactStartupSchema = new mongoose_1.Schema({
8
+ user: {
9
+ type: mongoose_1.Schema.Types.ObjectId,
10
+ ref: 'User',
11
+ required: [true, 'user required!'],
12
+ },
13
+ startup: {
14
+ type: mongoose_1.Schema.Types.ObjectId,
15
+ ref: 'Company',
16
+ required: [true, 'startup required!'],
17
+ },
18
+ relatedId: { type: mongoose_1.Schema.Types.ObjectId },
19
+ relatedType: {
20
+ type: String,
21
+ enum: Object.values(contact_startup_type_1.RelatedType),
22
+ },
23
+ message: { type: String, default: '' },
24
+ sourceUrl: { type: String, default: '' },
25
+ updatedDate: { type: Number, index: -1 },
26
+ createdDate: { type: Number, index: -1 },
27
+ }, _config_1.schemaOptions);
28
+ exports.ContactStartupModel = (0, mongoose_1.model)('ContactStartup', contactStartupSchema);
@@ -0,0 +1,2 @@
1
+ import { IContentModel } from '../types';
2
+ export declare const ContentModel: IContentModel;
@@ -0,0 +1,41 @@
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.ContentModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const timeStampsConfig = {
10
+ currentTime: () => Date.now(),
11
+ createdAt: 'createdDate',
12
+ updatedAt: 'updatedDate',
13
+ };
14
+ const schemaOptions = {
15
+ versionKey: false,
16
+ minimize: false,
17
+ useNestedStrict: false,
18
+ strict: false,
19
+ timestamps: timeStampsConfig,
20
+ };
21
+ const contentSchema = new mongoose_1.Schema({
22
+ updatedDate: Number,
23
+ createdDate: Number,
24
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
25
+ }, schemaOptions);
26
+ contentSchema.pre('save', function (next) {
27
+ const user = express_http_context_1.default.get('user');
28
+ if (user) {
29
+ if (!this.createdBy)
30
+ this.createdBy = user._id;
31
+ this.updatedBy = user._id;
32
+ }
33
+ next();
34
+ });
35
+ contentSchema.pre('findOneAndUpdate', function (next) {
36
+ const user = express_http_context_1.default.get('user');
37
+ if (user)
38
+ this._update.updatedBy = user._id;
39
+ next();
40
+ });
41
+ exports.ContentModel = (0, mongoose_1.model)('Content', contentSchema);
@@ -0,0 +1,2 @@
1
+ import { IDraftVersionModel } from '../types';
2
+ export declare const DraftVersionModel: IDraftVersionModel;
@@ -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.DraftVersionModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const draft_version_type_1 = require("../types/draft-version.type");
10
+ const _config_1 = require("../config");
11
+ const draftVersionSchema = new mongoose_1.Schema({
12
+ objectId: { type: mongoose_1.Schema.Types.ObjectId, default: null },
13
+ ref: { type: String, enum: Object.values(draft_version_type_1.DraftVersionRefs), default: draft_version_type_1.DraftVersionRefs.DEFAULT },
14
+ data: {},
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
+ draftVersionSchema.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
+ draftVersionSchema.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.DraftVersionModel = (0, mongoose_1.model)('DraftVersion', draftVersionSchema);
@@ -0,0 +1,2 @@
1
+ import { IEvidenceLayoutModel } from '../types';
2
+ export declare const EvidenceLayoutModel: IEvidenceLayoutModel;
@@ -0,0 +1,39 @@
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.EvidenceLayoutModel = 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 evidenceLayoutSchema = new mongoose_1.Schema({
11
+ name: { type: String, required: [true, 'name is required.'] },
12
+ isDefaultLayout: { type: Boolean, default: false },
13
+ group: [
14
+ {
15
+ section: { type: String, required: [true, 'section is required.'] },
16
+ evidenceOrderList: [Number],
17
+ },
18
+ ],
19
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
20
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
21
+ updatedDate: { type: Number, index: -1 },
22
+ createdDate: { type: Number, index: -1 },
23
+ }, _config_1.schemaOptions);
24
+ evidenceLayoutSchema.pre('save', function (next) {
25
+ const user = express_http_context_1.default.get('user');
26
+ if (user) {
27
+ if (!this.createdBy)
28
+ this.createdBy = user._id;
29
+ this.updatedBy = user._id;
30
+ }
31
+ next();
32
+ });
33
+ evidenceLayoutSchema.pre('findOneAndUpdate', function (next) {
34
+ const user = express_http_context_1.default.get('user');
35
+ if (user)
36
+ this._update.updatedBy = user._id;
37
+ next();
38
+ });
39
+ exports.EvidenceLayoutModel = (0, mongoose_1.model)('EvidenceLayout', evidenceLayoutSchema);
@@ -0,0 +1,2 @@
1
+ import { IEvidenceModel } from '../types';
2
+ export declare const EvidenceModel: IEvidenceModel;
@@ -0,0 +1,108 @@
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.EvidenceModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const evidence_type_1 = require("../types/evidence.type");
10
+ const _config_1 = require("../config");
11
+ const evidenceSchema = new mongoose_1.Schema({
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
+ company: {
17
+ type: mongoose_1.Schema.Types.ObjectId,
18
+ ref: 'Company',
19
+ required: [true, 'company is required!'],
20
+ index: true,
21
+ },
22
+ customers: [
23
+ {
24
+ type: mongoose_1.Schema.Types.ObjectId,
25
+ ref: 'Company',
26
+ required: [true, 'customer required'],
27
+ },
28
+ ],
29
+ slug: { type: String, required: [true, 'slug is required!'], unique: true },
30
+ title: { type: String, default: '' },
31
+ description: { type: String, default: '' },
32
+ logo: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
33
+ tags: [{ type: String }],
34
+ badges: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Badge' }],
35
+ voiceOfCustomerList: [
36
+ {
37
+ fullName: { type: String, required: [true, 'fullName is required.'] },
38
+ title: { type: String, default: '' },
39
+ profileImage: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
40
+ companyLogo: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Image', default: null },
41
+ voiceText: { type: String, default: '' },
42
+ },
43
+ ],
44
+ questions: [
45
+ {
46
+ question: { type: String, required: [true, 'question required!'] },
47
+ answer: { type: String, default: '' },
48
+ answerHTML: { type: String, default: '' },
49
+ order: { type: Number, required: [true, 'order required!'] },
50
+ images: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Image' }],
51
+ },
52
+ ],
53
+ group: [
54
+ {
55
+ evidenceOrderList: [Number],
56
+ section: { type: String, required: [true, 'section required!'] },
57
+ },
58
+ ],
59
+ evidenceSections: [
60
+ {
61
+ section: { type: String, required: [true, 'section required!'] },
62
+ htmlText: { type: String, default: '' },
63
+ },
64
+ ],
65
+ documentDate: { type: Number, default: 0 },
66
+ readingTime: { type: Number, default: 0 },
67
+ likeCount: { type: Number, default: 0 },
68
+ dislikeCount: { type: Number, default: 0 },
69
+ observation: {
70
+ analyst: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
71
+ content: { type: String, default: '' },
72
+ enterpriseReadlinessScore: { type: Number, default: 0 },
73
+ responsivenessScore: { type: Number, default: 0 },
74
+ visibleFor: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null }],
75
+ showAllEnterprise: { type: Boolean, default: false },
76
+ },
77
+ sfIndustries: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Industry' }],
78
+ sfTechnologies: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Technology' }],
79
+ sfCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFCategory' }],
80
+ sfSubCategories: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFSubCategory' }],
81
+ sfTags: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'SFTag' }],
82
+ projectType: { type: String, enum: Object.values(evidence_type_1.EvidenceProjectTypes), default: evidence_type_1.EvidenceProjectTypes.DEFAULT },
83
+ projectDate: { type: Number, default: 0 },
84
+ projectLocation: { type: String, default: '' },
85
+ projectDuration: { type: Number, default: 0 },
86
+ additionalMaterial: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company.files' }],
87
+ securityCertificate: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'Company.files' }],
88
+ createdBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
89
+ updatedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', default: null },
90
+ updatedDate: { type: Number, index: -1 },
91
+ createdDate: { type: Number, index: -1 },
92
+ }, _config_1.schemaOptions);
93
+ evidenceSchema.pre('save', function (next) {
94
+ const user = express_http_context_1.default.get('user');
95
+ if (user) {
96
+ if (!this.createdBy)
97
+ this.createdBy = user._id;
98
+ this.updatedBy = user._id;
99
+ }
100
+ next();
101
+ });
102
+ evidenceSchema.pre('findOneAndUpdate', function (next) {
103
+ const user = express_http_context_1.default.get('user');
104
+ if (user)
105
+ this._update.updatedBy = user._id;
106
+ next();
107
+ });
108
+ exports.EvidenceModel = (0, mongoose_1.model)('Evidence', evidenceSchema);
@@ -0,0 +1,2 @@
1
+ import { IFaqModel } from '../types';
2
+ export declare const FaqModel: IFaqModel;
@@ -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.FaqModel = 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 faqSchema = new mongoose_1.Schema({
11
+ question: { type: String, default: '' },
12
+ answer: { type: String, default: '' },
13
+ answerHTML: { type: String, default: '' },
14
+ tags: [{ type: String, required: [true, '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
+ faqSchema.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
+ faqSchema.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.FaqModel = (0, mongoose_1.model)('Faq', faqSchema);
@@ -0,0 +1,2 @@
1
+ import { IFollowContentModel } from '../types';
2
+ export declare const FollowContentModel: IFollowContentModel;
@@ -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.FollowContentModel = void 0;
7
+ const mongoose_1 = require("mongoose");
8
+ const express_http_context_1 = __importDefault(require("express-http-context"));
9
+ const follow_content_type_1 = require("../types/follow-content.type");
10
+ const _config_1 = require("../config");
11
+ const followContentSchema = new mongoose_1.Schema({
12
+ user: { type: mongoose_1.Schema.Types.ObjectId, ref: 'User', required: [true, 'user is required'] },
13
+ type: { type: String, enum: follow_content_type_1.FollowContentType },
14
+ company: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Company', default: null },
15
+ theme: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Theme', default: null },
16
+ evidence: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Evidence', default: null },
17
+ usecase: { type: mongoose_1.Schema.Types.ObjectId, ref: 'UseCase', default: null },
18
+ problem: { type: mongoose_1.Schema.Types.ObjectId, ref: 'Problem', default: null },
19
+ updatedDate: { type: Number, index: -1 },
20
+ createdDate: { type: Number, index: -1 },
21
+ }, _config_1.schemaOptions);
22
+ followContentSchema.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
+ followContentSchema.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.FollowContentModel = (0, mongoose_1.model)('FollowContent', followContentSchema);
@@ -0,0 +1,2 @@
1
+ import { IGeneralConfigSubModel } from '../types';
2
+ export declare const GeneralConfigSubModel: IGeneralConfigSubModel;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeneralConfigSubModel = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const general_config_sub_type_1 = require("../types/general-config-sub.type");
6
+ const _config_1 = require("../config");
7
+ const generalConfigSubSchema = new mongoose_1.Schema({
8
+ type: { type: String, enum: Object.values(general_config_sub_type_1.SubConfigType), required: true },
9
+ key: { type: String, enum: Object.values(general_config_sub_type_1.SubConfigKey), required: true },
10
+ value: { type: String, required: true },
11
+ updatedDate: Number,
12
+ createdDate: Number,
13
+ }, _config_1.schemaOptions);
14
+ exports.GeneralConfigSubModel = (0, mongoose_1.model)('GeneralConfigSub', generalConfigSubSchema);
@@ -0,0 +1,2 @@
1
+ import { IGeneralConfigModel } from '../types';
2
+ export declare const GeneralConfigModel: IGeneralConfigModel;