@friggframework/core 2.0.0-next.8 → 2.0.0-next.80

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 (303) hide show
  1. package/CLAUDE.md +694 -0
  2. package/README.md +959 -50
  3. package/application/commands/README.md +451 -0
  4. package/application/commands/credential-commands.js +245 -0
  5. package/application/commands/entity-commands.js +336 -0
  6. package/application/commands/integration-commands.js +210 -0
  7. package/application/commands/scheduler-commands.js +263 -0
  8. package/application/commands/user-commands.js +283 -0
  9. package/application/index.js +73 -0
  10. package/assertions/index.js +0 -3
  11. package/core/CLAUDE.md +690 -0
  12. package/core/Worker.js +60 -24
  13. package/core/create-handler.js +79 -8
  14. package/credential/repositories/credential-repository-documentdb.js +304 -0
  15. package/credential/repositories/credential-repository-factory.js +54 -0
  16. package/credential/repositories/credential-repository-interface.js +98 -0
  17. package/credential/repositories/credential-repository-mongo.js +269 -0
  18. package/credential/repositories/credential-repository-postgres.js +287 -0
  19. package/credential/repositories/credential-repository.js +300 -0
  20. package/credential/use-cases/get-credential-for-user.js +25 -0
  21. package/credential/use-cases/update-authentication-status.js +15 -0
  22. package/database/MONGODB_TRANSACTION_FIX.md +198 -0
  23. package/database/adapters/lambda-invoker.js +97 -0
  24. package/database/config.js +154 -0
  25. package/database/documentdb-encryption-service.js +330 -0
  26. package/database/documentdb-utils.js +136 -0
  27. package/database/encryption/README.md +839 -0
  28. package/database/encryption/documentdb-encryption-service.md +3575 -0
  29. package/database/encryption/encryption-schema-registry.js +268 -0
  30. package/database/encryption/field-encryption-service.js +226 -0
  31. package/database/encryption/logger.js +79 -0
  32. package/database/encryption/prisma-encryption-extension.js +222 -0
  33. package/database/index.js +21 -21
  34. package/database/prisma.js +182 -0
  35. package/database/repositories/health-check-repository-documentdb.js +138 -0
  36. package/database/repositories/health-check-repository-factory.js +48 -0
  37. package/database/repositories/health-check-repository-interface.js +82 -0
  38. package/database/repositories/health-check-repository-mongodb.js +89 -0
  39. package/database/repositories/health-check-repository-postgres.js +82 -0
  40. package/database/repositories/migration-status-repository-s3.js +137 -0
  41. package/database/use-cases/check-database-health-use-case.js +29 -0
  42. package/database/use-cases/check-database-state-use-case.js +81 -0
  43. package/database/use-cases/check-encryption-health-use-case.js +83 -0
  44. package/database/use-cases/get-database-state-via-worker-use-case.js +61 -0
  45. package/database/use-cases/get-migration-status-use-case.js +93 -0
  46. package/database/use-cases/run-database-migration-use-case.js +139 -0
  47. package/database/use-cases/test-encryption-use-case.js +253 -0
  48. package/database/use-cases/trigger-database-migration-use-case.js +157 -0
  49. package/database/utils/mongodb-collection-utils.js +94 -0
  50. package/database/utils/mongodb-schema-init.js +108 -0
  51. package/database/utils/prisma-runner.js +477 -0
  52. package/database/utils/prisma-schema-parser.js +182 -0
  53. package/docs/PROCESS_MANAGEMENT_QUEUE_SPEC.md +517 -0
  54. package/encrypt/Cryptor.js +34 -168
  55. package/encrypt/index.js +1 -2
  56. package/errors/client-safe-error.js +26 -0
  57. package/errors/fetch-error.js +15 -7
  58. package/errors/index.js +2 -0
  59. package/generated/prisma-mongodb/client.d.ts +1 -0
  60. package/generated/prisma-mongodb/client.js +4 -0
  61. package/generated/prisma-mongodb/default.d.ts +1 -0
  62. package/generated/prisma-mongodb/default.js +4 -0
  63. package/generated/prisma-mongodb/edge.d.ts +1 -0
  64. package/generated/prisma-mongodb/edge.js +335 -0
  65. package/generated/prisma-mongodb/index-browser.js +317 -0
  66. package/generated/prisma-mongodb/index.d.ts +22955 -0
  67. package/generated/prisma-mongodb/index.js +360 -0
  68. package/generated/prisma-mongodb/package.json +183 -0
  69. package/generated/prisma-mongodb/query-engine-debian-openssl-3.0.x +0 -0
  70. package/generated/prisma-mongodb/query-engine-rhel-openssl-3.0.x +0 -0
  71. package/generated/prisma-mongodb/runtime/binary.d.ts +1 -0
  72. package/generated/prisma-mongodb/runtime/binary.js +289 -0
  73. package/generated/prisma-mongodb/runtime/edge-esm.js +34 -0
  74. package/generated/prisma-mongodb/runtime/edge.js +34 -0
  75. package/generated/prisma-mongodb/runtime/index-browser.d.ts +370 -0
  76. package/generated/prisma-mongodb/runtime/index-browser.js +16 -0
  77. package/generated/prisma-mongodb/runtime/library.d.ts +3977 -0
  78. package/generated/prisma-mongodb/runtime/react-native.js +83 -0
  79. package/generated/prisma-mongodb/runtime/wasm-compiler-edge.js +84 -0
  80. package/generated/prisma-mongodb/runtime/wasm-engine-edge.js +36 -0
  81. package/generated/prisma-mongodb/schema.prisma +362 -0
  82. package/generated/prisma-mongodb/wasm-edge-light-loader.mjs +4 -0
  83. package/generated/prisma-mongodb/wasm-worker-loader.mjs +4 -0
  84. package/generated/prisma-mongodb/wasm.d.ts +1 -0
  85. package/generated/prisma-mongodb/wasm.js +342 -0
  86. package/generated/prisma-postgresql/client.d.ts +1 -0
  87. package/generated/prisma-postgresql/client.js +4 -0
  88. package/generated/prisma-postgresql/default.d.ts +1 -0
  89. package/generated/prisma-postgresql/default.js +4 -0
  90. package/generated/prisma-postgresql/edge.d.ts +1 -0
  91. package/generated/prisma-postgresql/edge.js +357 -0
  92. package/generated/prisma-postgresql/index-browser.js +339 -0
  93. package/generated/prisma-postgresql/index.d.ts +25131 -0
  94. package/generated/prisma-postgresql/index.js +382 -0
  95. package/generated/prisma-postgresql/package.json +183 -0
  96. package/generated/prisma-postgresql/query-engine-debian-openssl-3.0.x +0 -0
  97. package/generated/prisma-postgresql/query-engine-rhel-openssl-3.0.x +0 -0
  98. package/generated/prisma-postgresql/query_engine_bg.js +2 -0
  99. package/generated/prisma-postgresql/query_engine_bg.wasm +0 -0
  100. package/generated/prisma-postgresql/runtime/binary.d.ts +1 -0
  101. package/generated/prisma-postgresql/runtime/binary.js +289 -0
  102. package/generated/prisma-postgresql/runtime/edge-esm.js +34 -0
  103. package/generated/prisma-postgresql/runtime/edge.js +34 -0
  104. package/generated/prisma-postgresql/runtime/index-browser.d.ts +370 -0
  105. package/generated/prisma-postgresql/runtime/index-browser.js +16 -0
  106. package/generated/prisma-postgresql/runtime/library.d.ts +3977 -0
  107. package/generated/prisma-postgresql/runtime/react-native.js +83 -0
  108. package/generated/prisma-postgresql/runtime/wasm-compiler-edge.js +84 -0
  109. package/generated/prisma-postgresql/runtime/wasm-engine-edge.js +36 -0
  110. package/generated/prisma-postgresql/schema.prisma +345 -0
  111. package/generated/prisma-postgresql/wasm-edge-light-loader.mjs +4 -0
  112. package/generated/prisma-postgresql/wasm-worker-loader.mjs +4 -0
  113. package/generated/prisma-postgresql/wasm.d.ts +1 -0
  114. package/generated/prisma-postgresql/wasm.js +364 -0
  115. package/handlers/WEBHOOKS.md +653 -0
  116. package/handlers/app-definition-loader.js +38 -0
  117. package/handlers/app-handler-helpers.js +57 -0
  118. package/handlers/backend-utils.js +262 -0
  119. package/handlers/database-migration-handler.js +227 -0
  120. package/handlers/integration-event-dispatcher.js +54 -0
  121. package/handlers/routers/HEALTHCHECK.md +342 -0
  122. package/handlers/routers/auth.js +15 -0
  123. package/handlers/routers/db-migration.handler.js +29 -0
  124. package/handlers/routers/db-migration.js +326 -0
  125. package/handlers/routers/health.js +516 -0
  126. package/handlers/routers/integration-defined-routers.js +45 -0
  127. package/handlers/routers/integration-webhook-routers.js +67 -0
  128. package/handlers/routers/user.js +63 -0
  129. package/handlers/routers/websocket.js +57 -0
  130. package/handlers/use-cases/check-external-apis-health-use-case.js +81 -0
  131. package/handlers/use-cases/check-integrations-health-use-case.js +44 -0
  132. package/handlers/workers/db-migration.js +352 -0
  133. package/handlers/workers/dlq-processor.js +63 -0
  134. package/handlers/workers/integration-defined-workers.js +23 -0
  135. package/index.js +82 -46
  136. package/infrastructure/scheduler/eventbridge-scheduler-adapter.js +184 -0
  137. package/infrastructure/scheduler/index.js +33 -0
  138. package/infrastructure/scheduler/mock-scheduler-adapter.js +143 -0
  139. package/infrastructure/scheduler/scheduler-service-factory.js +73 -0
  140. package/infrastructure/scheduler/scheduler-service-interface.js +47 -0
  141. package/integrations/WEBHOOK-QUICKSTART.md +151 -0
  142. package/integrations/index.js +12 -10
  143. package/integrations/integration-base.js +364 -55
  144. package/integrations/integration-router.js +375 -179
  145. package/integrations/options.js +1 -1
  146. package/integrations/repositories/integration-mapping-repository-documentdb.js +280 -0
  147. package/integrations/repositories/integration-mapping-repository-factory.js +57 -0
  148. package/integrations/repositories/integration-mapping-repository-interface.js +106 -0
  149. package/integrations/repositories/integration-mapping-repository-mongo.js +161 -0
  150. package/integrations/repositories/integration-mapping-repository-postgres.js +227 -0
  151. package/integrations/repositories/integration-mapping-repository.js +156 -0
  152. package/integrations/repositories/integration-repository-documentdb.js +219 -0
  153. package/integrations/repositories/integration-repository-factory.js +51 -0
  154. package/integrations/repositories/integration-repository-interface.js +144 -0
  155. package/integrations/repositories/integration-repository-mongo.js +330 -0
  156. package/integrations/repositories/integration-repository-postgres.js +385 -0
  157. package/integrations/repositories/process-repository-documentdb.js +243 -0
  158. package/integrations/repositories/process-repository-factory.js +53 -0
  159. package/integrations/repositories/process-repository-interface.js +90 -0
  160. package/integrations/repositories/process-repository-mongo.js +190 -0
  161. package/integrations/repositories/process-repository-postgres.js +217 -0
  162. package/integrations/tests/doubles/config-capturing-integration.js +81 -0
  163. package/integrations/tests/doubles/dummy-integration-class.js +105 -0
  164. package/integrations/tests/doubles/test-integration-repository.js +112 -0
  165. package/integrations/use-cases/create-integration.js +83 -0
  166. package/integrations/use-cases/create-process.js +128 -0
  167. package/integrations/use-cases/delete-integration-for-user.js +101 -0
  168. package/integrations/use-cases/find-integration-context-by-external-entity-id.js +72 -0
  169. package/integrations/use-cases/get-integration-for-user.js +78 -0
  170. package/integrations/use-cases/get-integration-instance-by-definition.js +67 -0
  171. package/integrations/use-cases/get-integration-instance.js +83 -0
  172. package/integrations/use-cases/get-integrations-for-user.js +88 -0
  173. package/integrations/use-cases/get-possible-integrations.js +27 -0
  174. package/integrations/use-cases/get-process.js +87 -0
  175. package/integrations/use-cases/index.js +19 -0
  176. package/integrations/use-cases/load-integration-context.js +71 -0
  177. package/integrations/use-cases/update-integration-messages.js +44 -0
  178. package/integrations/use-cases/update-integration-status.js +32 -0
  179. package/integrations/use-cases/update-integration.js +92 -0
  180. package/integrations/use-cases/update-process-metrics.js +201 -0
  181. package/integrations/use-cases/update-process-state.js +119 -0
  182. package/integrations/utils/map-integration-dto.js +37 -0
  183. package/jest-global-setup-noop.js +3 -0
  184. package/jest-global-teardown-noop.js +3 -0
  185. package/logs/logger.js +0 -4
  186. package/{module-plugin → modules}/index.js +0 -10
  187. package/modules/module-factory.js +56 -0
  188. package/modules/module.js +256 -0
  189. package/modules/repositories/module-repository-documentdb.js +335 -0
  190. package/modules/repositories/module-repository-factory.js +40 -0
  191. package/modules/repositories/module-repository-interface.js +129 -0
  192. package/modules/repositories/module-repository-mongo.js +408 -0
  193. package/modules/repositories/module-repository-postgres.js +453 -0
  194. package/modules/repositories/module-repository.js +345 -0
  195. package/modules/requester/api-key.js +52 -0
  196. package/modules/requester/oauth-2.js +396 -0
  197. package/{module-plugin → modules}/requester/requester.js +4 -2
  198. package/{module-plugin → modules}/test/mock-api/api.js +8 -3
  199. package/{module-plugin → modules}/test/mock-api/definition.js +14 -10
  200. package/modules/tests/doubles/test-module-factory.js +16 -0
  201. package/modules/tests/doubles/test-module-repository.js +39 -0
  202. package/modules/use-cases/get-entities-for-user.js +32 -0
  203. package/modules/use-cases/get-entity-options-by-id.js +71 -0
  204. package/modules/use-cases/get-entity-options-by-type.js +34 -0
  205. package/modules/use-cases/get-module-instance-from-type.js +31 -0
  206. package/modules/use-cases/get-module.js +74 -0
  207. package/modules/use-cases/process-authorization-callback.js +177 -0
  208. package/modules/use-cases/refresh-entity-options.js +72 -0
  209. package/modules/use-cases/test-module-auth.js +72 -0
  210. package/modules/utils/map-module-dto.js +18 -0
  211. package/package.json +82 -50
  212. package/prisma-mongodb/schema.prisma +362 -0
  213. package/prisma-postgresql/migrations/20250930193005_init/migration.sql +315 -0
  214. package/prisma-postgresql/migrations/20251006135218_init/migration.sql +9 -0
  215. package/prisma-postgresql/migrations/20251010000000_remove_unused_entity_reference_map/migration.sql +3 -0
  216. package/prisma-postgresql/migrations/20251112195422_update_user_unique_constraints/migration.sql +25 -0
  217. package/prisma-postgresql/migrations/migration_lock.toml +3 -0
  218. package/prisma-postgresql/schema.prisma +345 -0
  219. package/queues/queuer-util.js +103 -21
  220. package/syncs/manager.js +468 -443
  221. package/syncs/repositories/sync-repository-documentdb.js +240 -0
  222. package/syncs/repositories/sync-repository-factory.js +43 -0
  223. package/syncs/repositories/sync-repository-interface.js +109 -0
  224. package/syncs/repositories/sync-repository-mongo.js +239 -0
  225. package/syncs/repositories/sync-repository-postgres.js +319 -0
  226. package/syncs/sync.js +0 -1
  227. package/token/repositories/token-repository-documentdb.js +137 -0
  228. package/token/repositories/token-repository-factory.js +40 -0
  229. package/token/repositories/token-repository-interface.js +131 -0
  230. package/token/repositories/token-repository-mongo.js +219 -0
  231. package/token/repositories/token-repository-postgres.js +264 -0
  232. package/token/repositories/token-repository.js +219 -0
  233. package/types/associations/index.d.ts +0 -17
  234. package/types/core/index.d.ts +12 -4
  235. package/types/database/index.d.ts +10 -2
  236. package/types/encrypt/index.d.ts +5 -3
  237. package/types/integrations/index.d.ts +3 -8
  238. package/types/module-plugin/index.d.ts +17 -69
  239. package/types/syncs/index.d.ts +0 -17
  240. package/user/repositories/user-repository-documentdb.js +441 -0
  241. package/user/repositories/user-repository-factory.js +52 -0
  242. package/user/repositories/user-repository-interface.js +201 -0
  243. package/user/repositories/user-repository-mongo.js +308 -0
  244. package/user/repositories/user-repository-postgres.js +360 -0
  245. package/user/tests/doubles/test-user-repository.js +72 -0
  246. package/user/use-cases/authenticate-user.js +127 -0
  247. package/user/use-cases/authenticate-with-shared-secret.js +48 -0
  248. package/user/use-cases/create-individual-user.js +61 -0
  249. package/user/use-cases/create-organization-user.js +47 -0
  250. package/user/use-cases/create-token-for-user-id.js +30 -0
  251. package/user/use-cases/get-user-from-adopter-jwt.js +149 -0
  252. package/user/use-cases/get-user-from-bearer-token.js +77 -0
  253. package/user/use-cases/get-user-from-x-frigg-headers.js +132 -0
  254. package/user/use-cases/login-user.js +122 -0
  255. package/user/user.js +125 -0
  256. package/utils/backend-path.js +38 -0
  257. package/utils/index.js +6 -0
  258. package/websocket/repositories/websocket-connection-repository-documentdb.js +119 -0
  259. package/websocket/repositories/websocket-connection-repository-factory.js +44 -0
  260. package/websocket/repositories/websocket-connection-repository-interface.js +106 -0
  261. package/websocket/repositories/websocket-connection-repository-mongo.js +156 -0
  262. package/websocket/repositories/websocket-connection-repository-postgres.js +196 -0
  263. package/websocket/repositories/websocket-connection-repository.js +161 -0
  264. package/assertions/is-equal.js +0 -17
  265. package/associations/model.js +0 -54
  266. package/database/models/IndividualUser.js +0 -76
  267. package/database/models/OrganizationUser.js +0 -29
  268. package/database/models/State.js +0 -9
  269. package/database/models/Token.js +0 -70
  270. package/database/models/UserModel.js +0 -7
  271. package/database/models/WebsocketConnection.js +0 -49
  272. package/database/mongo.js +0 -45
  273. package/database/mongoose.js +0 -5
  274. package/encrypt/Cryptor.test.js +0 -32
  275. package/encrypt/encrypt.js +0 -132
  276. package/encrypt/encrypt.test.js +0 -1069
  277. package/encrypt/test-encrypt.js +0 -107
  278. package/errors/base-error.test.js +0 -32
  279. package/errors/fetch-error.test.js +0 -79
  280. package/errors/halt-error.test.js +0 -11
  281. package/errors/validation-errors.test.js +0 -120
  282. package/integrations/create-frigg-backend.js +0 -31
  283. package/integrations/integration-factory.js +0 -251
  284. package/integrations/integration-mapping.js +0 -43
  285. package/integrations/integration-model.js +0 -46
  286. package/integrations/integration-user.js +0 -144
  287. package/integrations/test/integration-base.test.js +0 -144
  288. package/lambda/TimeoutCatcher.test.js +0 -68
  289. package/logs/logger.test.js +0 -76
  290. package/module-plugin/auther.js +0 -393
  291. package/module-plugin/credential.js +0 -22
  292. package/module-plugin/entity-manager.js +0 -70
  293. package/module-plugin/entity.js +0 -46
  294. package/module-plugin/manager.js +0 -169
  295. package/module-plugin/module-factory.js +0 -61
  296. package/module-plugin/requester/api-key.js +0 -36
  297. package/module-plugin/requester/oauth-2.js +0 -219
  298. package/module-plugin/requester/requester.test.js +0 -28
  299. package/module-plugin/test/auther.test.js +0 -97
  300. package/syncs/model.js +0 -62
  301. /package/{module-plugin → modules}/ModuleConstants.js +0 -0
  302. /package/{module-plugin → modules}/requester/basic.js +0 -0
  303. /package/{module-plugin → modules}/test/mock-api/mocks/hubspot.js +0 -0
