@aldb2b/common 1.0.852 → 1.0.855

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 (198) hide show
  1. package/build/db/CustomModel.d.ts +25 -0
  2. package/build/db/MongooseBase.d.ts +25 -0
  3. package/build/db/aggregate/AggregateConvertor.d.ts +25 -0
  4. package/build/entities/interfaces/connection-dictionary.interface.d.ts +25 -0
  5. package/build/entities/models/common/common.provider.d.ts +25 -0
  6. package/build/entities/models/common/entities/audit-trail.entity.d.ts +25 -0
  7. package/build/entities/models/common/entities/location.entity.d.ts +61 -0
  8. package/build/entities/models/common/entities/location.entity.js.map +1 -0
  9. package/build/entities/models/common/index.d.ts +1 -0
  10. package/build/entities/models/common/index.js +1 -0
  11. package/build/entities/models/common/index.js.map +1 -1
  12. package/build/entities/models/companies/companies.provider.d.ts +26 -1
  13. package/build/entities/models/companies/companies.provider.js +1 -1
  14. package/build/entities/models/companies/companies.provider.js.map +1 -1
  15. package/build/entities/models/companies/entities/companies/company-contact-detail.schema.d.ts +70 -0
  16. package/build/entities/models/companies/entities/companies/company-contact-detail.schema.js +37 -0
  17. package/build/entities/models/companies/entities/companies/company-contact-detail.schema.js.map +1 -0
  18. package/build/entities/models/companies/entities/companies/company-size.enum.d.ts +6 -0
  19. package/build/entities/models/companies/entities/companies/company-size.enum.js +11 -0
  20. package/build/entities/models/companies/entities/companies/company-size.enum.js.map +1 -0
  21. package/build/entities/models/companies/entities/companies/company-statistic.entity.d.ts +25 -0
  22. package/build/entities/models/companies/entities/companies/company-type.enum.d.ts +26 -0
  23. package/build/entities/models/companies/entities/companies/company-type.enum.js +31 -0
  24. package/build/entities/models/companies/entities/companies/company-type.enum.js.map +1 -0
  25. package/build/entities/models/companies/entities/companies/company-user-type.enum.d.ts +9 -0
  26. package/build/entities/models/companies/entities/companies/company-user-type.enum.js +14 -0
  27. package/build/entities/models/companies/entities/companies/company-user-type.enum.js.map +1 -0
  28. package/build/entities/models/companies/entities/companies/company.entity.d.ts +138 -4
  29. package/build/entities/models/companies/entities/companies/company.entity.js +526 -13
  30. package/build/entities/models/companies/entities/companies/company.entity.js.map +1 -1
  31. package/build/entities/models/companies/entities/companies/export-capability.schema.d.ts +70 -0
  32. package/build/entities/models/companies/entities/companies/export-capability.schema.js +27 -0
  33. package/build/entities/models/companies/entities/companies/export-capability.schema.js.map +1 -0
  34. package/build/entities/models/companies/entities/companies/fortune.enum.d.ts +6 -0
  35. package/build/entities/models/companies/entities/companies/fortune.enum.js +11 -0
  36. package/build/entities/models/companies/entities/companies/fortune.enum.js.map +1 -0
  37. package/build/entities/models/companies/entities/companies/funding-stage.enum.d.ts +12 -0
  38. package/build/entities/models/companies/entities/companies/funding-stage.enum.js +17 -0
  39. package/build/entities/models/companies/entities/companies/funding-stage.enum.js.map +1 -0
  40. package/build/entities/models/companies/entities/companies/group.enum.d.ts +6 -0
  41. package/build/entities/models/companies/entities/companies/group.enum.js +11 -0
  42. package/build/entities/models/companies/entities/companies/group.enum.js.map +1 -0
  43. package/build/entities/models/companies/entities/companies/hr-data.schema.d.ts +61 -0
  44. package/build/entities/models/companies/entities/companies/hr-data.schema.js +18 -0
  45. package/build/entities/models/companies/entities/companies/hr-data.schema.js.map +1 -0
  46. package/build/entities/models/companies/entities/companies/index.d.ts +21 -1
  47. package/build/entities/models/companies/entities/companies/index.js +21 -1
  48. package/build/entities/models/companies/entities/companies/index.js.map +1 -1
  49. package/build/entities/models/companies/entities/companies/investment-ticket.enum.d.ts +10 -0
  50. package/build/entities/models/companies/entities/companies/investment-ticket.enum.js +15 -0
  51. package/build/entities/models/companies/entities/companies/investment-ticket.enum.js.map +1 -0
  52. package/build/entities/models/companies/entities/companies/investment-type.enum.d.ts +22 -0
  53. package/build/entities/models/companies/entities/companies/investment-type.enum.js +27 -0
  54. package/build/entities/models/companies/entities/companies/investment-type.enum.js.map +1 -0
  55. package/build/entities/models/companies/entities/companies/investor.schema.d.ts +95 -0
  56. package/build/entities/models/companies/entities/companies/investor.schema.js +52 -0
  57. package/build/entities/models/companies/entities/companies/investor.schema.js.map +1 -0
  58. package/build/entities/models/companies/entities/companies/manufacturer.schema.d.ts +63 -0
  59. package/build/entities/models/companies/entities/companies/manufacturer.schema.js +20 -0
  60. package/build/entities/models/companies/entities/companies/manufacturer.schema.js.map +1 -0
  61. package/build/entities/models/companies/entities/companies/number-of-employees.enum.d.ts +10 -0
  62. package/build/entities/models/companies/entities/companies/number-of-employees.enum.js +15 -0
  63. package/build/entities/models/companies/entities/companies/number-of-employees.enum.js.map +1 -0
  64. package/build/entities/models/companies/entities/companies/number-of-followers.enum.d.ts +7 -0
  65. package/build/entities/models/companies/entities/companies/number-of-followers.enum.js +12 -0
  66. package/build/entities/models/companies/entities/companies/number-of-followers.enum.js.map +1 -0
  67. package/build/entities/models/companies/entities/companies/ownership-status.enum.d.ts +12 -0
  68. package/build/entities/models/companies/entities/companies/ownership-status.enum.js +17 -0
  69. package/build/entities/models/companies/entities/companies/ownership-status.enum.js.map +1 -0
  70. package/build/entities/models/companies/entities/companies/preference.schema.d.ts +69 -0
  71. package/build/entities/models/companies/entities/companies/preference.schema.js +26 -0
  72. package/build/entities/models/companies/entities/companies/preference.schema.js.map +1 -0
  73. package/build/entities/models/companies/entities/companies/sector.schema.d.ts +62 -0
  74. package/build/entities/models/companies/entities/companies/sector.schema.js +20 -0
  75. package/build/entities/models/companies/entities/companies/sector.schema.js.map +1 -0
  76. package/build/entities/models/companies/entities/companies/status-detail.schema.d.ts +63 -0
  77. package/build/entities/models/companies/entities/companies/status-detail.schema.js +26 -0
  78. package/build/entities/models/companies/entities/companies/status-detail.schema.js.map +1 -0
  79. package/build/entities/models/companies/entities/companies/trade-show-attended-as.enum.d.ts +11 -0
  80. package/build/entities/models/companies/entities/companies/trade-show-attended-as.enum.js +16 -0
  81. package/build/entities/models/companies/entities/companies/trade-show-attended-as.enum.js.map +1 -0
  82. package/build/entities/models/companies/entities/contacts/activity-log.schema.d.ts +62 -0
  83. package/build/entities/models/companies/entities/contacts/activity-log.schema.js +24 -0
  84. package/build/entities/models/companies/entities/contacts/activity-log.schema.js.map +1 -0
  85. package/build/entities/models/companies/entities/contacts/company-status-detail.schema.d.ts +63 -0
  86. package/build/entities/models/companies/entities/contacts/company-status-detail.schema.js +26 -0
  87. package/build/entities/models/companies/entities/contacts/company-status-detail.schema.js.map +1 -0
  88. package/build/entities/models/companies/entities/contacts/connection-degree.enum.d.ts +5 -0
  89. package/build/entities/models/companies/entities/contacts/connection-degree.enum.js +10 -0
  90. package/build/entities/models/companies/entities/contacts/connection-degree.enum.js.map +1 -0
  91. package/build/entities/models/companies/entities/contacts/contact-detail.schema.d.ts +70 -0
  92. package/build/entities/models/companies/entities/contacts/contact-detail.schema.js +31 -0
  93. package/build/entities/models/companies/entities/contacts/contact-detail.schema.js.map +1 -0
  94. package/build/entities/models/companies/entities/contacts/contact.entity.d.ts +144 -0
  95. package/build/entities/models/companies/entities/contacts/contact.entity.js +380 -0
  96. package/build/entities/models/companies/entities/contacts/contact.entity.js.map +1 -0
  97. package/build/entities/models/companies/entities/contacts/data-association-modules.enum.d.ts +10 -0
  98. package/build/entities/models/companies/entities/contacts/data-association-modules.enum.js +15 -0
  99. package/build/entities/models/companies/entities/contacts/data-association-modules.enum.js.map +1 -0
  100. package/build/entities/models/companies/entities/contacts/department.enum.d.ts +31 -0
  101. package/build/entities/models/companies/entities/contacts/department.enum.js +36 -0
  102. package/build/entities/models/companies/entities/contacts/department.enum.js.map +1 -0
  103. package/build/entities/models/companies/entities/contacts/device-notification.schema.d.ts +60 -0
  104. package/build/entities/models/companies/entities/contacts/device-notification.schema.js +18 -0
  105. package/build/entities/models/companies/entities/contacts/device-notification.schema.js.map +1 -0
  106. package/build/entities/models/companies/entities/contacts/device.enum.d.ts +5 -0
  107. package/build/entities/models/companies/entities/contacts/device.enum.js +10 -0
  108. package/build/entities/models/companies/entities/contacts/device.enum.js.map +1 -0
  109. package/build/entities/models/companies/entities/contacts/index.d.ts +16 -0
  110. package/build/entities/models/companies/entities/contacts/index.js +33 -0
  111. package/build/entities/models/companies/entities/contacts/index.js.map +1 -0
  112. package/build/entities/models/companies/entities/contacts/position.enum.d.ts +16 -0
  113. package/build/entities/models/companies/entities/contacts/position.enum.js +21 -0
  114. package/build/entities/models/companies/entities/contacts/position.enum.js.map +1 -0
  115. package/build/entities/models/companies/entities/contacts/seniority-level.enum.d.ts +15 -0
  116. package/build/entities/models/companies/entities/contacts/seniority-level.enum.js +20 -0
  117. package/build/entities/models/companies/entities/contacts/seniority-level.enum.js.map +1 -0
  118. package/build/entities/models/companies/entities/contacts/status.enum.d.ts +6 -0
  119. package/build/entities/models/companies/entities/contacts/status.enum.js +11 -0
  120. package/build/entities/models/companies/entities/contacts/status.enum.js.map +1 -0
  121. package/build/entities/models/companies/entities/contacts/user-activity.enum.d.ts +4 -0
  122. package/build/entities/models/companies/entities/contacts/user-activity.enum.js +9 -0
  123. package/build/entities/models/companies/entities/contacts/user-activity.enum.js.map +1 -0
  124. package/build/entities/models/companies/entities/contacts/web-notification-key.schema.d.ts +59 -0
  125. package/build/entities/models/companies/entities/contacts/web-notification-key.schema.js +16 -0
  126. package/build/entities/models/companies/entities/contacts/web-notification-key.schema.js.map +1 -0
  127. package/build/entities/models/companies/entities/contacts/web-notification.schema.d.ts +61 -0
  128. package/build/entities/models/companies/entities/contacts/web-notification.schema.js +19 -0
  129. package/build/entities/models/companies/entities/contacts/web-notification.schema.js.map +1 -0
  130. package/build/entities/models/companies/entities/contacts/years-of-experience.enum.d.ts +7 -0
  131. package/build/entities/models/companies/entities/contacts/years-of-experience.enum.js +12 -0
  132. package/build/entities/models/companies/entities/contacts/years-of-experience.enum.js.map +1 -0
  133. package/build/entities/models/companies/index.d.ts +3 -2
  134. package/build/entities/models/companies/index.js +3 -2
  135. package/build/entities/models/companies/index.js.map +1 -1
  136. package/build/entities/models/companies/repositories/contact-common.repository.d.ts +7 -0
  137. package/build/entities/models/companies/repositories/contact-common.repository.js +12 -0
  138. package/build/entities/models/companies/repositories/contact-common.repository.js.map +1 -0
  139. package/build/entities/models/events/entities/event/event.entity.d.ts +25 -0
  140. package/build/entities/models/events/entities/eventProfile/company-profile-item.entity.d.ts +25 -0
  141. package/build/entities/models/events/entities/eventProfile/event-profile.entity.d.ts +25 -0
  142. package/build/entities/models/events/entities/eventType/event-type.entity.d.ts +25 -0
  143. package/build/entities/models/events/entities/timestamp.entity.d.ts +25 -0
  144. package/build/entities/models/events/events.provider.d.ts +25 -0
  145. package/build/entities/models/meetings/entities/meetingRequests/meeting-request.entity.d.ts +25 -0
  146. package/build/entities/models/meetings/entities/meetingRequests/rejected-contact.entity.d.ts +25 -0
  147. package/build/entities/models/meetings/entities/meetings/meeting.entity.d.ts +25 -0
  148. package/build/entities/models/meetings/entities/userAvailabilities/user-availability-timeslot.entity.d.ts +25 -0
  149. package/build/entities/models/meetings/entities/userAvailabilities/user-availability.entity.d.ts +25 -0
  150. package/build/entities/models/meetings/meetings.provider.d.ts +25 -0
  151. package/build/entities/models/model.providers.d.ts +25 -0
  152. package/build/entities/models/subscriptions/entities/companySubscriptions/company-subscription-user.entity.d.ts +25 -0
  153. package/build/entities/models/subscriptions/entities/companySubscriptions/company-subscription.entity.d.ts +25 -0
  154. package/build/entities/models/subscriptions/entities/eventSubscriptions/event-subscription.entity.d.ts +25 -0
  155. package/build/entities/models/subscriptions/entities/features/endpoint.entity.d.ts +25 -0
  156. package/build/entities/models/subscriptions/entities/features/feature.entity.d.ts +25 -0
  157. package/build/entities/models/subscriptions/entities/subscriptionLogs/subscription-log.entity.d.ts +25 -0
  158. package/build/entities/models/subscriptions/subscriptions.provider.d.ts +25 -0
  159. package/build/entities/models/users/entities/rolePermissions/permission.entity.d.ts +25 -0
  160. package/build/entities/models/users/entities/rolePermissions/role-permission.entity.d.ts +25 -0
  161. package/build/entities/models/users/entities/users/chat-info.entity.d.ts +25 -0
  162. package/build/entities/models/users/entities/users/event-info.entity.d.ts +25 -0
  163. package/build/entities/models/users/entities/users/index.d.ts +1 -1
  164. package/build/entities/models/users/entities/users/index.js +1 -1
  165. package/build/entities/models/users/entities/users/index.js.map +1 -1
  166. package/build/entities/models/users/entities/users/user.entity.d.ts +25 -0
  167. package/build/entities/models/users/entities/users/user.entity.js +5 -5
  168. package/build/entities/models/users/entities/users/user.entity.js.map +1 -1
  169. package/build/entities/models/users/users.provider.d.ts +25 -0
  170. package/build/entities/mongoose.providers.d.ts +25 -0
  171. package/build/entities/services/generate-model.d.ts +25 -0
  172. package/build/entities/services/get-model-ref.d.ts +25 -0
  173. package/build/enums/company-status-condition.enum.d.ts +6 -0
  174. package/build/enums/company-status-condition.enum.js +11 -0
  175. package/build/enums/company-status-condition.enum.js.map +1 -0
  176. package/build/enums/company-status.enum.d.ts +9 -0
  177. package/build/enums/company-status.enum.js +14 -0
  178. package/build/enums/company-status.enum.js.map +1 -0
  179. package/build/enums/contact-type.enum.d.ts +8 -0
  180. package/build/enums/contact-type.enum.js +13 -0
  181. package/build/enums/contact-type.enum.js.map +1 -0
  182. package/build/enums/territory.enum.d.ts +27 -0
  183. package/build/enums/territory.enum.js +32 -0
  184. package/build/enums/territory.enum.js.map +1 -0
  185. package/build/enums/verify-data-source.enum.d.ts +4 -0
  186. package/build/enums/verify-data-source.enum.js +9 -0
  187. package/build/enums/verify-data-source.enum.js.map +1 -0
  188. package/build/index.d.ts +5 -0
  189. package/build/index.js +5 -0
  190. package/build/index.js.map +1 -1
  191. package/build/tsconfig.tsbuildinfo +1 -1
  192. package/package.json +1 -1
  193. package/build/entities/models/companies/entities/contact.entity.d.ts +0 -45
  194. package/build/entities/models/companies/entities/contact.entity.js +0 -52
  195. package/build/entities/models/companies/entities/contact.entity.js.map +0 -1
  196. package/build/entities/models/users/entities/users/location.entity.d.ts +0 -36
  197. package/build/entities/models/users/entities/users/location.entity.js.map +0 -1
  198. /package/build/entities/models/{users/entities/users → common/entities}/location.entity.js +0 -0
