@friggframework/core 2.0.0--canary.522.cbd3d5a.0 → 2.0.0--canary.517.35ee143.0

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 (225) hide show
  1. package/CHANGELOG.md +67 -66
  2. package/CLAUDE.md +124 -148
  3. package/README.md +130 -165
  4. package/admin-scripts/index.js +16 -30
  5. package/admin-scripts/repositories/{admin-api-key-repository-documentdb.js → admin-process-repository-documentdb.js} +5 -5
  6. package/admin-scripts/repositories/{admin-api-key-repository-factory.js → admin-process-repository-factory.js} +15 -19
  7. package/admin-scripts/repositories/admin-process-repository-interface.js +150 -0
  8. package/admin-scripts/repositories/admin-process-repository-mongo.js +213 -0
  9. package/admin-scripts/repositories/admin-process-repository-postgres.js +251 -0
  10. package/admin-scripts/repositories/script-schedule-repository-factory.js +2 -6
  11. package/admin-scripts/repositories/script-schedule-repository-interface.js +14 -36
  12. package/admin-scripts/repositories/script-schedule-repository-mongo.js +13 -25
  13. package/admin-scripts/repositories/script-schedule-repository-postgres.js +13 -25
  14. package/application/commands/admin-script-commands.js +102 -266
  15. package/application/commands/integration-commands.js +6 -12
  16. package/application/index.js +3 -1
  17. package/assertions/get.js +4 -1
  18. package/associations/association.js +57 -59
  19. package/associations/model.js +41 -41
  20. package/core/CLAUDE.md +156 -222
  21. package/core/Worker.js +1 -5
  22. package/credential/repositories/credential-repository-documentdb.js +1 -71
  23. package/credential/repositories/credential-repository-interface.js +2 -8
  24. package/credential/repositories/credential-repository-mongo.js +4 -45
  25. package/credential/repositories/credential-repository-postgres.js +3 -44
  26. package/credential/repositories/credential-repository.js +4 -6
  27. package/credential/use-cases/get-credential-for-user.js +3 -21
  28. package/credential/use-cases/update-authentication-status.js +2 -5
  29. package/database/MONGODB_TRANSACTION_FIX.md +52 -72
  30. package/database/adapters/lambda-invoker.js +7 -8
  31. package/database/config.js +13 -15
  32. package/database/documentdb-encryption-service.js +13 -29
  33. package/database/documentdb-utils.js +12 -21
  34. package/database/encryption/README.md +36 -53
  35. package/database/encryption/encryption-schema-registry.js +9 -21
  36. package/database/encryption/field-encryption-service.js +4 -15
  37. package/database/encryption/logger.js +2 -3
  38. package/database/encryption/prisma-encryption-extension.js +8 -5
  39. package/database/index.js +2 -4
  40. package/database/models/IndividualUser.js +15 -15
  41. package/database/models/OrganizationUser.js +4 -6
  42. package/database/models/UserModel.js +2 -2
  43. package/database/models/WebsocketConnection.js +1 -4
  44. package/database/mongoose.js +2 -2
  45. package/database/prisma.js +14 -22
  46. package/database/repositories/health-check-repository-documentdb.js +7 -22
  47. package/database/repositories/health-check-repository-factory.js +3 -9
  48. package/database/repositories/health-check-repository-interface.js +5 -15
  49. package/database/repositories/health-check-repository-mongodb.js +6 -9
  50. package/database/repositories/health-check-repository-postgres.js +1 -1
  51. package/database/repositories/migration-status-repository-s3.js +5 -10
  52. package/database/use-cases/check-database-health-use-case.js +2 -3
  53. package/database/use-cases/check-database-state-use-case.js +7 -9
  54. package/database/use-cases/get-database-state-via-worker-use-case.js +12 -15
  55. package/database/use-cases/get-migration-status-use-case.js +2 -4
  56. package/database/use-cases/run-database-migration-use-case.js +9 -41
  57. package/database/use-cases/test-encryption-use-case.js +5 -4
  58. package/database/use-cases/trigger-database-migration-use-case.js +8 -9
  59. package/database/utils/mongodb-collection-utils.js +3 -11
  60. package/database/utils/mongodb-schema-init.js +4 -10
  61. package/database/utils/prisma-runner.js +74 -144
  62. package/database/utils/prisma-schema-parser.js +2 -2
  63. package/docs/PROCESS_MANAGEMENT_QUEUE_SPEC.md +80 -135
  64. package/encrypt/Cryptor.js +2 -8
  65. package/errors/fetch-error.js +1 -1
  66. package/generated/prisma-mongodb/edge.js +16 -59
  67. package/generated/prisma-mongodb/index-browser.js +12 -62
  68. package/generated/prisma-mongodb/index.d.ts +4850 -8136
  69. package/generated/prisma-mongodb/index.js +16 -59
  70. package/generated/prisma-mongodb/package.json +1 -1
  71. package/generated/prisma-mongodb/schema.prisma +33 -75
  72. package/generated/prisma-mongodb/wasm.js +16 -59
  73. package/generated/prisma-postgresql/edge.js +15 -59
  74. package/generated/prisma-postgresql/index-browser.js +11 -62
  75. package/generated/prisma-postgresql/index.d.ts +5963 -8930
  76. package/generated/prisma-postgresql/index.js +15 -59
  77. package/generated/prisma-postgresql/package.json +1 -1
  78. package/generated/prisma-postgresql/schema.prisma +33 -73
  79. package/generated/prisma-postgresql/wasm.js +15 -59
  80. package/handlers/WEBHOOKS.md +81 -104
  81. package/handlers/app-definition-loader.js +1 -1
  82. package/handlers/app-handler-helpers.js +2 -14
  83. package/handlers/backend-utils.js +1 -0
  84. package/handlers/database-migration-handler.js +45 -64
  85. package/handlers/middleware/admin-auth.js +53 -0
  86. package/handlers/routers/HEALTHCHECK.md +135 -170
  87. package/handlers/routers/auth.js +2 -23
  88. package/handlers/routers/db-migration.handler.js +3 -2
  89. package/handlers/routers/db-migration.js +33 -69
  90. package/handlers/routers/health.js +8 -23
  91. package/handlers/routers/integration-defined-routers.js +4 -4
  92. package/handlers/routers/integration-webhook-routers.js +7 -17
  93. package/handlers/routers/websocket.js +3 -9
  94. package/handlers/use-cases/check-integrations-health-use-case.js +6 -13
  95. package/handlers/workers/db-migration.js +26 -54
  96. package/index.js +9 -5
  97. package/integrations/WEBHOOK-QUICKSTART.md +14 -21
  98. package/integrations/index.js +0 -4
  99. package/integrations/integration-base.js +6 -9
  100. package/integrations/integration-router.js +146 -1817
  101. package/integrations/options.js +20 -47
  102. package/integrations/repositories/integration-repository-documentdb.js +24 -53
  103. package/integrations/repositories/integration-repository-factory.js +2 -6
  104. package/integrations/repositories/integration-repository-interface.js +9 -27
  105. package/integrations/repositories/integration-repository-postgres.js +3 -3
  106. package/integrations/repositories/process-repository-factory.js +1 -0
  107. package/integrations/repositories/process-repository-interface.js +5 -9
  108. package/integrations/repositories/process-repository-mongo.js +3 -7
  109. package/integrations/repositories/process-repository-postgres.js +2 -2
  110. package/integrations/tests/doubles/config-capturing-integration.js +8 -9
  111. package/integrations/tests/doubles/dummy-integration-class.js +8 -81
  112. package/integrations/tests/doubles/test-integration-repository.js +11 -51
  113. package/integrations/use-cases/create-integration.js +32 -36
  114. package/integrations/use-cases/create-process.js +9 -20
  115. package/integrations/use-cases/delete-integration-for-user.js +4 -5
  116. package/integrations/use-cases/get-integration-for-user.js +10 -25
  117. package/integrations/use-cases/get-integration-instance-by-definition.js +7 -13
  118. package/integrations/use-cases/get-integrations-for-user.js +1 -4
  119. package/integrations/use-cases/get-possible-integrations.js +1 -1
  120. package/integrations/use-cases/get-process.js +6 -5
  121. package/integrations/use-cases/index.js +1 -3
  122. package/integrations/use-cases/load-integration-context.js +5 -1
  123. package/integrations/use-cases/update-process-state.js +8 -10
  124. package/integrations/utils/map-integration-dto.js +3 -9
  125. package/jest-setup.js +1 -1
  126. package/jest-teardown.js +1 -1
  127. package/lambda/TimeoutCatcher.js +30 -32
  128. package/lambda/index.js +1 -1
  129. package/logs/index.js +3 -3
  130. package/modules/module.js +1 -3
  131. package/modules/repositories/module-repository-documentdb.js +48 -114
  132. package/modules/repositories/module-repository-interface.js +0 -13
  133. package/modules/repositories/module-repository-mongo.js +6 -46
  134. package/modules/repositories/module-repository-postgres.js +6 -48
  135. package/modules/repositories/module-repository.js +1 -34
  136. package/modules/requester/api-key.js +2 -0
  137. package/modules/requester/basic.js +1 -0
  138. package/modules/requester/oauth-2.js +2 -3
  139. package/modules/test/mock-api/definition.js +10 -15
  140. package/modules/test/mock-api/mocks/hubspot.js +36 -36
  141. package/modules/tests/doubles/test-module-factory.js +4 -10
  142. package/modules/tests/doubles/test-module-repository.js +1 -1
  143. package/modules/use-cases/get-entities-for-user.js +1 -1
  144. package/modules/use-cases/get-entity-options-by-id.js +6 -8
  145. package/modules/use-cases/get-module.js +9 -12
  146. package/modules/use-cases/process-authorization-callback.js +6 -12
  147. package/modules/use-cases/refresh-entity-options.js +6 -8
  148. package/modules/use-cases/test-module-auth.js +6 -8
  149. package/modules/utils/map-module-dto.js +2 -2
  150. package/package.json +5 -7
  151. package/prisma-mongodb/schema.prisma +33 -75
  152. package/prisma-postgresql/schema.prisma +33 -73
  153. package/queues/queuer-util.js +1 -5
  154. package/syncs/model.js +51 -51
  155. package/syncs/repositories/sync-repository-documentdb.js +19 -39
  156. package/syncs/repositories/sync-repository-interface.js +2 -6
  157. package/syncs/repositories/sync-repository-postgres.js +13 -19
  158. package/syncs/sync.js +100 -104
  159. package/token/repositories/token-repository-factory.js +3 -1
  160. package/types/assertions/index.d.ts +72 -72
  161. package/types/associations/index.d.ts +57 -57
  162. package/types/core/index.d.ts +53 -59
  163. package/types/database/index.d.ts +2 -2
  164. package/types/encrypt/index.d.ts +3 -3
  165. package/types/errors/index.d.ts +54 -61
  166. package/types/eslint-config/index.d.ts +40 -40
  167. package/types/integrations/index.d.ts +183 -185
  168. package/types/lambda/index.d.ts +26 -26
  169. package/types/logs/index.d.ts +4 -4
  170. package/types/module-plugin/index.d.ts +237 -239
  171. package/types/prettier-config/index.d.ts +5 -5
  172. package/types/syncs/index.d.ts +108 -102
  173. package/types/test-environment/index.d.ts +14 -14
  174. package/types/tsconfig.json +93 -95
  175. package/user/tests/doubles/test-user-repository.js +2 -5
  176. package/user/use-cases/authenticate-user.js +4 -2
  177. package/user/use-cases/authenticate-with-shared-secret.js +1 -1
  178. package/user/use-cases/create-individual-user.js +7 -8
  179. package/user/use-cases/create-organization-user.js +1 -1
  180. package/user/use-cases/create-token-for-user-id.js +1 -1
  181. package/user/use-cases/get-user-from-adopter-jwt.js +2 -0
  182. package/user/use-cases/get-user-from-bearer-token.js +3 -7
  183. package/user/use-cases/get-user-from-x-frigg-headers.js +11 -14
  184. package/user/use-cases/login-user.js +8 -8
  185. package/user/user.js +4 -18
  186. package/utils/backend-path.js +2 -2
  187. package/utils/index.js +1 -4
  188. package/websocket/repositories/websocket-connection-repository-documentdb.js +8 -21
  189. package/websocket/repositories/websocket-connection-repository-mongo.js +4 -8
  190. package/websocket/repositories/websocket-connection-repository-postgres.js +4 -8
  191. package/websocket/repositories/websocket-connection-repository.js +4 -8
  192. package/admin-scripts/repositories/admin-api-key-repository-interface.js +0 -121
  193. package/admin-scripts/repositories/admin-api-key-repository-mongo.js +0 -155
  194. package/admin-scripts/repositories/admin-api-key-repository-postgres.js +0 -189
  195. package/admin-scripts/repositories/script-execution-repository-documentdb.js +0 -21
  196. package/admin-scripts/repositories/script-execution-repository-factory.js +0 -55
  197. package/admin-scripts/repositories/script-execution-repository-interface.js +0 -193
  198. package/admin-scripts/repositories/script-execution-repository-mongo.js +0 -278
  199. package/admin-scripts/repositories/script-execution-repository-postgres.js +0 -320
  200. package/credential/credential-router.js +0 -262
  201. package/credential/use-cases/delete-credential-for-user.js +0 -50
  202. package/credential/use-cases/list-credentials-for-user.js +0 -31
  203. package/credential/use-cases/reauthorize-credential.js +0 -103
  204. package/handlers/routers/admin.js +0 -450
  205. package/handlers/routers/docs.js +0 -180
  206. package/handlers/routers/middleware/loadUser.js +0 -39
  207. package/handlers/routers/middleware/requireAdmin.js +0 -41
  208. package/handlers/routers/middleware/requireLoggedInUser.js +0 -19
  209. package/integrations/use-cases/execute-proxy-request.js +0 -564
  210. package/modules/domain/entities/AuthorizationSession.js +0 -131
  211. package/modules/domain/entities/index.js +0 -10
  212. package/modules/repositories/authorization-session-repository-factory.js +0 -55
  213. package/modules/repositories/authorization-session-repository-interface.js +0 -75
  214. package/modules/repositories/authorization-session-repository-mongo.js +0 -169
  215. package/modules/repositories/authorization-session-repository-postgres.js +0 -170
  216. package/modules/use-cases/delete-module-entity.js +0 -23
  217. package/modules/use-cases/get-authorization-requirements.js +0 -110
  218. package/modules/use-cases/get-module-entity-by-id.js +0 -16
  219. package/modules/use-cases/process-authorization-step.js +0 -160
  220. package/modules/use-cases/start-authorization-session.js +0 -86
  221. package/modules/use-cases/update-module-entity.js +0 -27
  222. package/openapi/openapi-spec-generator.js +0 -370
  223. package/openapi/openapi-v1.yaml +0 -1360
  224. package/openapi/openapi-v2.yaml +0 -1535
  225. package/user/use-cases/delete-user.js +0 -47
