@nlabs/reaktor 0.10.0 → 0.10.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 (314) hide show
  1. package/.env +1 -0
  2. package/.env.example +1 -0
  3. package/DATABASE_I18N_GUIDE.md +434 -0
  4. package/TEST_UTILITIES_GUIDE.md +360 -0
  5. package/coverage/index.html +46 -76
  6. package/index.js +1 -1
  7. package/jest.config.js +17 -0
  8. package/jest.setup.js +36 -0
  9. package/lex.config.cjs +2 -2
  10. package/lib/actions/apps.js +17 -239
  11. package/lib/actions/connections.js +6 -89
  12. package/lib/actions/content.js +17 -0
  13. package/lib/actions/conversations.js +19 -336
  14. package/lib/actions/dynamodb.js +2 -150
  15. package/lib/actions/email.js +2 -152
  16. package/lib/actions/files.js +5 -283
  17. package/lib/actions/groups.js +19 -259
  18. package/lib/actions/images.js +31 -700
  19. package/lib/actions/index.js +2 -66
  20. package/lib/actions/ios.js +9 -162
  21. package/lib/actions/locations.js +7 -122
  22. package/lib/actions/messages.js +21 -196
  23. package/lib/actions/notifications.js +2 -59
  24. package/lib/actions/payments.js +11 -464
  25. package/lib/actions/posts.js +75 -527
  26. package/lib/actions/profiles.js +8 -0
  27. package/lib/actions/reactions.js +25 -312
  28. package/lib/actions/s3.js +2 -133
  29. package/lib/actions/search.js +5 -90
  30. package/lib/actions/sms.js +2 -108
  31. package/lib/actions/statistics.js +6 -60
  32. package/lib/actions/subscriptions.js +12 -0
  33. package/lib/actions/tags.js +19 -287
  34. package/lib/actions/users.js +64 -764
  35. package/lib/actions/websockets.js +14 -158
  36. package/lib/adapters/arangoAdapter.js +2 -46
  37. package/lib/adapters/contentAdapter.js +2 -0
  38. package/lib/adapters/fileAdapter.js +2 -76
  39. package/lib/adapters/imageAdapter.js +2 -40
  40. package/lib/adapters/messageAdapter.js +2 -49
  41. package/lib/adapters/postAdapter.js +2 -70
  42. package/lib/adapters/reaktorAdapter.js +2 -44
  43. package/lib/adapters/tagAdapter.js +2 -50
  44. package/lib/adapters/userAdapter.js +2 -115
  45. package/lib/config.js +2 -125
  46. package/lib/handlers/graphqlHandler.js +2 -0
  47. package/lib/index.js +2 -66
  48. package/lib/lambdas/actions/websockets.js +14 -116
  49. package/lib/lambdas/authorizer.js +2 -67
  50. package/lib/lambdas/connection.js +2 -91
  51. package/lib/lambdas/utils/message.js +2 -42
  52. package/lib/lambdas/utils/websocket.js +2 -105
  53. package/lib/mocks/conversation.js +2 -35
  54. package/lib/mocks/file.js +2 -38
  55. package/lib/mocks/group.js +2 -47
  56. package/lib/mocks/image.js +2 -44
  57. package/lib/mocks/post.js +2 -55
  58. package/lib/mocks/tag.js +2 -37
  59. package/lib/mocks/user.js +2 -88
  60. package/lib/mutations/index.js +2 -26
  61. package/lib/mutations/locations.integration.js +2 -0
  62. package/lib/mutations/locations.js +2 -44
  63. package/lib/mutations/messages.integration.js +2 -0
  64. package/lib/mutations/messages.js +2 -86
  65. package/lib/mutations/posts.integration.js +2 -0
  66. package/lib/mutations/posts.js +2 -53
  67. package/lib/mutations/profiles.integration.js +2 -0
  68. package/lib/mutations/profiles.js +2 -0
  69. package/lib/mutations/reactions.integration.js +2 -0
  70. package/lib/mutations/reactions.js +2 -51
  71. package/lib/mutations/statistics.integration.js +2 -0
  72. package/lib/mutations/statistics.js +2 -39
  73. package/lib/mutations/subscriptions.integration.js +2 -0
  74. package/lib/mutations/subscriptions.js +2 -56
  75. package/lib/mutations/tags.integration.js +2 -0
  76. package/lib/mutations/tags.js +2 -120
  77. package/lib/mutations/users.integration.js +2 -0
  78. package/lib/mutations/users.js +2 -116
  79. package/lib/objectTypes/app.js +2 -173
  80. package/lib/objectTypes/bankAccount.js +2 -76
  81. package/lib/objectTypes/connection.js +2 -48
  82. package/lib/objectTypes/conversation.js +2 -77
  83. package/lib/objectTypes/creditCard.js +2 -86
  84. package/lib/objectTypes/document.js +2 -46
  85. package/lib/objectTypes/error.js +2 -46
  86. package/lib/objectTypes/external.js +2 -74
  87. package/lib/objectTypes/file.js +2 -100
  88. package/lib/objectTypes/filter.js +2 -43
  89. package/lib/objectTypes/group.js +2 -123
  90. package/lib/objectTypes/iapSubscription.js +2 -40
  91. package/lib/objectTypes/image.js +2 -129
  92. package/lib/objectTypes/index.js +2 -68
  93. package/lib/objectTypes/location.js +2 -109
  94. package/lib/objectTypes/message.js +2 -96
  95. package/lib/objectTypes/passcode.js +2 -42
  96. package/lib/objectTypes/plan.js +2 -95
  97. package/lib/objectTypes/post.js +2 -125
  98. package/lib/objectTypes/profile.js +2 -0
  99. package/lib/objectTypes/reaction.js +2 -61
  100. package/lib/objectTypes/relation.js +2 -49
  101. package/lib/objectTypes/search.js +2 -72
  102. package/lib/objectTypes/statistics.js +2 -39
  103. package/lib/objectTypes/subscription.js +2 -117
  104. package/lib/objectTypes/tag.js +2 -65
  105. package/lib/objectTypes/user.js +2 -144
  106. package/lib/queries/index.js +2 -33
  107. package/lib/queries/locations.integration.js +2 -0
  108. package/lib/queries/locations.js +2 -45
  109. package/lib/queries/messages.integration.js +2 -0
  110. package/lib/queries/messages.js +2 -52
  111. package/lib/queries/posts.integration.js +2 -0
  112. package/lib/queries/posts.js +2 -154
  113. package/lib/queries/reactions.integration.js +2 -0
  114. package/lib/queries/reactions.js +2 -56
  115. package/lib/queries/statistics.js +2 -39
  116. package/lib/queries/subscriptions.js +2 -44
  117. package/lib/queries/tags.integration.js +2 -0
  118. package/lib/queries/tags.js +2 -75
  119. package/lib/queries/users.integration.js +2 -0
  120. package/lib/queries/users.js +2 -64
  121. package/lib/templates/email/layout.js +3 -25
  122. package/lib/templates/email/passwordForgot.js +3 -25
  123. package/lib/templates/email/passwordRecovery.js +3 -25
  124. package/lib/templates/email/verifyEmail.js +3 -25
  125. package/lib/templates/email/welcome.js +3 -25
  126. package/lib/templates/sms/passwordForgot.js +2 -24
  127. package/lib/templates/sms/passwordRecovery.js +2 -24
  128. package/lib/templates/sms/verifyEmail.js +2 -24
  129. package/lib/templates/sms/verifyPhone.js +2 -24
  130. package/lib/templates/sms/welcome.js +2 -24
  131. package/lib/types/apps.types.js +2 -32
  132. package/lib/types/arangodb.types.js +1 -16
  133. package/lib/types/auth.types.js +1 -16
  134. package/lib/types/connections.types.js +1 -16
  135. package/lib/types/content.types.js +1 -0
  136. package/lib/types/conversations.types.js +1 -16
  137. package/lib/types/email.types.js +1 -16
  138. package/lib/types/error.types.js +2 -44
  139. package/lib/types/files.types.js +1 -16
  140. package/lib/types/google.types.js +1 -16
  141. package/lib/types/groups.types.js +1 -16
  142. package/lib/types/images.types.js +1 -16
  143. package/lib/types/index.js +2 -60
  144. package/lib/types/locations.types.js +1 -16
  145. package/lib/types/messages.types.js +1 -16
  146. package/lib/types/notifications.types.js +1 -16
  147. package/lib/types/payments.types.js +1 -16
  148. package/lib/types/posts.types.js +1 -16
  149. package/lib/types/profiles.types.js +1 -0
  150. package/lib/types/statistics.types.js +1 -16
  151. package/lib/types/tags.types.js +1 -16
  152. package/lib/types/users.types.js +1 -16
  153. package/lib/types/websockets.types.js +1 -16
  154. package/lib/utils/adapterUtils.js +2 -45
  155. package/lib/utils/analyticsUtils.js +2 -72
  156. package/lib/utils/arangodbUtils.js +5 -163
  157. package/lib/utils/authUtils.js +2 -0
  158. package/lib/utils/contextUtils.js +2 -0
  159. package/lib/utils/dbI18n.example.js +6 -0
  160. package/lib/utils/dbI18n.js +2 -0
  161. package/lib/utils/googleTranslate.js +2 -0
  162. package/lib/utils/graphqlUtils.js +2 -0
  163. package/lib/utils/index.js +2 -30
  164. package/lib/utils/languageDetection.js +2 -0
  165. package/lib/utils/localeUtils.example.js +2 -0
  166. package/lib/utils/localeUtils.js +2 -0
  167. package/lib/utils/middlewareUtils.js +2 -0
  168. package/lib/utils/sessionUtils.js +2 -0
  169. package/lib/utils/stripeUtils.js +2 -43
  170. package/lib/utils/templateUtils.js +2 -0
  171. package/lib/utils/testUtils.js +2 -0
  172. package/lib/utils/translationQueue.example.js +2 -0
  173. package/lib/utils/translationQueue.js +2 -0
  174. package/package.json +27 -24
  175. package/.prettierrc.js +0 -4
  176. package/lib/actions/apps.d.ts +0 -25
  177. package/lib/actions/connections.d.ts +0 -4
  178. package/lib/actions/conversations.d.ts +0 -14
  179. package/lib/actions/dynamodb.d.ts +0 -8
  180. package/lib/actions/email.d.ts +0 -5
  181. package/lib/actions/files.d.ts +0 -19
  182. package/lib/actions/groups.d.ts +0 -14
  183. package/lib/actions/images.d.ts +0 -26
  184. package/lib/actions/index.d.ts +0 -23
  185. package/lib/actions/ios.d.ts +0 -7
  186. package/lib/actions/locations.d.ts +0 -6
  187. package/lib/actions/messages.d.ts +0 -14
  188. package/lib/actions/notifications.d.ts +0 -5
  189. package/lib/actions/payments.d.ts +0 -10
  190. package/lib/actions/personas.d.ts +0 -3
  191. package/lib/actions/personas.js +0 -110
  192. package/lib/actions/posts.d.ts +0 -22
  193. package/lib/actions/reactions.d.ts +0 -30
  194. package/lib/actions/s3.d.ts +0 -7
  195. package/lib/actions/search.d.ts +0 -3
  196. package/lib/actions/sms.d.ts +0 -9
  197. package/lib/actions/statistics.d.ts +0 -3
  198. package/lib/actions/subscription.d.ts +0 -7
  199. package/lib/actions/subscription.js +0 -208
  200. package/lib/actions/tags.d.ts +0 -34
  201. package/lib/actions/users.d.ts +0 -72
  202. package/lib/actions/websockets.d.ts +0 -20
  203. package/lib/adapters/arangoAdapter.d.ts +0 -2
  204. package/lib/adapters/fileAdapter.d.ts +0 -3
  205. package/lib/adapters/imageAdapter.d.ts +0 -2
  206. package/lib/adapters/messageAdapter.d.ts +0 -2
  207. package/lib/adapters/postAdapter.d.ts +0 -2
  208. package/lib/adapters/reaktorAdapter.d.ts +0 -6
  209. package/lib/adapters/tagAdapter.d.ts +0 -2
  210. package/lib/adapters/userAdapter.d.ts +0 -2
  211. package/lib/config.d.ts +0 -20
  212. package/lib/index.d.ts +0 -12
  213. package/lib/lambdas/actions/websockets.d.ts +0 -7
  214. package/lib/lambdas/authorizer.d.ts +0 -20
  215. package/lib/lambdas/connection.d.ts +0 -12
  216. package/lib/lambdas/utils/message.d.ts +0 -1
  217. package/lib/lambdas/utils/websocket.d.ts +0 -7
  218. package/lib/mocks/conversation.d.ts +0 -8
  219. package/lib/mocks/file.d.ts +0 -11
  220. package/lib/mocks/group.d.ts +0 -17
  221. package/lib/mocks/image.d.ts +0 -3
  222. package/lib/mocks/post.d.ts +0 -38
  223. package/lib/mocks/tag.d.ts +0 -2
  224. package/lib/mocks/user.d.ts +0 -4
  225. package/lib/mutations/index.d.ts +0 -3
  226. package/lib/mutations/locations.d.ts +0 -2
  227. package/lib/mutations/messages.d.ts +0 -2
  228. package/lib/mutations/personas.d.ts +0 -2
  229. package/lib/mutations/personas.js +0 -100
  230. package/lib/mutations/posts.d.ts +0 -2
  231. package/lib/mutations/reactions.d.ts +0 -2
  232. package/lib/mutations/statistics.d.ts +0 -2
  233. package/lib/mutations/subscriptions.d.ts +0 -2
  234. package/lib/mutations/tags.d.ts +0 -2
  235. package/lib/mutations/users.d.ts +0 -1
  236. package/lib/objectTypes/app.d.ts +0 -3
  237. package/lib/objectTypes/bankAccount.d.ts +0 -1
  238. package/lib/objectTypes/connection.d.ts +0 -1
  239. package/lib/objectTypes/conversation.d.ts +0 -2
  240. package/lib/objectTypes/creditCard.d.ts +0 -1
  241. package/lib/objectTypes/document.d.ts +0 -1
  242. package/lib/objectTypes/error.d.ts +0 -1
  243. package/lib/objectTypes/external.d.ts +0 -1
  244. package/lib/objectTypes/file.d.ts +0 -2
  245. package/lib/objectTypes/filter.d.ts +0 -1
  246. package/lib/objectTypes/group.d.ts +0 -3
  247. package/lib/objectTypes/iapSubscription.d.ts +0 -1
  248. package/lib/objectTypes/image.d.ts +0 -2
  249. package/lib/objectTypes/index.d.ts +0 -24
  250. package/lib/objectTypes/location.d.ts +0 -2
  251. package/lib/objectTypes/message.d.ts +0 -2
  252. package/lib/objectTypes/passcode.d.ts +0 -1
  253. package/lib/objectTypes/persona.d.ts +0 -3
  254. package/lib/objectTypes/persona.js +0 -87
  255. package/lib/objectTypes/plan.d.ts +0 -2
  256. package/lib/objectTypes/post.d.ts +0 -2
  257. package/lib/objectTypes/reaction.d.ts +0 -2
  258. package/lib/objectTypes/relation.d.ts +0 -1
  259. package/lib/objectTypes/search.d.ts +0 -1
  260. package/lib/objectTypes/statistics.d.ts +0 -1
  261. package/lib/objectTypes/subscription.d.ts +0 -2
  262. package/lib/objectTypes/tag.d.ts +0 -2
  263. package/lib/objectTypes/user.d.ts +0 -4
  264. package/lib/queries/index.d.ts +0 -3
  265. package/lib/queries/locations.d.ts +0 -2
  266. package/lib/queries/messages.d.ts +0 -2
  267. package/lib/queries/posts.d.ts +0 -2
  268. package/lib/queries/reactions.d.ts +0 -2
  269. package/lib/queries/statistics.d.ts +0 -2
  270. package/lib/queries/subscriptions.d.ts +0 -2
  271. package/lib/queries/tags.d.ts +0 -2
  272. package/lib/queries/users.d.ts +0 -1
  273. package/lib/templates/email/layout.d.ts +0 -2
  274. package/lib/templates/email/passwordForgot.d.ts +0 -2
  275. package/lib/templates/email/passwordRecovery.d.ts +0 -2
  276. package/lib/templates/email/verifyEmail.d.ts +0 -2
  277. package/lib/templates/email/welcome.d.ts +0 -2
  278. package/lib/templates/sms/passwordForgot.d.ts +0 -2
  279. package/lib/templates/sms/passwordRecovery.d.ts +0 -2
  280. package/lib/templates/sms/verifyEmail.d.ts +0 -2
  281. package/lib/templates/sms/verifyPhone.d.ts +0 -2
  282. package/lib/templates/sms/welcome.d.ts +0 -2
  283. package/lib/types/apps.types.d.ts +0 -46
  284. package/lib/types/arangodb.types.d.ts +0 -34
  285. package/lib/types/auth.types.d.ts +0 -9
  286. package/lib/types/connections.types.d.ts +0 -5
  287. package/lib/types/conversations.types.d.ts +0 -27
  288. package/lib/types/email.types.d.ts +0 -13
  289. package/lib/types/error.types.d.ts +0 -20
  290. package/lib/types/files.types.d.ts +0 -23
  291. package/lib/types/google.types.d.ts +0 -29
  292. package/lib/types/groups.types.d.ts +0 -18
  293. package/lib/types/images.types.d.ts +0 -52
  294. package/lib/types/index.d.ts +0 -20
  295. package/lib/types/locations.types.d.ts +0 -18
  296. package/lib/types/messages.types.d.ts +0 -16
  297. package/lib/types/notifications.types.d.ts +0 -19
  298. package/lib/types/payments.types.d.ts +0 -109
  299. package/lib/types/personas.types.d.ts +0 -32
  300. package/lib/types/personas.types.js +0 -16
  301. package/lib/types/posts.types.d.ts +0 -28
  302. package/lib/types/statistics.types.d.ts +0 -3
  303. package/lib/types/tags.types.d.ts +0 -15
  304. package/lib/types/users.types.d.ts +0 -79
  305. package/lib/types/websockets.types.d.ts +0 -18
  306. package/lib/utils/adapterUtils.d.ts +0 -1
  307. package/lib/utils/analyticsUtils.d.ts +0 -21
  308. package/lib/utils/arangodbUtils.d.ts +0 -66
  309. package/lib/utils/auth.d.ts +0 -21
  310. package/lib/utils/auth.js +0 -57
  311. package/lib/utils/index.d.ts +0 -5
  312. package/lib/utils/session.d.ts +0 -18
  313. package/lib/utils/session.js +0 -60
  314. package/lib/utils/stripeUtils.d.ts +0 -3