@@ -1,42 +1,206 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.companyFactory = exports.Company = void 0;
4
- const mongoose_1 = require("mongoose");
5
4
  const validateProjectionResult_1 = require("../../../../../validators/validateProjectionResult");
6
5
  const validateProjection_1 = require("../../../../../validators/validateProjection");
7
- const get_model_ref_1 = require("../../../../services/get-model-ref");
6
+ const validateNewItem_1 = require("../../../../../validators/validateNewItem");
7
+ const validateUpdateItem_1 = require("../../../../../validators/validateUpdateItem");
8
+ const mongoose_1 = require("mongoose");
8
9
  const generate_model_1 = require("../../../../services/generate-model");
9
- const company_order_enum_1 = require("../../../../../enums/company-order.enum");
10
10
  const company_statistic_entity_1 = require("./company-statistic.entity");
11
+ const company_type_enum_1 = require("./company-type.enum");
12
+ const fortune_enum_1 = require("./fortune.enum");
13
+ const territory_enum_1 = require("../../../../../enums/territory.enum");
14
+ const number_of_followers_enum_1 = require("./number-of-followers.enum");
15
+ const trade_show_attended_as_enum_1 = require("./trade-show-attended-as.enum");
16
+ const company_user_type_enum_1 = require("./company-user-type.enum");
17
+ const investor_schema_1 = require("./investor.schema");
18
+ const manufacturer_schema_1 = require("./manufacturer.schema");
19
+ const hr_data_schema_1 = require("./hr-data.schema");
20
+ const company_status_enum_1 = require("../../../../../enums/company-status.enum");
21
+ const investment_ticket_enum_1 = require("./investment-ticket.enum");
22
+ const funding_stage_enum_1 = require("./funding-stage.enum");
23
+ const ownership_status_enum_1 = require("./ownership-status.enum");
24
+ const number_of_employees_enum_1 = require("./number-of-employees.enum");
25
+ const company_size_enum_1 = require("./company-size.enum");
26
+ const group_enum_1 = require("./group.enum");
27
+ const export_capability_schema_1 = require("./export-capability.schema");
28
+ const preference_schema_1 = require("./preference.schema");
29
+ const sector_schema_1 = require("./sector.schema");
30
+ const company_contact_detail_schema_1 = require("./company-contact-detail.schema");
31
+ const status_detail_schema_1 = require("./status-detail.schema");
32
+ const services_1 = require("../../../../../entities/services");
11
33
  const ObjectId = mongoose_1.Schema.Types.ObjectId;
