@driveflux/api-functions 0.0.4 → 0.0.5

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 (56) hide show
  1. package/dist/auth/confirm.js +327 -73
  2. package/dist/auth/emails.js +210 -43
  3. package/dist/auth/formatter.js +11 -11
  4. package/dist/auth/otp.js +392 -122
  5. package/dist/auth/register.js +396 -100
  6. package/dist/auth/tokens.js +430 -115
  7. package/dist/auth/verifications.js +512 -154
  8. package/dist/constants.js +4 -5
  9. package/dist/mailjet/calls/manage-contacts-in-list.js +166 -22
  10. package/dist/mailjet/calls/manage-subscription-status.js +153 -13
  11. package/dist/mailjet/calls/request-service.js +183 -18
  12. package/dist/mailjet/refresh-email-preferences.d.ts +10 -10
  13. package/dist/mailjet/refresh-email-preferences.d.ts.map +1 -1
  14. package/dist/mailjet/refresh-email-preferences.js +226 -27
  15. package/dist/mailjet/refresh-email-preferences.js.map +1 -1
  16. package/dist/mailjet/set-contact.d.ts +10 -10
  17. package/dist/mailjet/set-contact.d.ts.map +1 -1
  18. package/dist/mailjet/set-contact.js +215 -24
  19. package/dist/mailjet/set-contact.js.map +1 -1
  20. package/dist/mailjet/types.js +1 -2
  21. package/dist/mailjet/utils/convert-to-array.js +58 -9
  22. package/dist/mailjet/utils/extract-email-preferences.d.ts +8 -8
  23. package/dist/mailjet/utils/extract-email-preferences.d.ts.map +1 -1
  24. package/dist/mailjet/utils/extract-email-preferences.js +218 -42
  25. package/dist/mailjet/utils/extract-email-preferences.js.map +1 -1
  26. package/dist/mailjet/utils/lists.js +249 -30
  27. package/dist/mailjet/utils/update-email-references.js +208 -27
  28. package/dist/notion/client.js +197 -48
  29. package/dist/notion/helpful.js +170 -29
  30. package/dist/notion/schemas/block.js +43 -49
  31. package/dist/notion/schemas/common.js +14 -17
  32. package/dist/notion/schemas/database.js +159 -125
  33. package/dist/notion/schemas/emoji.js +2 -3
  34. package/dist/notion/schemas/file.js +10 -10
  35. package/dist/notion/schemas/kb.js +8 -9
  36. package/dist/notion/schemas/page.js +171 -126
  37. package/dist/notion/schemas/parent.js +8 -9
  38. package/dist/notion/schemas/user.js +20 -21
  39. package/dist/reservation/agree.js +158 -19
  40. package/dist/reservation/checks.js +178 -23
  41. package/dist/reservation/display-vehicle.js +514 -142
  42. package/dist/reservation/fetch-or-create.js +482 -197
  43. package/dist/reservation/invoice.js +496 -198
  44. package/dist/reservation/payer.js +177 -28
  45. package/dist/reservation/reserve.js +191 -31
  46. package/dist/reservation/types.js +1 -2
  47. package/dist/reservation/vehicle.js +186 -24
  48. package/dist/slack.js +273 -67
  49. package/dist/validation.d.ts +19 -13
  50. package/dist/validation.d.ts.map +1 -1
  51. package/dist/validation.js +144 -63
  52. package/dist/validation.js.map +1 -1
  53. package/dist/vehicle/vehicle-pricing/constants.js +36 -33
  54. package/dist/vehicle/vehicle-pricing/index.js +257 -99
  55. package/dist/vehicle/vehicle-pricing/types.js +1 -2
  56. package/package.json +9 -9
