@winible/winible-typed 2.51.3 → 2.52.1

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 (217) hide show
  1. package/README.md +104 -104
  2. package/dist/event-collector-models/conversion-log.js +49 -0
  3. package/dist/event-collector-models/conversion-log.js.map +1 -0
  4. package/dist/event-collector-models/event-send-log.js +54 -0
  5. package/dist/event-collector-models/event-send-log.js.map +1 -0
  6. package/dist/event-collector-models/index.js +15 -0
  7. package/dist/event-collector-models/index.js.map +1 -0
  8. package/dist/event-collector-models/send-log.js +75 -0
  9. package/dist/event-collector-models/send-log.js.map +1 -0
  10. package/dist/event-collector-models/ts-sequelize.js +64 -0
  11. package/dist/event-collector-models/ts-sequelize.js.map +1 -0
  12. package/dist/index.js +19 -19
  13. package/dist/migrations/20230104055346-oddsjam.js +500 -500
  14. package/dist/migrations/20230104233909-markets.js +27 -27
  15. package/dist/migrations/20230105005418-sportsbook.js +23 -23
  16. package/dist/migrations/20230106044910-player-result.js +58 -58
  17. package/dist/migrations/20230206061925-stale.js +12 -12
  18. package/dist/migrations/20230313175015-league-user.js +28 -28
  19. package/dist/migrations/20230405141245-deprecate-agencies.js +8 -8
  20. package/dist/migrations/20230405142440-deprecate-unused-tables.js +22 -22
  21. package/dist/migrations/20230410144940-deprecate-consent-people.js +8 -8
  22. package/dist/migrations/20230410174328-deprecate-consent-people-table.js +8 -8
  23. package/dist/migrations/20230410181920-migrate-credit-payments-to-transactions.js +8 -8
  24. package/dist/migrations/20230410202433-migrate-credit-payments-fields.js +11 -11
  25. package/dist/migrations/20230410211059-deprecate-credit-purchases.js +8 -8
  26. package/dist/migrations/20230410212035-deprecate-dashboard_user_permissions.js +9 -9
  27. package/dist/migrations/20230410212324-deprecate-non-breaking-tables.js +33 -33
  28. package/dist/migrations/20230411054826-create-users-table.js +140 -140
  29. package/dist/migrations/20230411202848-migrate_transactions_table.js +23 -23
  30. package/dist/migrations/20230411203543-migrate_league_users.js +8 -8
  31. package/dist/migrations/20230411205324-migrate_league.js +12 -12
  32. package/dist/migrations/20230411221159-migrate_media.js +8 -8
  33. package/dist/migrations/20230411221327-migrate_media_asset.js +9 -9
  34. package/dist/migrations/20230411221842-migrate_media_asset_fields.js +9 -9
  35. package/dist/migrations/20230411222018-migrate_notifications.js +24 -24
  36. package/dist/migrations/20230412190423-migrate_purchased_contents.js +9 -9
  37. package/dist/migrations/20230412202031-migrate_other_fields.js +26 -26
  38. package/dist/migrations/20230412213952-deprecate_phone_users_and_phone_owners.js +26 -26
  39. package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js +33 -0
  40. package/dist/migrations/20241123184623-recurly-payment-monitoring-whitelist.js.map +1 -0
  41. package/dist/migrations/20241123184623-whitelist.js +36 -36
  42. package/dist/migrations/20241204220824-pumping-risk-score-monitoring-table.js +47 -47
  43. package/dist/migrations/20241205003230-failed-transactions.js +67 -67
  44. package/dist/migrations/20241216145328-password-tokens.js +33 -33
  45. package/dist/scripts/cleanupRecurlyPlans.js +49 -49
  46. package/dist/scripts/deleteMalformedImages.js +86 -86
  47. package/dist/scripts/test.js +17 -17
  48. package/dist/src/index.js +8 -8
  49. package/dist/src/recurlyInstance.js +32 -32
  50. package/dist/src/types.js +86 -86
  51. package/dist/support/index.js +18 -18
  52. package/dist/support/slack-client.js +50 -50
  53. package/dist/support/uploadcare.js +142 -142
  54. package/dist/support/utils.js +68 -68
  55. package/dist/typed-model/affiliate-code.js +97 -97
  56. package/dist/typed-model/affiliate-links-types.js +28 -28
  57. package/dist/typed-model/application.js +89 -89
  58. package/dist/typed-model/bet.js +111 -111
  59. package/dist/typed-model/campaign-message.js +75 -78
  60. package/dist/typed-model/campaign-message.js.map +1 -1
  61. package/dist/typed-model/campaign-template.js +62 -67
  62. package/dist/typed-model/campaign-template.js.map +1 -1
  63. package/dist/typed-model/campaign.js +80 -78
  64. package/dist/typed-model/campaign.js.map +1 -1
  65. package/dist/typed-model/cancellation_offer.js +70 -70
  66. package/dist/typed-model/cancellation_reason.js +98 -98
  67. package/dist/typed-model/content-like.js +69 -69
  68. package/dist/typed-model/coupon_redemptions.js +64 -64
  69. package/dist/typed-model/creator-service-fee.js +50 -50
  70. package/dist/typed-model/discord-integration-log.js +62 -62
  71. package/dist/typed-model/discord-integration.js +128 -128
  72. package/dist/typed-model/failed-transactions.js +95 -95
  73. package/dist/typed-model/featured-creator.js +51 -51
  74. package/dist/typed-model/free-subscription-plan.js +66 -66
  75. package/dist/typed-model/index.js +129 -139
  76. package/dist/typed-model/index.js.map +1 -1
  77. package/dist/typed-model/integration.js +58 -58
  78. package/dist/typed-model/league-on-users.js +59 -59
  79. package/dist/typed-model/league.js +34 -34
  80. package/dist/typed-model/limited-offer.js +58 -58
  81. package/dist/typed-model/media-asset.js +63 -63
  82. package/dist/typed-model/media.js +54 -54
  83. package/dist/typed-model/migration-token.js +52 -52
  84. package/dist/typed-model/notification-preference.js +58 -58
  85. package/dist/typed-model/notification.js +89 -89
  86. package/dist/typed-model/organization.js +57 -57
  87. package/dist/typed-model/password-tokens.js +36 -36
  88. package/dist/typed-model/pb-sequelize.js +43 -43
  89. package/dist/typed-model/permission.js +36 -36
  90. package/dist/typed-model/post.js +128 -128
  91. package/dist/typed-model/post_on_integrations.js +81 -81
  92. package/dist/typed-model/posts-on-users.js +92 -92
  93. package/dist/typed-model/private-feed-users.js +42 -42
  94. package/dist/typed-model/pumping-risk-score-monitoring.js +54 -54
  95. package/dist/typed-model/recurly-account.js +33 -33
  96. package/dist/typed-model/recurly-payment-monitoring-whitelist.js +45 -0
  97. package/dist/typed-model/recurly-payment-monitoring-whitelist.js.map +1 -0
  98. package/dist/typed-model/sample.js +24 -24
  99. package/dist/typed-model/segment.js +51 -52
  100. package/dist/typed-model/segment.js.map +1 -1
  101. package/dist/typed-model/sms-custom-message.js +46 -46
  102. package/dist/typed-model/sport-on-posts.js +58 -58
  103. package/dist/typed-model/sport.js +29 -29
  104. package/dist/typed-model/store.js +152 -152
  105. package/dist/typed-model/stores_on_organizations.js +55 -55
  106. package/dist/typed-model/subscriber-discord-integration.js +82 -82
  107. package/dist/typed-model/subscriber-telegram-integration.js +82 -82
  108. package/dist/typed-model/subscribers-on-creators.js +80 -80
  109. package/dist/typed-model/subscription-coupon.js +96 -96
  110. package/dist/typed-model/subscription-plan-on-post.js +54 -54
  111. package/dist/typed-model/subscription-plan-on-users.js +143 -143
  112. package/dist/typed-model/subscription-plan.js +121 -121
  113. package/dist/typed-model/subscription-pricing-option-on-coupons.js +54 -54
  114. package/dist/typed-model/subscription-pricing-option.js +77 -77
  115. package/dist/typed-model/telegram-integration-code.js +38 -38
  116. package/dist/typed-model/telegram-integration-invite-link.js +38 -38
  117. package/dist/typed-model/telegram-integration-log.js +62 -62
  118. package/dist/typed-model/telegram-integration.js +109 -109
  119. package/dist/typed-model/transaction.js +109 -109
  120. package/dist/typed-model/trigger.js +63 -65
  121. package/dist/typed-model/trigger.js.map +1 -1
  122. package/dist/typed-model/user-cookie-preference.js +53 -53
  123. package/dist/typed-model/user-review.js +66 -66
  124. package/dist/typed-model/user-transaction-location.js +89 -89
  125. package/dist/typed-model/user.js +210 -210
  126. package/dist/typed-model/users-on-permissions.js +71 -71
  127. package/dist/typed-model/users_on_creators.js +70 -70
  128. package/dist/typed-model/users_on_organizations.js +55 -55
  129. package/dist/typed-model/whitelist.js +48 -48
  130. package/dist/typed-model/withdrawal.js +32 -32
  131. package/dist/webhooks/index.js +47 -47
  132. package/dist/webhooks/payment/index.js +8 -8
  133. package/dist/webhooks/payment/refund.js +38 -38
  134. package/event-collector-models/conversion-log.ts +65 -0
  135. package/event-collector-models/event-send-log.ts +71 -0
  136. package/event-collector-models/index.ts +4 -0
  137. package/event-collector-models/send-log.ts +96 -0
  138. package/event-collector-models/ts-sequelize.ts +49 -0
  139. package/index.ts +3 -3
  140. package/package.json +79 -79
  141. package/src/index.ts +1 -1
  142. package/src/recurlyInstance.ts +6 -6
  143. package/src/types.ts +139 -139
  144. package/support/index.ts +2 -2
  145. package/support/slack-client.ts +43 -43
  146. package/support/uploadcare.ts +191 -191
  147. package/support/utils.ts +72 -72
  148. package/typed-model/affiliate-code.ts +133 -133
  149. package/typed-model/affiliate-links-types.ts +45 -45
  150. package/typed-model/application.ts +124 -124
  151. package/typed-model/bet.ts +149 -149
  152. package/typed-model/campaign-message.ts +112 -115
  153. package/typed-model/campaign-template.ts +83 -89
  154. package/typed-model/campaign.ts +119 -121
  155. package/typed-model/cancellation_offer.ts +94 -94
  156. package/typed-model/cancellation_reason.ts +135 -135
  157. package/typed-model/content-like.ts +95 -95
  158. package/typed-model/coupon_redemptions.ts +90 -90
  159. package/typed-model/creator-service-fee.ts +69 -69
  160. package/typed-model/discord-integration-log.ts +87 -87
  161. package/typed-model/discord-integration.ts +164 -164
  162. package/typed-model/failed-transactions.ts +123 -123
  163. package/typed-model/featured-creator.ts +75 -75
  164. package/typed-model/free-subscription-plan.ts +97 -97
  165. package/typed-model/index.ts +61 -67
  166. package/typed-model/integration.ts +83 -83
  167. package/typed-model/league-on-users.ts +81 -81
  168. package/typed-model/league.ts +53 -53
  169. package/typed-model/limited-offer.ts +80 -80
  170. package/typed-model/media-asset.ts +87 -87
  171. package/typed-model/media.ts +80 -80
  172. package/typed-model/migration-token.ts +75 -75
  173. package/typed-model/notification-preference.ts +85 -85
  174. package/typed-model/notification.ts +135 -135
  175. package/typed-model/organization.ts +80 -80
  176. package/typed-model/password-tokens.ts +55 -55
  177. package/typed-model/pb-sequelize.ts +44 -44
  178. package/typed-model/permission.ts +62 -62
  179. package/typed-model/post.ts +170 -170
  180. package/typed-model/post_on_integrations.ts +104 -104
  181. package/typed-model/posts-on-users.ts +122 -122
  182. package/typed-model/private-feed-users.ts +63 -63
  183. package/typed-model/pumping-risk-score-monitoring.ts +73 -73
  184. package/typed-model/recurly-account.ts +51 -51
  185. package/typed-model/sample.ts +41 -41
  186. package/typed-model/segment.ts +79 -80
  187. package/typed-model/sms-custom-message.ts +66 -66
  188. package/typed-model/sport-on-posts.ts +80 -80
  189. package/typed-model/sport.ts +46 -46
  190. package/typed-model/store.ts +203 -203
  191. package/typed-model/stores_on_organizations.ts +78 -78
  192. package/typed-model/subscriber-discord-integration.ts +109 -109
  193. package/typed-model/subscriber-telegram-integration.ts +109 -109
  194. package/typed-model/subscribers-on-creators.ts +107 -107
  195. package/typed-model/subscription-coupon.ts +133 -133
  196. package/typed-model/subscription-plan-on-post.ts +77 -77
  197. package/typed-model/subscription-plan-on-users.ts +201 -201
  198. package/typed-model/subscription-plan.ts +173 -173
  199. package/typed-model/subscription-pricing-option-on-coupons.ts +78 -78
  200. package/typed-model/subscription-pricing-option.ts +106 -106
  201. package/typed-model/telegram-integration-code.ts +60 -60
  202. package/typed-model/telegram-integration-invite-link.ts +59 -59
  203. package/typed-model/telegram-integration-log.ts +86 -86
  204. package/typed-model/telegram-integration.ts +141 -141
  205. package/typed-model/transaction.ts +159 -159
  206. package/typed-model/trigger.ts +93 -95
  207. package/typed-model/user-cookie-preference.ts +71 -71
  208. package/typed-model/user-review.ts +87 -87
  209. package/typed-model/user-transaction-location.ts +117 -117
  210. package/typed-model/user.ts +273 -273
  211. package/typed-model/users-on-permissions.ts +96 -96
  212. package/typed-model/users_on_creators.ts +95 -95
  213. package/typed-model/users_on_organizations.ts +78 -78
  214. package/typed-model/whitelist.ts +66 -66
  215. package/typed-model/withdrawal.ts +50 -50
  216. package/dist/scripts/testModels.js +0 -57
  217. package/dist/scripts/testModels.js.map +0 -1