@@ -1,20 +1,3 @@
1
- declare module "@friggframework/associations/model" {
2
- import { Model } from "mongoose";
3
-
4
- export class Association extends Model {
5
- integrationId: string;
6
- name: string;
7
- type: string;
8
- primaryObject: string;
9
- objects: {
10
- entityId: string;
11
- objectType: string;
12
- objId: string;
13
- metadata?: object;
14
- }[];
15
- }
16
- }
17
-
18
1
  declare module "@friggframework/associations/association" {
19
2
  export default class Association implements IFriggAssociation {
20
3
  data: any;
@@ -1,5 +1,5 @@
1
1
  declare module "@friggframework/core" {
2
- import { SQS } from "aws-sdk";
2
+ import type { SendMessageCommandInput } from "@aws-sdk/client-sqs";
3
3
 
4
4
  export class Delegate implements IFriggDelegate {
5
5
  delegate: any;
@@ -26,10 +26,18 @@ declare module "@friggframework/core" {
26
26
  ): Promise<any>;
27
27
  }
28
28
 
29
+ export interface BatchItemFailure {
30
+ itemIdentifier: string;
31
+ }
32
+
33
+ export interface BatchItemFailuresResponse {
34
+ batchItemFailures: BatchItemFailure[];
35
+ }
36
+
29
37
  export class Worker implements IWorker {
30
38
  getQueueURL(params: GetQueueURLParams): Promise<string | undefined>;
31
39
 
32
- run(params: { Records: any }): Promise<void>;
40
+ run(params: { Records: any }, context?: object): Promise<BatchItemFailuresResponse>;
33
41
 
34
42
  send(params: object & { QueueUrl: any }, delay?: number): Promise<string>;
35
43
 
@@ -38,7 +46,7 @@ declare module "@friggframework/core" {
38
46
 
39
47
  interface IWorker {
40
48
  getQueueURL(params: GetQueueURLParams): Promise<string | undefined>;
41
- run(params: { Records: any }): Promise<void>;
49
+ run(params: { Records: any }, context?: object): Promise<BatchItemFailuresResponse>;
42
50
  send(params: object & { QueueUrl: any }, delay?: number): Promise<string>;
43
51
  sendAsyncSQSMessage(params: SendSQSMessageParams): Promise<string>;
44
52
  }
@@ -50,5 +58,5 @@ declare module "@friggframework/core" {
50
58
  QueueOwnerAWSAccountId?: string;
51
59
  };
52
60
 
53
- type SendSQSMessageParams = SQS.SendMessageRequest;
61
+ type SendSQSMessageParams = SendMessageCommandInput;
54
62
  }
@@ -1,3 +1,11 @@
1
- declare module "@friggframework/database/mongo" {
2
- export function connectToDatabase(): Promise<void>;
1
+ declare module "@friggframework/database" {
2
+ export const prisma: any;
3
+ export function connectPrisma(): Promise<any>;
4
+ export function disconnectPrisma(): Promise<void>;
5
+ export class TokenRepository {
6
+ constructor(params: { prismaClient: any });
7
+ }
8
+ export class WebsocketConnectionRepository {
9
+ constructor(params: { prismaClient: any });
10
+ }
3
11
  }
@@ -1,5 +1,7 @@
1
1
  declare module "@friggframework/encrypt" {
2
- import { Schema } from "mongoose";
3
-
4
- export function Encrypt(schema: Schema, options: any): void;
2
+ export class Cryptor {
3
+ constructor(params: { shouldUseAws?: boolean });
4
+ encrypt(plaintext: string): Promise<string>;
5
+ decrypt(ciphertext: string): Promise<string>;
6
+ }
5
7
  }
@@ -1,9 +1,7 @@
1
1
  declare module "@friggframework/integrations" {
2
2
  import { Delegate, IFriggDelegate } from "@friggframework/core";
3
- import { Model } from "mongoose";
4
- import { EntityManager } from "@friggframework/module-plugin";
5
3
 
6
- export class Integration extends Model {
4
+ export interface Integration {
7
5
  entities: any[];
8
6
  userId: string;
9
7
  status: string; // IntegrationStatus
@@ -19,8 +17,7 @@ declare module "@friggframework/integrations" {
19
17
 
20
18
  export class IntegrationManager
21
19
  extends Delegate
22
- implements IFriggIntegrationManager
23
- {
20
+ implements IFriggIntegrationManager {
24
21
  integration: Integration;
25
22
  primaryInstance: any;
26
23
  targetInstance: any;
@@ -56,7 +53,6 @@ declare module "@friggframework/integrations" {
56
53
  entities: { id: string; user: any },
57
54
  userId: string,
58
55
  config: any,
59
- EntityManager: EntityManager
60
56
  ): Promise<any>;
61
57
 
62
58
  static getFormattedIntegration(
@@ -116,8 +112,7 @@ declare module "@friggframework/integrations" {
116
112
  }
117
113
 
118
114
  export class IntegrationConfigManager
119
- implements IFriggIntegrationConfigManager
120
- {
115
+ implements IFriggIntegrationConfigManager {
121
116
  options: IntegrationOptions[];
122
117
  primary: any;
123
118
 
@@ -1,75 +1,26 @@
1
1
  declare module "@friggframework/module-plugin" {
2
- import { Model } from "mongoose";
3
2
  import { Delegate, IFriggDelegate } from "@friggframework/core";
4
3
 
5
- export class Credential extends Model {
6
- userId: string;
7
- auth_is_valid: boolean;
8
- subType: string;
9
- externalId: string;
4
+ export interface Credential {
5
+ id?: string;
6
+ userId?: string;
7
+ authIsValid?: boolean;
8
+ externalId?: string;
9
+ data?: any;
10
10
  }
11
11
 
12
- export class EntityManager implements IFriggEntityManager {
13
- static primaryEntityClass: any;
14
- static entityManagerClasses: any[];
15
- static entityTypes: string[];
16
- static getEntitiesForUser(userId: string): Promise<any[]>;
17
- static checkIsValidType(entityType: string): boolean;
18
- static getEntityManagerClass(entityType?: string): any;
19
-
20
- static getEntityManagerInstanceFromEntityId(
21
- entityId: string,
22
- userId: string
23
- ): Promise<any>;
24
- }
25
-
26
- interface IFriggEntityManager {}
27
-
28
- export class Entity extends Model {
29
- credentialId: string;
30
- subType: string;
31
- userId: string;
32
- name: string;
33
- externalId: string;
12
+ export interface Entity {
13
+ id?: string;
14
+ credentialId?: string;
15
+ userId?: string;
16
+ name?: string;
17
+ moduleName?: string;
18
+ externalId?: string;
19
+ data?: any;
34
20
  }
35
21
 
36
22
  export type MappedEntity = Entity & { id: string; type: any };
37
- export class ModuleManager extends Delegate implements IFriggModuleManager {
38
- static Entity: Entity;
39
- static Credential: Credential;
40
23
 
41
- constructor(params: { userId: string });
42
-
43
- static getName(): any;
44
- static getInstance(params: any): Promise<any>;
45
- static getEntitiesForUserId(userId: string): Promise<MappedEntity[]>;
46
-
47
- batchCreateSyncObjects(syncObjects: any, syncManager: any): Promise<any>;
48
- batchUpdateSyncObjects(syncObjects: any, syncManager: any): Promise<any>;
49
- findOrCreateEntity(params: any): Promise<any>;
50
- getAllSyncObjects(SyncClass: any): Promise<any>;
51
- getAuthorizationRequirements(params: any): Promise<any>;
52
- getEntityId(): Promise<string>;
53
- getEntityOptions(): Promise<any>;
54
- markCredentialsInvalid(): Promise<Credential>;
55
- processAuthorizationCallback(params: any): Promise<any>;
56
- testAuth(params: any): Promise<any>;
57
- validateAuthorizationRequirements(): Promise<boolean>;
58
- }
59
-
60
- interface IFriggModuleManager extends IFriggDelegate {
61
- getEntityId(): Promise<string>;
62
- validateAuthorizationRequirements(): Promise<boolean>;
63
- getAuthorizationRequirements(params: any): Promise<any>;
64
- testAuth(params: any): Promise<any>;
65
- processAuthorizationCallback(params: any): Promise<any>;
66
- getEntityOptions(): Promise<any>;
67
- findOrCreateEntity(params: any): Promise<any>;
68
- getAllSyncObjects(SyncClass: any): Promise<any>;
69
- batchCreateSyncObjects(syncObjects: any, syncManager: any): Promise<any>;
70
- batchUpdateSyncObjects(syncObjects: any, syncManager: any): Promise<any>;
71
- markCredentialsInvalid(): Promise<Credential>;
72
- }
73
24
 
74
25
  export class Requester implements IFriggRequester {
75
26
  DLGT_INVALID_AUTH: string;
@@ -138,8 +89,7 @@ declare module "@friggframework/module-plugin" {
138
89
 
139
90
  export class ApiKeyRequester
140
91
  extends Requester
141
- implements IFriggApiKeyRequester
142
- {
92
+ implements IFriggApiKeyRequester {
143
93
  API_KEY_NAME: string;
144
94
  API_KEY_VALUE: any;
145
95
 
@@ -160,8 +110,7 @@ declare module "@friggframework/module-plugin" {
160
110
 
161
111
  export class BasicAuthRequester
162
112
  extends Requester
163
- implements IFriggBasicAuthRequester
164
- {
113
+ implements IFriggBasicAuthRequester {
165
114
  password: string;
166
115
  username: string;
167
116
 
@@ -189,8 +138,7 @@ declare module "@friggframework/module-plugin" {
189
138
 
190
139
  export class OAuth2Requester
191
140
  extends Requester
192
- implements IFriggOAuth2Requester
193
- {
141
+ implements IFriggOAuth2Requester {
194
142
  DLGT_TOKEN_DEAUTHORIZED: string;
195
143
  DLGT_TOKEN_UPDATE: string;
196
144
  accessTokenExpire: any;
@@ -1,18 +1,3 @@
1
- declare module "@friggframework/syncs/model" {
2
- import { Model } from "mongoose";
3
-
4
- export class Sync extends Model {
5
- entities: any[];
6
- hash: string;
7
- name: string;
8
- dataIdentifiers: {
9
- entity: any;
10
- id: object;
11
- hash: string;
12
- }[];
13
- }
14
- }
15
-
16
1
  declare module "@friggframework/syncs/manager" {
17
2
  import Sync from "@friggframework/syncs/sync";
18
3
 
@@ -28,7 +13,6 @@ declare module "@friggframework/syncs/manager" {
28
13
  confirmCreate(
29
14
  syncObj: Sync,
30
15
  createdId: string,
31
- moduleManager: any
32
16
  ): Promise<any>;
33
17
  confirmUpdate(syncObj: Sync): Promise<any>;
34
18
  createSyncDBObject(objArr: any[], entities: any[]): Promise<any>;
@@ -50,7 +34,6 @@ declare module "@friggframework/syncs/manager" {
50
34
  confirmCreate(
51
35
  syncObj: Sync,
52
36
  createdId: string,
53
- moduleManager: any
54
37
  ): Promise<any>;
55
38
  confirmUpdate(syncObj: Sync): Promise<any>;
56
39
  }