serene-core-server 0.1.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 (315) hide show
  1. package/dist/apollo/resolvers/mutations/mailing-lists.d.ts +11 -0
  2. package/dist/apollo/resolvers/mutations/mailing-lists.js +30 -0
  3. package/dist/apollo/resolvers/mutations/user-preferences.d.ts +13 -0
  4. package/dist/apollo/resolvers/mutations/user-preferences.js +31 -0
  5. package/dist/apollo/resolvers/mutations/users.d.ts +28 -0
  6. package/dist/apollo/resolvers/mutations/users.js +44 -0
  7. package/dist/apollo/resolvers/queries/access.d.ts +11 -0
  8. package/dist/apollo/resolvers/queries/access.js +25 -0
  9. package/dist/apollo/resolvers/queries/profile.d.ts +11 -0
  10. package/dist/apollo/resolvers/queries/profile.js +25 -0
  11. package/dist/apollo/resolvers/queries/quotas.d.ts +21 -0
  12. package/dist/apollo/resolvers/queries/quotas.js +25 -0
  13. package/dist/apollo/resolvers/queries/tech.d.ts +5 -0
  14. package/dist/apollo/resolvers/queries/tech.js +35 -0
  15. package/dist/apollo/resolvers/queries/user-preferences.d.ts +5 -0
  16. package/dist/apollo/resolvers/queries/user-preferences.js +33 -0
  17. package/dist/apollo/resolvers/queries/users.d.ts +15 -0
  18. package/dist/apollo/resolvers/queries/users.js +28 -0
  19. package/dist/apollo/resolvers/resolvers.d.ts +20 -0
  20. package/dist/apollo/resolvers/resolvers.js +38 -0
  21. package/dist/apollo/typedefs/typedefs.d.ts +1 -0
  22. package/dist/apollo/typedefs/typedefs.js +142 -0
  23. package/dist/index.d.ts +52 -0
  24. package/dist/index.js +68 -0
  25. package/dist/models/chat/chat-message-created-model.d.ts +17 -0
  26. package/dist/models/chat/chat-message-created-model.js +113 -0
  27. package/dist/models/chat/chat-message-model.d.ts +44 -0
  28. package/dist/models/chat/chat-message-model.js +523 -0
  29. package/dist/models/chat/chat-participant-model.d.ts +39 -0
  30. package/dist/models/chat/chat-participant-model.js +211 -0
  31. package/dist/models/chat/chat-session-model.d.ts +92 -0
  32. package/dist/models/chat/chat-session-model.js +301 -0
  33. package/dist/models/chat/chat-settings-model.d.ts +87 -0
  34. package/dist/models/chat/chat-settings-model.js +261 -0
  35. package/dist/models/feature-flags/feature-flag-model.d.ts +40 -0
  36. package/dist/models/feature-flags/feature-flag-model.js +164 -0
  37. package/dist/models/instances/instance-model.d.ts +93 -0
  38. package/dist/models/instances/instance-model.js +432 -0
  39. package/dist/models/instances/instance-setting-model.d.ts +39 -0
  40. package/dist/models/instances/instance-setting-model.js +193 -0
  41. package/dist/models/mailing-lists/mailing-list-model.d.ts +34 -0
  42. package/dist/models/mailing-lists/mailing-list-model.js +154 -0
  43. package/dist/models/mailing-lists/mailing-list-subscriber-model.d.ts +36 -0
  44. package/dist/models/mailing-lists/mailing-list-subscriber-model.js +152 -0
  45. package/dist/models/quotas/resource-quota-total-model.d.ts +46 -0
  46. package/dist/models/quotas/resource-quota-total-model.js +200 -0
  47. package/dist/models/quotas/resource-quota-usage-model.d.ts +51 -0
  48. package/dist/models/quotas/resource-quota-usage-model.js +181 -0
  49. package/dist/models/tech/rate-limited-api-event-model.d.ts +25 -0
  50. package/dist/models/tech/rate-limited-api-event-model.js +161 -0
  51. package/dist/models/tech/rate-limited-api-model.d.ts +21 -0
  52. package/dist/models/tech/rate-limited-api-model.js +141 -0
  53. package/dist/models/tech/tech-model.d.ts +44 -0
  54. package/dist/models/tech/tech-model.js +268 -0
  55. package/dist/models/tech/tech-provider-api-key-model.d.ts +43 -0
  56. package/dist/models/tech/tech-provider-api-key-model.js +224 -0
  57. package/dist/models/tech/tech-provider-model.d.ts +28 -0
  58. package/dist/models/tech/tech-provider-model.js +197 -0
  59. package/dist/models/users/external-user-integration-model.d.ts +36 -0
  60. package/dist/models/users/external-user-integration-model.js +196 -0
  61. package/dist/models/users/user-error-model.d.ts +54 -0
  62. package/dist/models/users/user-error-model.js +173 -0
  63. package/dist/models/users/user-error-summary-model.d.ts +45 -0
  64. package/dist/models/users/user-error-summary-model.js +172 -0
  65. package/dist/models/users/user-group-member-model.d.ts +41 -0
  66. package/dist/models/users/user-group-member-model.js +193 -0
  67. package/dist/models/users/user-group-model.d.ts +27 -0
  68. package/dist/models/users/user-group-model.js +146 -0
  69. package/dist/models/users/user-model.d.ts +46 -0
  70. package/dist/models/users/user-model.js +153 -0
  71. package/dist/models/users/user-preference-model.d.ts +60 -0
  72. package/dist/models/users/user-preference-model.js +228 -0
  73. package/dist/models/users/user-profile-model.d.ts +58 -0
  74. package/dist/models/users/user-profile-model.js +173 -0
  75. package/dist/prisma.config.d.ts +3 -0
  76. package/dist/prisma.config.js +13 -0
  77. package/dist/services/access/access-service.d.ts +12 -0
  78. package/dist/services/access/access-service.js +44 -0
  79. package/dist/services/access/encrypt-service.d.ts +13 -0
  80. package/dist/services/access/encrypt-service.js +84 -0
  81. package/dist/services/api-usage/api-usage-base-service.d.ts +15 -0
  82. package/dist/services/api-usage/api-usage-base-service.js +75 -0
  83. package/dist/services/console/service.d.ts +7 -0
  84. package/dist/services/console/service.js +70 -0
  85. package/dist/services/db/pg/pg-estimate-size-service.d.ts +16 -0
  86. package/dist/services/db/pg/pg-estimate-size-service.js +90 -0
  87. package/dist/services/files/types.d.ts +6 -0
  88. package/dist/services/files/types.js +2 -0
  89. package/dist/services/files/walk-dir-service.d.ts +8 -0
  90. package/dist/services/files/walk-dir-service.js +94 -0
  91. package/dist/services/locale/countries.d.ts +6 -0
  92. package/dist/services/locale/countries.js +484 -0
  93. package/dist/services/mailing-lists/mailing-list-subscriber-service.d.ts +14 -0
  94. package/dist/services/mailing-lists/mailing-list-subscriber-service.js +45 -0
  95. package/dist/services/process/sleep.d.ts +2 -0
  96. package/dist/services/process/sleep.js +10 -0
  97. package/dist/services/quotas/mutate-service.d.ts +5 -0
  98. package/dist/services/quotas/mutate-service.js +54 -0
  99. package/dist/services/quotas/query-service.d.ts +27 -0
  100. package/dist/services/quotas/query-service.js +137 -0
  101. package/dist/services/quotas/utils-service.d.ts +4 -0
  102. package/dist/services/quotas/utils-service.js +28 -0
  103. package/dist/services/tech/tech-provider-mutate-service.d.ts +7 -0
  104. package/dist/services/tech/tech-provider-mutate-service.js +142 -0
  105. package/dist/services/tech/tech-query-service.d.ts +9 -0
  106. package/dist/services/tech/tech-query-service.js +77 -0
  107. package/dist/services/user-preference/service.d.ts +10 -0
  108. package/dist/services/user-preference/service.js +70 -0
  109. package/dist/services/users/external-user-integration-service.d.ts +9 -0
  110. package/dist/services/users/external-user-integration-service.js +42 -0
  111. package/dist/services/users/profile-service.d.ts +40 -0
  112. package/dist/services/users/profile-service.js +408 -0
  113. package/dist/services/users/service.d.ts +64 -0
  114. package/dist/services/users/service.js +187 -0
  115. package/dist/services/users/user-error-service.d.ts +4 -0
  116. package/dist/services/users/user-error-service.js +42 -0
  117. package/dist/services/users/users-group-service.d.ts +16 -0
  118. package/dist/services/users/users-group-service.js +68 -0
  119. package/dist/services/utils/string-utils-service.d.ts +5 -0
  120. package/dist/services/utils/string-utils-service.js +41 -0
  121. package/dist/src/apollo/resolvers/mutations/mailing-lists.d.ts +11 -0
  122. package/dist/src/apollo/resolvers/mutations/mailing-lists.js +19 -0
  123. package/dist/src/apollo/resolvers/mutations/user-preferences.d.ts +13 -0
  124. package/dist/src/apollo/resolvers/mutations/user-preferences.js +20 -0
  125. package/dist/src/apollo/resolvers/mutations/users.d.ts +28 -0
  126. package/dist/src/apollo/resolvers/mutations/users.js +33 -0
  127. package/dist/src/apollo/resolvers/queries/access.d.ts +11 -0
  128. package/dist/src/apollo/resolvers/queries/access.js +14 -0
  129. package/dist/src/apollo/resolvers/queries/profile.d.ts +11 -0
  130. package/dist/src/apollo/resolvers/queries/profile.js +14 -0
  131. package/dist/src/apollo/resolvers/queries/quotas.d.ts +21 -0
  132. package/dist/src/apollo/resolvers/queries/quotas.js +14 -0
  133. package/dist/src/apollo/resolvers/queries/tech.d.ts +5 -0
  134. package/dist/src/apollo/resolvers/queries/tech.js +24 -0
  135. package/dist/src/apollo/resolvers/queries/user-preferences.d.ts +5 -0
  136. package/dist/src/apollo/resolvers/queries/user-preferences.js +22 -0
  137. package/dist/src/apollo/resolvers/queries/users.d.ts +15 -0
  138. package/dist/src/apollo/resolvers/queries/users.js +17 -0
  139. package/dist/src/apollo/typedefs/typedefs.d.ts +1 -0
  140. package/dist/src/apollo/typedefs/typedefs.js +139 -0
  141. package/dist/src/db.d.ts +3 -0
  142. package/dist/src/db.js +11 -0
  143. package/dist/src/index.d.ts +52 -0
  144. package/dist/src/index.js +52 -0
  145. package/dist/src/models/chat/chat-message-created-model.d.ts +17 -0
  146. package/dist/src/models/chat/chat-message-created-model.js +92 -0
  147. package/dist/src/models/chat/chat-message-model.d.ts +44 -0
  148. package/dist/src/models/chat/chat-message-model.js +484 -0
  149. package/dist/src/models/chat/chat-participant-model.d.ts +39 -0
  150. package/dist/src/models/chat/chat-participant-model.js +178 -0
  151. package/dist/src/models/chat/chat-session-model.d.ts +92 -0
  152. package/dist/src/models/chat/chat-session-model.js +266 -0
  153. package/dist/src/models/chat/chat-settings-model.d.ts +87 -0
  154. package/dist/src/models/chat/chat-settings-model.js +230 -0
  155. package/dist/src/models/feature-flags/feature-flag-model.d.ts +40 -0
  156. package/dist/src/models/feature-flags/feature-flag-model.js +137 -0
  157. package/dist/src/models/instances/instance-model.d.ts +100 -0
  158. package/dist/src/models/instances/instance-model.js +466 -0
  159. package/dist/src/models/instances/instance-setting-model.d.ts +39 -0
  160. package/dist/src/models/instances/instance-setting-model.js +164 -0
  161. package/dist/src/models/mailing-lists/mailing-list-model.d.ts +34 -0
  162. package/dist/src/models/mailing-lists/mailing-list-model.js +127 -0
  163. package/dist/src/models/mailing-lists/mailing-list-subscriber-model.d.ts +36 -0
  164. package/dist/src/models/mailing-lists/mailing-list-subscriber-model.js +127 -0
  165. package/dist/src/models/quotas/resource-quota-total-model.d.ts +46 -0
  166. package/dist/src/models/quotas/resource-quota-total-model.js +170 -0
  167. package/dist/src/models/quotas/resource-quota-usage-model.d.ts +51 -0
  168. package/dist/src/models/quotas/resource-quota-usage-model.js +151 -0
  169. package/dist/src/models/tech/rate-limited-api-event-model.d.ts +25 -0
  170. package/dist/src/models/tech/rate-limited-api-event-model.js +134 -0
  171. package/dist/src/models/tech/rate-limited-api-model.d.ts +21 -0
  172. package/dist/src/models/tech/rate-limited-api-model.js +116 -0
  173. package/dist/src/models/tech/tech-model.d.ts +44 -0
  174. package/dist/src/models/tech/tech-model.js +239 -0
  175. package/dist/src/models/tech/tech-provider-api-key-model.d.ts +43 -0
  176. package/dist/src/models/tech/tech-provider-api-key-model.js +195 -0
  177. package/dist/src/models/tech/tech-provider-model.d.ts +28 -0
  178. package/dist/src/models/tech/tech-provider-model.js +170 -0
  179. package/dist/src/models/users/external-user-integration-model.d.ts +36 -0
  180. package/dist/src/models/users/external-user-integration-model.js +167 -0
  181. package/dist/src/models/users/user-error-model.d.ts +54 -0
  182. package/dist/src/models/users/user-error-model.js +146 -0
  183. package/dist/src/models/users/user-error-summary-model.d.ts +45 -0
  184. package/dist/src/models/users/user-error-summary-model.js +145 -0
  185. package/dist/src/models/users/user-group-member-model.d.ts +41 -0
  186. package/dist/src/models/users/user-group-member-model.js +164 -0
  187. package/dist/src/models/users/user-group-model.d.ts +27 -0
  188. package/dist/src/models/users/user-group-model.js +121 -0
  189. package/dist/src/models/users/user-model.d.ts +46 -0
  190. package/dist/src/models/users/user-model.js +126 -0
  191. package/dist/src/models/users/user-preference-model.d.ts +60 -0
  192. package/dist/src/models/users/user-preference-model.js +197 -0
  193. package/dist/src/models/users/user-profile-model.d.ts +58 -0
  194. package/dist/src/models/users/user-profile-model.js +146 -0
  195. package/dist/src/services/access/access-service.d.ts +12 -0
  196. package/dist/src/services/access/access-service.js +27 -0
  197. package/dist/src/services/access/encrypt-service.d.ts +13 -0
  198. package/dist/src/services/access/encrypt-service.js +79 -0
  199. package/dist/src/services/api-usage/api-usage-base-service.d.ts +15 -0
  200. package/dist/src/services/api-usage/api-usage-base-service.js +58 -0
  201. package/dist/src/services/console/service.d.ts +7 -0
  202. package/dist/src/services/console/service.js +18 -0
  203. package/dist/src/services/db/pg/pg-estimate-size-service.d.ts +16 -0
  204. package/dist/src/services/db/pg/pg-estimate-size-service.js +83 -0
  205. package/dist/src/services/files/types.d.ts +6 -0
  206. package/dist/src/services/files/types.js +1 -0
  207. package/dist/src/services/files/walk-dir-service.d.ts +8 -0
  208. package/dist/src/services/files/walk-dir-service.js +77 -0
  209. package/dist/src/services/locale/countries.d.ts +6 -0
  210. package/dist/src/services/locale/countries.js +481 -0
  211. package/dist/src/services/mailing-lists/mailing-list-subscriber-service.d.ts +14 -0
  212. package/dist/src/services/mailing-lists/mailing-list-subscriber-service.js +28 -0
  213. package/dist/src/services/process/sleep.d.ts +2 -0
  214. package/dist/src/services/process/sleep.js +6 -0
  215. package/dist/src/services/quotas/mutate-service.d.ts +5 -0
  216. package/dist/src/services/quotas/mutate-service.js +37 -0
  217. package/dist/src/services/quotas/query-service.d.ts +27 -0
  218. package/dist/src/services/quotas/query-service.js +116 -0
  219. package/dist/src/services/quotas/utils-service.d.ts +4 -0
  220. package/dist/src/services/quotas/utils-service.js +22 -0
  221. package/dist/src/services/tech/tech-provider-mutate-service.d.ts +7 -0
  222. package/dist/src/services/tech/tech-provider-mutate-service.js +85 -0
  223. package/dist/src/services/tech/tech-query-service.d.ts +9 -0
  224. package/dist/src/services/tech/tech-query-service.js +58 -0
  225. package/dist/src/services/user-preference/service.d.ts +10 -0
  226. package/dist/src/services/user-preference/service.js +49 -0
  227. package/dist/src/services/users/external-user-integration-service.d.ts +9 -0
  228. package/dist/src/services/users/external-user-integration-service.js +25 -0
  229. package/dist/src/services/users/profile-service.d.ts +40 -0
  230. package/dist/src/services/users/profile-service.js +385 -0
  231. package/dist/src/services/users/service.d.ts +64 -0
  232. package/dist/src/services/users/service.js +152 -0
  233. package/dist/src/services/users/user-error-service.d.ts +4 -0
  234. package/dist/src/services/users/user-error-service.js +27 -0
  235. package/dist/src/services/users/users-group-service.d.ts +16 -0
  236. package/dist/src/services/users/users-group-service.js +51 -0
  237. package/dist/src/services/utils/field-naming-service.d.ts +20 -0
  238. package/dist/src/services/utils/field-naming-service.js +59 -0
  239. package/dist/src/services/utils/string-utils-service.d.ts +5 -0
  240. package/dist/src/services/utils/string-utils-service.js +37 -0
  241. package/dist/src/types/errors.d.ts +9 -0
  242. package/dist/src/types/errors.js +15 -0
  243. package/dist/src/types/user-types.d.ts +11 -0
  244. package/dist/src/types/user-types.js +14 -0
  245. package/dist/types/errors.d.ts +9 -0
  246. package/dist/types/errors.js +20 -0
  247. package/dist/types/user-types.d.ts +11 -0
  248. package/dist/types/user-types.js +19 -0
  249. package/package.json +21 -0
  250. package/prisma/schema.prisma +572 -0
  251. package/prisma.config.ts +14 -0
  252. package/src/apollo/README.md +4 -0
  253. package/src/apollo/resolvers/mutations/mailing-lists.ts +30 -0
  254. package/src/apollo/resolvers/mutations/user-preferences.ts +33 -0
  255. package/src/apollo/resolvers/mutations/users.ts +61 -0
  256. package/src/apollo/resolvers/queries/access.ts +23 -0
  257. package/src/apollo/resolvers/queries/profile.ts +24 -0
  258. package/src/apollo/resolvers/queries/quotas.ts +25 -0
  259. package/src/apollo/resolvers/queries/tech.ts +42 -0
  260. package/src/apollo/resolvers/queries/user-preferences.ts +34 -0
  261. package/src/apollo/resolvers/queries/users.ts +33 -0
  262. package/src/apollo/typedefs/typedefs.ts +139 -0
  263. package/src/db.ts +19 -0
  264. package/src/index.ts +52 -0
  265. package/src/models/chat/chat-message-created-model.ts +126 -0
  266. package/src/models/chat/chat-message-model.ts +678 -0
  267. package/src/models/chat/chat-participant-model.ts +248 -0
  268. package/src/models/chat/chat-session-model.ts +397 -0
  269. package/src/models/chat/chat-settings-model.ts +336 -0
  270. package/src/models/feature-flags/feature-flag-model.ts +198 -0
  271. package/src/models/instances/instance-model.ts +673 -0
  272. package/src/models/instances/instance-setting-model.ts +235 -0
  273. package/src/models/mailing-lists/mailing-list-model.ts +177 -0
  274. package/src/models/mailing-lists/mailing-list-subscriber-model.ts +194 -0
  275. package/src/models/quotas/resource-quota-total-model.ts +243 -0
  276. package/src/models/quotas/resource-quota-usage-model.ts +219 -0
  277. package/src/models/tech/rate-limited-api-event-model.ts +190 -0
  278. package/src/models/tech/rate-limited-api-model.ts +171 -0
  279. package/src/models/tech/tech-model.ts +360 -0
  280. package/src/models/tech/tech-provider-api-key-model.ts +289 -0
  281. package/src/models/tech/tech-provider-model.ts +247 -0
  282. package/src/models/users/external-user-integration-model.ts +236 -0
  283. package/src/models/users/user-error-model.ts +219 -0
  284. package/src/models/users/user-error-summary-model.ts +216 -0
  285. package/src/models/users/user-group-member-model.ts +233 -0
  286. package/src/models/users/user-group-model.ts +174 -0
  287. package/src/models/users/user-model.ts +172 -0
  288. package/src/models/users/user-preference-model.ts +285 -0
  289. package/src/models/users/user-profile-model.ts +207 -0
  290. package/src/services/access/access-service.ts +36 -0
  291. package/src/services/access/encrypt-service.ts +122 -0
  292. package/src/services/api-usage/api-usage-base-service.ts +95 -0
  293. package/src/services/console/service.ts +24 -0
  294. package/src/services/db/pg/pg-estimate-size-service.ts +119 -0
  295. package/src/services/files/types.ts +7 -0
  296. package/src/services/files/walk-dir-service.ts +135 -0
  297. package/src/services/locale/countries.ts +483 -0
  298. package/src/services/mailing-lists/mailing-list-subscriber-service.ts +54 -0
  299. package/src/services/process/sleep.ts +7 -0
  300. package/src/services/quotas/mutate-service.ts +66 -0
  301. package/src/services/quotas/query-service.ts +197 -0
  302. package/src/services/quotas/utils-service.ts +29 -0
  303. package/src/services/tech/tech-provider-mutate-service.ts +136 -0
  304. package/src/services/tech/tech-query-service.ts +93 -0
  305. package/src/services/user-preference/service.ts +110 -0
  306. package/src/services/users/external-user-integration-service.ts +51 -0
  307. package/src/services/users/profile-service.ts +513 -0
  308. package/src/services/users/service.ts +293 -0
  309. package/src/services/users/user-error-service.ts +74 -0
  310. package/src/services/users/users-group-service.ts +85 -0
  311. package/src/services/utils/field-naming-service.ts +78 -0
  312. package/src/services/utils/string-utils-service.ts +48 -0
  313. package/src/types/errors.ts +18 -0
  314. package/src/types/user-types.ts +19 -0
  315. package/tsconfig.json +25 -0
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResourceQuotaUsageModel = void 0;
13
+ class ResourceQuotaUsageModel {
14
+ constructor() {
15
+ // Consts
16
+ this.clName = 'ResourceQuotaUsageModel';
17
+ }
18
+ // Code
19
+ create(prisma, userProfileId, resource, day, usage) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ // Debug
22
+ const fnName = `${this.clName}.filter()`;
23
+ // Create
24
+ try {
25
+ return yield prisma.resourceQuotaUsage.create({
26
+ data: {
27
+ userProfileId: userProfileId,
28
+ resource: resource,
29
+ day: day,
30
+ usage: usage
31
+ }
32
+ });
33
+ }
34
+ catch (error) {
35
+ console.error(`${fnName}: error: ${error}`);
36
+ throw 'Prisma error';
37
+ }
38
+ });
39
+ }
40
+ deleteByUserProfileId(prisma, userProfileId) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ // Debug
43
+ const fnName = `${this.clName}.deleteByUserProfileId()`;
44
+ // Query
45
+ try {
46
+ return yield prisma.resourceQuotaUsage.deleteMany({
47
+ where: {
48
+ userProfileId: userProfileId
49
+ }
50
+ });
51
+ }
52
+ catch (error) {
53
+ console.error(`${fnName}: error: ${error}`);
54
+ throw `Prisma error`;
55
+ }
56
+ });
57
+ }
58
+ filter(prisma, userProfileId, resource, fromDay, toDay) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ // Debug
61
+ const fnName = `${this.clName}.filter()`;
62
+ // Query
63
+ try {
64
+ return yield prisma.resourceQuotaUsage.findMany({
65
+ where: {
66
+ userProfileId: userProfileId,
67
+ resource: resource,
68
+ day: {
69
+ gte: fromDay,
70
+ lte: toDay
71
+ }
72
+ }
73
+ });
74
+ }
75
+ catch (error) {
76
+ console.error(`${fnName}: error: ${error}`);
77
+ throw `Prisma error`;
78
+ }
79
+ });
80
+ }
81
+ getByUserProfileIdAndResourceAndDay(prisma, userProfileId, resource, day) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ // Debug
84
+ const fnName = `${this.clName}.getByUserProfileIdAndResourceAndDay()`;
85
+ // Query
86
+ try {
87
+ return yield prisma.resourceQuotaUsage.findFirst({
88
+ where: {
89
+ userProfileId: userProfileId,
90
+ resource: resource,
91
+ day: day
92
+ }
93
+ });
94
+ }
95
+ catch (error) {
96
+ console.error(`${fnName}: error: ${error}`);
97
+ throw `Prisma error`;
98
+ }
99
+ });
100
+ }
101
+ sum(prisma, userProfileId, resource, fromDay, toDay) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ var _a;
104
+ // Debug
105
+ const fnName = `${this.clName}.sum()`;
106
+ // Query
107
+ var aggregations = undefined;
108
+ try {
109
+ aggregations = yield prisma.resourceQuotaUsage.aggregate({
110
+ _sum: {
111
+ usage: true
112
+ },
113
+ where: {
114
+ userProfileId: userProfileId,
115
+ resource: resource,
116
+ day: {
117
+ gte: fromDay,
118
+ lte: toDay
119
+ }
120
+ }
121
+ });
122
+ }
123
+ catch (error) {
124
+ console.error(`${fnName}: error: ${error}`);
125
+ throw `Prisma error`;
126
+ }
127
+ // Return
128
+ return (_a = aggregations._sum.usage) !== null && _a !== void 0 ? _a : 0;
129
+ });
130
+ }
131
+ update(prisma, id, userProfileId, resource, day, usage) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ // Debug
134
+ const fnName = `${this.clName}.update()`;
135
+ // Create
136
+ try {
137
+ return yield prisma.resourceQuotaUsage.update({
138
+ data: {
139
+ userProfileId: userProfileId,
140
+ resource: resource,
141
+ day: day,
142
+ usage: usage
143
+ },
144
+ where: {
145
+ id: id
146
+ }
147
+ });
148
+ }
149
+ catch (error) {
150
+ console.error(`${fnName}: error: ${error}`);
151
+ throw 'Prisma error';
152
+ }
153
+ });
154
+ }
155
+ upsert(prisma, id, userProfileId, resource, day, usage) {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ // Debug
158
+ const fnName = `${this.clName}.upsert()`;
159
+ // Validate
160
+ if (usage == null ||
161
+ Number.isNaN(usage)) {
162
+ throw `${fnName}: usage is ${JSON.stringify(usage)}`;
163
+ }
164
+ // Get by userProfileId and day if id is null
165
+ if (id == null) {
166
+ const resourceQuotaUsage = yield this.getByUserProfileIdAndResourceAndDay(prisma, userProfileId, resource, day);
167
+ if (resourceQuotaUsage != null) {
168
+ id = resourceQuotaUsage.id;
169
+ }
170
+ }
171
+ // Upsert
172
+ if (id == null) {
173
+ return yield this.create(prisma, userProfileId, resource, day, usage);
174
+ }
175
+ else {
176
+ return yield this.update(prisma, id, userProfileId, resource, day, usage);
177
+ }
178
+ });
179
+ }
180
+ }
181
+ exports.ResourceQuotaUsageModel = ResourceQuotaUsageModel;
@@ -0,0 +1,25 @@
1
+ import { PrismaClient } from '@prisma/client';
2
+ export declare class RateLimitedApiEventModel {
3
+ clName: string;
4
+ create(prisma: PrismaClient, id: string | undefined, rateLimitedApiId: string, userProfileId: string): Promise<{
5
+ id: string;
6
+ userProfileId: string;
7
+ created: Date;
8
+ rateLimitedApiId: string;
9
+ }>;
10
+ getById(prisma: PrismaClient, id: string): Promise<any>;
11
+ getWaitSecondsSinceLastSpecifiedMinutes(prisma: PrismaClient, lastMinutes?: number): Promise<number | null>;
12
+ getUserSentForLastSpecifiedMinutes(prisma: PrismaClient, lastMinutes: number): Promise<number>;
13
+ update(prisma: PrismaClient, id: string, rateLimitedApiId: string, userProfileId: string): Promise<{
14
+ id: string;
15
+ userProfileId: string;
16
+ created: Date;
17
+ rateLimitedApiId: string;
18
+ }>;
19
+ upsert(prisma: PrismaClient, id: string | undefined, rateLimitedApiId: string, userProfileId: string): Promise<{
20
+ id: string;
21
+ userProfileId: string;
22
+ created: Date;
23
+ rateLimitedApiId: string;
24
+ }>;
25
+ }
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RateLimitedApiEventModel = void 0;
13
+ class RateLimitedApiEventModel {
14
+ constructor() {
15
+ // Consts
16
+ this.clName = 'RateLimitedApiEventModel';
17
+ }
18
+ // Code
19
+ create(prisma, id, rateLimitedApiId, userProfileId) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ // Debug
22
+ const fnName = `${this.clName}.create()`;
23
+ // Create record
24
+ try {
25
+ return yield prisma.rateLimitedApiEvent.create({
26
+ data: {
27
+ id: id,
28
+ rateLimitedApiId: rateLimitedApiId,
29
+ userProfileId: userProfileId
30
+ }
31
+ });
32
+ }
33
+ catch (error) {
34
+ console.error(`${fnName}: error: ${error}`);
35
+ throw 'Prisma error';
36
+ }
37
+ });
38
+ }
39
+ getById(prisma, id) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ // Debug
42
+ const fnName = `${this.clName}.getById()`;
43
+ // Query record
44
+ var rateLimitedApiEvent = undefined;
45
+ try {
46
+ rateLimitedApiEvent = yield prisma.rateLimitedApiEvent.findUnique({
47
+ where: {
48
+ id: id
49
+ }
50
+ });
51
+ }
52
+ catch (error) {
53
+ if (!(error instanceof error.NotFound)) {
54
+ console.error(`${fnName}: error: ${error}`);
55
+ throw 'Prisma error';
56
+ }
57
+ }
58
+ // Return OK
59
+ return rateLimitedApiEvent;
60
+ });
61
+ }
62
+ getWaitSecondsSinceLastSpecifiedMinutes(prisma_1) {
63
+ return __awaiter(this, arguments, void 0, function* (prisma, lastMinutes = 1) {
64
+ const fnName = `${this.clName}.getWaitSecondsSinceLastSpecifiedMinutes()`;
65
+ // Get time to check from
66
+ var xMinutesAgoInUtc = new Date();
67
+ xMinutesAgoInUtc.setUTCMinutes(xMinutesAgoInUtc.getUTCMinutes() - 1);
68
+ // Get first record in window
69
+ var rateLimitedApiEvent;
70
+ try {
71
+ rateLimitedApiEvent = yield prisma.rateLimitedApiEvent.findFirst({
72
+ where: {
73
+ created: {
74
+ gte: xMinutesAgoInUtc
75
+ }
76
+ }
77
+ });
78
+ }
79
+ catch (error) {
80
+ console.error(`${fnName}: error: ${error}`);
81
+ throw 'Prisma error';
82
+ }
83
+ // console.log(`${fnName}: rateLimitedApiEvent: ` +
84
+ // JSON.stringify(rateLimitedApiEvent))
85
+ if (rateLimitedApiEvent == null) {
86
+ return null;
87
+ }
88
+ // Get diff in seconds and return the time to go
89
+ var utc = new Date();
90
+ utc.setUTCMinutes(utc.getUTCMinutes());
91
+ return (lastMinutes * 60) -
92
+ Math.trunc((utc.getTime() -
93
+ rateLimitedApiEvent.created.getTime()) / 1000);
94
+ });
95
+ }
96
+ getUserSentForLastSpecifiedMinutes(prisma, lastMinutes) {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ const fnName = `${this.clName}.getForLastSpecifiedMinutes()`;
99
+ // Get time to check from
100
+ var xMinutesAgoInUtc = new Date();
101
+ xMinutesAgoInUtc.setUTCMinutes(xMinutesAgoInUtc.getUTCMinutes() - 1);
102
+ // Count records
103
+ try {
104
+ return yield prisma.rateLimitedApiEvent.count({
105
+ where: {
106
+ created: {
107
+ gte: xMinutesAgoInUtc
108
+ }
109
+ }
110
+ });
111
+ }
112
+ catch (error) {
113
+ console.error(`${fnName}: error: ${error}`);
114
+ throw 'Prisma error';
115
+ }
116
+ });
117
+ }
118
+ update(prisma, id, rateLimitedApiId, userProfileId) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ // Debug
121
+ const fnName = `${this.clName}.update()`;
122
+ // Update record
123
+ try {
124
+ return yield prisma.rateLimitedApiEvent.update({
125
+ data: {
126
+ rateLimitedApiId: rateLimitedApiId,
127
+ userProfileId: userProfileId
128
+ },
129
+ where: {
130
+ id: id
131
+ }
132
+ });
133
+ }
134
+ catch (error) {
135
+ console.error(`${fnName}: error: ${error}`);
136
+ throw 'Prisma error';
137
+ }
138
+ });
139
+ }
140
+ upsert(prisma, id, rateLimitedApiId, userProfileId) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ // Debug
143
+ const fnName = `${this.clName}.upsert()`;
144
+ // If the id is specified, try to get it
145
+ if (id != null) {
146
+ const rateLimitedApiEvent = yield this.getById(prisma, id);
147
+ if (rateLimitedApiEvent != null) {
148
+ id = rateLimitedApiEvent.id;
149
+ }
150
+ }
151
+ // Upsert
152
+ if (id == null) {
153
+ return yield this.create(prisma, id, rateLimitedApiId, userProfileId);
154
+ }
155
+ else {
156
+ return yield this.update(prisma, id, rateLimitedApiId, userProfileId);
157
+ }
158
+ });
159
+ }
160
+ }
161
+ exports.RateLimitedApiEventModel = RateLimitedApiEventModel;
@@ -0,0 +1,21 @@
1
+ import { PrismaClient } from '@prisma/client';
2
+ export declare class RateLimitedApiModel {
3
+ clName: string;
4
+ create(prisma: PrismaClient, id: string | undefined, techId: string, ratePerMinute: number): Promise<{
5
+ id: string;
6
+ techId: string | null;
7
+ ratePerMinute: number;
8
+ }>;
9
+ getById(prisma: PrismaClient, id: string): Promise<any>;
10
+ getByTechId(prisma: PrismaClient, techId: string): Promise<any>;
11
+ update(prisma: PrismaClient, id: string, techId: string, ratePerMinute: number): Promise<{
12
+ id: string;
13
+ techId: string | null;
14
+ ratePerMinute: number;
15
+ }>;
16
+ upsert(prisma: PrismaClient, id: string | undefined, techId: string, ratePerMinute: number): Promise<{
17
+ id: string;
18
+ techId: string | null;
19
+ ratePerMinute: number;
20
+ }>;
21
+ }
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RateLimitedApiModel = void 0;
13
+ class RateLimitedApiModel {
14
+ constructor() {
15
+ // Consts
16
+ this.clName = 'RateLimitedApiModel';
17
+ }
18
+ // Code
19
+ create(prisma, id, techId, ratePerMinute) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ // Debug
22
+ const fnName = `${this.clName}.create()`;
23
+ // Create record
24
+ try {
25
+ return yield prisma.rateLimitedApi.create({
26
+ data: {
27
+ id: id,
28
+ techId: techId,
29
+ ratePerMinute: ratePerMinute
30
+ }
31
+ });
32
+ }
33
+ catch (error) {
34
+ console.error(`${fnName}: error: ${error}`);
35
+ throw 'Prisma error';
36
+ }
37
+ });
38
+ }
39
+ getById(prisma, id) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ // Debug
42
+ const fnName = `${this.clName}.getById()`;
43
+ // Query record
44
+ var rateLimitedApi = undefined;
45
+ try {
46
+ rateLimitedApi = yield prisma.rateLimitedApi.findUnique({
47
+ where: {
48
+ id: id
49
+ }
50
+ });
51
+ }
52
+ catch (error) {
53
+ if (!(error instanceof error.NotFound)) {
54
+ console.error(`${fnName}: error: ${error}`);
55
+ throw 'Prisma error';
56
+ }
57
+ }
58
+ // Return OK
59
+ return rateLimitedApi;
60
+ });
61
+ }
62
+ getByTechId(prisma, techId) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ // Debug
65
+ const fnName = `${this.clName}.getByTechId()`;
66
+ // Validate
67
+ if (techId == null) {
68
+ console.error(`${fnName}: id is null and techId is null`);
69
+ throw 'Prisma error';
70
+ }
71
+ // Query record
72
+ var rateLimitedApi = undefined;
73
+ try {
74
+ rateLimitedApi = yield prisma.rateLimitedApi.findFirst({
75
+ where: {
76
+ techId: techId
77
+ }
78
+ });
79
+ }
80
+ catch (error) {
81
+ console.error(`${fnName}: error: ${error}`);
82
+ if (!(error instanceof error.NotFound)) {
83
+ console.error(`${fnName}: error: ${error}`);
84
+ throw 'Prisma error';
85
+ }
86
+ }
87
+ // Return OK
88
+ return rateLimitedApi;
89
+ });
90
+ }
91
+ update(prisma, id, techId, ratePerMinute) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ // Debug
94
+ const fnName = `${this.clName}.update()`;
95
+ // Update record
96
+ try {
97
+ return yield prisma.rateLimitedApi.update({
98
+ data: {
99
+ techId: techId,
100
+ ratePerMinute: ratePerMinute
101
+ },
102
+ where: {
103
+ id: id
104
+ }
105
+ });
106
+ }
107
+ catch (error) {
108
+ console.error(`${fnName}: error: ${error}`);
109
+ throw 'Prisma error';
110
+ }
111
+ });
112
+ }
113
+ upsert(prisma, id, techId, ratePerMinute) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ // Debug
116
+ const fnName = `${this.clName}.upsert()`;
117
+ // If the id is specified, try to get it
118
+ if (id != null) {
119
+ const rateLimitedApi = yield this.getById(prisma, id);
120
+ if (rateLimitedApi != null) {
121
+ id = rateLimitedApi.id;
122
+ }
123
+ }
124
+ // Try to get by unique key
125
+ if (id == null) {
126
+ const rateLimitedApi = yield this.getByTechId(prisma, techId);
127
+ if (rateLimitedApi != null) {
128
+ id = rateLimitedApi.id;
129
+ }
130
+ }
131
+ // Upsert
132
+ if (id == null) {
133
+ return yield this.create(prisma, id, techId, ratePerMinute);
134
+ }
135
+ else {
136
+ return yield this.update(prisma, id, techId, ratePerMinute);
137
+ }
138
+ });
139
+ }
140
+ }
141
+ exports.RateLimitedApiModel = RateLimitedApiModel;
@@ -0,0 +1,44 @@
1
+ import { PrismaClient } from '@prisma/client';
2
+ export declare class TechModel {
3
+ clName: string;
4
+ create(prisma: PrismaClient, techProviderId: string, status: string, variantName: string, resource: string, model: string | null, protocol: string | null, pricingTier: string, isDefaultProvider: boolean, isAdminOnly: boolean): Promise<{
5
+ id: string;
6
+ status: string;
7
+ model: string | null;
8
+ resource: string;
9
+ techProviderId: string;
10
+ variantName: string;
11
+ protocol: string | null;
12
+ pricingTier: string;
13
+ isDefaultProvider: boolean;
14
+ isAdminOnly: boolean;
15
+ }>;
16
+ filter(prisma: PrismaClient, techProviderId: string | undefined, status: string | undefined, resource: string | undefined, model: string | null | undefined, protocol: string | null | undefined, isAdminOnly: boolean | undefined): Promise<any>;
17
+ getById(prisma: PrismaClient, id: string, includeTechProvider?: boolean): Promise<any>;
18
+ getDefaultProvider(prisma: PrismaClient, resource: string, includeTechProvider?: boolean): Promise<any>;
19
+ getByVariantName(prisma: PrismaClient, variantName: string, includeTechProvider?: boolean): Promise<any>;
20
+ update(prisma: PrismaClient, id: string, techProviderId: string | undefined, status: string | undefined, variantName: string | undefined, resource: string | undefined, model: string | null | undefined, protocol: string | null | undefined, pricingTier: string | undefined, isDefaultProvider: boolean | undefined, isAdminOnly: boolean | undefined): Promise<{
21
+ id: string;
22
+ status: string;
23
+ model: string | null;
24
+ resource: string;
25
+ techProviderId: string;
26
+ variantName: string;
27
+ protocol: string | null;
28
+ pricingTier: string;
29
+ isDefaultProvider: boolean;
30
+ isAdminOnly: boolean;
31
+ }>;
32
+ upsert(prisma: PrismaClient, id: string | undefined, techProviderId: string | undefined, status: string | undefined, variantName: string | undefined, resource: string | undefined, model: string | null | undefined, protocol: string | null | undefined, pricingTier: string | undefined, isDefaultProvider: boolean | undefined, isAdminOnly: boolean | undefined): Promise<{
33
+ id: string;
34
+ status: string;
35
+ model: string | null;
36
+ resource: string;
37
+ techProviderId: string;
38
+ variantName: string;
39
+ protocol: string | null;
40
+ pricingTier: string;
41
+ isDefaultProvider: boolean;
42
+ isAdminOnly: boolean;
43
+ }>;
44
+ }