12
34
  class Company {
13
35
  }
14
36
  exports.Company = Company;
15
37
  const companyFactory = (connection, eventConnection) => {
16
38
  const companyStatisticSchema = (0, company_statistic_entity_1.getCompanyStatisticSchema)();
39
+ const companyContactDetailSchema = (0, company_contact_detail_schema_1.getCompanyContactDetailSchema)();
40
+ const statusDetailSchema = (0, status_detail_schema_1.getStatusDetailSchema)();
41
+ const exportCapabilitySchema = (0, export_capability_schema_1.getExportCapabilitySchema)();
42
+ const hrDataSchema = (0, hr_data_schema_1.getHRDataSchema)();
43
+ const investorSchema = (0, investor_schema_1.getInvestorSchema)();
44
+ const manufacturerSchema = (0, manufacturer_schema_1.getManufacturerSchema)();
45
+ const preferenceSchema = (0, preference_schema_1.getPreferenceSchema)();
46
+ const sectorSchema = (0, sector_schema_1.getSectorSchema)();
17
47
  const companySchema = new mongoose_1.Schema({
48
+ batch: { type: ObjectId, ref: 'Import' },
18
49
  eventId: {
19
50
  type: ObjectId,
20
- ref: (0, get_model_ref_1.getModelRef)('Event', eventConnection),
51
+ ref: (0, services_1.getModelRef)('Event', eventConnection),
21
52
  },
22
- contacts: [
23
- {
24
- type: ObjectId,
25
- ref: (0, get_model_ref_1.getModelRef)('Contact', connection),
26
- },
27
- ],
28
- name: { type: String, required: true },
29
- website: { type: String, required: true },
53
+ contacts: [{ type: ObjectId, ref: 'Contact' }],
54
+ name: { type: String, trim: true, required: true },
55
+ website: { type: String, trim: true, required: true },
56
+ brief: { type: String, trim: true },
30
57
  industry: { type: String, trim: true },
31
58
  ABCompanyUrl: { type: String, trim: true },
32
59
  tel: { type: String, trim: true },
33
60
  email: { type: String, trim: true },
34
61
  mobile: { type: String, trim: true },
35
62
  logo: { type: String, trim: true },
63
+ profileImage: { type: String, trim: true },
64
+ photos: [{ type: String, trim: true }],
65
+ ABRank: { type: String, trim: true },
66
+ companySize: {
67
+ type: String,
68
+ trim: true,
69
+ enum: Object.values(company_size_enum_1.CompanySize),
70
+ },
71
+ numberOfEmployees: {
72
+ type: String,
73
+ trim: true,
74
+ enum: Object.values(number_of_employees_enum_1.NumberOfEmployees),
75
+ },
76
+ ownershipStatus: {
77
+ type: String,
78
+ trim: true,
79
+ enum: Object.values(ownership_status_enum_1.OwnershipStatus),
80
+ },
81
+ group: {
82
+ type: String,
83
+ trim: true,
84
+ enum: Object.values(group_enum_1.Group),
85
+ },
86
+ departmentHeadcount: [{ type: Number }],
87
+ departmentHeadcountGrowth: [{ type: Number }],
88
+ companyType: {
89
+ type: String,
90
+ trim: true,
91
+ enum: Object.values(company_type_enum_1.CompanyType),
92
+ },
93
+ fortune: {
94
+ type: String,
95
+ trim: true,
96
+ enum: Object.values(fortune_enum_1.Fortune),
97
+ },
98
+ legalOwner: { type: String, trim: true },
99
+ yearFounded: { type: String, trim: true },
100
+ dataSource: { type: String, trim: true },
101
+ territory: {
102
+ type: String,
103
+ trim: true,
104
+ enum: Object.values(territory_enum_1.Territory),
105
+ },
106
+ city: { type: ObjectId, ref: 'City' },
107
+ country: { type: ObjectId, ref: 'Country' },
108
+ postcode: { type: String, trim: true },
109
+ address: { type: String, trim: true },
110
+ HQAddress: { type: String, trim: true },
111
+ attendedTradeshows: { type: Boolean },
112
+ exhibitedBefore: { type: Boolean },
113
+ previouslyVisitedTradeshowsSector: { type: String, trim: true },
114
+ previouslyExhibitedTradeshowsSector: { type: String, trim: true },
115
+ numberOfMatches: { type: Number },
116
+ numberOfFollowers: {
117
+ type: String,
118
+ trim: true,
119
+ enum: Object.values(number_of_followers_enum_1.NumberOfFollowers),
120
+ },
121
+ meetingsPerShow: { type: Number },
122
+ meetingsPerYear: { type: Number },
123
+ totalMettings: { type: Number, default: 0 },
124
+ numberOfFounders: { type: Number },
125
+ acceleratorProgram: { type: String, trim: true },
126
+ acquiredBy: { type: String, trim: true },
127
+ acquisitionTerms: { type: String, trim: true },
128
+ acquiredByUrl: { type: String, trim: true },
129
+ acquisitionType: { type: String, trim: true },
130
+ companyAdvantages: [{ type: String, trim: true }],
131
+ numberOfMobileContacts: { type: Number },
132
+ numberOfPreviousAttendedTradeshows: { type: Number },
133
+ numberOfPreviousExhibitedTradeshows: { type: Number },
134
+ nameOfPreviousAttendedTradeshows: [{ type: String, trim: true }],
135
+ attendedAs: {
136
+ type: String,
137
+ trim: true,
138
+ enum: Object.values(trade_show_attended_as_enum_1.TradeShowAttendedAs),
139
+ },
140
+ numberOfMeetings: { type: Number },
141
+ numberOfQuotations: { type: Number },
142
+ numberOfDeals: { type: Number, default: 0 },
143
+ usdContractAmount: { type: Number },
144
+ announceDate: { type: Date },
145
+ technologyUsed: [{ type: String, trim: true }],
146
+ estimatedAnnualRevenue: [{ type: Number }],
147
+ jobOpportunities: [{ type: String, trim: true }],
148
+ keyIndicators: [{ type: String, trim: true }],
36
149
  userType: {
37
150
  type: String,
38
- enum: Object.values(company_order_enum_1.CompanyOrder),
151
+ trim: true,
152
+ enum: Object.values(company_user_type_enum_1.CompanyUserType),
39
153
  },
154
+ linkedin: { type: String, trim: true },
155
+ instagram: { type: String, trim: true },
156
+ facebook: { type: String, trim: true },
157
+ twitter: { type: String, trim: true },
158
+ sectors: { type: [sectorSchema], default: [], required: true },
159
+ demandingSectors: { type: [sectorSchema], default: [], required: true },
160
+ keywords: { type: [ObjectId], ref: 'Tag', default: [] },
161
+ badges: { type: [ObjectId], default: [] },
162
+ investor: { type: investorSchema },
163
+ manufacturer: { type: manufacturerSchema },
164
+ hrData: { type: hrDataSchema },
165
+ exportCapability: { type: exportCapabilitySchema },
166
+ status: {
167
+ type: String,
168
+ trim: true,
169
+ enum: Object.values(company_status_enum_1.CompanyStatus),
170
+ default: company_status_enum_1.CompanyStatus.PUBLISHED,
171
+ required: true,
172
+ },
173
+ isFirstTimeOnboarding: { type: Boolean, required: true, default: true },
174
+ preferences: { type: preferenceSchema },
175
+ meetingsScheduled: { type: Number, default: 0 },
176
+ meetingsConducted: { type: Number, default: 0 },
177
+ matches: { type: Number, default: 0 },
178
+ RFQs: { type: Number, default: 0 },
179
+ quotations: { type: Number, default: 0 },
180
+ investmentTicket: {
181
+ type: [String],
182
+ enum: Object.values(investment_ticket_enum_1.InvestmentTicket),
183
+ },
184
+ fundingStage: {
185
+ type: [String],
186
+ enum: Object.values(funding_stage_enum_1.FundingStage),
187
+ },
188
+ createdBy: { type: ObjectId, ref: 'Contact' },
189
+ checkIn: { type: Number },
190
+ updatedBy: { type: ObjectId, ref: 'Contact' },
191
+ createdAt: { type: Date, required: true, default: Date.now },
192
+ updatedAt: { type: Date, required: true, default: Date.now },
193
+ websiteSellings: { type: [String], default: [] },
194
+ websiteBuyings: { type: [String], default: [] },
195
+ createdByTool: { type: String, trim: true },
196
+ matchingPercentage: { type: Number },
197
+ enrichByTool: { type: Boolean, default: false },
198
+ public: { type: Boolean, default: false },
199
+ matchingSuggestions: [{ type: Object }],
200
+ linkedinEmailVerified: { type: Boolean, default: false },
201
+ statusDetails: { type: [statusDetailSchema], default: [] },
202
+ industries: { type: [ObjectId], ref: 'Industry' },
203
+ contactDetails: { type: [companyContactDetailSchema], default: [] },
40
204
  statistics: {
41
205
  type: [companyStatisticSchema],
42
206
  default: [],
@@ -44,21 +208,370 @@ const companyFactory = (connection, eventConnection) => {
44
208
  });
45
209
  const allProjectionFieldArray = [
46
210
  '_id',
211
+ 'name',
212
+ 'batch',
213
+ 'website',
214
+ 'brief',
215
+ 'ABCompanyUrl',
216
+ 'tel',
217
+ 'email',
218
+ 'mobile',
219
+ 'logo',
220
+ 'profileImage',
221
+ 'photos',
222
+ 'ABRank',
223
+ 'companySize',
224
+ 'numberOfEmployees',
225
+ 'ownershipStatus',
226
+ 'group',
227
+ 'industry',
228
+ 'departmentHeadcount',
229
+ 'departmentHeadcountGrowth',
230
+ 'companyType',
231
+ 'fortune',
232
+ 'legalOwner',
233
+ 'yearFounded',
234
+ 'dataSource',
235
+ 'territory',
236
+ 'city',
237
+ 'country',
238
+ 'postcode',
239
+ 'address',
240
+ 'HQAddress',
241
+ 'attendedTradeshows',
242
+ 'exhibitedBefore',
243
+ 'previouslyVisitedTradeshowsSector',
244
+ 'previouslyExhibitedTradeshowsSector',
245
+ 'numberOfMatches',
246
+ 'numberOfFollowers',
247
+ 'meetingsPerShow',
248
+ 'meetingsPerYear',
249
+ 'totalMettings',
250
+ 'numberOfFounders',
251
+ 'acceleratorProgram',
252
+ 'acquiredBy',
253
+ 'acquisitionTerms',
254
+ 'acquiredByUrl',
255
+ 'acquisitionType',
256
+ 'companyAdvantages',
257
+ 'numberOfMobileContacts',
258
+ 'numberOfPreviousAttendedTradeshows',
259
+ 'numberOfPreviousExhibitedTradeshows',
260
+ 'nameOfPreviousAttendedTradeshows',
261
+ 'attendedAs',
262
+ 'numberOfMeetings',
263
+ 'numberOfQuotations',
264
+ 'numberOfDeals',
265
+ 'usdContractAmount',
266
+ 'announceDate',
267
+ 'technologyUsed',
268
+ 'estimatedAnnualRevenue',
269
+ 'jobOpportunities',
270
+ 'userType',
271
+ 'linkedin',
272
+ 'instagram',
273
+ 'facebook',
274
+ 'twitter',
275
+ 'sectors',
276
+ 'demandingSectors',
277
+ 'investor',
278
+ 'manufacturer',
279
+ 'hrData',
280
+ 'exportCapability',
281
+ 'keyIndicators',
282
+ 'keywords',
283
+ 'badges',
284
+ 'status',
47
285
  'eventId',
286
+ 'isFirstTimeOnboarding',
48
287
  'contacts',
288
+ 'preferences',
289
+ 'RFQs',
290
+ 'quotations',
291
+ 'matches',
292
+ 'meetingsScheduled',
293
+ 'meetingsConducted',
294
+ 'investmentTicket',
295
+ 'fundingStage',
296
+ 'checkIn',
297
+ 'createdBy',
298
+ 'updatedBy',
299
+ 'createdAt',
300
+ 'updatedAt',
301
+ 'public',
302
+ 'enrichByTool',
303
+ 'createdByTool',
304
+ 'matchingPercentage',
305
+ 'linkedinEmailVerified',
306
+ 'matchingSuggestions',
307
+ 'statusDetails',
308
+ 'industries',
309
+ 'contactDetails',
310
+ 'statistics',
311
+ ];
312
+ const allValidateNewItemFieldArray = [
313
+ '_id',
49
314
  'name',
315
+ 'batch',
50
316
  'website',
317
+ 'brief',
318
+ 'ABCompanyUrl',
319
+ 'tel',
320
+ 'email',
321
+ 'mobile',
322
+ 'logo',
323
+ 'profileImage',
324
+ 'photos',
325
+ 'ABRank',
326
+ 'companySize',
327
+ 'numberOfEmployees',
328
+ 'ownershipStatus',
329
+ 'group',
51
330
  'industry',
331
+ 'departmentHeadcount',
332
+ 'departmentHeadcountGrowth',
333
+ 'companyType',
334
+ 'fortune',
335
+ 'legalOwner',
336
+ 'yearFounded',
337
+ 'dataSource',
338
+ 'territory',
339
+ 'city',
340
+ 'country',
341
+ 'postcode',
342
+ 'address',
343
+ 'HQAddress',
344
+ 'attendedTradeshows',
345
+ 'exhibitedBefore',
346
+ 'previouslyVisitedTradeshowsSector',
347
+ 'previouslyExhibitedTradeshowsSector',
348
+ 'numberOfMatches',
349
+ 'numberOfFollowers',
350
+ 'meetingsPerShow',
351
+ 'meetingsPerYear',
352
+ 'totalMettings',
353
+ 'numberOfFounders',
354
+ 'acceleratorProgram',
355
+ 'acquiredBy',
356
+ 'acquisitionTerms',
357
+ 'acquiredByUrl',
358
+ 'acquisitionType',
359
+ 'companyAdvantages',
360
+ 'numberOfMobileContacts',
361
+ 'numberOfPreviousAttendedTradeshows',
362
+ 'numberOfPreviousExhibitedTradeshows',
363
+ 'nameOfPreviousAttendedTradeshows',
364
+ 'attendedAs',
365
+ 'numberOfMeetings',
366
+ 'numberOfQuotations',
367
+ 'numberOfDeals',
368
+ 'usdContractAmount',
369
+ 'announceDate',
370
+ 'technologyUsed',
371
+ 'estimatedAnnualRevenue',
372
+ 'jobOpportunities',
373
+ 'userType',
374
+ 'linkedin',
375
+ 'instagram',
376
+ 'facebook',
377
+ 'twitter',
378
+ 'sectors',
379
+ 'demandingSectors',
380
+ 'investor',
381
+ 'manufacturer',
382
+ 'hrData',
383
+ 'exportCapability',
384
+ 'keyIndicators',
385
+ 'keywords',
386
+ 'badges',
387
+ 'status',
388
+ 'eventId',
389
+ 'isFirstTimeOnboarding',
390
+ 'contacts',
391
+ 'preferences',
392
+ 'RFQs',
393
+ 'quotations',
394
+ 'matches',
395
+ 'meetingsScheduled',
396
+ 'meetingsConducted',
397
+ 'investmentTicket',
398
+ 'fundingStage',
399
+ 'checkIn',
400
+ 'createdBy',
401
+ 'updatedBy',
402
+ 'createdAt',
403
+ 'updatedAt',
404
+ 'websiteSellings',
405
+ 'websiteBuyings',
406
+ 'statusDetails',
407
+ 'industries',
408
+ 'contactDetails',
409
+ 'statistics',
410
+ ];
411
+ const allValidateUpdateItemFieldArray = [
412
+ 'batch',
413
+ 'eventId',
414
+ 'name',
415
+ 'website',
416
+ 'brief',
52
417
  'ABCompanyUrl',
53
418
  'tel',
54
419
  'email',
55
420
  'mobile',
56
421
  'logo',
422
+ 'profileImage',
423
+ 'photos',
424
+ 'ABRank',
425
+ 'industry',
426
+ 'companySize',
427
+ 'numberOfEmployees',
428
+ 'ownershipStatus',
429
+ 'group',
430
+ 'departmentHeadcount',
431
+ 'departmentHeadcountGrowth',
432
+ 'companyType',
433
+ 'fortune',
434
+ 'legalOwner',
435
+ 'yearFounded',
436
+ 'dataSource',
437
+ 'territory',
438
+ 'city',
439
+ 'country',
440
+ 'postcode',
441
+ 'address',
442
+ 'HQAddress',
443
+ 'attendedTradeshows',
444
+ 'exhibitedBefore',
445
+ 'previouslyVisitedTradeshowsSector',
446
+ 'previouslyExhibitedTradeshowsSector',
447
+ 'numberOfMatches',
448
+ 'numberOfFollowers',
449
+ 'meetingsPerShow',
450
+ 'meetingsPerYear',
451
+ 'totalMettings',
452
+ 'numberOfFounders',
453
+ 'acceleratorProgram',
454
+ 'acquiredBy',
455
+ 'acquisitionTerms',
456
+ 'acquiredByUrl',
457
+ 'acquisitionType',
458
+ 'companyAdvantages',
459
+ 'numberOfMobileContacts',
460
+ 'numberOfPreviousAttendedTradeshows',
461
+ 'numberOfPreviousExhibitedTradeshows',
462
+ 'nameOfPreviousAttendedTradeshows',
463
+ 'attendedAs',
464
+ 'numberOfMeetings',
465
+ 'numberOfQuotations',
466
+ 'numberOfDeals',
467
+ 'usdContractAmount',
468
+ 'announceDate',
469
+ 'technologyUsed',
470
+ 'estimatedAnnualRevenue',
471
+ 'jobOpportunities',
57
472
  'userType',
473
+ 'linkedin',
474
+ 'instagram',
475
+ 'facebook',
476
+ 'twitter',
477
+ 'sectors',
478
+ 'demandingSectors',
479
+ 'investor',
480
+ 'manufacturer',
481
+ 'hrData',
482
+ 'exportCapability',
483
+ 'keyIndicators',
484
+ 'keywords',
485
+ 'badges',
486
+ 'status',
487
+ 'isFirstTimeOnboarding',
488
+ 'preferences',
489
+ 'RFQs',
490
+ 'quotations',
491
+ 'matches',
492
+ 'meetingsScheduled',
493
+ 'meetingsConducted',
494
+ 'contacts',
495
+ 'investmentTicket',
496
+ 'fundingStage',
497
+ 'checkIn',
498
+ 'createdAt',
499
+ 'updatedBy',
500
+ 'updatedAt',
501
+ 'websiteSellings',
502
+ 'websiteBuyings',
503
+ 'statusDetails',
504
+ 'industries',
505
+ 'contactDetails',
58
506
  'statistics',
59
507
  ];
508
+ const allProjectionNestedField = {
509
+ contactDetails: [
510
+ '_id',
511
+ 'contactType',
512
+ 'dataSource',
513
+ 'value',
514
+ 'isValid',
515
+ 'evaluatedAt',
516
+ 'evaluatedBy',
517
+ 'isPrimary',
518
+ 'failureMessage',
519
+ 'createdAt',
520
+ 'updatedAt',
521
+ ],
522
+ };
523
+ const allValidateNestedNewItemField = {
524
+ contactDetails: [
525
+ '_id',
526
+ 'contactType',
527
+ 'dataSource',
528
+ 'value',
529
+ 'isValid',
530
+ 'evaluatedAt',
531
+ 'evaluatedBy',
532
+ 'isPrimary',
533
+ 'failureMessage',
534
+ 'createdAt',
535
+ 'updatedAt',
536
+ ],
537
+ };
538
+ const allValidateNestedUpdateItemField = {
539
+ contactDetails: [
540
+ 'dataSource',
541
+ 'value',
542
+ 'isValid',
543
+ 'evaluatedAt',
544
+ 'evaluatedBy',
545
+ 'isPrimary',
546
+ 'failureMessage',
547
+ 'updatedAt',
548
+ ],
549
+ };
60
550
  companySchema.statics.validateProjectionResult = (necessaryProjectionObj) => (0, validateProjectionResult_1.validateProjectionResult)(allProjectionFieldArray, necessaryProjectionObj);
61
551
  companySchema.statics.validateProjection = (necessaryProjectionArray) => (0, validateProjection_1.validateProjection)(allProjectionFieldArray, necessaryProjectionArray);
552
+ companySchema.statics.validateNewItem = (newItemObj) => (0, validateNewItem_1.validateNewItem)(allValidateNewItemFieldArray, newItemObj);
553
+ companySchema.statics.validateUpdateItem = (updateItemObj) => (0, validateUpdateItem_1.validateUpdateItem)(allValidateUpdateItemFieldArray, updateItemObj);
554
+ companySchema.statics.validatedNestedProjectionResult = (necessaryProjectionObj, nestedField) => (0, validateProjectionResult_1.validateProjectionResult)(allProjectionNestedField[nestedField], necessaryProjectionObj);
555
+ companySchema.statics.validatedNestedProjection = (necessaryProjectionArray, nestedField) => (0, validateProjection_1.validateProjection)(allProjectionNestedField[nestedField], necessaryProjectionArray);
556
+ companySchema.statics.validatedNestedNewItem = (newItemObj, nestedField) => (0, validateNewItem_1.validateNewItem)(allValidateNestedNewItemField[nestedField], newItemObj);
557
+ companySchema.statics.validatedNestedUpdateItem = (updateItemObj, nestedField) => (0, validateUpdateItem_1.validateUpdateItem)(allValidateNestedUpdateItemField[nestedField], updateItemObj);
558
+ companySchema.pre('findOneAndUpdate', async function (next) {
559
+ const currentRecord = this;
560
+ if (currentRecord &&
561
+ currentRecord._update['$set'] &&
562
+ currentRecord._update['$set'].contacts &&
563
+ currentRecord._update['$set'].contacts.length) {
564
+ this._update['$set'].contacts = [
565
+ ...new Set(currentRecord._update['$set'].contacts.map((contact) => contact._id ? String(contact._id) : String(contact))),
566
+ ];
567
+ }
568
+ this._update.updatedAt = new Date();
569
+ next();
570
+ });
571
+ companySchema.index({ createdAt: -1 });
572
+ companySchema.index({ name: 1, website: 1, email: 1 });
573
+ companySchema.index({ status: 1 });
574
+ companySchema.index({ eventId: 1 });
62
575
  return (0, generate_model_1.generateModel)('Company', connection, companySchema);
63
576
  };
64
577
  exports.companyFactory = companyFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"company.entity.js","sourceRoot":"","sources":["../../../../../../src/entities/models/companies/entities/companies/company.entity.ts"],"names":[],"mappings":";;;AAEA,uCAA6C;AAC7C,iGAA6F;AAC7F,qFAAiF;AACjF,sEAAgE;AAChE,wEAAmE;AAEnE,gFAAsE;AACtE,yEAGmC;AACnC,MAAM,QAAQ,GAAG,iBAAM,CAAC,KAAK,CAAC,QAAQ,CAAA;AAItC,MAAa,OAAO;CAcnB;AAdD,0BAcC;AAEM,MAAM,cAAc,GAAG,CAC5B,UAAsB,EACtB,eAA2B,EAC3B,EAAE;IACF,MAAM,sBAAsB,GAAG,IAAA,oDAAyB,GAAE,CAAA;IAE1D,MAAM,aAAa,GAAG,IAAI,iBAAM,CAAwB;QACtD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAA,2BAAW,EAAoB,OAAO,EAAE,eAAe,CAAC;SAC9D;QACD,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,IAAA,2BAAW,EAAwB,SAAS,EAAE,UAAU,CAAC;aAC/D;SACF;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACtC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1C,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACjC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACnC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QACpC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;QAClC,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iCAAY,CAAC;SAClC;QACD,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,sBAAsB,CAAC;YAC9B,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CAAA;IAEF,MAAM,uBAAuB,GAAG;QAC9B,KAAK;QACL,SAAS;QACT,UAAU;QACV,MAAM;QACN,SAAS;QACT,UAAU;QACV,cAAc;QACd,KAAK;QACL,OAAO;QACP,QAAQ;QACR,MAAM;QACN,UAAU;QACV,YAAY;KACb,CAAA;IAED,aAAa,CAAC,OAAO,CAAC,wBAAwB,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAC1E,IAAA,mDAAwB,EAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAA;IAE3E,aAAa,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,wBAAwB,EAAE,EAAE,CACtE,IAAA,uCAAkB,EAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAA;IAEvE,OAAO,IAAA,8BAAa,EAClB,SAAS,EACT,UAAU,EACV,aAAa,CACd,CAAA;AACH,CAAC,CAAA;AA9DY,QAAA,cAAc,kBA8D1B"}
1
+ {"version":3,"file":"company.entity.js","sourceRoot":"","sources":["../../../../../../src/entities/models/companies/entities/companies/company.entity.ts"],"names":[],"mappings":"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"}