@@ -1,11 +1,159 @@
1
- import { Prisma, prisma } from '@driveflux/db';
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) {
32
+ Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ } else {
39
+ obj[key] = value;
40
+ }
41
+ return obj;
42
+ }
43
+ function _object_spread(target) {
44
+ for(var i = 1; i < arguments.length; i++){
45
+ var source = arguments[i] != null ? arguments[i] : {};
46
+ var ownKeys = Object.keys(source);
47
+ if (typeof Object.getOwnPropertySymbols === "function") {
48
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
49
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
+ }));
51
+ }
52
+ ownKeys.forEach(function(key) {
53
+ _define_property(target, key, source[key]);
54
+ });
55
+ }
56
+ return target;
57
+ }
58
+ function _ts_generator(thisArg, body) {
59
+ var f, y, t, _ = {
60
+ label: 0,
61
+ sent: function() {
62
+ if (t[0] & 1) throw t[1];
63
+ return t[1];
64
+ },
65
+ trys: [],
66
+ ops: []
67
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
68
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
69
+ return this;
70
+ }), g;
71
+ function verb(n) {
72
+ return function(v) {
73
+ return step([
74
+ n,
75
+ v
76
+ ]);
77
+ };
78
+ }
79
+ function step(op) {
80
+ if (f) throw new TypeError("Generator is already executing.");
81
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
82
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
83
+ if (y = 0, t) op = [
84
+ op[0] & 2,
85
+ t.value
86
+ ];
87
+ switch(op[0]){
88
+ case 0:
89
+ case 1:
90
+ t = op;
91
+ break;
92
+ case 4:
93
+ _.label++;
94
+ return {
95
+ value: op[1],
96
+ done: false
97
+ };
98
+ case 5:
99
+ _.label++;
100
+ y = op[1];
101
+ op = [
102
+ 0
103
+ ];
104
+ continue;
105
+ case 7:
106
+ op = _.ops.pop();
107
+ _.trys.pop();
108
+ continue;
109
+ default:
110
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
111
+ _ = 0;
112
+ continue;
113
+ }
114
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
115
+ _.label = op[1];
116
+ break;
117
+ }
118
+ if (op[0] === 6 && _.label < t[1]) {
119
+ _.label = t[1];
120
+ t = op;
121
+ break;
122
+ }
123
+ if (t && _.label < t[2]) {
124
+ _.label = t[2];
125
+ _.ops.push(op);
126
+ break;
127
+ }
128
+ if (t[2]) _.ops.pop();
129
+ _.trys.pop();
130
+ continue;
131
+ }
132
+ op = body.call(thisArg, _);
133
+ } catch (e) {
134
+ op = [
135
+ 6,
136
+ e
137
+ ];
138
+ y = 0;
139
+ } finally{
140
+ f = t = 0;
141
+ }
142
+ if (op[0] & 5) throw op[1];
143
+ return {
144
+ value: op[0] ? op[1] : void 0,
145
+ done: true
146
+ };
147
+ }
148
+ }
149
+ import { prisma } from '@driveflux/db';
2
150
  import { makeProblem, PROBLEM_NOT_FOUND } from '@driveflux/problem';
3
151
  import { Err } from '@driveflux/result';
4
152
  import { manageSubscriptionStatus } from './calls/manage-subscription-status.js';
5
153
  import { convertToArray } from './utils/convert-to-array.js';
6
154
  import { extractUserEmailPreferences } from './utils/extract-email-preferences.js';
7
155
  import { updateEmailPreferences } from './utils/update-email-references.js';
