@walde.ai/walde-sdk 0.1.5 → 0.1.8
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.
- package/dist/sdk/dev/mock-credentials-provider.d.ts +22 -0
- package/dist/sdk/dev/mock-credentials-provider.d.ts.map +1 -0
- package/dist/sdk/dev/mock-credentials-provider.js +59 -0
- package/dist/sdk/dev/mock-credentials-provider.js.map +1 -0
- package/dist/sdk/dev/s3-mock-client-factory.d.ts +15 -0
- package/dist/sdk/dev/s3-mock-client-factory.d.ts.map +1 -0
- package/dist/sdk/dev/s3-mock-client-factory.js +25 -0
- package/dist/sdk/dev/s3-mock-client-factory.js.map +1 -0
- package/dist/sdk/dev/s3-mock-client.d.ts +14 -0
- package/dist/sdk/dev/s3-mock-client.d.ts.map +1 -0
- package/dist/sdk/dev/s3-mock-client.js +45 -0
- package/dist/sdk/dev/s3-mock-client.js.map +1 -0
- package/dist/sdk/domain/entities/credentials.d.ts +5 -0
- package/dist/sdk/domain/entities/credentials.d.ts.map +1 -1
- package/dist/sdk/domain/entities/credentials.js +41 -0
- package/dist/sdk/domain/entities/credentials.js.map +1 -1
- package/dist/sdk/domain/entities/walde-admin-config.d.ts +4 -0
- package/dist/sdk/domain/entities/walde-admin-config.d.ts.map +1 -1
- package/dist/sdk/domain/entities/walde-admin-config.js +7 -2
- package/dist/sdk/domain/entities/walde-admin-config.js.map +1 -1
- package/dist/sdk/domain/ports/out/s3-client-factory.d.ts +13 -0
- package/dist/sdk/domain/ports/out/s3-client-factory.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/s3-client-factory.js +3 -0
- package/dist/sdk/domain/ports/out/s3-client-factory.js.map +1 -0
- package/dist/sdk/index.d.ts +6 -1
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +12 -3
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/infra/adapters/admin-http-client.d.ts +16 -0
- package/dist/sdk/infra/adapters/admin-http-client.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/admin-http-client.js +75 -0
- package/dist/sdk/infra/adapters/admin-http-client.js.map +1 -0
- package/dist/sdk/infra/adapters/api-client.d.ts +2 -2
- package/dist/sdk/infra/adapters/api-client.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/api-client.js.map +1 -1
- package/dist/sdk/infra/adapters/aws-s3-client-factory.d.ts +13 -0
- package/dist/sdk/infra/adapters/aws-s3-client-factory.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/aws-s3-client-factory.js +24 -0
- package/dist/sdk/infra/adapters/aws-s3-client-factory.js.map +1 -0
- package/dist/sdk/infra/adapters/default-http-client.d.ts +2 -6
- package/dist/sdk/infra/adapters/default-http-client.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/default-http-client.js +7 -12
- package/dist/sdk/infra/adapters/default-http-client.js.map +1 -1
- package/dist/sdk/infra/adapters/default-token-provider.d.ts +8 -1
- package/dist/sdk/infra/adapters/default-token-provider.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/default-token-provider.js +34 -1
- package/dist/sdk/infra/adapters/default-token-provider.js.map +1 -1
- package/dist/sdk/infra/adapters/frontend-http-client.d.ts +9 -7
- package/dist/sdk/infra/adapters/frontend-http-client.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/frontend-http-client.js +17 -11
- package/dist/sdk/infra/adapters/frontend-http-client.js.map +1 -1
- package/dist/sdk/infra/adapters/http-request-handler.d.ts +31 -0
- package/dist/sdk/infra/adapters/http-request-handler.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/http-request-handler.js +83 -0
- package/dist/sdk/infra/adapters/http-request-handler.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts +3 -1
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js +6 -10
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js.map +1 -1
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.d.ts.map +1 -1
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js +3 -1
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js.map +1 -1
- package/dist/sdk/infra/backend/walde-client.d.ts +3 -4
- package/dist/sdk/infra/backend/walde-client.d.ts.map +1 -1
- package/dist/sdk/infra/backend/walde-client.js +9 -9
- package/dist/sdk/infra/backend/walde-client.js.map +1 -1
- package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts +3 -0
- package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts.map +1 -1
- package/dist/sdk/infra/factories/s3-files-repo-factory.js +5 -1
- package/dist/sdk/infra/factories/s3-files-repo-factory.js.map +1 -1
- package/dist/sdk/infra/factories/walde-admin-factory.d.ts +2 -0
- package/dist/sdk/infra/factories/walde-admin-factory.d.ts.map +1 -1
- package/dist/sdk/infra/factories/walde-admin-factory.js +6 -5
- package/dist/sdk/infra/factories/walde-admin-factory.js.map +1 -1
- package/dist/sdk/infra/futures/content-by-key-future.d.ts +27 -0
- package/dist/sdk/infra/futures/content-by-key-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/content-by-key-future.js +63 -0
- package/dist/sdk/infra/futures/content-by-key-future.js.map +1 -0
- package/dist/sdk/infra/futures/content-item-future.d.ts +2 -3
- package/dist/sdk/infra/futures/content-item-future.d.ts.map +1 -1
- package/dist/sdk/infra/futures/content-item-future.js +6 -9
- package/dist/sdk/infra/futures/content-item-future.js.map +1 -1
- package/dist/sdk/infra/futures/content-list-future.d.ts +3 -3
- package/dist/sdk/infra/futures/content-list-future.d.ts.map +1 -1
- package/dist/sdk/infra/futures/content-list-future.js +14 -4
- package/dist/sdk/infra/futures/content-list-future.js.map +1 -1
- package/dist/sdk/infra/futures/credentials-future.d.ts.map +1 -1
- package/dist/sdk/infra/futures/credentials-future.js +38 -7
- package/dist/sdk/infra/futures/credentials-future.js.map +1 -1
- package/dist/sdk/infra/futures/frontend-contents-future.d.ts +12 -17
- package/dist/sdk/infra/futures/frontend-contents-future.d.ts.map +1 -1
- package/dist/sdk/infra/futures/frontend-contents-future.js +14 -35
- package/dist/sdk/infra/futures/frontend-contents-future.js.map +1 -1
- package/dist/sdk/infra/futures/walde-future.d.ts +3 -14
- package/dist/sdk/infra/futures/walde-future.d.ts.map +1 -1
- package/dist/sdk/infra/futures/walde-future.js +3 -31
- package/dist/sdk/infra/futures/walde-future.js.map +1 -1
- package/dist/sdk/make-walde-admin.d.ts +2 -0
- package/dist/sdk/make-walde-admin.d.ts.map +1 -1
- package/dist/sdk/make-walde-admin.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
2
|
+
import { S3ClientFactory } from '../../../sdk/domain/ports/out/s3-client-factory';
|
|
3
|
+
import { UiUploadCredentials } from '../../../sdk/domain/entities/ui-upload-credentials';
|
|
4
|
+
/**
|
|
5
|
+
* AWS implementation of S3ClientFactory that creates real S3Client instances
|
|
6
|
+
*/
|
|
7
|
+
export declare class AwsS3ClientFactory implements S3ClientFactory {
|
|
8
|
+
/**
|
|
9
|
+
* Create an AWS S3Client configured with the provided credentials
|
|
10
|
+
*/
|
|
11
|
+
createS3Client(credentials: UiUploadCredentials): S3Client;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=aws-s3-client-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-s3-client-factory.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/aws-s3-client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF;;GAEG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,mBAAmB,GAAG,QAAQ;CAU3D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsS3ClientFactory = void 0;
|
|
4
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
|
+
/**
|
|
6
|
+
* AWS implementation of S3ClientFactory that creates real S3Client instances
|
|
7
|
+
*/
|
|
8
|
+
class AwsS3ClientFactory {
|
|
9
|
+
/**
|
|
10
|
+
* Create an AWS S3Client configured with the provided credentials
|
|
11
|
+
*/
|
|
12
|
+
createS3Client(credentials) {
|
|
13
|
+
return new client_s3_1.S3Client({
|
|
14
|
+
region: credentials.region,
|
|
15
|
+
credentials: {
|
|
16
|
+
accessKeyId: credentials.accessKey,
|
|
17
|
+
secretAccessKey: credentials.secretKey,
|
|
18
|
+
sessionToken: credentials.sessionToken
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.AwsS3ClientFactory = AwsS3ClientFactory;
|
|
24
|
+
//# sourceMappingURL=aws-s3-client-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-s3-client-factory.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/aws-s3-client-factory.ts"],"names":[],"mappings":";;;AAAA,kDAA8C;AAI9C;;GAEG;AACH,MAAa,kBAAkB;IAC7B;;OAEG;IACH,cAAc,CAAC,WAAgC;QAC7C,OAAO,IAAI,oBAAQ,CAAC;YAClB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,WAAW,EAAE;gBACX,WAAW,EAAE,WAAW,CAAC,SAAS;gBAClC,eAAe,EAAE,WAAW,CAAC,SAAS;gBACtC,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAdD,gDAcC"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { TokenProvider } from '../../domain/ports/in/token-provider';
|
|
2
|
-
import { BaseHttpClient } from './base-http-client';
|
|
3
2
|
/**
|
|
4
3
|
* HTTP client for making authenticated API requests
|
|
5
4
|
*/
|
|
6
|
-
export declare class DefaultHttpClient
|
|
5
|
+
export declare class DefaultHttpClient {
|
|
6
|
+
private readonly baseUrl;
|
|
7
7
|
private readonly tokenProvider;
|
|
8
8
|
constructor(baseUrl: string, tokenProvider: TokenProvider);
|
|
9
|
-
/**
|
|
10
|
-
* Get headers with Bearer token authentication
|
|
11
|
-
*/
|
|
12
|
-
protected getHeaders(): Record<string, string>;
|
|
13
9
|
/**
|
|
14
10
|
* Make a GET request to the specified path
|
|
15
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-http-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"default-http-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa;IAG/C;;OAEG;IACU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpF;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjG;;OAEG;IACU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhG;;OAEG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvF;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;YACW,OAAO;CA4CtB"}
|
|
@@ -2,24 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultHttpClient = void 0;
|
|
4
4
|
const errors_1 = require("../../../sdk/domain/errors");
|
|
5
|
-
const base_http_client_1 = require("./base-http-client");
|
|
6
5
|
/**
|
|
7
6
|
* HTTP client for making authenticated API requests
|
|
8
7
|
*/
|
|
9
|
-
class DefaultHttpClient
|
|
8
|
+
class DefaultHttpClient {
|
|
9
|
+
baseUrl;
|
|
10
10
|
tokenProvider;
|
|
11
11
|
constructor(baseUrl, tokenProvider) {
|
|
12
|
-
|
|
12
|
+
this.baseUrl = baseUrl;
|
|
13
13
|
this.tokenProvider = tokenProvider;
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Get headers with Bearer token authentication
|
|
17
|
-
*/
|
|
18
|
-
getHeaders() {
|
|
19
|
-
return {
|
|
20
|
-
'Content-Type': 'application/json',
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
15
|
/**
|
|
24
16
|
* Make a GET request to the specified path
|
|
25
17
|
*/
|
|
@@ -72,9 +64,12 @@ class DefaultHttpClient extends base_http_client_1.BaseHttpClient {
|
|
|
72
64
|
const url = `${this.baseUrl}${path}`;
|
|
73
65
|
const headers = {
|
|
74
66
|
'Authorization': `Bearer ${accessToken}`,
|
|
75
|
-
'Content-Type': 'application/json',
|
|
76
67
|
...(customHeaders || {})
|
|
77
68
|
};
|
|
69
|
+
// Only add Content-Type for requests with body
|
|
70
|
+
if (body && (method === 'POST' || method === 'PUT')) {
|
|
71
|
+
headers['Content-Type'] = 'application/json';
|
|
72
|
+
}
|
|
78
73
|
try {
|
|
79
74
|
const response = await fetch(url, {
|
|
80
75
|
method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-http-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-http-client.ts"],"names":[],"mappings":";;;AACA,gDAAgJ;
|
|
1
|
+
{"version":3,"file":"default-http-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,19 @@ import { TokenProvider } from '../../domain/ports/in/token-provider';
|
|
|
2
2
|
import { CredentialsProvider } from '../../../sdk/domain/ports/out/credentials-provider';
|
|
3
3
|
/**
|
|
4
4
|
* Default implementation of TokenProvider using CredentialsProvider
|
|
5
|
+
* with automatic token refresh on expiry
|
|
5
6
|
*/
|
|
6
7
|
export declare class DefaultTokenProvider implements TokenProvider {
|
|
7
8
|
private readonly credentialsProvider;
|
|
8
|
-
|
|
9
|
+
private readonly tokenRefreshProvider?;
|
|
10
|
+
private readonly refreshInteractor?;
|
|
11
|
+
constructor(credentialsProvider: CredentialsProvider, clientId?: string, region?: string);
|
|
9
12
|
/**
|
|
10
13
|
* Get the access token from stored credentials
|
|
14
|
+
* Automatically refreshes token if expired or expiring within 5 minutes
|
|
15
|
+
*
|
|
16
|
+
* Note: Despite the method name, this returns the idToken for Cognito authentication.
|
|
17
|
+
* AWS Cognito uses the idToken (not accessToken) for API Gateway authorization.
|
|
11
18
|
*/
|
|
12
19
|
getAccessToken(): Promise<string>;
|
|
13
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-token-provider.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-token-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"default-token-provider.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-token-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAWlF;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IAKtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAqB;gBAGrC,mBAAmB,EAAE,mBAAmB,EACzD,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM;IAejB;;;;;;OAMG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CA+B/C"}
|
|
@@ -2,23 +2,56 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultTokenProvider = void 0;
|
|
4
4
|
const errors_1 = require("../../../sdk/domain/errors");
|
|
5
|
+
const refresh_credentials_1 = require("../../../sdk/domain/interactors/refresh-credentials");
|
|
6
|
+
const cognito_token_refresh_provider_1 = require("./cognito-token-refresh-provider");
|
|
7
|
+
/**
|
|
8
|
+
* Threshold in milliseconds (5 minutes) for auto-refresh
|
|
9
|
+
*/
|
|
10
|
+
const AUTO_REFRESH_THRESHOLD_MS = 5 * 60 * 1000;
|
|
5
11
|
/**
|
|
6
12
|
* Default implementation of TokenProvider using CredentialsProvider
|
|
13
|
+
* with automatic token refresh on expiry
|
|
7
14
|
*/
|
|
8
15
|
class DefaultTokenProvider {
|
|
9
16
|
credentialsProvider;
|
|
10
|
-
|
|
17
|
+
tokenRefreshProvider;
|
|
18
|
+
refreshInteractor;
|
|
19
|
+
constructor(credentialsProvider, clientId, region) {
|
|
11
20
|
this.credentialsProvider = credentialsProvider;
|
|
21
|
+
// Initialize refresh dependencies once if clientId is provided
|
|
22
|
+
if (clientId) {
|
|
23
|
+
this.tokenRefreshProvider = new cognito_token_refresh_provider_1.CognitoTokenRefreshProvider(clientId, region || 'us-east-1');
|
|
24
|
+
this.refreshInteractor = new refresh_credentials_1.RefreshCredentials(this.credentialsProvider, this.tokenRefreshProvider);
|
|
25
|
+
}
|
|
12
26
|
}
|
|
13
27
|
/**
|
|
14
28
|
* Get the access token from stored credentials
|
|
29
|
+
* Automatically refreshes token if expired or expiring within 5 minutes
|
|
30
|
+
*
|
|
31
|
+
* Note: Despite the method name, this returns the idToken for Cognito authentication.
|
|
32
|
+
* AWS Cognito uses the idToken (not accessToken) for API Gateway authorization.
|
|
15
33
|
*/
|
|
16
34
|
async getAccessToken() {
|
|
17
35
|
try {
|
|
18
36
|
const credentials = await this.credentialsProvider.retrieve();
|
|
37
|
+
const timeToExpiry = credentials.timeToExpirationMs();
|
|
38
|
+
// Auto-refresh if token is expired or about to expire (≤5 minutes left)
|
|
39
|
+
if (timeToExpiry <= AUTO_REFRESH_THRESHOLD_MS) {
|
|
40
|
+
if (!credentials.refreshToken) {
|
|
41
|
+
throw new errors_1.WaldeAuthenticationError('Token is expired or expiring soon, but no refresh token is available. Please log in again.');
|
|
42
|
+
}
|
|
43
|
+
if (!this.refreshInteractor) {
|
|
44
|
+
throw new errors_1.WaldeConfigurationError('Cognito client ID not configured for auto-refresh. Cannot refresh expired token.');
|
|
45
|
+
}
|
|
46
|
+
const refreshedCredentials = await this.refreshInteractor.execute();
|
|
47
|
+
return refreshedCredentials.idToken;
|
|
48
|
+
}
|
|
19
49
|
return credentials.idToken;
|
|
20
50
|
}
|
|
21
51
|
catch (error) {
|
|
52
|
+
if (error instanceof errors_1.WaldeAuthenticationError || error instanceof errors_1.WaldeConfigurationError) {
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
22
55
|
throw new errors_1.WaldeAuthenticationError('Credentials file not found');
|
|
23
56
|
}
|
|
24
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-token-provider.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-token-provider.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"default-token-provider.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/default-token-provider.ts"],"names":[],"mappings":";;;AAEA,gDAAwF;AACxF,sFAAkF;AAClF,qFAA+E;AAG/E;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;;GAGG;AACH,MAAa,oBAAoB;IAKZ;IAJF,oBAAoB,CAAwB;IAC5C,iBAAiB,CAAsB;IAExD,YACmB,mBAAwC,EACzD,QAAiB,EACjB,MAAe;QAFE,wBAAmB,GAAnB,mBAAmB,CAAqB;QAIzD,+DAA+D;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,oBAAoB,GAAG,IAAI,4DAA2B,CACzD,QAAQ,EACR,MAAM,IAAI,WAAW,CACtB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,wCAAkB,CAC7C,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc;QACzB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YAC9D,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAEtD,wEAAwE;YACxE,IAAI,YAAY,IAAI,yBAAyB,EAAE,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;oBAC9B,MAAM,IAAI,iCAAwB,CAChC,4FAA4F,CAC7F,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,MAAM,IAAI,gCAAuB,CAC/B,kFAAkF,CACnF,CAAC;gBACJ,CAAC;gBAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBACpE,OAAO,oBAAoB,CAAC,OAAO,CAAC;YACtC,CAAC;YAED,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iCAAwB,IAAI,KAAK,YAAY,gCAAuB,EAAE,CAAC;gBAC1F,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,iCAAwB,CAAC,4BAA4B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF;AA5DD,oDA4DC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HttpRequestHandler } from './http-request-handler';
|
|
2
2
|
/**
|
|
3
|
-
* HTTP client for making unauthenticated frontend API requests
|
|
3
|
+
* HTTP client for making unauthenticated frontend API requests.
|
|
4
|
+
* Only GET requests are made, so no Content-Type headers are included.
|
|
4
5
|
*/
|
|
5
|
-
export declare class FrontendHttpClient
|
|
6
|
+
export declare class FrontendHttpClient implements HttpRequestHandler {
|
|
7
|
+
private readonly requestHandler;
|
|
6
8
|
constructor(baseUrl: string);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
10
|
+
post<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
11
|
+
put<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
12
|
+
delete<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=frontend-http-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-http-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/frontend-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"frontend-http-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/frontend-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEpF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE5C,OAAO,EAAE,MAAM;IAIrB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAItE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAInF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGhF"}
|
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FrontendHttpClient = void 0;
|
|
4
|
-
const
|
|
4
|
+
const http_request_handler_1 = require("./http-request-handler");
|
|
5
5
|
/**
|
|
6
|
-
* HTTP client for making unauthenticated frontend API requests
|
|
6
|
+
* HTTP client for making unauthenticated frontend API requests.
|
|
7
|
+
* Only GET requests are made, so no Content-Type headers are included.
|
|
7
8
|
*/
|
|
8
|
-
class FrontendHttpClient
|
|
9
|
+
class FrontendHttpClient {
|
|
10
|
+
requestHandler;
|
|
9
11
|
constructor(baseUrl) {
|
|
10
|
-
|
|
12
|
+
this.requestHandler = new http_request_handler_1.CoreHttpRequestHandler(baseUrl);
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
async get(endpoint, headers) {
|
|
15
|
+
return this.requestHandler.get(endpoint, headers);
|
|
16
|
+
}
|
|
17
|
+
async post(endpoint, body, headers) {
|
|
18
|
+
return this.requestHandler.post(endpoint, body, headers);
|
|
19
|
+
}
|
|
20
|
+
async put(endpoint, body, headers) {
|
|
21
|
+
return this.requestHandler.put(endpoint, body, headers);
|
|
22
|
+
}
|
|
23
|
+
async delete(endpoint, headers) {
|
|
24
|
+
return this.requestHandler.delete(endpoint, headers);
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
27
|
exports.FrontendHttpClient = FrontendHttpClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-http-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/frontend-http-client.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"frontend-http-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/frontend-http-client.ts"],"names":[],"mappings":";;;AAAA,iEAAoF;AAEpF;;;GAGG;AACH,MAAa,kBAAkB;IACZ,cAAc,CAAyB;IAExD,YAAY,OAAe;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,6CAAsB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,OAAgC;QAC7D,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,QAAgB,EAAE,IAAU,EAAE,OAAgC;QAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAI,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,IAAU,EAAE,OAAgC;QACzE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAI,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,QAAgB,EAAE,OAAgC;QAChE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AAtBD,gDAsBC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for HTTP request handling
|
|
3
|
+
*/
|
|
4
|
+
export interface HttpRequestHandler {
|
|
5
|
+
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
6
|
+
post<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
7
|
+
put<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
8
|
+
delete<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* HTTP request configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface HttpRequestConfig {
|
|
14
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
15
|
+
endpoint: string;
|
|
16
|
+
body?: any;
|
|
17
|
+
headers?: Record<string, string>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Core HTTP request handler implementation
|
|
21
|
+
*/
|
|
22
|
+
export declare class CoreHttpRequestHandler implements HttpRequestHandler {
|
|
23
|
+
private readonly baseUrl;
|
|
24
|
+
constructor(baseUrl: string);
|
|
25
|
+
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
26
|
+
post<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
27
|
+
put<T>(endpoint: string, body?: any, headers?: Record<string, string>): Promise<T>;
|
|
28
|
+
delete<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
29
|
+
private makeRequest;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=http-request-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request-handler.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/http-request-handler.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEtC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQtE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYnF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAYlF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAQjE,WAAW;CAqC1B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoreHttpRequestHandler = void 0;
|
|
4
|
+
const errors_1 = require("../../../sdk/domain/errors");
|
|
5
|
+
/**
|
|
6
|
+
* Core HTTP request handler implementation
|
|
7
|
+
*/
|
|
8
|
+
class CoreHttpRequestHandler {
|
|
9
|
+
baseUrl;
|
|
10
|
+
constructor(baseUrl) {
|
|
11
|
+
this.baseUrl = baseUrl;
|
|
12
|
+
}
|
|
13
|
+
async get(endpoint, headers) {
|
|
14
|
+
return this.makeRequest({
|
|
15
|
+
method: 'GET',
|
|
16
|
+
endpoint,
|
|
17
|
+
headers
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async post(endpoint, body, headers) {
|
|
21
|
+
return this.makeRequest({
|
|
22
|
+
method: 'POST',
|
|
23
|
+
endpoint,
|
|
24
|
+
body,
|
|
25
|
+
headers: {
|
|
26
|
+
'Content-Type': 'application/json',
|
|
27
|
+
...headers
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async put(endpoint, body, headers) {
|
|
32
|
+
return this.makeRequest({
|
|
33
|
+
method: 'PUT',
|
|
34
|
+
endpoint,
|
|
35
|
+
body,
|
|
36
|
+
headers: {
|
|
37
|
+
'Content-Type': 'application/json',
|
|
38
|
+
...headers
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async delete(endpoint, headers) {
|
|
43
|
+
return this.makeRequest({
|
|
44
|
+
method: 'DELETE',
|
|
45
|
+
endpoint,
|
|
46
|
+
headers
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
async makeRequest(config) {
|
|
50
|
+
const url = `${this.baseUrl}${config.endpoint}`;
|
|
51
|
+
try {
|
|
52
|
+
const response = await fetch(url, {
|
|
53
|
+
method: config.method,
|
|
54
|
+
headers: config.headers,
|
|
55
|
+
body: config.body ? JSON.stringify(config.body) : undefined,
|
|
56
|
+
});
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
throw new errors_1.WaldeNetworkError(`HTTP ${response.status}: ${response.statusText} for ${url}`, new Error(`HTTP ${response.status}`), {
|
|
59
|
+
statusCode: response.status,
|
|
60
|
+
statusMessage: response.statusText,
|
|
61
|
+
url,
|
|
62
|
+
response: null
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const contentType = response.headers.get('content-type');
|
|
66
|
+
if (contentType && contentType.includes('application/json')) {
|
|
67
|
+
const data = await response.text();
|
|
68
|
+
return data ? JSON.parse(data) : null;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return (await response.text());
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (error instanceof errors_1.WaldeNetworkError) {
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
throw new errors_1.WaldeUnexpectedError('HTTP request failed', error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.CoreHttpRequestHandler = CoreHttpRequestHandler;
|
|
83
|
+
//# sourceMappingURL=http-request-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-request-handler.js","sourceRoot":"","sources":["../../../../src/sdk/infra/adapters/http-request-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { RemoteFilesRepo } from '../../../../sdk/domain/ports/out/remote-files-repo';
|
|
2
|
+
import { S3ClientFactory } from '../../../../sdk/domain/ports/out/s3-client-factory';
|
|
2
3
|
import { File } from '../../../../sdk/domain/entities/file';
|
|
3
4
|
import { UiUploadCredentials } from '../../../../sdk/domain/entities/ui-upload-credentials';
|
|
4
5
|
/**
|
|
5
6
|
* AWS S3 implementation for uploading UI files
|
|
6
7
|
*/
|
|
7
8
|
export declare class AwsS3FilesRepo implements RemoteFilesRepo {
|
|
8
|
-
|
|
9
|
+
private readonly s3ClientFactory;
|
|
10
|
+
constructor(s3ClientFactory: S3ClientFactory);
|
|
9
11
|
/**
|
|
10
12
|
* Upload files to AWS S3 using temporary credentials
|
|
11
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-s3-files-repo.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/aws-s3-files-repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGlF;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;;
|
|
1
|
+
{"version":3,"file":"aws-s3-files-repo.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/aws-s3-files-repo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGlF;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAE7D;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF;;OAEG;IACU,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpF;;OAEG;IACH,OAAO,CAAC,cAAc;CA2BvB"}
|
|
@@ -7,7 +7,10 @@ const errors_1 = require("../../../../sdk/domain/errors");
|
|
|
7
7
|
* AWS S3 implementation for uploading UI files
|
|
8
8
|
*/
|
|
9
9
|
class AwsS3FilesRepo {
|
|
10
|
-
|
|
10
|
+
s3ClientFactory;
|
|
11
|
+
constructor(s3ClientFactory) {
|
|
12
|
+
this.s3ClientFactory = s3ClientFactory;
|
|
13
|
+
}
|
|
11
14
|
/**
|
|
12
15
|
* Upload files to AWS S3 using temporary credentials
|
|
13
16
|
*/
|
|
@@ -21,15 +24,8 @@ class AwsS3FilesRepo {
|
|
|
21
24
|
* Upload a single file to AWS S3 using temporary credentials
|
|
22
25
|
*/
|
|
23
26
|
async uploadFile(file, credentials) {
|
|
24
|
-
// Create S3 client
|
|
25
|
-
const s3Client =
|
|
26
|
-
region: credentials.region,
|
|
27
|
-
credentials: {
|
|
28
|
-
accessKeyId: credentials.accessKey,
|
|
29
|
-
secretAccessKey: credentials.secretKey,
|
|
30
|
-
sessionToken: credentials.sessionToken
|
|
31
|
-
}
|
|
32
|
-
});
|
|
27
|
+
// Create S3 client using factory with runtime credentials
|
|
28
|
+
const s3Client = this.s3ClientFactory.createS3Client(credentials);
|
|
33
29
|
const command = new client_s3_1.PutObjectCommand({
|
|
34
30
|
Bucket: credentials.bucketName,
|
|
35
31
|
Key: file.path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-s3-files-repo.js","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/aws-s3-files-repo.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"aws-s3-files-repo.js","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/aws-s3-files-repo.ts"],"names":[],"mappings":";;;AAAA,kDAAsD;AAKtD,gDAAsD;AAEtD;;GAEG;AACH,MAAa,cAAc;IACI;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,WAAgC;QACtE,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,WAAgC;QAClE,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC;YACnC,MAAM,EAAE,WAAW,CAAC,UAAU;YAC9B,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,wBAAe,CAAC,wBAAwB,EAAE,KAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QAE3D,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,WAAW,CAAC;YACrB,KAAK,KAAK;gBACR,OAAO,UAAU,CAAC;YACpB,KAAK,IAAI;gBACP,OAAO,wBAAwB,CAAC;YAClC,KAAK,MAAM;gBACT,OAAO,kBAAkB,CAAC;YAC5B,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC;YACrB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,YAAY,CAAC;YACtB,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC;YACrB,KAAK,KAAK;gBACR,OAAO,eAAe,CAAC;YACzB,KAAK,KAAK;gBACR,OAAO,cAAc,CAAC;YACxB;gBACE,OAAO,0BAA0B,CAAC;QACtC,CAAC;IACH,CAAC;CACF;AAhED,wCAgEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-walde-admin-config.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/default-walde-admin-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"default-walde-admin-config.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/default-walde-admin-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAIrE;;GAEG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;WACW,MAAM,IAAI,sBAAsB;CAY/C"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultWaldeAdminConfig = void 0;
|
|
4
4
|
const static_walde_admin_config_1 = require("./static-walde-admin-config");
|
|
5
|
+
const aws_s3_client_factory_1 = require("../../../../sdk/infra/adapters/aws-s3-client-factory");
|
|
5
6
|
/**
|
|
6
7
|
* Factory for creating default configuration with fallback values
|
|
7
8
|
*/
|
|
@@ -14,7 +15,8 @@ class DefaultWaldeAdminConfig {
|
|
|
14
15
|
endpoint: 'https://api.walde.ai',
|
|
15
16
|
clientId: '2na3vdtebghu3se9rvimtuiaej',
|
|
16
17
|
region: 'eu-central-1',
|
|
17
|
-
userPoolId: 'eu-central-1_XLyUuL5PG'
|
|
18
|
+
userPoolId: 'eu-central-1_XLyUuL5PG',
|
|
19
|
+
s3ClientFactory: new aws_s3_client_factory_1.AwsS3ClientFactory()
|
|
18
20
|
};
|
|
19
21
|
// Cast to partial for StaticWaldeAdminConfig constructor
|
|
20
22
|
return new static_walde_admin_config_1.StaticWaldeAdminConfig(defaultConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-walde-admin-config.js","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/default-walde-admin-config.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;
|
|
1
|
+
{"version":3,"file":"default-walde-admin-config.js","sourceRoot":"","sources":["../../../../../src/sdk/infra/adapters/repositories/default-walde-admin-config.ts"],"names":[],"mappings":";;;AAAA,2EAAqE;AAErE,sFAAgF;AAEhF;;GAEG;AACH,MAAa,uBAAuB;IAClC;;OAEG;IACI,MAAM,CAAC,MAAM;QAClB,MAAM,aAAa,GAAyB;YAC1C,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,4BAA4B;YACtC,MAAM,EAAE,cAAc;YACtB,UAAU,EAAE,wBAAwB;YACpC,eAAe,EAAE,IAAI,0CAAkB,EAAE;SAC1C,CAAC;QAEF,yDAAyD;QACzD,OAAO,IAAI,kDAAsB,CAAC,aAA4C,CAAC,CAAC;IAClF,CAAC;CACF;AAhBD,0DAgBC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { BackendClient } from '../../../sdk/domain/ports/backend/backend-client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
private getAuthToken;
|
|
2
|
+
export declare class WaldeClient implements BackendClient {
|
|
3
|
+
private readonly baseUrl;
|
|
4
|
+
private readonly getAuthToken;
|
|
5
5
|
constructor(baseUrl: string, getAuthToken: () => Promise<string>);
|
|
6
|
-
protected getHeaders(): Record<string, string>;
|
|
7
6
|
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
8
7
|
post<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
9
8
|
put<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walde-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/backend/walde-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"walde-client.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/backend/walde-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,qBAAa,WAAY,YAAW,aAAa;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC;IAGhD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKtE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKlF,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAKjE,cAAc;YAKd,wBAAwB;CA4BvC"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WaldeClient = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
class WaldeClient {
|
|
5
|
+
baseUrl;
|
|
6
6
|
getAuthToken;
|
|
7
7
|
constructor(baseUrl, getAuthToken) {
|
|
8
|
-
|
|
8
|
+
this.baseUrl = baseUrl;
|
|
9
9
|
this.getAuthToken = getAuthToken;
|
|
10
10
|
}
|
|
11
|
-
getHeaders() {
|
|
12
|
-
return {
|
|
13
|
-
'Content-Type': 'application/json',
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
11
|
async get(endpoint, headers) {
|
|
17
12
|
const authHeaders = await this.getAuthHeaders();
|
|
18
13
|
return this.makeAuthenticatedRequest('GET', endpoint, undefined, { ...authHeaders, ...headers });
|
|
@@ -35,9 +30,14 @@ class WaldeClient extends base_http_client_1.BaseHttpClient {
|
|
|
35
30
|
}
|
|
36
31
|
async makeAuthenticatedRequest(method, endpoint, data, headers) {
|
|
37
32
|
const url = `${this.baseUrl}${endpoint}`;
|
|
33
|
+
const requestHeaders = { ...headers };
|
|
34
|
+
// Only add Content-Type for requests with body
|
|
35
|
+
if (data && (method === 'POST' || method === 'PUT')) {
|
|
36
|
+
requestHeaders['Content-Type'] = 'application/json';
|
|
37
|
+
}
|
|
38
38
|
const response = await fetch(url, {
|
|
39
39
|
method,
|
|
40
|
-
headers:
|
|
40
|
+
headers: requestHeaders,
|
|
41
41
|
body: data && (method === 'POST' || method === 'PUT') ? JSON.stringify(data) : undefined,
|
|
42
42
|
});
|
|
43
43
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walde-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/backend/walde-client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"walde-client.js","sourceRoot":"","sources":["../../../../src/sdk/infra/backend/walde-client.ts"],"names":[],"mappings":"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"}
|