package/README.md CHANGED
@@ -1,104 +1,104 @@
1
- # Winible Typescript Models
2
-
3
- The Winible Typescript Models or `@winible/winible-typed` npm package is a project that holds all of Winible's sequelize database model declarations, sequelize client instantiation, as well as type declarations for unifying type sharing between all of our projects.
4
-
5
- ## Overview
6
-
7
- This package serves as the central source of truth for Winible's database models and TypeScript types. It's used across multiple projects including:
8
-
9
- - Main backend
10
- - Lambda functions
11
- - Other Winible services
12
-
13
- ## Installation
14
-
15
- ```bash
16
- npm install @winible/winible-typed
17
- ```
18
-
19
- ## Project Structure
20
-
21
- ```
22
- ├── src/ # Source code
23
- │ ├── types.ts # Index types (NOT IN USE)
24
- │ ├── index.ts # Main entry point
25
- │ └── recurlyInstance.ts # Recurly integration
26
- ├── migrations/ # Database migrations (NOT IN USE)
27
- ├── typed-model/ # Typed model definitions
28
- ├── support/ # Support utilities (NOT IN USE)
29
- └── webhooks/ # Webhook handlers (NOT IN USE)
30
- ```
31
-
32
- ## Features
33
-
34
- - Sequelize model declarations
35
- - TypeScript type definitions
36
- - Database migrations (Not in use)
37
- - Shared database client instance
38
-
39
- ## Development Setup
40
-
41
- 1. Clone the repository:
42
-
43
- ```bash
44
- git clone https://github.com/winible-betting/winible-typescript-models.git
45
- ```
46
-
47
- 2. Install dependencies:
48
-
49
- ```bash
50
- npm install
51
- ```
52
-
53
- 3. Build the project:
54
-
55
- ```bash
56
- npm run build
57
- ```
58
-
59
- ## Database Migrations
60
-
61
- While this package includes migration files in the `migrations/` directory, these migrations are currently not in use and should not be used. The migration system has been deprecated in favor of other database management approaches.
62
-
63
- ## Contributing
64
-
65
- We use npm and [semantic versioning](#semantic-versioning) for making changes to the models and sharing. We need to be extremely careful when making major changes because almost all of winible's project use the npm package and are reliant on its typescript or model declarations, some of them use the sequelize instance to make database calls, like the [main backend](https://github.com/winible-betting/winible-backend) or some of our [lambda functions](https://github.com/winible-betting/winible-lambda-functions).
66
-
67
- ### Releasing a new version
68
-
69
- 1. Make the changes to the models needed
70
- 2. PR your changes into main
71
- 1. Get approvals
72
- 3. Merge into main
73
- 4. Release a new version:
74
- 1. `npm version minor|major|patch` ← please refer to the [semantic versioning section](#semantic-versioning) for explanation
75
- 1. Most changes fall into a MINOR version category change (eg. updates to a existing data model, adding a new data model)
76
- 2. Run `npm run publish`. Note: you will get an error but that's normal, you can ignore it.
77
- 5. Push new version change to main
78
- 6. Update the Database manually
79
- 7. Update the package version on all needed repositories by:
80
- 1. Manually changing the version on `package.json`
81
- 2. Using `npm run winible`
82
- 1. This will install the latest version of the package that being major, minor or patch
83
-
84
- ### NPM Tags
85
-
86
- For more complex feature development that will require testing or major overhauls, we can use npm tag releases. Please follow the guide below:
87
-
88
- [How to Use NPM Tags](https://dev.to/andywer/how-to-use-npm-tags-4lla)
89
-
90
- After all testing is done and it's ready to release, make a [regular release](#releasing-a-new-version) with all the changes.
91
-
92
- ## Misc
93
-
94
- ### Links
95
-
96
- - [NPM Package](https://www.npmjs.com/package/@winible/winible-typed)
97
-
98
- ### Semantic Versioning
99
-
100
- Given a version number MAJOR.MINOR.PATCH, we increment the:
101
-
102
- 1. MAJOR version when you make incompatible API changes (1.x.x)
103
- 2. MINOR version when you add functionality in a backward compatible manner (x.1.x)
104
- 3. PATCH version when you make backward compatible bug fixes (x.x.1)
1
+ # Winible Typescript Models
2
+
3
+ The Winible Typescript Models or `@winible/winible-typed` npm package is a project that holds all of Winible's sequelize database model declarations, sequelize client instantiation, as well as type declarations for unifying type sharing between all of our projects.
4
+
5
+ ## Overview
6
+
7
+ This package serves as the central source of truth for Winible's database models and TypeScript types. It's used across multiple projects including:
8
+
9
+ - Main backend
10
+ - Lambda functions
11
+ - Other Winible services
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @winible/winible-typed
17
+ ```
18
+
19
+ ## Project Structure
20
+
21
+ ```
22
+ ├── src/ # Source code
23
+ │ ├── types.ts # Index types (NOT IN USE)
24
+ │ ├── index.ts # Main entry point
25
+ │ └── recurlyInstance.ts # Recurly integration
26
+ ├── migrations/ # Database migrations (NOT IN USE)
27
+ ├── typed-model/ # Typed model definitions
28
+ ├── support/ # Support utilities (NOT IN USE)
29
+ └── webhooks/ # Webhook handlers (NOT IN USE)
30
+ ```
31
+
32
+ ## Features
33
+
34
+ - Sequelize model declarations
35
+ - TypeScript type definitions
36
+ - Database migrations (Not in use)
37
+ - Shared database client instance
38
+
39
+ ## Development Setup
40
+
41
+ 1. Clone the repository:
42
+
43
+ ```bash
44
+ git clone https://github.com/winible-betting/winible-typescript-models.git
45
+ ```
46
+
47
+ 2. Install dependencies:
48
+
49
+ ```bash
50
+ npm install
51
+ ```
52
+
53
+ 3. Build the project:
54
+
55
+ ```bash
56
+ npm run build
57
+ ```
58
+
59
+ ## Database Migrations
60
+
61
+ While this package includes migration files in the `migrations/` directory, these migrations are currently not in use and should not be used. The migration system has been deprecated in favor of other database management approaches.
62
+
63
+ ## Contributing
64
+
65
+ We use npm and [semantic versioning](#semantic-versioning) for making changes to the models and sharing. We need to be extremely careful when making major changes because almost all of winible's project use the npm package and are reliant on its typescript or model declarations, some of them use the sequelize instance to make database calls, like the [main backend](https://github.com/winible-betting/winible-backend) or some of our [lambda functions](https://github.com/winible-betting/winible-lambda-functions).
66
+
67
+ ### Releasing a new version
68
+
69
+ 1. Make the changes to the models needed
70
+ 2. PR your changes into main
71
+ 1. Get approvals
72
+ 3. Merge into main
73
+ 4. Release a new version:
74
+ 1. `npm version minor|major|patch` ← please refer to the [semantic versioning section](#semantic-versioning) for explanation
75
+ 1. Most changes fall into a MINOR version category change (eg. updates to a existing data model, adding a new data model)
76
+ 2. Run `npm run publish`. Note: you will get an error but that's normal, you can ignore it.
77
+ 5. Push new version change to main
78
+ 6. Update the Database manually
79
+ 7. Update the package version on all needed repositories by:
80
+ 1. Manually changing the version on `package.json`
81
+ 2. Using `npm run winible`
82
+ 1. This will install the latest version of the package that being major, minor or patch
83
+
84
+ ### NPM Tags
85
+
86
+ For more complex feature development that will require testing or major overhauls, we can use npm tag releases. Please follow the guide below:
87
+
88
+ [How to Use NPM Tags](https://dev.to/andywer/how-to-use-npm-tags-4lla)
89
+
90
+ After all testing is done and it's ready to release, make a [regular release](#releasing-a-new-version) with all the changes.
91
+
92
+ ## Misc
93
+
94
+ ### Links
95
+
96
+ - [NPM Package](https://www.npmjs.com/package/@winible/winible-typed)
97
+
98
+ ### Semantic Versioning
99
+
100
+ Given a version number MAJOR.MINOR.PATCH, we increment the:
101
+
102
+ 1. MAJOR version when you make incompatible API changes (1.x.x)
103
+ 2. MINOR version when you add functionality in a backward compatible manner (x.1.x)
104
+ 3. PATCH version when you make backward compatible bug fixes (x.x.1)
@@ -0,0 +1,49 @@
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
+ const sequelize_1 = require("sequelize");
7
+ const ts_sequelize_1 = __importDefault(require("./ts-sequelize"));
8
+ const send_log_1 = __importDefault(require("./send-log"));
9
+ class ConversionLog extends sequelize_1.Model {
10
+ }
11
+ ConversionLog.init({
12
+ id: {
13
+ type: sequelize_1.DataTypes.UUID,
14
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
15
+ primaryKey: true,
16
+ field: "id",
17
+ },
18
+ sendLogId: {
19
+ type: sequelize_1.DataTypes.UUID,
20
+ allowNull: false,
21
+ field: "send_log_id",
22
+ },
23
+ amount: {
24
+ type: sequelize_1.DataTypes.DECIMAL(12, 2),
25
+ allowNull: false,
26
+ },
27
+ currency: {
28
+ type: sequelize_1.DataTypes.STRING,
29
+ allowNull: false,
30
+ defaultValue: "USD",
31
+ },
32
+ createdAt: {
33
+ type: sequelize_1.DataTypes.DATE,
34
+ allowNull: false,
35
+ defaultValue: sequelize_1.DataTypes.NOW,
36
+ primaryKey: true,
37
+ },
38
+ }, {
39
+ sequelize: ts_sequelize_1.default,
40
+ tableName: "conversion_log",
41
+ timestamps: false,
42
+ });
43
+ ConversionLog.belongsTo(send_log_1.default, {
44
+ foreignKey: "sendLogId",
45
+ as: "sendLog",
46
+ targetKey: "id",
47
+ });
48
+ exports.default = ConversionLog;
49
+ //# sourceMappingURL=conversion-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion-log.js","sourceRoot":"","sources":["../../event-collector-models/conversion-log.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,0DAAiC;AAEjC,MAAM,aAAc,SAAQ,iBAG3B;CAMA;AAED,aAAa,CAAC,IAAI,CAChB;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;QAC9B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;KACZ;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;QAC3B,UAAU,EAAE,IAAI;KACjB;CACF,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,KAAK;CAClB,CACF,CAAC;AAEF,aAAa,CAAC,SAAS,CAAC,kBAAO,EAAE;IAC/B,UAAU,EAAE,WAAW;IACvB,EAAE,EAAE,SAAS;IACb,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,54 @@
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
+ const sequelize_1 = require("sequelize");
7
+ const ts_sequelize_1 = __importDefault(require("./ts-sequelize"));
8
+ const send_log_1 = __importDefault(require("./send-log"));
9
+ class EventSendLog extends sequelize_1.Model {
10
+ }
11
+ EventSendLog.init({
12
+ id: {
13
+ type: sequelize_1.DataTypes.UUID,
14
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
15
+ primaryKey: true,
16
+ field: "id",
17
+ },
18
+ sendLogId: {
19
+ type: sequelize_1.DataTypes.UUID,
20
+ allowNull: false,
21
+ field: "send_log_id",
22
+ },
23
+ eventType: {
24
+ type: sequelize_1.DataTypes.STRING,
25
+ allowNull: false,
26
+ field: "event_type",
27
+ },
28
+ timestamp: {
29
+ type: sequelize_1.DataTypes.DATE,
30
+ allowNull: false,
31
+ defaultValue: sequelize_1.DataTypes.NOW,
32
+ primaryKey: true,
33
+ },
34
+ metadata: {
35
+ type: sequelize_1.DataTypes.JSONB,
36
+ allowNull: false,
37
+ },
38
+ webhookSource: {
39
+ type: sequelize_1.DataTypes.STRING,
40
+ allowNull: false,
41
+ field: "webhook_source",
42
+ },
43
+ }, {
44
+ sequelize: ts_sequelize_1.default,
45
+ tableName: "event_send_log",
46
+ timestamps: false,
47
+ });
48
+ EventSendLog.belongsTo(send_log_1.default, {
49
+ foreignKey: "sendLogId",
50
+ as: "sendLog",
51
+ targetKey: "id",
52
+ });
53
+ exports.default = EventSendLog;
54
+ //# sourceMappingURL=event-send-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-send-log.js","sourceRoot":"","sources":["../../event-collector-models/event-send-log.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,0DAAiC;AAEjC,MAAM,YAAa,SAAQ,iBAG1B;CAOA;AAED,YAAY,CAAC,IAAI,CACf;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;QAC9B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;KACZ;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;QAC3B,UAAU,EAAE,IAAI;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,KAAK;QACrB,SAAS,EAAE,KAAK;KACjB;IACD,aAAa,EAAE;QACb,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,gBAAgB;KACxB;CACF,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,KAAK;CAClB,CACF,CAAC;AAEF,YAAY,CAAC,SAAS,CAAC,kBAAO,EAAE;IAC9B,UAAU,EAAE,WAAW;IACvB,EAAE,EAAE,SAAS;IACb,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,15 @@
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.ConversionLog = exports.EventSendLog = exports.SendLog = exports.tsSequelize = void 0;
7
+ var ts_sequelize_1 = require("./ts-sequelize");
8
+ Object.defineProperty(exports, "tsSequelize", { enumerable: true, get: function () { return __importDefault(ts_sequelize_1).default; } });
9
+ var send_log_1 = require("./send-log");
10
+ Object.defineProperty(exports, "SendLog", { enumerable: true, get: function () { return __importDefault(send_log_1).default; } });
11
+ var event_send_log_1 = require("./event-send-log");
12
+ Object.defineProperty(exports, "EventSendLog", { enumerable: true, get: function () { return __importDefault(event_send_log_1).default; } });
13
+ var conversion_log_1 = require("./conversion-log");
14
+ Object.defineProperty(exports, "ConversionLog", { enumerable: true, get: function () { return __importDefault(conversion_log_1).default; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../event-collector-models/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwD;AAA/C,4HAAA,OAAO,OAAe;AAC/B,uCAAgD;AAAvC,oHAAA,OAAO,OAAW;AAC3B,mDAA2D;AAAlD,+HAAA,OAAO,OAAgB;AAChC,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB"}
@@ -0,0 +1,75 @@
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
+ const sequelize_1 = require("sequelize");
7
+ const ts_sequelize_1 = __importDefault(require("./ts-sequelize"));
8
+ const event_send_log_1 = __importDefault(require("./event-send-log"));
9
+ const conversion_log_1 = __importDefault(require("./conversion-log"));
10
+ class SendLog extends sequelize_1.Model {
11
+ }
12
+ SendLog.init({
13
+ id: {
14
+ type: sequelize_1.DataTypes.UUID,
15
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
16
+ primaryKey: true,
17
+ allowNull: false,
18
+ field: "id",
19
+ },
20
+ userId: {
21
+ type: sequelize_1.DataTypes.STRING,
22
+ allowNull: false,
23
+ field: "user_id",
24
+ },
25
+ campaignId: {
26
+ type: sequelize_1.DataTypes.STRING,
27
+ allowNull: false,
28
+ field: "campaign_id",
29
+ },
30
+ messageId: {
31
+ type: sequelize_1.DataTypes.STRING,
32
+ allowNull: false,
33
+ field: "message_id",
34
+ },
35
+ recipient: {
36
+ type: sequelize_1.DataTypes.STRING,
37
+ allowNull: false,
38
+ },
39
+ provider: {
40
+ type: sequelize_1.DataTypes.ENUM("sendgrid", "twilio"),
41
+ allowNull: false,
42
+ },
43
+ lastStatus: {
44
+ type: sequelize_1.DataTypes.STRING,
45
+ allowNull: false,
46
+ field: "last_status",
47
+ },
48
+ lastStatusUpdatedAt: {
49
+ type: sequelize_1.DataTypes.DATE,
50
+ allowNull: false,
51
+ defaultValue: sequelize_1.DataTypes.NOW,
52
+ field: "last_status_updated_at",
53
+ },
54
+ createdAt: {
55
+ type: sequelize_1.DataTypes.DATE,
56
+ allowNull: false,
57
+ defaultValue: sequelize_1.DataTypes.NOW,
58
+ field: "created_at",
59
+ primaryKey: true,
60
+ },
61
+ }, {
62
+ sequelize: ts_sequelize_1.default,
63
+ tableName: "send_log",
64
+ timestamps: false,
65
+ });
66
+ SendLog.hasMany(event_send_log_1.default, {
67
+ foreignKey: "send_log_id",
68
+ as: "events",
69
+ });
70
+ SendLog.hasOne(conversion_log_1.default, {
71
+ foreignKey: "send_log_id",
72
+ as: "conversion",
73
+ });
74
+ exports.default = SendLog;
75
+ //# sourceMappingURL=send-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-log.js","sourceRoot":"","sources":["../../event-collector-models/send-log.ts"],"names":[],"mappings":";;;;;AAAA,yCAMmB;AAEnB,kEAAuC;AACvC,sEAA4C;AAC5C,sEAA6C;AAE7C,MAAM,OAAQ,SAAQ,iBAGrB;CAUA;AAED,OAAO,CAAC,IAAI,CACV;IACE,EAAE,EAAE;QACF,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,YAAY,EAAE,qBAAS,CAAC,MAAM;QAC9B,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,SAAS;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,YAAY;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;QAC1C,SAAS,EAAE,KAAK;KACjB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,qBAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,aAAa;KACrB;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;QAC3B,KAAK,EAAE,wBAAwB;KAChC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,qBAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,qBAAS,CAAC,GAAG;QAC3B,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,IAAI;KACjB;CACF,EACD;IACE,SAAS,EAAT,sBAAS;IACT,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,KAAK;CAClB,CACF,CAAC;AAEF,OAAO,CAAC,OAAO,CAAC,wBAAY,EAAE;IAC5B,UAAU,EAAE,aAAa;IACzB,EAAE,EAAE,QAAQ;CACb,CAAC,CAAC;AAEH,OAAO,CAAC,MAAM,CAAC,wBAAa,EAAE;IAC5B,UAAU,EAAE,aAAa;IACzB,EAAE,EAAE,YAAY;CACjB,CAAC,CAAC;AAEH,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const pg = __importStar(require("pg"));
27
+ const sequelize_1 = require("sequelize");
28
+ let sequelize;
29
+ sequelize = new sequelize_1.Sequelize({
30
+ dialect: "postgres",
31
+ dialectModule: pg,
32
+ host: process.env.TS_DB_HOST ||
33
+ (() => {
34
+ throw new Error("TS_DB_HOST is required");
35
+ })(),
36
+ port: parseInt(process.env.TS_DB_PORT ||
37
+ (() => {
38
+ throw new Error("TS_DB_PORT is required");
39
+ })()),
40
+ database: process.env.TS_DB_NAME ||
41
+ (() => {
42
+ throw new Error("TS_DB_NAME is required");
43
+ })(),
44
+ username: process.env.TS_DB_USER ||
45
+ (() => {
46
+ throw new Error("TS_DB_USER is required");
47
+ })(),
48
+ password: process.env.TS_DB_PASSWORD ||
49
+ (() => {
50
+ throw new Error("TS_DB_PASSWORD is required");
51
+ })(),
52
+ logging: false,
53
+ });
54
+ (async () => {
55
+ try {
56
+ await sequelize.authenticate();
57
+ console.log("Timescale database connection has been established successfully.");
58
+ }
59
+ catch (error) {
60
+ console.error("Unable to connect to the Timescale database:", error);
61
+ }
62
+ })();
63
+ exports.default = sequelize;
64
+ //# sourceMappingURL=ts-sequelize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-sequelize.js","sourceRoot":"","sources":["../../event-collector-models/ts-sequelize.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,yCAAsC;AAEtC,IAAI,SAAoB,CAAC;AAEzB,SAAS,GAAG,IAAI,qBAAS,CAAC;IACxB,OAAO,EAAE,UAAU;IACnB,aAAa,EAAE,EAAE;IACjB,IAAI,EACF,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE;IACN,IAAI,EAAE,QAAQ,CACZ,OAAO,CAAC,GAAG,CAAC,UAAU;QACpB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE,CACP;IACD,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE;IACN,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC,CAAC,EAAE;IACN,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,CAAC,GAAG,EAAE;YACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC,CAAC,EAAE;IACN,OAAO,EAAE,KAAK;CACf,CAAC,CAAC;AAEH,CAAC,KAAK,IAAI,EAAE;IACV,IAAI;QACF,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;KACtE;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,kBAAe,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./typed-model"), exports);
18
- __exportStar(require("./support"), exports);
19
- __exportStar(require("./src"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./typed-model"), exports);
18
+ __exportStar(require("./support"), exports);
19
+ __exportStar(require("./src"), exports);
20
20
  //# sourceMappingURL=index.js.map