@@ -1,241 +1,239 @@
1
- declare module '@friggframework/module-plugin' {
2
- import { Model } from 'mongoose';
3
- import { Delegate, IFriggDelegate } from '@friggframework/core';
4
-
5
- export class Credential extends Model {
6
- userId: string;
7
- authIsValid: boolean;
8
- externalId: string;
9
- }
10
-
11
- interface IFriggEntityManager {}
12
-
13
- export class Entity extends Model {
14
- credentialId: string;
15
- userId: string;
16
- name: string;
17
- externalId: string;
18
- }
19
-
20
- export type MappedEntity = Entity & { id: string; type: any };
21
-
22
- export class Requester implements IFriggRequester {
23
- DLGT_INVALID_AUTH: string;
24
- backOff: number[];
25
- fetch: any;
26
- isRefreshable: boolean;
27
- refreshCount: number;
28
-
29
- _delete(options: RequestOptions): Promise<any>;
30
- _get(options: RequestOptions): Promise<any>;
31
- _patch(options: RequestOptions): Promise<any>;
32
- _post(options: RequestOptions, stringify?: boolean): Promise<any>;
33
- _put(options: RequestOptions): Promise<any>;
34
- _request(
35
- url: string,
36
- options: Omit<RequestOptions, 'url'>,
37
- i?: number
38
- ): Promise<any>;
39
- parseBody(response: any): Promise<any>;
40
- refreshAuth(): Promise<any>;
41
-
42
- delegate: any;
43
- delegateTypes: any[];
44
-
45
- notify(delegateString: string, object?: any): Promise<any>;
46
- receiveNotification(
47
- notifier: any,
48
- delegateString: string,
49
- object?: any
50
- ): Promise<any>;
51
- }
52
-
53
- interface IFriggRequester extends IFriggDelegate {
54
- backOff: number[];
55
- isRefreshable: boolean;
56
- refreshCount: number;
57
- DLGT_INVALID_AUTH: string;
58
- fetch: any;
59
-
60
- parseBody(response: any): Promise<any>;
61
- _request(
62
- url: string,
63
- options: Omit<RequestOptions, 'url'>,
64
- i?: number
65
- ): Promise<any>;
66
- _get(options: RequestOptions): Promise<any>;
67
- _post(options: RequestOptions, stringify?: boolean): Promise<any>;
68
- _patch(options: RequestOptions): Promise<any>;
69
- _put(options: RequestOptions): Promise<any>;
70
- _delete(options: RequestOptions): Promise<any>;
71
- refreshAuth(): Promise<any>;
72
- }
73
-
74
- type RequestOptions = {
75
- url: string;
76
- headers?: object;
77
- query?: object;
78
- returnFullRes?: boolean;
79
- body?: any;
80
- };
81
-
82
- type RequesterConstructor = {
83
- backOff?: number[];
84
- fetch?: any;
85
- };
86
-
87
- export class ApiKeyRequester
88
- extends Requester
89
- implements IFriggApiKeyRequester
90
- {
91
- API_KEY_NAME: string;
92
- API_KEY_VALUE: any;
93
-
94
- constructor(params: RequesterConstructor);
95
- addAuthHeaders(headers: object): Promise<object>;
96
- isAuthenticated(): boolean;
97
- setApiKey(api_key: any): void;
98
- }
99
-
100
- interface IFriggApiKeyRequester extends IFriggRequester {
101
- API_KEY_NAME: string;
102
- API_KEY_VALUE: string;
103
-
104
- addAuthHeaders(headers: object): Promise<object>;
105
- isAuthenticated(): boolean;
106
- setApiKey(api_key: string): void;
107
- }
108
-
109
- export class BasicAuthRequester
110
- extends Requester
111
- implements IFriggBasicAuthRequester
112
- {
113
- password: string;
114
- username: string;
115
-
116
- constructor(params: BasicAuthRequesterConstructor);
117
- addAuthHeaders(headers: object): Promise<object>;
118
- isAuthenticated(): boolean;
119
- setPassword(password: string): void;
120
- setUsername(username: string): void;
121
- }
122
-
123
- interface IFriggBasicAuthRequester extends IFriggRequester {
124
- username: string;
125
- password: string;
126
-
127
- addAuthHeaders(headers: object): Promise<object>;
128
- isAuthenticated(): boolean;
129
- setUsername(username: string): void;
130
- setPassword(password: string): void;
131
- }
132
-
133
- type BasicAuthRequesterConstructor = RequesterConstructor & {
134
- username?: string;
135
- password?: string;
136
- };
137
-
138
- export class OAuth2Requester
139
- extends Requester
140
- implements IFriggOAuth2Requester
141
- {
142
- DLGT_TOKEN_DEAUTHORIZED: string;
143
- DLGT_TOKEN_UPDATE: string;
144
- accessTokenExpire: any;
145
- access_token: string;
146
- audience: any;
147
- authorizationUri: any;
148
- baseURL: string;
149
- client_id: string;
150
- client_secret: string;
151
- grant_type: string;
152
- password: string;
153
- redirect_uri: string;
154
- refreshTokenExpire: any;
155
- refresh_token: string;
156
- scope: string;
157
- state: any;
158
- username: string;
159
-
160
- constructor(params: OAuth2RequesterConstructor);
161
-
162
- addAuthHeaders(headers: object): Promise<object>;
163
- getAuthorizationUri(): string;
164
- getTokenFromClientCredentials(): Promise<Token>;
165
- getTokenFromCode(code: string): Promise<Token>;
166
- getTokenFromCodeBasicAuthHeader(code: string): Promise<Token>;
167
- getTokenFromUsernamePassword(): Promise<Token>;
168
- isAuthenticated(): boolean;
169
- refreshAccessToken(refreshTokenObject: {
170
- refresh_token: string;
171
- }): Promise<Token>;
172
- setTokens(params: Token): Promise<void>;
173
- }
174
- interface IFriggOAuth2Requester extends IFriggRequester {
175
- DLGT_TOKEN_UPDATE: string;
176
- DLGT_TOKEN_DEAUTHORIZED: string;
177
-
178
- grant_type?: string;
179
- client_id?: string;
180
- client_secret?: string;
181
- redirect_uri?: string;
182
- scope?: string;
183
- authorizationUri?: any;
184
- baseURL?: string;
185
- access_token?: string;
186
- refresh_token?: string;
187
- accessTokenExpire?: any;
188
- refreshTokenExpire?: any;
189
- audience?: any;
190
- username?: string;
191
- password?: string;
192
- state?: any;
193
-
194
- setTokens(params: Token): Promise<void>;
195
- getAuthorizationUri(): string;
196
- getTokenFromCode(code: string): Promise<Token>;
197
- getTokenFromCodeBasicAuthHeader(code: string): Promise<Token>;
198
- refreshAccessToken(refreshTokenObject: {
199
- refresh_token: string;
200
- }): Promise<Token>;
201
- addAuthHeaders(headers: object): Promise<object>;
202
- isAuthenticated(): boolean;
203
- refreshAuth(): Promise<void>;
204
- getTokenFromUsernamePassword(): Promise<Token>;
205
- getTokenFromClientCredentials(): Promise<Token>;
206
- }
207
-
208
- type Token = {
209
- access_token?: string;
210
- refresh_token?: string;
211
- expires_in: any;
212
- x_refresh_token_expires_in: any;
213
- };
214
-
215
- type OAuth2RequesterConstructor = {
216
- grant_type?: string;
217
- client_id?: string;
218
- client_secret?: string;
219
- redirect_uri?: string;
220
- scope?: string;
221
- authorizationUri?: any;
222
- baseURL?: string;
223
- access_token?: string;
224
- refresh_token?: string;
225
- accessTokenExpire?: any;
226
- refreshTokenExpire?: any;
227
- audience?: any;
228
- username?: string;
229
- password?: string;
230
- state?: any;
231
- };
232
-
233
- export const ModuleConstants: {
234
- authType: {
235
- oauth2: 'oauth2';
236
- oauth1: 'oauth1';
237
- basic: 'basic';
238
- apiKey: 'apiKey';
239
- };
1
+ declare module "@friggframework/module-plugin" {
2
+ import { Model } from "mongoose";
3
+ import { Delegate, IFriggDelegate } from "@friggframework/core";
4
+
5
+ export class Credential extends Model {
6
+ userId: string;
7
+ authIsValid: boolean;
8
+ externalId: string;
9
+ }
10
+
11
+ interface IFriggEntityManager { }
12
+
13
+ export class Entity extends Model {
14
+ credentialId: string;
15
+ userId: string;
16
+ name: string;
17
+ externalId: string;
18
+ }
19
+
20
+ export type MappedEntity = Entity & { id: string; type: any };
21
+
22
+
23
+ export class Requester implements IFriggRequester {
24
+ DLGT_INVALID_AUTH: string;
25
+ backOff: number[];
26
+ fetch: any;
27
+ isRefreshable: boolean;
28
+ refreshCount: number;
29
+
30
+ _delete(options: RequestOptions): Promise<any>;
31
+ _get(options: RequestOptions): Promise<any>;
32
+ _patch(options: RequestOptions): Promise<any>;
33
+ _post(options: RequestOptions, stringify?: boolean): Promise<any>;
34
+ _put(options: RequestOptions): Promise<any>;
35
+ _request(
36
+ url: string,
37
+ options: Omit<RequestOptions, "url">,
38
+ i?: number
39
+ ): Promise<any>;
40
+ parseBody(response: any): Promise<any>;
41
+ refreshAuth(): Promise<any>;
42
+
43
+ delegate: any;
44
+ delegateTypes: any[];
45
+
46
+ notify(delegateString: string, object?: any): Promise<any>;
47
+ receiveNotification(
48
+ notifier: any,
49
+ delegateString: string,
50
+ object?: any
51
+ ): Promise<any>;
52
+ }
53
+
54
+ interface IFriggRequester extends IFriggDelegate {
55
+ backOff: number[];
56
+ isRefreshable: boolean;
57
+ refreshCount: number;
58
+ DLGT_INVALID_AUTH: string;
59
+ fetch: any;
60
+
61
+ parseBody(response: any): Promise<any>;
62
+ _request(
63
+ url: string,
64
+ options: Omit<RequestOptions, "url">,
65
+ i?: number
66
+ ): Promise<any>;
67
+ _get(options: RequestOptions): Promise<any>;
68
+ _post(options: RequestOptions, stringify?: boolean): Promise<any>;
69
+ _patch(options: RequestOptions): Promise<any>;
70
+ _put(options: RequestOptions): Promise<any>;
71
+ _delete(options: RequestOptions): Promise<any>;
72
+ refreshAuth(): Promise<any>;
73
+ }
74
+
75
+ type RequestOptions = {
76
+ url: string;
77
+ headers?: object;
78
+ query?: object;
79
+ returnFullRes?: boolean;
80
+ body?: any;
81
+ };
82
+
83
+ type RequesterConstructor = {
84
+ backOff?: number[];
85
+ fetch?: any;
86
+ };
87
+
88
+ export class ApiKeyRequester
89
+ extends Requester
90
+ implements IFriggApiKeyRequester {
91
+ API_KEY_NAME: string;
92
+ API_KEY_VALUE: any;
93
+
94
+ constructor(params: RequesterConstructor);
95
+ addAuthHeaders(headers: object): Promise<object>;
96
+ isAuthenticated(): boolean;
97
+ setApiKey(api_key: any): void;
98
+ }
99
+
100
+ interface IFriggApiKeyRequester extends IFriggRequester {
101
+ API_KEY_NAME: string;
102
+ API_KEY_VALUE: string;
103
+
104
+ addAuthHeaders(headers: object): Promise<object>;
105
+ isAuthenticated(): boolean;
106
+ setApiKey(api_key: string): void;
107
+ }
108
+
109
+ export class BasicAuthRequester
110
+ extends Requester
111
+ implements IFriggBasicAuthRequester {
112
+ password: string;
113
+ username: string;
114
+
115
+ constructor(params: BasicAuthRequesterConstructor);
116
+ addAuthHeaders(headers: object): Promise<object>;
117
+ isAuthenticated(): boolean;
118
+ setPassword(password: string): void;
119
+ setUsername(username: string): void;
120
+ }
121
+
122
+ interface IFriggBasicAuthRequester extends IFriggRequester {
123
+ username: string;
124
+ password: string;
125
+
126
+ addAuthHeaders(headers: object): Promise<object>;
127
+ isAuthenticated(): boolean;
128
+ setUsername(username: string): void;
129
+ setPassword(password: string): void;
130
+ }
131
+
132
+ type BasicAuthRequesterConstructor = RequesterConstructor & {
133
+ username?: string;
134
+ password?: string;
135
+ };
136
+
137
+ export class OAuth2Requester
138
+ extends Requester
139
+ implements IFriggOAuth2Requester {
140
+ DLGT_TOKEN_DEAUTHORIZED: string;
141
+ DLGT_TOKEN_UPDATE: string;
142
+ accessTokenExpire: any;
143
+ access_token: string;
144
+ audience: any;
145
+ authorizationUri: any;
146
+ baseURL: string;
147
+ client_id: string;
148
+ client_secret: string;
149
+ grant_type: string;
150
+ password: string;
151
+ redirect_uri: string;
152
+ refreshTokenExpire: any;
153
+ refresh_token: string;
154
+ scope: string;
155
+ state: any;
156
+ username: string;
157
+
158
+ constructor(params: OAuth2RequesterConstructor);
159
+
160
+ addAuthHeaders(headers: object): Promise<object>;
161
+ getAuthorizationUri(): string;
162
+ getTokenFromClientCredentials(): Promise<Token>;
163
+ getTokenFromCode(code: string): Promise<Token>;
164
+ getTokenFromCodeBasicAuthHeader(code: string): Promise<Token>;
165
+ getTokenFromUsernamePassword(): Promise<Token>;
166
+ isAuthenticated(): boolean;
167
+ refreshAccessToken(refreshTokenObject: {
168
+ refresh_token: string;
169
+ }): Promise<Token>;
170
+ setTokens(params: Token): Promise<void>;
171
+ }
172
+ interface IFriggOAuth2Requester extends IFriggRequester {
173
+ DLGT_TOKEN_UPDATE: string;
174
+ DLGT_TOKEN_DEAUTHORIZED: string;
175
+
176
+ grant_type?: string;
177
+ client_id?: string;
178
+ client_secret?: string;
179
+ redirect_uri?: string;
180
+ scope?: string;
181
+ authorizationUri?: any;
182
+ baseURL?: string;
183
+ access_token?: string;
184
+ refresh_token?: string;
185
+ accessTokenExpire?: any;
186
+ refreshTokenExpire?: any;
187
+ audience?: any;
188
+ username?: string;
189
+ password?: string;
190
+ state?: any;
191
+
192
+ setTokens(params: Token): Promise<void>;
193
+ getAuthorizationUri(): string;
194
+ getTokenFromCode(code: string): Promise<Token>;
195
+ getTokenFromCodeBasicAuthHeader(code: string): Promise<Token>;
196
+ refreshAccessToken(refreshTokenObject: {
197
+ refresh_token: string;
198
+ }): Promise<Token>;
199
+ addAuthHeaders(headers: object): Promise<object>;
200
+ isAuthenticated(): boolean;
201
+ refreshAuth(): Promise<void>;
202
+ getTokenFromUsernamePassword(): Promise<Token>;
203
+ getTokenFromClientCredentials(): Promise<Token>;
204
+ }
205
+
206
+ type Token = {
207
+ access_token?: string;
208
+ refresh_token?: string;
209
+ expires_in: any;
210
+ x_refresh_token_expires_in: any;
211
+ };
212
+
213
+ type OAuth2RequesterConstructor = {
214
+ grant_type?: string;
215
+ client_id?: string;
216
+ client_secret?: string;
217
+ redirect_uri?: string;
218
+ scope?: string;
219
+ authorizationUri?: any;
220
+ baseURL?: string;
221
+ access_token?: string;
222
+ refresh_token?: string;
223
+ accessTokenExpire?: any;
224
+ refreshTokenExpire?: any;
225
+ audience?: any;
226
+ username?: string;
227
+ password?: string;
228
+ state?: any;
229
+ };
230
+
231
+ export const ModuleConstants: {
232
+ authType: {
233
+ oauth2: "oauth2";
234
+ oauth1: "oauth1";
235
+ basic: "basic";
236
+ apiKey: "apiKey";
240
237
  };
238
+ };
241
239
  }
@@ -1,6 +1,6 @@
1
- declare module '@friggframework/prettier-config' {
2
- export const semi: true;
3
- export const tabWidth = 4;
4
- export const singleQuote = true;
5
- export const useTabs: false;
1
+ declare module "@friggframework/prettier-config" {
2
+ export const semi: true;
3
+ export const tabWidth = 4;
4
+ export const singleQuote = true;
5
+ export const useTabs: false;
6
6
  }