8
- const userForRefreshEmailPreferencesQuery = Prisma.validator()({
156
+ var userForRefreshEmailPreferencesQuery = {
9
157
  select: {
10
158
  id: true,
11
159
  emailPreferences: true,
@@ -14,30 +162,81 @@ const userForRefreshEmailPreferencesQuery = Prisma.validator()({
14
162
  subscriptions: {
15
163
  select: {
16
164
  ended: true,
17
- active: true,
18
- },
19
- },
20
- },
21
- });
22
- export const refreshEmailPreferences = async (idOrUserForRefreshEmailPreferences) => {
23
- const user = typeof idOrUserForRefreshEmailPreferences === 'string'
24
- ? await prisma.user.findUnique({
25
- where: { id: idOrUserForRefreshEmailPreferences },
26
- ...userForRefreshEmailPreferencesQuery,
27
- })
28
- : idOrUserForRefreshEmailPreferences;
29
- if (!user) {
30
- return new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not found'));
31
- }
32
- const preferences = await extractUserEmailPreferences(user);
33
- if (!preferences) {
34
- return new Err(makeProblem(PROBLEM_NOT_FOUND, 'Preferences not found'));
165
+ active: true
166
+ }
167
+ }
35
168
  }
36
- const updated = await updateEmailPreferences(user, preferences);
37
- if (!updated) {
38
- return new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not updated'));
39
- }
40
- const items = convertToArray(preferences, !!updated?.businessId);
41
- return await manageSubscriptionStatus(user.email, items);
42
169
  };
43
- //# sourceMappingURL=refresh-email-preferences.js.map
170
+ export var refreshEmailPreferences = function(idOrUserForRefreshEmailPreferences) {
171
+ return _async_to_generator(function() {
172
+ var user, _tmp, preferences, updated, items;
173
+ return _ts_generator(this, function(_state) {
174
+ switch(_state.label){
175
+ case 0:
176
+ if (!(typeof idOrUserForRefreshEmailPreferences === 'string')) return [
177
+ 3,
178
+ 2
179
+ ];
180
+ return [
181
+ 4,
182
+ prisma.user.findUnique(_object_spread({
183
+ where: {
184
+ id: idOrUserForRefreshEmailPreferences
185
+ }
186
+ }, userForRefreshEmailPreferencesQuery))
187
+ ];
188
+ case 1:
189
+ _tmp = _state.sent();
190
+ return [
191
+ 3,
192
+ 3
193
+ ];
194
+ case 2:
195
+ _tmp = idOrUserForRefreshEmailPreferences;
196
+ _state.label = 3;
197
+ case 3:
198
+ user = _tmp;
199
+ if (!user) {
200
+ return [
201
+ 2,
202
+ new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not found'))
203
+ ];
204
+ }
205
+ return [
206
+ 4,
207
+ extractUserEmailPreferences(user)
208
+ ];
209
+ case 4:
210
+ preferences = _state.sent();
211
+ if (!preferences) {
212
+ return [
213
+ 2,
214
+ new Err(makeProblem(PROBLEM_NOT_FOUND, 'Preferences not found'))
215
+ ];
216
+ }
217
+ return [
218
+ 4,
219
+ updateEmailPreferences(user, preferences)
220
+ ];
221
+ case 5:
222
+ updated = _state.sent();
223
+ if (!updated) {
224
+ return [
225
+ 2,
226
+ new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not updated'))
227
+ ];
228
+ }
229
+ items = convertToArray(preferences, !!(updated === null || updated === void 0 ? void 0 : updated.businessId));
230
+ return [
231
+ 4,
232
+ manageSubscriptionStatus(user.email, items)
233
+ ];
234
+ case 6:
235
+ return [
236
+ 2,
237
+ _state.sent()
238
+ ];
239
+ }
240
+ });
241
+ })();
242
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-email-preferences.js","sourceRoot":"","sources":["../../src/mailjet/refresh-email-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAM3E,MAAM,mCAAmC,GACxC,MAAM,CAAC,SAAS,EAA0B,CAAC;IAC1C,MAAM,EAAE;QACP,EAAE,EAAE,IAAI;QACR,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE;YACd,MAAM,EAAE;gBACP,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACZ;SACD;KACD;CACD,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC3C,kCAA2E,EAC1E,EAAE;IACH,MAAM,IAAI,GACT,OAAO,kCAAkC,KAAK,QAAQ;QACrD,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,kCAAkC,EAAE;YACjD,GAAG,mCAAmC;SACtC,CAAC;QACH,CAAC,CAAC,kCAAkC,CAAA;IAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAA;IAE3D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAEhE,OAAO,MAAM,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC,CAAA"}
1
+ {"version":3,"file":"refresh-email-preferences.js","sourceRoot":"","sources":["../../src/mailjet/refresh-email-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAM3E,MAAM,mCAAmC,GAAG;IAC3C,MAAM,EAAE;QACP,EAAE,EAAE,IAAI;QACR,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE;YACd,MAAM,EAAE;gBACP,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACZ;SACD;KACD;CACyC,CAAA;AAE3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC3C,kCAA2E,EAC1E,EAAE;IACH,MAAM,IAAI,GACT,OAAO,kCAAkC,KAAK,QAAQ;QACrD,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,kCAAkC,EAAE;YACjD,GAAG,mCAAmC;SACtC,CAAC;QACH,CAAC,CAAC,kCAAkC,CAAA;IAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAA;IAE3D,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAEhE,OAAO,MAAM,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACzD,CAAC,CAAA"}
@@ -1,17 +1,17 @@
1
- import { Prisma } from '@driveflux/db';
1
+ import { type Prisma } from '@driveflux/db';
2
2
  import { Err, Ok } from '@driveflux/result';
3
3
  import type { EmailPreferences } from './types';
4
4
  export type UserForSetInContactListlPreferences = Prisma.UserGetPayload<typeof userForSetInContactListlPreferencesQuery>;
5
5
  declare const userForSetInContactListlPreferencesQuery: {
6
- select: {
7
- id: true;
8
- emailPreferences: true;
9
- businessId: true;
10
- email: true;
11
- subscriptions: {
12
- select: {
13
- ended: true;
14
- active: true;
6
+ readonly select: {
7
+ readonly id: true;
8
+ readonly emailPreferences: true;
9
+ readonly businessId: true;
10
+ readonly email: true;
11
+ readonly subscriptions: {
12
+ readonly select: {
13
+ readonly ended: true;
14
+ readonly active: true;
15
15
  };
16
16
  };
17
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"set-contact.d.ts","sourceRoot":"","sources":["../../src/mailjet/set-contact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAA;AAE9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,MAAM,MAAM,mCAAmC,GAAG,MAAM,CAAC,cAAc,CACtE,OAAO,wCAAwC,CAC/C,CAAA;AAED,QAAA,MAAM,wCAAwC;;;;;;;;;;;;;CAc3C,CAAA;AAEH,eAAO,MAAM,gBAAgB,GAC5B,yCACG,MAAM,GACN,mCAAmC,EACtC,aAAa,gBAAgB,mPAyB7B,CAAA"}
1
+ {"version":3,"file":"set-contact.d.ts","sourceRoot":"","sources":["../../src/mailjet/set-contact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAU,MAAM,eAAe,CAAA;AAEnD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,MAAM,MAAM,mCAAmC,GAAG,MAAM,CAAC,cAAc,CACtE,OAAO,wCAAwC,CAC/C,CAAA;AAED,QAAA,MAAM,wCAAwC;;;;;;;;;;;;;CAaH,CAAA;AAE3C,eAAO,MAAM,gBAAgB,GAC5B,yCACG,MAAM,GACN,mCAAmC,EACtC,aAAa,gBAAgB,mPAyB7B,CAAA"}
@@ -1,10 +1,158 @@
1
- import { Prisma, prisma } from '@driveflux/db';
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
+ }
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(undefined);
27
+ });
28
+ };
29
+ }
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) {
32
+ Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ } else {
39
+ obj[key] = value;
40
+ }
41
+ return obj;
42
+ }
43
+ function _object_spread(target) {
44
+ for(var i = 1; i < arguments.length; i++){
45
+ var source = arguments[i] != null ? arguments[i] : {};
46
+ var ownKeys = Object.keys(source);
47
+ if (typeof Object.getOwnPropertySymbols === "function") {
48
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
49
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
50
+ }));
51
+ }
52
+ ownKeys.forEach(function(key) {
53
+ _define_property(target, key, source[key]);
54
+ });
55
+ }
56
+ return target;
57
+ }
58
+ function _ts_generator(thisArg, body) {
59
+ var f, y, t, _ = {
60
+ label: 0,
61
+ sent: function() {
62
+ if (t[0] & 1) throw t[1];
63
+ return t[1];
64
+ },
65
+ trys: [],
66
+ ops: []
67
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
68
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
69
+ return this;
70
+ }), g;
71
+ function verb(n) {
72
+ return function(v) {
73
+ return step([
74
+ n,
75
+ v
76
+ ]);
77
+ };
78
+ }
79
+ function step(op) {
80
+ if (f) throw new TypeError("Generator is already executing.");
81
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
82
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
83
+ if (y = 0, t) op = [
84
+ op[0] & 2,
85
+ t.value
86
+ ];
87
+ switch(op[0]){
88
+ case 0:
89
+ case 1:
90
+ t = op;
91
+ break;
92
+ case 4:
93
+ _.label++;
94
+ return {
95
+ value: op[1],
96
+ done: false
97
+ };
98
+ case 5:
99
+ _.label++;
100
+ y = op[1];
101
+ op = [
102
+ 0
103
+ ];
104
+ continue;
105
+ case 7:
106
+ op = _.ops.pop();
107
+ _.trys.pop();
108
+ continue;
109
+ default:
110
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
111
+ _ = 0;
112
+ continue;
113
+ }
114
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
115
+ _.label = op[1];
116
+ break;
117
+ }
118
+ if (op[0] === 6 && _.label < t[1]) {
119
+ _.label = t[1];
120
+ t = op;
121
+ break;
122
+ }
123
+ if (t && _.label < t[2]) {
124
+ _.label = t[2];
125
+ _.ops.push(op);
126
+ break;
127
+ }
128
+ if (t[2]) _.ops.pop();
129
+ _.trys.pop();
130
+ continue;
131
+ }
132
+ op = body.call(thisArg, _);
133
+ } catch (e) {
134
+ op = [
135
+ 6,
136
+ e
137
+ ];
138
+ y = 0;
139
+ } finally{
140
+ f = t = 0;
141
+ }
142
+ if (op[0] & 5) throw op[1];
143
+ return {
144
+ value: op[0] ? op[1] : void 0,
145
+ done: true
146
+ };
147
+ }
148
+ }
149
+ import { prisma } from '@driveflux/db';
2
150
  import { makeProblem, PROBLEM_NOT_FOUND } from '@driveflux/problem';
