@fiado/api-invoker 5.72.0 → 5.73.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.
- package/bin/messages-business/api/MessagesBusinessApi.d.ts +7 -5
- package/bin/messages-business/api/MessagesBusinessApi.js +21 -10
- package/bin/messages-business/api/interfaces/IMessagesBusinessApi.d.ts +9 -5
- package/package.json +1 -1
- package/src/messages-business/api/MessagesBusinessApi.ts +22 -10
- package/src/messages-business/api/interfaces/IMessagesBusinessApi.ts +9 -5
|
@@ -9,10 +9,12 @@ export declare class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
|
9
9
|
sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
|
|
10
10
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
11
11
|
getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
12
|
-
createTemplate(request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
13
|
-
listTemplates(filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
|
|
14
|
-
getTemplate(id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
15
|
-
updateTemplate(id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
16
|
-
deleteTemplate(id: string): Promise<FiadoApiResponse<void>>;
|
|
12
|
+
createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
13
|
+
listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
|
|
14
|
+
getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
15
|
+
updateTemplate(tenantId: string, id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
16
|
+
deleteTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<void>>;
|
|
17
|
+
/** Cuelga el `tenantId` del query string de una URL sin query previo. */
|
|
18
|
+
private withTenantId;
|
|
17
19
|
}
|
|
18
20
|
export {};
|
|
@@ -11,6 +11,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'inversify';
|
|
14
|
+
import { joinUrl } from '../../utils/joinUrl.js';
|
|
15
|
+
// El CRUD de plantillas manda el `tenantId` en el query string. En POST y PUT se cuelga de la URL
|
|
16
|
+
// porque el http-client solo expone canal de params en GET y DELETE.
|
|
14
17
|
let MessagesBusinessApi = class MessagesBusinessApi {
|
|
15
18
|
httpRequest;
|
|
16
19
|
baseUrl = process.env.MESSAGES_BUSINESS_URL || '';
|
|
@@ -26,20 +29,28 @@ let MessagesBusinessApi = class MessagesBusinessApi {
|
|
|
26
29
|
async getValidatedOtp(directoryId, otpCode) {
|
|
27
30
|
return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, { directoryId, otpCode }, { 'operationName': 'privateGetValidatedOtp' });
|
|
28
31
|
}
|
|
29
|
-
async createTemplate(request) {
|
|
30
|
-
|
|
32
|
+
async createTemplate(tenantId, request) {
|
|
33
|
+
const url = this.withTenantId(joinUrl(this.baseUrl, 'templates'), tenantId);
|
|
34
|
+
return await this.httpRequest.post(url, request, { 'operationName': 'backofficeCreateTemplate' });
|
|
31
35
|
}
|
|
32
|
-
async listTemplates(filters) {
|
|
33
|
-
|
|
36
|
+
async listTemplates(tenantId, filters) {
|
|
37
|
+
// El tenant explicito pisa el que venga en los filtros: si no, viajarian dos `tenantId`.
|
|
38
|
+
const params = { ...filters, tenantId };
|
|
39
|
+
return await this.httpRequest.get(joinUrl(this.baseUrl, 'templates'), params, { 'operationName': 'backofficeListTemplates' });
|
|
34
40
|
}
|
|
35
|
-
async getTemplate(id) {
|
|
36
|
-
return await this.httpRequest.get(
|
|
41
|
+
async getTemplate(tenantId, id) {
|
|
42
|
+
return await this.httpRequest.get(joinUrl(this.baseUrl, `templates/${id}`), { tenantId }, { 'operationName': 'backofficeGetTemplate' });
|
|
37
43
|
}
|
|
38
|
-
async updateTemplate(id, request) {
|
|
39
|
-
|
|
44
|
+
async updateTemplate(tenantId, id, request) {
|
|
45
|
+
const url = this.withTenantId(joinUrl(this.baseUrl, `templates/${id}`), tenantId);
|
|
46
|
+
return await this.httpRequest.put(url, request, { 'operationName': 'backofficeUpdateTemplate' });
|
|
40
47
|
}
|
|
41
|
-
async deleteTemplate(id) {
|
|
42
|
-
return await this.httpRequest.delete(
|
|
48
|
+
async deleteTemplate(tenantId, id) {
|
|
49
|
+
return await this.httpRequest.delete(joinUrl(this.baseUrl, `templates/${id}`), { tenantId }, { 'operationName': 'backofficeDeleteTemplate' });
|
|
50
|
+
}
|
|
51
|
+
/** Cuelga el `tenantId` del query string de una URL sin query previo. */
|
|
52
|
+
withTenantId(url, tenantId) {
|
|
53
|
+
return `${url}?tenantId=${encodeURIComponent(tenantId)}`;
|
|
43
54
|
}
|
|
44
55
|
};
|
|
45
56
|
MessagesBusinessApi = __decorate([
|
|
@@ -4,10 +4,14 @@ export interface IMessagesBusinessApi {
|
|
|
4
4
|
sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
|
|
5
5
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
6
6
|
getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
/**
|
|
8
|
+
* CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
|
|
9
|
+
* es obligatorio y explicito: el lambda responde 400 TENANT_ID_REQUIRED si no llega.
|
|
10
|
+
*/
|
|
11
|
+
createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
12
|
+
listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
|
|
13
|
+
getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
14
|
+
updateTemplate(tenantId: string, id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
15
|
+
deleteTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<void>>;
|
|
12
16
|
}
|
|
13
17
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.73.0",
|
|
4
4
|
"description": "Sirve como un puente entre diferentes funciones lambda, facilitando la comunicación entre ellas a través de invocaciones http",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/index.js",
|
|
@@ -9,7 +9,10 @@ import {
|
|
|
9
9
|
TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest,
|
|
10
10
|
} from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
11
11
|
import { IMessagesBusinessApi } from './interfaces/IMessagesBusinessApi.js';
|
|
12
|
+
import { joinUrl } from '../../utils/joinUrl.js';
|
|
12
13
|
|
|
14
|
+
// El CRUD de plantillas manda el `tenantId` en el query string. En POST y PUT se cuelga de la URL
|
|
15
|
+
// porque el http-client solo expone canal de params en GET y DELETE.
|
|
13
16
|
@injectable()
|
|
14
17
|
export class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
15
18
|
private readonly baseUrl = process.env.MESSAGES_BUSINESS_URL || '';
|
|
@@ -28,23 +31,32 @@ export class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
|
28
31
|
return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, { directoryId, otpCode }, { 'operationName': 'privateGetValidatedOtp' });
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
async createTemplate(request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
32
|
-
|
|
34
|
+
async createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
35
|
+
const url = this.withTenantId(joinUrl(this.baseUrl, 'templates'), tenantId);
|
|
36
|
+
return await this.httpRequest.post(url, request, { 'operationName': 'backofficeCreateTemplate' });
|
|
33
37
|
}
|
|
34
38
|
|
|
35
|
-
async listTemplates(filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>> {
|
|
36
|
-
|
|
39
|
+
async listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>> {
|
|
40
|
+
// El tenant explicito pisa el que venga en los filtros: si no, viajarian dos `tenantId`.
|
|
41
|
+
const params = { ...filters, tenantId } as Record<string, unknown>;
|
|
42
|
+
return await this.httpRequest.get(joinUrl(this.baseUrl, 'templates'), params, { 'operationName': 'backofficeListTemplates' });
|
|
37
43
|
}
|
|
38
44
|
|
|
39
|
-
async getTemplate(id: string): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
40
|
-
return await this.httpRequest.get(
|
|
45
|
+
async getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
46
|
+
return await this.httpRequest.get(joinUrl(this.baseUrl, `templates/${id}`), { tenantId }, { 'operationName': 'backofficeGetTemplate' });
|
|
41
47
|
}
|
|
42
48
|
|
|
43
|
-
async updateTemplate(id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
44
|
-
|
|
49
|
+
async updateTemplate(tenantId: string, id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
50
|
+
const url = this.withTenantId(joinUrl(this.baseUrl, `templates/${id}`), tenantId);
|
|
51
|
+
return await this.httpRequest.put(url, request, { 'operationName': 'backofficeUpdateTemplate' });
|
|
45
52
|
}
|
|
46
53
|
|
|
47
|
-
async deleteTemplate(id: string): Promise<FiadoApiResponse<void>> {
|
|
48
|
-
return await this.httpRequest.delete(
|
|
54
|
+
async deleteTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<void>> {
|
|
55
|
+
return await this.httpRequest.delete(joinUrl(this.baseUrl, `templates/${id}`), { tenantId }, { 'operationName': 'backofficeDeleteTemplate' });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** Cuelga el `tenantId` del query string de una URL sin query previo. */
|
|
59
|
+
private withTenantId(url: string, tenantId: string): string {
|
|
60
|
+
return `${url}?tenantId=${encodeURIComponent(tenantId)}`;
|
|
49
61
|
}
|
|
50
62
|
}
|
|
@@ -12,9 +12,13 @@ export interface IMessagesBusinessApi {
|
|
|
12
12
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
13
13
|
getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
/**
|
|
16
|
+
* CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
|
|
17
|
+
* es obligatorio y explicito: el lambda responde 400 TENANT_ID_REQUIRED si no llega.
|
|
18
|
+
*/
|
|
19
|
+
createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
20
|
+
listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
|
|
21
|
+
getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
22
|
+
updateTemplate(tenantId: string, id: string, request: TemplateMessageUpdateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
23
|
+
deleteTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<void>>;
|
|
20
24
|
}
|