@@ -1,208 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var subscription_exports = {};
19
- __export(subscription_exports, {
20
- addPlan: () => addPlan,
21
- addSubscription: () => addSubscription,
22
- deleteSubscription: () => deleteSubscription,
23
- getPlanList: () => getPlanList,
24
- getSubscription: () => getSubscription
25
- });
26
- module.exports = __toCommonJS(subscription_exports);
27
- var import_utils = require("@nlabs/utils");
28
- var import_arangojs = require("arangojs");
29
- var import_luxon = require("luxon");
30
- var import_users = require("./users");
31
- var import_error = require("../types/error.types");
32
- var import_utils2 = require("../utils");
33
- var import_analyticsUtils = require("../utils/analyticsUtils");
34
- var import_arangodbUtils = require("../utils/arangodbUtils");
35
- var import_stripeUtils = require("../utils/stripeUtils");
36
- const eventCategory = "subscription";
37
- const getPlanList = (context, from = 0, to = 30) => {
38
- const action = "getList";
39
- const { database } = context;
40
- const limit = (0, import_arangodbUtils.getLimit)(from, to);
41
- const aqlQry = `FOR p IN plans
42
- ${limit.aql}
43
- SORT p.amount
44
- RETURN p`;
45
- return database.query(aqlQry).then((cursor) => cursor.all()).then((list = []) => list).catch((error) => (0, import_analyticsUtils.logError)({
46
- action,
47
- category: eventCategory,
48
- label: import_error.ErrorTypes.DATABASE_ERROR
49
- }, error, {}).then(() => null).catch((error2) => Promise.reject(error2)));
50
- };
51
- const getSubscription = (context) => {
52
- const action = "getItem";
53
- const { database, session: { userId: sessionId } } = context;
54
- const aqlQry = `FOR s IN subscriptions
55
- FILTER s.userId == ${sessionId} && s.cancelled > 0
56
- LET plan = FIRST(
57
- FOR p IN plans
58
- FILTER p._key == s.planId
59
- )
60
- LIMIT 1
61
- RETURN MERGE(s, {plan: plan})`;
62
- return database.query(aqlQry).then((cursor) => cursor.next()).then((subscription = {}) => subscription).catch((error) => (0, import_analyticsUtils.logError)({
63
- action,
64
- category: eventCategory,
65
- label: import_error.ErrorTypes.DATABASE_ERROR
66
- }, error, {}).then(() => null).catch((error2) => Promise.reject(error2)));
67
- };
68
- const addPlan = (context, item) => {
69
- const action = "addPlan";
70
- const { database, session } = context;
71
- const isAdmin = (0, import_utils2.isAdminUser)(session);
72
- if (!isAdmin) {
73
- return (0, import_analyticsUtils.logException)({
74
- action,
75
- category: eventCategory,
76
- label: "unauthorized",
77
- value: import_error.ErrorTypes.INVALID_SESSION
78
- }, context).then(() => null);
79
- }
80
- const now = Date.now();
81
- const formatId = (0, import_utils.parseId)(item.id);
82
- const planId = formatId === "" ? (0, import_utils.createHash)(`subscription-${session.userId}`) : formatId;
83
- const { amount, currency = "USD", description, interval, intervalCount, name } = item;
84
- const formatAmount = (0, import_utils.parseNum)(amount);
85
- const formatInterval = (0, import_utils.parseChar)(interval, 5).toLowerCase();
86
- const formatIntervalCnt = (0, import_utils.parseNum)(intervalCount, 5);
87
- const formatName = (0, import_utils.parseVarChar)(name, 32);
88
- const formatDesc = (0, import_utils.parseVarChar)(description, 32);
89
- const insert = {
90
- _key: planId,
91
- added: now,
92
- amount: formatAmount,
93
- currency,
94
- description: formatDesc,
95
- interval: formatInterval,
96
- intervalCount: formatIntervalCnt,
97
- modified: now,
98
- name: formatName
99
- };
100
- const aqlQry = import_arangojs.aql`INSERT ${insert} IN plans RETURN NEW`;
101
- return database.query(aqlQry).then((cursor) => cursor.next()).then((plan) => {
102
- const stripeClient = (0, import_stripeUtils.getStripeClient)();
103
- const stripePlan = {
104
- amount: formatAmount * 100,
105
- currency,
106
- id: planId,
107
- interval: formatInterval,
108
- interval_count: formatIntervalCnt,
109
- metadata: {},
110
- product: {
111
- name: formatName,
112
- statement_descriptor: formatDesc
113
- }
114
- };
115
- return stripeClient.plans.create(stripePlan).then(() => plan);
116
- }).catch((error) => (0, import_analyticsUtils.logError)({
117
- action,
118
- category: eventCategory,
119
- label: import_error.ErrorTypes.DATABASE_ERROR
120
- }, error, {}).then(() => null).catch((error2) => Promise.reject(error2)));
121
- };
122
- const addSubscription = (context, item) => {
123
- const action = "addSubscription";
124
- const { database, session: { userId: sessionId, userAccess } } = context;
125
- const isAdmin = userAccess > 2;
126
- if (!isAdmin) {
127
- return (0, import_analyticsUtils.logException)({
128
- action,
129
- category: eventCategory,
130
- label: "unauthorized",
131
- value: "invalid_session"
132
- }, context).then(() => null);
133
- }
134
- const now = Date.now();
135
- const formatId = (0, import_utils.parseId)(item.id);
136
- const subscriptionId = formatId === "" ? (0, import_utils.createHash)(`subscription-${sessionId}`) : formatId;
137
- const { planId, trialEnd, trialPeriod } = item;
138
- const formatPlanId = (0, import_utils.parseId)(planId);
139
- const formatTrialPeriod = 0;
140
- let formatTrialEnd = trialEnd || Date.now();
141
- if (formatTrialPeriod) {
142
- formatTrialEnd = import_luxon.DateTime.local().plus({ days: trialPeriod }).toMillis();
143
- }
144
- return (0, import_users.getUser)(context, { userId: sessionId }).then((user) => {
145
- const insert = {
146
- _key: subscriptionId,
147
- added: now,
148
- cancelDate: 0,
149
- modified: now,
150
- planId: formatPlanId,
151
- trialEnd: formatTrialEnd,
152
- userId: sessionId
153
- };
154
- const aqlQry = import_arangojs.aql`INSERT ${insert} IN plans RETURN NEW`;
155
- return database.query(aqlQry).then((cursor) => cursor.next()).then((subscription = {}) => {
156
- const stripeClient = (0, import_stripeUtils.getStripeClient)();
157
- return stripeClient.subscriptions.create({
158
- customer: user.stripeCustomerId,
159
- items: [
160
- {
161
- plan: formatPlanId
162
- }
163
- ],
164
- metadata: {
165
- userId: sessionId
166
- },
167
- trial_end: formatTrialEnd
168
- }).then(() => subscription);
169
- }).catch((error) => (0, import_analyticsUtils.logError)({
170
- action,
171
- category: eventCategory,
172
- label: import_error.ErrorTypes.DATABASE_ERROR
173
- }, error, {}).then(() => null).catch((error2) => Promise.reject(error2)));
174
- });
175
- };
176
- const deleteSubscription = (context) => {
177
- const action = "deleteSubscription";
178
- const { database } = context;
179
- const now = Date.now();
180
- return getSubscription(context).then((subscription) => {
181
- const stripeClient = (0, import_stripeUtils.getStripeClient)();
182
- return stripeClient.subscriptions.cancel(subscription.transactionId).then(({ canceled_at: cancelDate }) => {
183
- if (cancelDate) {
184
- const update = {
185
- cancelDate,
186
- modified: now,
187
- planId: ""
188
- };
189
- const aqlQry = import_arangojs.aql`UPDATE s WITH ${update} IN subscriptions`;
190
- return database.query(aqlQry).then(() => true).catch((error) => (0, import_analyticsUtils.logError)({
191
- action,
192
- category: eventCategory,
193
- label: import_error.ErrorTypes.DATABASE_ERROR
194
- }, error, {}).then(() => null).catch((error2) => Promise.reject(error2)));
195
- }
196
- return false;
197
- });
198
- });
199
- };
200
- // Annotate the CommonJS export names for ESM import in node:
201
- 0 && (module.exports = {
202
- addPlan,
203
- addSubscription,
204
- deleteSubscription,
205
- getPlanList,
206
- getSubscription
207
- });
208
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvc3Vic2NyaXB0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUNoYXIsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB7RGF0ZVRpbWV9IGZyb20gJ2x1eG9uJztcbmltcG9ydCBTdHJpcGUgZnJvbSAnc3RyaXBlJztcblxuaW1wb3J0IHtnZXRVc2VyfSBmcm9tICcuL3VzZXJzJztcbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3IudHlwZXMnO1xuaW1wb3J0IHtpc0FkbWluVXNlcn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtsb2dFcnJvciwgbG9nRXhjZXB0aW9ufSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscyc7XG5pbXBvcnQge2dldExpbWl0fSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzJztcblxuaW1wb3J0IHR5cGUge0FyYW5nb0RiTGltaXR9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcbmltcG9ydCB0eXBlIHtQYXltZW50SW50ZXJ2YWwsIFBheW1lbnRQbGFuLCBQYXltZW50U3Vic2NyaXB0aW9ufSBmcm9tICcuLi90eXBlcy9wYXltZW50cy50eXBlcyc7XG5pbXBvcnQge2dldFN0cmlwZUNsaWVudH0gZnJvbSAnLi4vdXRpbHMvc3RyaXBlVXRpbHMnO1xuXG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnc3Vic2NyaXB0aW9uJztcblxuZXhwb3J0IGNvbnN0IGdldFBsYW5MaXN0ID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZyb206IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IFByb21pc2U8UGF5bWVudFBsYW5bXT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRMaXN0JztcbiAgY29uc3Qge2RhdGFiYXNlfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGxpbWl0OiBBcmFuZ29EYkxpbWl0ID0gZ2V0TGltaXQoZnJvbSwgdG8pO1xuICBjb25zdCBhcWxRcnk6IHN0cmluZyA9IGBGT1IgcCBJTiBwbGFuc1xuICAgICAgJHtsaW1pdC5hcWx9XG4gICAgICBTT1JUIHAuYW1vdW50XG4gICAgICBSRVRVUk4gcGA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLnRoZW4oKGxpc3QgPSBbXSkgPT4gbGlzdClcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCB7fSkudGhlbigoKSA9PiBudWxsKS5jYXRjaCgoZXJyb3IpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2UsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3QgYXFsUXJ5OiBzdHJpbmcgPSBgRk9SIHMgSU4gc3Vic2NyaXB0aW9uc1xuICAgICAgRklMVEVSIHMudXNlcklkID09ICR7c2Vzc2lvbklkfSAmJiBzLmNhbmNlbGxlZCA+IDBcbiAgICAgIExFVCBwbGFuID0gRklSU1QoXG4gICAgICAgIEZPUiBwIElOIHBsYW5zXG4gICAgICAgIEZJTFRFUiBwLl9rZXkgPT0gcy5wbGFuSWRcbiAgICAgIClcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiBNRVJHRShzLCB7cGxhbjogcGxhbn0pYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHN1YnNjcmlwdGlvbiA9IHt9KSA9PiBzdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwge30pLnRoZW4oKCkgPT4gbnVsbCkuY2F0Y2goKGVycm9yKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRQbGFuID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGl0ZW06IFBheW1lbnRQbGFuKTogUHJvbWlzZTxQYXltZW50UGxhbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRQbGFuJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9ufSA9IGNvbnRleHQ7XG4gIGNvbnN0IGlzQWRtaW4gPSBpc0FkbWluVXNlcihzZXNzaW9uKTtcblxuICBpZighaXNBZG1pbikge1xuICAgIHJldHVybiBsb2dFeGNlcHRpb24oe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ3VuYXV0aG9yaXplZCcsXG4gICAgICB2YWx1ZTogRXJyb3JUeXBlcy5JTlZBTElEX1NFU1NJT05cbiAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuICB9XG5cbiAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBjb25zdCBmb3JtYXRJZDogc3RyaW5nID0gcGFyc2VJZChpdGVtLmlkKTtcbiAgY29uc3QgcGxhbklkOiBzdHJpbmcgPSBmb3JtYXRJZCA9PT0gJycgPyBjcmVhdGVIYXNoKGBzdWJzY3JpcHRpb24tJHtzZXNzaW9uLnVzZXJJZH1gKSA6IGZvcm1hdElkO1xuICBjb25zdCB7YW1vdW50LCBjdXJyZW5jeSA9ICdVU0QnLCBkZXNjcmlwdGlvbiwgaW50ZXJ2YWwsIGludGVydmFsQ291bnQsIG5hbWV9ID0gaXRlbTtcbiAgY29uc3QgZm9ybWF0QW1vdW50OiBudW1iZXIgPSBwYXJzZU51bShhbW91bnQpO1xuICBjb25zdCBmb3JtYXRJbnRlcnZhbDogUGF5bWVudEludGVydmFsID0gcGFyc2VDaGFyKGludGVydmFsLCA1KS50b0xvd2VyQ2FzZSgpIGFzIFBheW1lbnRJbnRlcnZhbDtcbiAgY29uc3QgZm9ybWF0SW50ZXJ2YWxDbnQ6IG51bWJlciA9IHBhcnNlTnVtKGludGVydmFsQ291bnQsIDUpO1xuICBjb25zdCBmb3JtYXROYW1lOiBzdHJpbmcgPSBwYXJzZVZhckNoYXIobmFtZSwgMzIpO1xuICBjb25zdCBmb3JtYXREZXNjOiBzdHJpbmcgPSBwYXJzZVZhckNoYXIoZGVzY3JpcHRpb24sIDMyKTtcbiAgY29uc3QgaW5zZXJ0OiBQYXltZW50UGxhbiA9IHtcbiAgICBfa2V5OiBwbGFuSWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICBhbW91bnQ6IGZvcm1hdEFtb3VudCxcbiAgICBjdXJyZW5jeSxcbiAgICBkZXNjcmlwdGlvbjogZm9ybWF0RGVzYyxcbiAgICBpbnRlcnZhbDogZm9ybWF0SW50ZXJ2YWwsXG4gICAgaW50ZXJ2YWxDb3VudDogZm9ybWF0SW50ZXJ2YWxDbnQsXG4gICAgbW9kaWZpZWQ6IG5vdyxcbiAgICBuYW1lOiBmb3JtYXROYW1lXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBwbGFucyBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHBsYW46IFBheW1lbnRQbGFuKSA9PiB7XG4gICAgICBjb25zdCBzdHJpcGVDbGllbnQgPSBnZXRTdHJpcGVDbGllbnQoKTtcbiAgICAgIGNvbnN0IHN0cmlwZVBsYW46IFN0cmlwZS5QbGFuQ3JlYXRlUGFyYW1zID0ge1xuICAgICAgICBhbW91bnQ6IGZvcm1hdEFtb3VudCAqIDEwMCxcbiAgICAgICAgY3VycmVuY3ksXG4gICAgICAgIGlkOiBwbGFuSWQsXG4gICAgICAgIGludGVydmFsOiBmb3JtYXRJbnRlcnZhbCxcbiAgICAgICAgaW50ZXJ2YWxfY291bnQ6IGZvcm1hdEludGVydmFsQ250LFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICB9LFxuICAgICAgICBwcm9kdWN0OiB7XG4gICAgICAgICAgbmFtZTogZm9ybWF0TmFtZSxcbiAgICAgICAgICBzdGF0ZW1lbnRfZGVzY3JpcHRvcjogZm9ybWF0RGVzY1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gc3RyaXBlQ2xpZW50LnBsYW5zXG4gICAgICAgIC5jcmVhdGUoc3RyaXBlUGxhbilcbiAgICAgICAgLnRoZW4oKCkgPT4gcGxhbik7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCB7fSkudGhlbigoKSA9PiBudWxsKS5jYXRjaCgoZXJyb3IpID0+IFByb21pc2UucmVqZWN0KGVycm9yKSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZFN1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBpdGVtKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZFN1YnNjcmlwdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkLCB1c2VyQWNjZXNzfX0gPSBjb250ZXh0O1xuICBjb25zdCBpc0FkbWluOiBib29sZWFuID0gdXNlckFjY2VzcyA+IDI7XG5cbiAgaWYoIWlzQWRtaW4pIHtcbiAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICd1bmF1dGhvcml6ZWQnLFxuICAgICAgdmFsdWU6ICdpbnZhbGlkX3Nlc3Npb24nXG4gICAgfSwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKTtcbiAgfVxuXG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgZm9ybWF0SWQ6IHN0cmluZyA9IHBhcnNlSWQoaXRlbS5pZCk7XG4gIGNvbnN0IHN1YnNjcmlwdGlvbklkOiBzdHJpbmcgPSBmb3JtYXRJZCA9PT0gJycgPyBjcmVhdGVIYXNoKGBzdWJzY3JpcHRpb24tJHtzZXNzaW9uSWR9YCkgOiBmb3JtYXRJZDtcbiAgY29uc3Qge3BsYW5JZCwgdHJpYWxFbmQsIHRyaWFsUGVyaW9kfSA9IGl0ZW07XG4gIGNvbnN0IGZvcm1hdFBsYW5JZDogc3RyaW5nID0gcGFyc2VJZChwbGFuSWQpO1xuICBjb25zdCBmb3JtYXRUcmlhbFBlcmlvZDogbnVtYmVyID0gMDtcbiAgbGV0IGZvcm1hdFRyaWFsRW5kOiBudW1iZXIgPSB0cmlhbEVuZCB8fCBEYXRlLm5vdygpO1xuXG4gIGlmKGZvcm1hdFRyaWFsUGVyaW9kKSB7XG4gICAgZm9ybWF0VHJpYWxFbmQgPSBEYXRlVGltZS5sb2NhbCgpLnBsdXMoe2RheXM6IHRyaWFsUGVyaW9kfSkudG9NaWxsaXMoKTtcbiAgfVxuXG4gIHJldHVybiBnZXRVc2VyKGNvbnRleHQsIHt1c2VySWQ6IHNlc3Npb25JZH0pXG4gICAgLnRoZW4oKHVzZXIpID0+IHtcbiAgICAgIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICAgICAgX2tleTogc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgIGFkZGVkOiBub3csXG4gICAgICAgIGNhbmNlbERhdGU6IDAsXG4gICAgICAgIG1vZGlmaWVkOiBub3csXG4gICAgICAgIHBsYW5JZDogZm9ybWF0UGxhbklkLFxuICAgICAgICB0cmlhbEVuZDogZm9ybWF0VHJpYWxFbmQsXG4gICAgICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gICAgICB9O1xuICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBJTlNFUlQgJHtpbnNlcnR9IElOIHBsYW5zIFJFVFVSTiBORVdgO1xuXG4gICAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHtcbiAgICAgICAgICBjb25zdCBzdHJpcGVDbGllbnQgPSBnZXRTdHJpcGVDbGllbnQoKTtcbiAgICAgICAgICByZXR1cm4gc3RyaXBlQ2xpZW50LnN1YnNjcmlwdGlvbnNcbiAgICAgICAgICAgIC5jcmVhdGUoe1xuICAgICAgICAgICAgICBjdXN0b21lcjogdXNlci5zdHJpcGVDdXN0b21lcklkLFxuICAgICAgICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBsYW46IGZvcm1hdFBsYW5JZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICB1c2VySWQ6IHNlc3Npb25JZFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0cmlhbF9lbmQ6IGZvcm1hdFRyaWFsRW5kXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgICAgfSwgZXJyb3IsIHt9KS50aGVuKCgpID0+IG51bGwpLmNhdGNoKChlcnJvcikgPT4gUHJvbWlzZS5yZWplY3QoZXJyb3IpKSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlU3Vic2NyaXB0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZGVsZXRlU3Vic2NyaXB0aW9uJztcbiAgY29uc3Qge2RhdGFiYXNlfSA9IGNvbnRleHQ7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcblxuICByZXR1cm4gZ2V0U3Vic2NyaXB0aW9uKGNvbnRleHQpXG4gICAgLnRoZW4oKHN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3RyaXBlQ2xpZW50ID0gZ2V0U3RyaXBlQ2xpZW50KCk7XG5cbiAgICAgIHJldHVybiBzdHJpcGVDbGllbnQuc3Vic2NyaXB0aW9uc1xuICAgICAgICAuY2FuY2VsKHN1YnNjcmlwdGlvbi50cmFuc2FjdGlvbklkKVxuICAgICAgICAudGhlbigoe2NhbmNlbGVkX2F0OiBjYW5jZWxEYXRlfSkgPT4ge1xuICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBjYW5jZWxsZWQgb24gU3RyaXBlIGJlZm9yZSB1cGRhdGluZyB0aGUgZGJcbiAgICAgICAgICBpZihjYW5jZWxEYXRlKSB7XG4gICAgICAgICAgICBjb25zdCB1cGRhdGU6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4gICAgICAgICAgICAgIGNhbmNlbERhdGUsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBub3csXG4gICAgICAgICAgICAgIHBsYW5JZDogJydcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQREFURSBzIFdJVEggJHt1cGRhdGV9IElOIHN1YnNjcmlwdGlvbnNgO1xuXG4gICAgICAgICAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgICAgICAgICAudGhlbigoKSA9PiB0cnVlKVxuICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgICAgICAgICAgICB9LCBlcnJvciwge30pLnRoZW4oKCkgPT4gbnVsbCkuY2F0Y2goKGVycm9yKSA9PiBQcm9taXNlLnJlamVjdChlcnJvcikpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLG1CQUFxRTtBQUNyRSxzQkFBa0I7QUFF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
@@ -1,34 +0,0 @@
1
- import type { ApiContext } from '../types/auth.types';
2
- import type { TagType } from '../types/tags.types';
3
- export interface TagOptions {
4
- readonly from?: number;
5
- readonly search?: string;
6
- readonly to?: number;
7
- readonly userId?: string;
8
- }
9
- export declare const getTags: (context: ApiContext, options?: TagOptions) => Promise<TagType[]>;
10
- export declare const getTagsByItem: (context: ApiContext, itemDocId: string, options?: TagOptions) => Promise<TagType[]>;
11
- export declare const getTag: (context: ApiContext, tagId: string) => Promise<TagType>;
12
- export declare const getTagsByName: (context: ApiContext, tagNames: string[]) => Promise<TagType[]>;
13
- export declare const addTag: (context: ApiContext, tag: TagType) => Promise<TagType>;
14
- export declare const addTagToItem: (context: ApiContext, { itemDocId, tagBy, tagDocId }: {
15
- itemDocId: string;
16
- tagBy?: string;
17
- tagDocId: string;
18
- }) => Promise<TagType>;
19
- export declare const updateTag: (context: ApiContext, tag: TagType) => Promise<TagType>;
20
- export declare const deleteTag: (context: ApiContext, tag: TagType) => Promise<TagType>;
21
- export declare const deleteTagFromEdge: (context: ApiContext, { tagDocId, edgeDocId }: {
22
- tagDocId: any;
23
- edgeDocId: any;
24
- }) => Promise<TagType>;
25
- export declare const deleteTagFromItem: (context: ApiContext, { tagId, itemId, itemType }: {
26
- tagId: any;
27
- itemId: any;
28
- itemType: any;
29
- }) => Promise<TagType>;
30
- export declare const extractTags: (content: string) => string[];
31
- export declare const updateTagsInItem: (context: ApiContext, { itemDocId, tags }: {
32
- itemDocId: any;
33
- tags: any;
34
- }) => Promise<TagType[]>;
@@ -1,72 +0,0 @@
1
- import { SessionError } from '../types/error.types';
2
- import { SessionToken } from '../utils/session';
3
- import type { ApiContext } from '../types/auth.types';
4
- import type { UserType } from '../types/users.types';
5
- export interface UserOptions {
6
- readonly from?: number;
7
- readonly to?: number;
8
- readonly username?: string;
9
- }
10
- export declare enum UserAccess {
11
- DEACTIVATED = 0,
12
- ACTIVE = 1,
13
- PREMIUM = 2,
14
- CONTENT_ADMIN = 3,
15
- ADMIN = 4
16
- }
17
- export declare const createToken: (userId: string, username: string, userAccess: number, expiresInMinutes?: number) => SessionToken;
18
- interface SelectAccumulator {
19
- objects: string[];
20
- queries: string[];
21
- }
22
- export declare const getUserOptional: (fields?: string[]) => SelectAccumulator;
23
- export declare const parseUserOptions: (options?: UserOptions) => {
24
- limit: import("..").ArangoDbLimit;
25
- from?: number;
26
- to?: number;
27
- username?: string;
28
- };
29
- export declare const addUser: (context: ApiContext, user: UserType) => Promise<UserType>;
30
- export declare const updateUser: (context: ApiContext, user: UserType) => Promise<UserType>;
31
- export declare const forgotPassword: (context: ApiContext, { email, phone, username }: {
32
- email: any;
33
- phone: any;
34
- username: any;
35
- }) => Promise<boolean>;
36
- export declare const resetPassword: (context: ApiContext, { code, password, type, username }: {
37
- code: number;
38
- password: string;
39
- type: "phone" | "email";
40
- username: string;
41
- }) => Promise<boolean>;
42
- export declare const confirmCode: (context: ApiContext, { code, type }: {
43
- code: number;
44
- type: "phone" | "email";
45
- }) => Promise<boolean>;
46
- export declare const deleteUser: (context: ApiContext, user: UserType) => Promise<UserType>;
47
- export declare const deactivateUser: (context: ApiContext, user: UserType) => Promise<UserType>;
48
- export declare const getDisplayName: (user: UserType) => string;
49
- export declare const getSessionUser: (context: ApiContext) => Promise<UserType>;
50
- export declare const getUser: (context: ApiContext, user: UserType) => Promise<UserType>;
51
- export declare const getUsers: (context: ApiContext, options?: UserOptions) => Promise<UserType[]>;
52
- export declare const getUsersByReactions: (context: ApiContext, { reactions, username }: {
53
- reactions?: any[];
54
- username: any;
55
- }, options?: UserOptions) => Promise<UserType[]>;
56
- export declare const getUsersByTags: (context: ApiContext, { tags, username }: {
57
- tags: any;
58
- username: any;
59
- }, options?: UserOptions) => Promise<UserType[]>;
60
- export declare const getUsersByLatest: (context: ApiContext, { username }: {
61
- username: any;
62
- }, options?: UserOptions) => Promise<UserType[]>;
63
- export declare const getUsersByConnection: (context: ApiContext, { userId }: UserType, options?: UserOptions) => Promise<UserType[]>;
64
- export declare const refreshSession: ({ expires, token }: {
65
- expires: any;
66
- token: any;
67
- }) => SessionToken | SessionError;
68
- export declare const signIn: (context: ApiContext, args: any) => Promise<SessionToken>;
69
- export declare const signOut: (context: ApiContext) => Promise<boolean>;
70
- export declare const getActiveUserCount: (context: ApiContext) => Promise<number>;
71
- export declare const getUserByToken: (context: ApiContext, token: string) => Promise<UserType>;
72
- export {};
@@ -1,20 +0,0 @@
1
- import { ApiContext } from '../types/auth.types';
2
- import type { WebsocketConnection } from '../types/websockets.types';
3
- export declare const addSocket: (socketId: string, token: string) => Promise<WebsocketConnection>;
4
- export declare const getSocketByUser: (userId: string) => Promise<WebsocketConnection>;
5
- export declare const getSocketById: (socketId: string) => Promise<any>;
6
- export declare const getConnectionByConvo: (context: ApiContext, convoId: string) => Promise<any>;
7
- export declare const removeSocket: (socketId: string) => Promise<WebsocketConnection>;
8
- export interface WebSocketClientContext {
9
- readonly requestContext?: {
10
- readonly apiId: string;
11
- readonly domainName: string;
12
- readonly stage: string;
13
- };
14
- }
15
- export declare class WebsocketClient {
16
- client: any;
17
- constructor(config?: any);
18
- setupClient({ requestContext }: WebSocketClientContext): Promise<void>;
19
- send(connection: any, payload: any): Promise<boolean>;
20
- }
@@ -1,2 +0,0 @@
1
- import { DocumentType } from '../types/arangodb.types';
2
- export declare const parseDocument: (doc: DocumentType) => DocumentType;
@@ -1,3 +0,0 @@
1
- import { FileType } from '../types';
2
- export declare const getFileType: (file: FileType) => string;
3
- export declare const parseFile: (file: FileType) => FileType;
@@ -1,2 +0,0 @@
1
- import type { ImageType } from '../types/images.types';
2
- export declare const parseImage: (image: ImageType) => ImageType;
@@ -1,2 +0,0 @@
1
- import type { MessageType } from '../types/messages.types';
2
- export declare const parseMessage: (message: MessageType) => MessageType;
@@ -1,2 +0,0 @@
1
- import { PostType } from '../types';
2
- export declare const parsePost: (post: PostType) => PostType;
@@ -1,6 +0,0 @@
1
- export declare const parseReaktorContent: (content?: string, length?: number) => string;
2
- export declare const parseReaktorDate: (date?: number) => number;
3
- export declare const parseReaktorItemId: (itemId?: string) => string;
4
- export declare const parseReaktorName: (name?: string) => string;
5
- export declare const parseReaktorType: (type?: string) => string;
6
- export declare const parseReaktorUrl: (url?: string) => string;
@@ -1,2 +0,0 @@
1
- import { TagType } from '../types';
2
- export declare const parseTag: (tag: TagType) => TagType;
@@ -1,2 +0,0 @@
1
- import { UserType } from '../types';
2
- export declare const parseUser: (user: UserType) => UserType;
package/lib/config.d.ts DELETED
@@ -1,20 +0,0 @@
1
- export interface AppConfig {
2
- readonly app?: object;
3
- readonly arangodb?: object;
4
- readonly aws?: object;
5
- readonly giphy?: object;
6
- readonly google?: object;
7
- readonly image?: object;
8
- readonly stripe?: object;
9
- readonly twilio?: object;
10
- }
11
- export interface EnvConfig {
12
- readonly local: AppConfig;
13
- readonly dev: AppConfig;
14
- readonly prod: AppConfig;
15
- readonly test: AppConfig;
16
- }
17
- export declare class Config {
18
- static values(): EnvConfig;
19
- static get(path: string | string[]): any;
20
- }
package/lib/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export { graphql, graphqlSync, GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInt, GraphQLList, GraphQLObjectType, GraphQLNonNull, GraphQLString } from 'graphql';
2
- export { schemaComposer } from 'graphql-compose';
3
- export type { InputTypeComposer, ObjectTypeComposer } from 'graphql-compose';
4
- export type { ExecutionResult } from 'graphql';
5
- export * from './actions';
6
- export * from './lambdas/authorizer';
7
- export * from './lambdas/connection';
8
- export * from './mutations';
9
- export * from './objectTypes';
10
- export * from './queries';
11
- export * from './utils';
12
- export * from './types';
@@ -1,7 +0,0 @@
1
- import { ApiContext } from '../../types/auth.types';
2
- import { WebsocketConnection } from '../../types/websockets.types';
3
- export declare const addConnection: (connectionId: string, token: string) => Promise<WebsocketConnection>;
4
- export declare const getConnectionByUserId: (userId: string) => Promise<WebsocketConnection>;
5
- export declare const getConnectionById: (socketId: string) => Promise<WebsocketConnection>;
6
- export declare const getConnectionByConvo: (context: ApiContext, convoId: string) => Promise<WebsocketConnection[]>;
7
- export declare const removeConnection: (connectionId: string) => Promise<WebsocketConnection>;
@@ -1,20 +0,0 @@
1
- export declare const generatePolicyDocument: (effect: any, methodArn: any) => {
2
- Version: string;
3
- Statement: {
4
- Action: string;
5
- Effect: any;
6
- Resource: any;
7
- }[];
8
- };
9
- export declare const generateAuthResponse: (principalId: any, effect: any, methodArn: any) => {
10
- principalId: any;
11
- policyDocument: {
12
- Version: string;
13
- Statement: {
14
- Action: string;
15
- Effect: any;
16
- Resource: any;
17
- }[];
18
- };
19
- };
20
- export declare const authorizer: (event: any, context: any, callback: any) => any;
@@ -1,12 +0,0 @@
1
- export declare const connectHandler: (event: any) => Promise<{
2
- statusCode: number;
3
- } | {
4
- message: any;
5
- statusCode: number;
6
- }>;
7
- export declare const defaultHandler: (event: any) => Promise<{
8
- statusCode: number;
9
- }>;
10
- export declare const messageHandler: (event: any) => Promise<{
11
- statusCode: number;
12
- }>;
@@ -1 +0,0 @@
1
- export declare const parseMessage: (content: string) => string;
@@ -1,7 +0,0 @@
1
- export declare class WebsocketClient {
2
- client: any;
3
- constructor(config?: any);
4
- setupClient(config: any): void;
5
- send(connections: any, payload: any): Promise<boolean>;
6
- }
7
- export declare const wsClient: WebsocketClient;
@@ -1,8 +0,0 @@
1
- export declare const mockConversation: {
2
- _id: string;
3
- _key: string;
4
- id: string;
5
- added: number;
6
- userId: string;
7
- users: any[];
8
- };
@@ -1,11 +0,0 @@
1
- export declare const mockFile: {
2
- _id: string;
3
- _key: string;
4
- description: string;
5
- fileId: string;
6
- fileSize: number;
7
- fileType: string;
8
- name: string;
9
- url: string;
10
- userId: string;
11
- };
@@ -1,17 +0,0 @@
1
- export declare const mockGroup: {
2
- _id: string;
3
- _key: string;
4
- added: number;
5
- description: string;
6
- id: string;
7
- modified: number;
8
- name: string;
9
- type: string;
10
- userId: string;
11
- };
12
- export declare const mockGroupEdge: {
13
- _id: string;
14
- _key: string;
15
- _from: string;
16
- _to: string;
17
- };
@@ -1,3 +0,0 @@
1
- import { ImageEdgeType, ImageType } from '../types';
2
- export declare const mockImage: ImageType;
3
- export declare const mockImageEdge: ImageEdgeType;
@@ -1,38 +0,0 @@
1
- export declare const mockPost: {
2
- _id: string;
3
- _key: string;
4
- added: number;
5
- content: string;
6
- endDate: number;
7
- groupId: string;
8
- id: string;
9
- latitude: number;
10
- location: string;
11
- longitude: number;
12
- name: string;
13
- parentId: string;
14
- postId: string;
15
- privacy: string;
16
- startDate: number;
17
- type: string;
18
- userId: string;
19
- };
20
- export declare const mockPostInGroup: {
21
- groupId: string;
22
- _id: string;
23
- _key: string;
24
- added: number;
25
- content: string;
26
- endDate: number;
27
- id: string;
28
- latitude: number;
29
- location: string;
30
- longitude: number;
31
- name: string;
32
- parentId: string;
33
- postId: string;
34
- privacy: string;
35
- startDate: number;
36
- type: string;
37
- userId: string;
38
- };
@@ -1,2 +0,0 @@
1
- import { TagType } from '../types';
2
- export declare const mockTag: TagType;
@@ -1,4 +0,0 @@
1
- import { UserType } from '../types';
2
- export declare const mockUser: UserType;
3
- export declare const mockAdmin: UserType;
4
- export declare const mockJwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyQWNjZXNzIjoxLCJ1c2VySWQiOiJ1c2VyMSIsInVzZXJuYW1lIjoiamFtZXNib25kIiwiaWF0IjoxNzE2NTA4MTA3fQ.IRfNMLPXEXi6UGPG_TepcqSHREAJJjvVPs7jnvojhMI";
@@ -1,3 +0,0 @@
1
- export * from './posts';
2
- export * from './tags';
3
- export * from './users';
@@ -1,2 +0,0 @@
1
- import type { ApiContext } from '../types/auth.types';
2
- export declare const locationsMutations: import("graphql-compose").ObjectTypeComposer<ApiContext, any>;
@@ -1,2 +0,0 @@
1
- import type { ApiContext } from '../types/auth.types';
2
- export declare const messagesMutations: import("graphql-compose").ObjectTypeComposer<ApiContext, any>;
@@ -1,2 +0,0 @@
1
- import { ApiContext } from '../types';
2
- export declare const personaMutations: import("graphql-compose").ObjectTypeComposer<ApiContext, any>;