3
151
  import { Err, Ok } from '@driveflux/result';
4
152
  import { manageSubscriptionStatus } from './calls/manage-subscription-status';
5
153
  import { convertToArray } from './utils/convert-to-array';
6
154
  import { updateEmailPreferences } from './utils/update-email-references';
7
- const userForSetInContactListlPreferencesQuery = Prisma.validator()({
155
+ var userForSetInContactListlPreferencesQuery = {
8
156
  select: {
9
157
  id: true,
10
158
  emailPreferences: true,
@@ -13,27 +161,70 @@ const userForSetInContactListlPreferencesQuery = Prisma.validator()({
13
161
  subscriptions: {
14
162
  select: {
15
163
  ended: true,
16
- active: true,
17
- },
18
- },
19
- },
20
- });
21
- export const setContactInList = async (idOrUserForSetInContactListlPreferences, preferences) => {
22
- const user = typeof idOrUserForSetInContactListlPreferences === 'string'
23
- ? await prisma.user.findUnique({
24
- where: { id: idOrUserForSetInContactListlPreferences },
25
- ...userForSetInContactListlPreferencesQuery,
26
- })
27
- : idOrUserForSetInContactListlPreferences;
28
- if (!user) {
29
- return new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not found'));
164
+ active: true
165
+ }
166
+ }
30
167
  }
31
- const updated = await updateEmailPreferences(user, preferences);
32
- if (!updated) {
33
- return new Ok('No new lists were provided');
34
- }
35
- const items = convertToArray(preferences);
36
- const results = await manageSubscriptionStatus(user.email, items);
37
- return new Ok(results);
38
168
  };
39
- //# sourceMappingURL=set-contact.js.map
169
+ export var setContactInList = function(idOrUserForSetInContactListlPreferences, preferences) {
170
+ return _async_to_generator(function() {
171
+ var user, _tmp, updated, items, results;
172
+ return _ts_generator(this, function(_state) {
173
+ switch(_state.label){
174
+ case 0:
175
+ if (!(typeof idOrUserForSetInContactListlPreferences === 'string')) return [
176
+ 3,
177
+ 2
178
+ ];
179
+ return [
180
+ 4,
181
+ prisma.user.findUnique(_object_spread({
182
+ where: {
183
+ id: idOrUserForSetInContactListlPreferences
184
+ }
185
+ }, userForSetInContactListlPreferencesQuery))
186
+ ];
187
+ case 1:
188
+ _tmp = _state.sent();
189
+ return [
190
+ 3,
191
+ 3
192
+ ];
193
+ case 2:
194
+ _tmp = idOrUserForSetInContactListlPreferences;
195
+ _state.label = 3;
196
+ case 3:
197
+ user = _tmp;
198
+ if (!user) {
199
+ return [
200
+ 2,
201
+ new Err(makeProblem(PROBLEM_NOT_FOUND, 'User not found'))
202
+ ];
203
+ }
204
+ return [
205
+ 4,
206
+ updateEmailPreferences(user, preferences)
207
+ ];
208
+ case 4:
209
+ updated = _state.sent();
210
+ if (!updated) {
211
+ return [
212
+ 2,
213
+ new Ok('No new lists were provided')
214
+ ];
215
+ }
216
+ items = convertToArray(preferences);
217
+ return [
218
+ 4,
219
+ manageSubscriptionStatus(user.email, items)
220
+ ];
221
+ case 5:
222
+ results = _state.sent();
223
+ return [
224
+ 2,
225
+ new Ok(results)
226
+ ];
227
+ }
228
+ });
229
+ })();
230
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"set-contact.js","sourceRoot":"","sources":["../../src/mailjet/set-contact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAMxE,MAAM,wCAAwC,GAC7C,MAAM,CAAC,SAAS,EAA0B,CAAC;IAC1C,MAAM,EAAE;QACP,EAAE,EAAE,IAAI;QACR,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE;YACd,MAAM,EAAE;gBACP,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACZ;SACD;KACD;CACD,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,uCAEsC,EACtC,WAA6B,EAC5B,EAAE;IACH,MAAM,IAAI,GACT,OAAO,uCAAuC,KAAK,QAAQ;QAC1D,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,uCAAuC,EAAE;YACtD,GAAG,wCAAwC;SAC3C,CAAC;QACH,CAAC,CAAC,uCAAuC,CAAA;IAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEjE,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"set-contact.js","sourceRoot":"","sources":["../../src/mailjet/set-contact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAMxE,MAAM,wCAAwC,GAAG;IAChD,MAAM,EAAE;QACP,EAAE,EAAE,IAAI;QACR,gBAAgB,EAAE,IAAI;QACtB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,aAAa,EAAE;YACd,MAAM,EAAE;gBACP,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACZ;SACD;KACD;CACyC,CAAA;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,uCAEsC,EACtC,WAA6B,EAC5B,EAAE;IACH,MAAM,IAAI,GACT,OAAO,uCAAuC,KAAK,QAAQ;QAC1D,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,uCAAuC,EAAE;YACtD,GAAG,wCAAwC;SAC3C,CAAC;QACH,CAAC,CAAC,uCAAuC,CAAA;IAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,EAAE,CAAC,4BAA4B,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEjE,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC,CAAA"}
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
1
+ export { };
@@ -1,23 +1,72 @@
1
- export const convertToArray = (preferences, isBusiness) => {
1
+ function _array_like_to_array(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _array_with_holes(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _iterable_to_array_limit(arr, i) {
10
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11
+ if (_i == null) return;
12
+ var _arr = [];
13
+ var _n = true;
14
+ var _d = false;
15
+ var _s, _e;
16
+ try {
17
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
18
+ _arr.push(_s.value);
19
+ if (i && _arr.length === i) break;
20
+ }
21
+ } catch (err) {
22
+ _d = true;
23
+ _e = err;
24
+ } finally{
25
+ try {
26
+ if (!_n && _i["return"] != null) _i["return"]();
27
+ } finally{
28
+ if (_d) throw _e;
29
+ }
30
+ }
31
+ return _arr;
32
+ }
33
+ function _non_iterable_rest() {
34
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
35
+ }
36
+ function _sliced_to_array(arr, i) {
37
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
38
+ }
39
+ function _unsupported_iterable_to_array(o, minLen) {
40
+ if (!o) return;
41
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
42
+ var n = Object.prototype.toString.call(o).slice(8, -1);
43
+ if (n === "Object" && o.constructor) n = o.constructor.name;
44
+ if (n === "Map" || n === "Set") return Array.from(n);
45
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
46
+ }
47
+ export var convertToArray = function(preferences, isBusiness) {
2
48
  if (!preferences) {
3
49
  return [];
4
50
  }
5
- const preferencesArray = Object.entries(preferences);
51
+ var preferencesArray = Object.entries(preferences);
6
52
  if (typeof isBusiness === 'boolean') {
7
53
  preferencesArray.push([
8
54
  'activeSubBusiness',
9
- !!preferences?.activeSub && isBusiness,
55
+ !!(preferences === null || preferences === void 0 ? void 0 : preferences.activeSub) && isBusiness
10
56
  ]);
11
57
  preferencesArray.push([
12
58
  'activeSubPersonal',
13
- !!preferences?.activeSub && !isBusiness,
59
+ !!(preferences === null || preferences === void 0 ? void 0 : preferences.activeSub) && !isBusiness
14
60
  ]);
15
61
  }
16
- const items = preferencesArray.map(([key, value]) => {
17
- const list = key;
18
- const action = value ? 'addnoforce' : 'unsub';
19
- return { list, action };
62
+ var items = preferencesArray.map(function(param) {
63
+ var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
64
+ var list = key;
65
+ var action = value ? 'addnoforce' : 'unsub';
66
+ return {
67
+ list: list,
68
+ action: action
69
+ };
20
70
  });
21
71
  return items;
22
72
  };
23
- //# sourceMappingURL=convert-to-array.js.map
@@ -1,14 +1,14 @@
1
- import { Prisma } from '@driveflux/db';
1
+ import { type Prisma } from '@driveflux/db';
2
2
  import type { EmailPreferences } from '../types';
3
3
  export type UserForEmailPreferences = Prisma.UserGetPayload<typeof userForEmailPreferencesQuery>;
4
4
  export declare const userForEmailPreferencesQuery: {
5
- select: {
6
- id: true;
7
- emailPreferences: true;
8
- subscriptions: {
9
- select: {
10
- ended: true;
11
- active: true;
5
+ readonly select: {
6
+ readonly id: true;
7
+ readonly emailPreferences: true;
8
+ readonly subscriptions: {
9
+ readonly select: {
10
+ readonly ended: true;
11
+ readonly active: true;
12
12
  };
13
13
  };
14
14
  };