mintly-lib 2.7.0-preview → 2.8.0-preview
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/build/clients/auth-client.d.ts.map +1 -1
- package/build/clients/auth-client.js +2 -10
- package/build/clients/auth-client.js.map +1 -1
- package/build/clients/financial-account-client.d.ts +14 -3
- package/build/clients/financial-account-client.d.ts.map +1 -1
- package/build/clients/financial-account-client.js +22 -4
- package/build/clients/financial-account-client.js.map +1 -1
- package/build/clients/financial-category-client.d.ts +13 -3
- package/build/clients/financial-category-client.d.ts.map +1 -1
- package/build/clients/financial-category-client.js +22 -5
- package/build/clients/financial-category-client.js.map +1 -1
- package/build/clients/financial-movement-client.d.ts +6 -6
- package/build/clients/financial-movement-client.d.ts.map +1 -1
- package/build/clients/financial-movement-client.js +11 -10
- package/build/clients/financial-movement-client.js.map +1 -1
- package/build/core/client/api-error.d.ts +11 -0
- package/build/core/client/api-error.d.ts.map +1 -0
- package/build/core/client/api-error.js +18 -0
- package/build/core/client/api-error.js.map +1 -0
- package/build/core/client/base-client.d.ts +19 -1
- package/build/core/client/base-client.d.ts.map +1 -1
- package/build/core/client/create-connection.d.ts +13 -0
- package/build/core/client/create-connection.d.ts.map +1 -0
- package/build/core/client/create-connection.js +39 -0
- package/build/core/client/create-connection.js.map +1 -0
- package/build/core/client/http-base-client.d.ts +9 -1
- package/build/core/client/http-base-client.d.ts.map +1 -1
- package/build/core/client/http-base-client.js +10 -10
- package/build/core/client/http-base-client.js.map +1 -1
- package/build/core/client/request-config.d.ts +2 -2
- package/build/core/client/request-config.js +2 -2
- package/build/core/data/financial/financial-account-schema.d.ts +0 -293
- package/build/core/data/financial/financial-account-schema.d.ts.map +1 -1
- package/build/core/data/financial/financial-account-schema.js +20 -27
- package/build/core/data/financial/financial-account-schema.js.map +1 -1
- package/build/core/data/financial/financial-movement-schema.d.ts +23 -0
- package/build/core/data/financial/financial-movement-schema.d.ts.map +1 -1
- package/build/core/data/financial/financial-movement-schema.js +20 -4
- package/build/core/data/financial/financial-movement-schema.js.map +1 -1
- package/build/core/data/financial/index.d.ts +1 -1
- package/build/core/data/financial/index.d.ts.map +1 -1
- package/build/core/data/financial/index.js +2 -1
- package/build/core/data/financial/index.js.map +1 -1
- package/build/core/data/request/headers.d.ts +8 -6
- package/build/core/data/request/headers.d.ts.map +1 -1
- package/build/core/index.d.ts +4 -0
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +7 -1
- package/build/core/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../src/clients/auth-client.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../../src/clients/auth-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACtH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAEpF;;;;GAIG;AACH,qBAAa,UAAU;IACrB,SAAS,CAAC,UAAU,EAAE,aAAa,CAAA;;IAM7B,MAAM,CAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAKlF,KAAK,CAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAK/E,OAAO,CAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAOrF,MAAM,CAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,mGAAmG;IAC7F,cAAc,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAKnG,8DAA8D;IACxD,aAAa,CAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;CAIhH"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.AuthClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
4
|
const request_config_1 = require("../core/client/request-config");
|
|
5
|
+
const create_connection_1 = require("../core/client/create-connection");
|
|
9
6
|
/**
|
|
10
7
|
* Cliente de autenticação (RPC, não CRUD): cadastro, login, refresh e logout.
|
|
11
8
|
* Respostas seguem o mesmo envelope ResponseDto do restante da API. Todo método
|
|
@@ -13,12 +10,7 @@ const request_config_1 = require("../core/client/request-config");
|
|
|
13
10
|
*/
|
|
14
11
|
class AuthClient {
|
|
15
12
|
constructor() {
|
|
16
|
-
this.connection =
|
|
17
|
-
baseURL: process.env.BACK_END_URL + '/auth',
|
|
18
|
-
headers: {
|
|
19
|
-
'Content-Type': 'application/json',
|
|
20
|
-
},
|
|
21
|
-
});
|
|
13
|
+
this.connection = (0, create_connection_1.createHttpConnection)('auth');
|
|
22
14
|
}
|
|
23
15
|
async signup(body, headers) {
|
|
24
16
|
const response = await this.connection.post('/signup', body, (0, request_config_1.withHeaders)(headers));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-client.js","sourceRoot":"","sources":["../../src/clients/auth-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-client.js","sourceRoot":"","sources":["../../src/clients/auth-client.ts"],"names":[],"mappings":";;;AAGA,kEAA2D;AAC3D,wEAAuE;AAMvE;;;;GAIG;AACH,MAAa,UAAU;IAGrB;QACE,IAAI,CAAC,UAAU,GAAG,IAAA,wCAAoB,EAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAmB,EAAE,OAAgB;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAA4B,SAAS,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC7G,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,IAAkB,EAAE,OAAgB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAA2B,QAAQ,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC3G,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,YAAoB,EAAE,OAAgB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAA6B,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC3H,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,KAAK,CAAC,MAAM,CAAE,YAAoB,EAAE,OAAgB;QAClD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,mGAAmG;IACnG,KAAK,CAAC,cAAc,CAAE,KAAa,EAAE,OAAgB;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAqC,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACpI,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,aAAa,CAAE,IAA0B,EAAE,OAAgB;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAqC,iBAAiB,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC9H,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAvCD,gCAuCC"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { ResponseDto } from '../core';
|
|
2
|
-
import {
|
|
2
|
+
import type { Insertable, Findable, Listable, Updatable } from '../core/client/base-client';
|
|
3
|
+
import type { FindAllRequestDto } from '../core/data/request/pagination';
|
|
3
4
|
import type { Headers } from '../core/data/request/headers';
|
|
4
5
|
import type { FinancialAccount } from '../core/data/financial/financial-account-entity';
|
|
5
6
|
import type { FinancialAccountActionResult, InactivateFinancialAccountRequest } from '../core/data/financial/financial-account-response';
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* A rota /financial-accounts NÃO expõe GET /:id nem DELETE — só POST, GET (lista/
|
|
9
|
+
* find), PATCH e as ações próprias (default/inactivate). Por isso COMPÕE o
|
|
10
|
+
* HttpBaseClient e re-expõe apenas Insertable/Findable/Listable/Updatable, em vez
|
|
11
|
+
* de estender (que traria findById/delete inexistentes → 404).
|
|
12
|
+
*/
|
|
13
|
+
export declare class FinancialAccountClient implements Insertable<FinancialAccount>, Findable<FinancialAccount>, Listable<FinancialAccount>, Updatable<FinancialAccount> {
|
|
14
|
+
private readonly http;
|
|
15
|
+
insert(body: FinancialAccount, headers: Headers): Promise<ResponseDto<FinancialAccount>>;
|
|
16
|
+
find(filter: Partial<FinancialAccount>, headers: Headers): Promise<ResponseDto<FinancialAccount>>;
|
|
17
|
+
findAll(filter: FindAllRequestDto<FinancialAccount>, headers: Headers): Promise<ResponseDto<FinancialAccount[]>>;
|
|
18
|
+
update(id: string, body: Partial<FinancialAccount>, headers: Headers): Promise<ResponseDto<FinancialAccount>>;
|
|
8
19
|
/** Define a conta como padrão do restaurante (SetDefaultAccountUseCase). Não recebe corpo. */
|
|
9
20
|
defaultUpdate(id: string, headers: Headers): Promise<ResponseDto<FinancialAccountActionResult>>;
|
|
10
21
|
/** Inativa a conta (InactivateAccountUseCase). replacementDefaultId é obrigatório se a conta for a padrão. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-account-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-account-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"financial-account-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-account-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AACvF,OAAO,KAAK,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,mDAAmD,CAAA;AAExI;;;;;GAKG;AACH,qBAAa,sBACb,YAAW,UAAU,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC;IAC1H,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6D;IAElF,MAAM,CAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAIzF,IAAI,CAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAIlG,OAAO,CAAE,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAIjH,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAI9G,8FAA8F;IACxF,aAAa,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAKtG,8GAA8G;IACxG,gBAAgB,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;CAInJ"}
|
|
@@ -3,18 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FinancialAccountClient = void 0;
|
|
4
4
|
const core_1 = require("../core");
|
|
5
5
|
const http_base_client_1 = require("../core/client/http-base-client");
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A rota /financial-accounts NÃO expõe GET /:id nem DELETE — só POST, GET (lista/
|
|
8
|
+
* find), PATCH e as ações próprias (default/inactivate). Por isso COMPÕE o
|
|
9
|
+
* HttpBaseClient e re-expõe apenas Insertable/Findable/Listable/Updatable, em vez
|
|
10
|
+
* de estender (que traria findById/delete inexistentes → 404).
|
|
11
|
+
*/
|
|
12
|
+
class FinancialAccountClient {
|
|
7
13
|
constructor() {
|
|
8
|
-
|
|
14
|
+
this.http = new http_base_client_1.HttpBaseClient('financial-accounts');
|
|
15
|
+
}
|
|
16
|
+
insert(body, headers) {
|
|
17
|
+
return this.http.insert(body, headers);
|
|
18
|
+
}
|
|
19
|
+
find(filter, headers) {
|
|
20
|
+
return this.http.find(filter, headers);
|
|
21
|
+
}
|
|
22
|
+
findAll(filter, headers) {
|
|
23
|
+
return this.http.findAll(filter, headers);
|
|
24
|
+
}
|
|
25
|
+
update(id, body, headers) {
|
|
26
|
+
return this.http.update(id, body, headers);
|
|
9
27
|
}
|
|
10
28
|
/** Define a conta como padrão do restaurante (SetDefaultAccountUseCase). Não recebe corpo. */
|
|
11
29
|
async defaultUpdate(id, headers) {
|
|
12
|
-
const response = await this.connection.patch(`/${id}/default`, undefined, (0, core_1.withHeaders)(headers));
|
|
30
|
+
const response = await this.http.connection.patch(`/${id}/default`, undefined, (0, core_1.withHeaders)(headers));
|
|
13
31
|
return response.data;
|
|
14
32
|
}
|
|
15
33
|
/** Inativa a conta (InactivateAccountUseCase). replacementDefaultId é obrigatório se a conta for a padrão. */
|
|
16
34
|
async inactivateUpdate(id, body, headers) {
|
|
17
|
-
const response = await this.connection.patch(`/${id}/inactivate`, body, (0, core_1.withHeaders)(headers));
|
|
35
|
+
const response = await this.http.connection.patch(`/${id}/inactivate`, body, (0, core_1.withHeaders)(headers));
|
|
18
36
|
return response.data;
|
|
19
37
|
}
|
|
20
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-account-client.js","sourceRoot":"","sources":["../../src/clients/financial-account-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;
|
|
1
|
+
{"version":3,"file":"financial-account-client.js","sourceRoot":"","sources":["../../src/clients/financial-account-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;AAOhE;;;;;GAKG;AACH,MAAa,sBAAsB;IAAnC;QAEmB,SAAI,GAAG,IAAI,iCAAc,CAAmB,oBAAoB,CAAC,CAAA;IA6BpF,CAAC;IA3BC,MAAM,CAAE,IAAsB,EAAE,OAAgB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAE,MAAiC,EAAE,OAAgB;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,CAAE,MAA2C,EAAE,OAAgB;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAE,EAAU,EAAE,IAA+B,EAAE,OAAgB;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,8FAA8F;IAC9F,KAAK,CAAC,aAAa,CAAE,EAAU,EAAE,OAAgB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAA4C,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC/I,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,8GAA8G;IAC9G,KAAK,CAAC,gBAAgB,CAAE,EAAU,EAAE,IAAuC,EAAE,OAAgB;QAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAA4C,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC7I,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AA/BD,wDA+BC"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { ResponseDto } from '../core';
|
|
2
|
-
import {
|
|
2
|
+
import type { Insertable, Findable, Listable, Updatable } from '../core/client/base-client';
|
|
3
|
+
import type { FindAllRequestDto } from '../core/data/request/pagination';
|
|
3
4
|
import type { Headers } from '../core/data/request/headers';
|
|
4
5
|
import type { FinancialCategory } from '../core/data/financial/financial-category-entity';
|
|
5
6
|
import type { FinancialCategoryActionResult } from '../core/data/financial/financial-category-response';
|
|
6
7
|
import { MovementDirection } from '../core/data/financial/financial-movement-schema';
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* A rota /financial-categories NÃO expõe GET /:id nem DELETE. COMPÕE o
|
|
10
|
+
* HttpBaseClient e re-expõe só Insertable/Findable/Listable/Updatable + as ações
|
|
11
|
+
* próprias (inactivate/reactivate/suggestions).
|
|
12
|
+
*/
|
|
13
|
+
export declare class FinancialCategoryClient implements Insertable<FinancialCategory>, Findable<FinancialCategory>, Listable<FinancialCategory>, Updatable<FinancialCategory> {
|
|
14
|
+
private readonly http;
|
|
15
|
+
insert(body: FinancialCategory, headers: Headers): Promise<ResponseDto<FinancialCategory>>;
|
|
16
|
+
find(filter: Partial<FinancialCategory>, headers: Headers): Promise<ResponseDto<FinancialCategory>>;
|
|
17
|
+
findAll(filter: FindAllRequestDto<FinancialCategory>, headers: Headers): Promise<ResponseDto<FinancialCategory[]>>;
|
|
18
|
+
update(id: string, body: Partial<FinancialCategory>, headers: Headers): Promise<ResponseDto<FinancialCategory>>;
|
|
9
19
|
/** Inativa a categoria (InactivateCategoryUseCase). Não recebe corpo. */
|
|
10
20
|
inactivateUpdate(id: string, headers: Headers): Promise<ResponseDto<FinancialCategoryActionResult>>;
|
|
11
21
|
/** Reativa a categoria (InactivateCategoryUseCase.reactivate). Não recebe corpo. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-category-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-category-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"financial-category-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-category-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AACzF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAEpF;;;;GAIG;AACH,qBAAa,uBACb,YAAW,UAAU,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAC9H,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgE;IAErF,MAAM,CAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAI3F,IAAI,CAAE,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAIpG,OAAO,CAAE,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAInH,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAIhH,yEAAyE;IACnE,gBAAgB,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAK1G,oFAAoF;IAC9E,gBAAgB,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAK1G,2FAA2F;IACrF,WAAW,CAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAI9G"}
|
|
@@ -3,23 +3,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FinancialCategoryClient = void 0;
|
|
4
4
|
const core_1 = require("../core");
|
|
5
5
|
const http_base_client_1 = require("../core/client/http-base-client");
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A rota /financial-categories NÃO expõe GET /:id nem DELETE. COMPÕE o
|
|
8
|
+
* HttpBaseClient e re-expõe só Insertable/Findable/Listable/Updatable + as ações
|
|
9
|
+
* próprias (inactivate/reactivate/suggestions).
|
|
10
|
+
*/
|
|
11
|
+
class FinancialCategoryClient {
|
|
7
12
|
constructor() {
|
|
8
|
-
|
|
13
|
+
this.http = new http_base_client_1.HttpBaseClient('financial-categories');
|
|
14
|
+
}
|
|
15
|
+
insert(body, headers) {
|
|
16
|
+
return this.http.insert(body, headers);
|
|
17
|
+
}
|
|
18
|
+
find(filter, headers) {
|
|
19
|
+
return this.http.find(filter, headers);
|
|
20
|
+
}
|
|
21
|
+
findAll(filter, headers) {
|
|
22
|
+
return this.http.findAll(filter, headers);
|
|
23
|
+
}
|
|
24
|
+
update(id, body, headers) {
|
|
25
|
+
return this.http.update(id, body, headers);
|
|
9
26
|
}
|
|
10
27
|
/** Inativa a categoria (InactivateCategoryUseCase). Não recebe corpo. */
|
|
11
28
|
async inactivateUpdate(id, headers) {
|
|
12
|
-
const response = await this.connection.patch(`/${id}/inactivate`, undefined, (0, core_1.withHeaders)(headers));
|
|
29
|
+
const response = await this.http.connection.patch(`/${id}/inactivate`, undefined, (0, core_1.withHeaders)(headers));
|
|
13
30
|
return response.data;
|
|
14
31
|
}
|
|
15
32
|
/** Reativa a categoria (InactivateCategoryUseCase.reactivate). Não recebe corpo. */
|
|
16
33
|
async reactivateUpdate(id, headers) {
|
|
17
|
-
const response = await this.connection.patch(`/${id}/reactivate`, undefined, (0, core_1.withHeaders)(headers));
|
|
34
|
+
const response = await this.http.connection.patch(`/${id}/reactivate`, undefined, (0, core_1.withHeaders)(headers));
|
|
18
35
|
return response.data;
|
|
19
36
|
}
|
|
20
37
|
/** Sugestão de categorias por direção do movimento (SuggestCategoriesQuery). Read-only. */
|
|
21
38
|
async suggestions(direction, headers) {
|
|
22
|
-
const response = await this.connection.get('/suggestions', (0, core_1.withHeaders)(headers, { params: { direction } }));
|
|
39
|
+
const response = await this.http.connection.get('/suggestions', (0, core_1.withHeaders)(headers, { params: { direction } }));
|
|
23
40
|
return response.data;
|
|
24
41
|
}
|
|
25
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-category-client.js","sourceRoot":"","sources":["../../src/clients/financial-category-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;
|
|
1
|
+
{"version":3,"file":"financial-category-client.js","sourceRoot":"","sources":["../../src/clients/financial-category-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;AAQhE;;;;GAIG;AACH,MAAa,uBAAuB;IAApC;QAEmB,SAAI,GAAG,IAAI,iCAAc,CAAoB,sBAAsB,CAAC,CAAA;IAmCvF,CAAC;IAjCC,MAAM,CAAE,IAAuB,EAAE,OAAgB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAE,MAAkC,EAAE,OAAgB;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,CAAE,MAA4C,EAAE,OAAgB;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAE,EAAU,EAAE,IAAgC,EAAE,OAAgB;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,gBAAgB,CAAE,EAAU,EAAE,OAAgB;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAA6C,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACnJ,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,gBAAgB,CAAE,EAAU,EAAE,OAAgB;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAA6C,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACnJ,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,2FAA2F;IAC3F,KAAK,CAAC,WAAW,CAAE,SAA4B,EAAE,OAAgB;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmC,cAAc,EAAE,IAAA,kBAAW,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;QAClJ,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AArCD,0DAqCC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ResponseDto } from '../core';
|
|
2
|
-
import { HttpBaseClient } from '../core/client/http-base-client';
|
|
3
2
|
import type { Headers } from '../core/data/request/headers';
|
|
4
3
|
import type { MovementStatus } from '../core/data/financial/financial-movement-schema';
|
|
5
4
|
import type { FinancialMovement } from '../core/data/financial/financial-movement-entity';
|
|
6
5
|
import type { RegisterMovementRequest, UpdateMovementRequest, MovementListQuery, FinancialMovementActionResult } from '../core/data/financial/financial-movement-response';
|
|
7
6
|
/**
|
|
8
7
|
* Client de movimentações (MIN-49/50). Diferente dos outros CRUDs, o registro e
|
|
9
|
-
* a edição têm corpos
|
|
10
|
-
* ações próprias (status, recompute).
|
|
11
|
-
*
|
|
8
|
+
* a edição têm corpos DEDICADOS (accountId/categoryId, não os snapshots) e há
|
|
9
|
+
* ações próprias (status, recompute). Não há CRUD genérico útil aqui — por isso
|
|
10
|
+
* COMPÕE o HttpBaseClient só pela conexão e expõe apenas os métodos próprios
|
|
11
|
+
* (antes estendia e herdava insert/update/findById/delete com body/rota errados).
|
|
12
12
|
*/
|
|
13
|
-
export declare class FinancialMovementClient
|
|
14
|
-
|
|
13
|
+
export declare class FinancialMovementClient {
|
|
14
|
+
private readonly http;
|
|
15
15
|
/** Registra entrada/saída + ajusta saldo (transacional). Resolve 409 de duplicidade com confirmDuplicate. */
|
|
16
16
|
register(body: RegisterMovementRequest, headers: Headers): Promise<ResponseDto<FinancialMovement>>;
|
|
17
17
|
/** Lista movimentações (busca textual + filtros direction/status/período + paginação). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-movement-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-movement-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"financial-movement-client.d.ts","sourceRoot":"","sources":["../../src/clients/financial-movement-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,SAAS,CAAA;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAA;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AACzF,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,oDAAoD,CAAA;AAE3D;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA+D;IAEpF,6GAA6G;IACvG,QAAQ,CAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAKzG,0FAA0F;IACpF,IAAI,CAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAKlG,mGAAmG;IAC7F,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAKzH,oEAAoE;IAC9D,YAAY,CAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAKlH,kEAAkE;IAC5D,iBAAiB,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;CAInH"}
|
|
@@ -5,37 +5,38 @@ const core_1 = require("../core");
|
|
|
5
5
|
const http_base_client_1 = require("../core/client/http-base-client");
|
|
6
6
|
/**
|
|
7
7
|
* Client de movimentações (MIN-49/50). Diferente dos outros CRUDs, o registro e
|
|
8
|
-
* a edição têm corpos
|
|
9
|
-
* ações próprias (status, recompute).
|
|
10
|
-
*
|
|
8
|
+
* a edição têm corpos DEDICADOS (accountId/categoryId, não os snapshots) e há
|
|
9
|
+
* ações próprias (status, recompute). Não há CRUD genérico útil aqui — por isso
|
|
10
|
+
* COMPÕE o HttpBaseClient só pela conexão e expõe apenas os métodos próprios
|
|
11
|
+
* (antes estendia e herdava insert/update/findById/delete com body/rota errados).
|
|
11
12
|
*/
|
|
12
|
-
class FinancialMovementClient
|
|
13
|
+
class FinancialMovementClient {
|
|
13
14
|
constructor() {
|
|
14
|
-
|
|
15
|
+
this.http = new http_base_client_1.HttpBaseClient('financial-movements');
|
|
15
16
|
}
|
|
16
17
|
/** Registra entrada/saída + ajusta saldo (transacional). Resolve 409 de duplicidade com confirmDuplicate. */
|
|
17
18
|
async register(body, headers) {
|
|
18
|
-
const response = await this.connection.post('/', body, (0, core_1.withHeaders)(headers));
|
|
19
|
+
const response = await this.http.connection.post('/', body, (0, core_1.withHeaders)(headers));
|
|
19
20
|
return response.data;
|
|
20
21
|
}
|
|
21
22
|
/** Lista movimentações (busca textual + filtros direction/status/período + paginação). */
|
|
22
23
|
async list(query, headers) {
|
|
23
|
-
const response = await this.connection.get('/', (0, core_1.withHeaders)(headers, { params: query }));
|
|
24
|
+
const response = await this.http.connection.get('/', (0, core_1.withHeaders)(headers, { params: query }));
|
|
24
25
|
return response.data;
|
|
25
26
|
}
|
|
26
27
|
/** Edita a movimentação (reverte efeito antigo + aplica novo no saldo). `direction` é imutável. */
|
|
27
28
|
async updateMovement(id, body, headers) {
|
|
28
|
-
const response = await this.connection.patch(`/${id}`, body, (0, core_1.withHeaders)(headers));
|
|
29
|
+
const response = await this.http.connection.patch(`/${id}`, body, (0, core_1.withHeaders)(headers));
|
|
29
30
|
return response.data;
|
|
30
31
|
}
|
|
31
32
|
/** Muda o status (pending/settled/cancelled) corrigindo o saldo. */
|
|
32
33
|
async changeStatus(id, status, headers) {
|
|
33
|
-
const response = await this.connection.patch(`/${id}/status`, { status }, (0, core_1.withHeaders)(headers));
|
|
34
|
+
const response = await this.http.connection.patch(`/${id}/status`, { status }, (0, core_1.withHeaders)(headers));
|
|
34
35
|
return response.data;
|
|
35
36
|
}
|
|
36
37
|
/** Reconcilia o saldo de uma conta a partir das movimentações. */
|
|
37
38
|
async recomputeBalances(accountId, headers) {
|
|
38
|
-
const response = await this.connection.post('/recompute-balances', { accountId }, (0, core_1.withHeaders)(headers));
|
|
39
|
+
const response = await this.http.connection.post('/recompute-balances', { accountId }, (0, core_1.withHeaders)(headers));
|
|
39
40
|
return response.data;
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"financial-movement-client.js","sourceRoot":"","sources":["../../src/clients/financial-movement-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;AAWhE
|
|
1
|
+
{"version":3,"file":"financial-movement-client.js","sourceRoot":"","sources":["../../src/clients/financial-movement-client.ts"],"names":[],"mappings":";;;AAAA,kCAAkD;AAClD,sEAAgE;AAWhE;;;;;;GAMG;AACH,MAAa,uBAAuB;IAApC;QACmB,SAAI,GAAG,IAAI,iCAAc,CAAoB,qBAAqB,CAAC,CAAA;IA+BtF,CAAC;IA7BC,6GAA6G;IAC7G,KAAK,CAAC,QAAQ,CAAE,IAA6B,EAAE,OAAgB;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAiC,GAAG,EAAE,IAAI,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACjH,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,IAAI,CAAE,KAAwB,EAAE,OAAgB;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmC,GAAG,EAAE,IAAA,kBAAW,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/H,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,mGAAmG;IACnG,KAAK,CAAC,cAAc,CAAE,EAAU,EAAE,IAA2B,EAAE,OAAgB;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAiC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACvH,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,YAAY,CAAE,EAAU,EAAE,MAAsB,EAAE,OAAgB;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAiC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACpI,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,iBAAiB,CAAE,SAAiB,EAAE,OAAgB;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAA6C,qBAAqB,EAAE,EAAE,SAAS,EAAE,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACxJ,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAhCD,0DAgCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Erro normalizado da API: expõe `code` (glossário: APP-000x/AUTH-000x/
|
|
3
|
+
* VALIDATION_ERROR) e `status` HTTP, em vez do `AxiosError` cru (que vaza
|
|
4
|
+
* config/request/stack do axios). Ver create-connection (M25).
|
|
5
|
+
*/
|
|
6
|
+
export declare class ApiError extends Error {
|
|
7
|
+
readonly code: string;
|
|
8
|
+
readonly status: number;
|
|
9
|
+
constructor(code: string, message: string, status: number);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=api-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../../src/core/client/api-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAE/B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM;CAK1B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApiError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Erro normalizado da API: expõe `code` (glossário: APP-000x/AUTH-000x/
|
|
6
|
+
* VALIDATION_ERROR) e `status` HTTP, em vez do `AxiosError` cru (que vaza
|
|
7
|
+
* config/request/stack do axios). Ver create-connection (M25).
|
|
8
|
+
*/
|
|
9
|
+
class ApiError extends Error {
|
|
10
|
+
constructor(code, message, status) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.name = 'ApiError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ApiError = ApiError;
|
|
18
|
+
//# sourceMappingURL=api-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../../src/core/client/api-error.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,QAAS,SAAQ,KAAK;IACjC,YACW,IAAY,EACrB,OAAe,EACN,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAA;QAJL,SAAI,GAAJ,IAAI,CAAQ;QAEZ,WAAM,GAAN,MAAM,CAAQ;QAGvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AATD,4BASC"}
|
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
import { FindAllRequestDto } from '../data/request/pagination';
|
|
2
2
|
import { ResponseDto } from '../data/request/response';
|
|
3
3
|
import { Headers } from '../data/request/headers';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Interfaces de capacidade (segregação): cada client declara SÓ as operações que
|
|
6
|
+
* a rota da API realmente expõe. Antes um único BaseClient com todo o CRUD era
|
|
7
|
+
* herdado por todos, expondo findById/delete inexistentes (404 em runtime).
|
|
8
|
+
*/
|
|
9
|
+
export interface Insertable<T> {
|
|
5
10
|
insert(body: T, headers: Headers): Promise<ResponseDto<T>>;
|
|
11
|
+
}
|
|
12
|
+
export interface Gettable<T> {
|
|
6
13
|
findById(id: string, headers: Headers): Promise<ResponseDto<T>>;
|
|
14
|
+
}
|
|
15
|
+
export interface Findable<T> {
|
|
7
16
|
find(filter: Partial<T>, headers: Headers): Promise<ResponseDto<T>>;
|
|
17
|
+
}
|
|
18
|
+
export interface Listable<T> {
|
|
8
19
|
findAll(filter: FindAllRequestDto<T>, headers: Headers): Promise<ResponseDto<T[]>>;
|
|
20
|
+
}
|
|
21
|
+
export interface Updatable<T> {
|
|
9
22
|
update(id: string, body: Partial<T>, headers: Headers): Promise<ResponseDto<T>>;
|
|
23
|
+
}
|
|
24
|
+
export interface Deletable {
|
|
10
25
|
delete(id: string, headers: Headers): Promise<void>;
|
|
11
26
|
}
|
|
27
|
+
/** CRUD completo — só para recursos cuja rota expõe tudo (ex.: /people). */
|
|
28
|
+
export interface BaseClient<T> extends Insertable<T>, Gettable<T>, Findable<T>, Listable<T>, Updatable<T>, Deletable {
|
|
29
|
+
}
|
|
12
30
|
//# sourceMappingURL=base-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/core/client/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,MAAM,WAAW,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/core/client/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE;AAC7F,MAAM,WAAW,QAAQ,CAAC,CAAC;IAAI,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE;AAChG,MAAM,WAAW,QAAQ,CAAC,CAAC;IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE;AACpG,MAAM,WAAW,QAAQ,CAAC,CAAC;IAAI,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE;AACnH,MAAM,WAAW,SAAS,CAAC,CAAC;IAAI,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE;AACjH,MAAM,WAAW,SAAS;IAAG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE;AAElF,4EAA4E;AAC5E,MAAM,WAAW,UAAU,CAAC,CAAC,CAC3B,SAAQ,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS;CAAG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
/**
|
|
3
|
+
* Fábrica única das conexões axios dos clients (fonte compartilhada — antes o
|
|
4
|
+
* bootstrap era duplicado no HttpBaseClient e no AuthClient). Aplica:
|
|
5
|
+
* - M23: valida BACK_END_URL (senão a baseURL viraria "undefined/...");
|
|
6
|
+
* - M22: timeout (evita request pendurada indefinidamente);
|
|
7
|
+
* - M25: interceptor de resposta que troca o AxiosError cru pelo erro da API
|
|
8
|
+
* ({ code, message }) quando disponível.
|
|
9
|
+
*
|
|
10
|
+
* @param path segmento após a base (ex.: 'auth', 'financial-accounts').
|
|
11
|
+
*/
|
|
12
|
+
export declare function createHttpConnection(path: string): AxiosInstance;
|
|
13
|
+
//# sourceMappingURL=create-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-connection.d.ts","sourceRoot":"","sources":["../../../src/core/client/create-connection.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAK5C;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAwBjE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createHttpConnection = createHttpConnection;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const api_error_1 = require("./api-error");
|
|
9
|
+
const DEFAULT_TIMEOUT_MS = 15000;
|
|
10
|
+
/**
|
|
11
|
+
* Fábrica única das conexões axios dos clients (fonte compartilhada — antes o
|
|
12
|
+
* bootstrap era duplicado no HttpBaseClient e no AuthClient). Aplica:
|
|
13
|
+
* - M23: valida BACK_END_URL (senão a baseURL viraria "undefined/...");
|
|
14
|
+
* - M22: timeout (evita request pendurada indefinidamente);
|
|
15
|
+
* - M25: interceptor de resposta que troca o AxiosError cru pelo erro da API
|
|
16
|
+
* ({ code, message }) quando disponível.
|
|
17
|
+
*
|
|
18
|
+
* @param path segmento após a base (ex.: 'auth', 'financial-accounts').
|
|
19
|
+
*/
|
|
20
|
+
function createHttpConnection(path) {
|
|
21
|
+
const backendUrl = process.env.BACK_END_URL;
|
|
22
|
+
if (!backendUrl) {
|
|
23
|
+
throw new Error('BACK_END_URL não configurada: defina a URL base da API antes de instanciar os clients.');
|
|
24
|
+
}
|
|
25
|
+
const connection = axios_1.default.create({
|
|
26
|
+
baseURL: `${backendUrl}/${path}`,
|
|
27
|
+
timeout: Number(process.env.HTTP_TIMEOUT_MS ?? DEFAULT_TIMEOUT_MS),
|
|
28
|
+
headers: { 'Content-Type': 'application/json' },
|
|
29
|
+
});
|
|
30
|
+
connection.interceptors.response.use((response) => response, (error) => {
|
|
31
|
+
const data = error?.response?.data;
|
|
32
|
+
if (data && typeof data === 'object' && 'code' in data) {
|
|
33
|
+
return Promise.reject(new api_error_1.ApiError(String(data.code), String(data.message ?? ''), error.response.status));
|
|
34
|
+
}
|
|
35
|
+
return Promise.reject(error);
|
|
36
|
+
});
|
|
37
|
+
return connection;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=create-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-connection.js","sourceRoot":"","sources":["../../../src/core/client/create-connection.ts"],"names":[],"mappings":";;;;;AAeA,oDAwBC;AAvCD,kDAA4C;AAC5C,2CAAsC;AAEtC,MAAM,kBAAkB,GAAG,KAAM,CAAA;AAEjC;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAAE,IAAY;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;IAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAA;IAC3G,CAAC;IAED,MAAM,UAAU,GAAG,eAAK,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,GAAG,UAAU,IAAI,IAAI,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,kBAAkB,CAAC;QAClE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAA;IAEF,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAClC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACtB,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,IAAI,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAA;QAClC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,oBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3G,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CACF,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -3,9 +3,17 @@ import { BaseClient } from './base-client';
|
|
|
3
3
|
import { PaginationDto } from '../data/request/pagination';
|
|
4
4
|
import { ResponseDto } from '../data/request/response';
|
|
5
5
|
import { Headers } from '../data/request/headers';
|
|
6
|
+
/**
|
|
7
|
+
* Caixa de ferramentas HTTP com todas as operações CRUD. Uso:
|
|
8
|
+
* - recurso com CRUD COMPLETO (ex.: /people) → ESTENDE (herda tudo, é o contrato);
|
|
9
|
+
* - recurso com CRUD PARCIAL (account/category/movement) → COMPÕE (`new
|
|
10
|
+
* HttpBaseClient(...)`) e re-expõe só o subconjunto válido — senão herdaria
|
|
11
|
+
* findById/delete inexistentes (404 em runtime).
|
|
12
|
+
* `connection` é público p/ os endpoints próprios dos clients compostos.
|
|
13
|
+
*/
|
|
6
14
|
export declare class HttpBaseClient<T> implements BaseClient<T> {
|
|
7
15
|
readonly baseUrl: string;
|
|
8
|
-
|
|
16
|
+
readonly connection: AxiosInstance;
|
|
9
17
|
constructor(baseUrl: string);
|
|
10
18
|
insert(body: T, headers: Headers): Promise<ResponseDto<T>>;
|
|
11
19
|
findById(id: string, headers: Headers): Promise<ResponseDto<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-base-client.d.ts","sourceRoot":"","sources":["../../../src/core/client/http-base-client.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"http-base-client.d.ts","sourceRoot":"","sources":["../../../src/core/client/http-base-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;;;;;;GAOG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAGxC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAFrC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAA;gBAEZ,OAAO,EAAE,MAAM;IAI/B,MAAM,CAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAK3D,QAAQ,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKhE,IAAI,CAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKpE,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAKzF,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKhF,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.HttpBaseClient = void 0;
|
|
7
|
-
const
|
|
4
|
+
const create_connection_1 = require("./create-connection");
|
|
8
5
|
const request_config_1 = require("./request-config");
|
|
6
|
+
/**
|
|
7
|
+
* Caixa de ferramentas HTTP com todas as operações CRUD. Uso:
|
|
8
|
+
* - recurso com CRUD COMPLETO (ex.: /people) → ESTENDE (herda tudo, é o contrato);
|
|
9
|
+
* - recurso com CRUD PARCIAL (account/category/movement) → COMPÕE (`new
|
|
10
|
+
* HttpBaseClient(...)`) e re-expõe só o subconjunto válido — senão herdaria
|
|
11
|
+
* findById/delete inexistentes (404 em runtime).
|
|
12
|
+
* `connection` é público p/ os endpoints próprios dos clients compostos.
|
|
13
|
+
*/
|
|
9
14
|
class HttpBaseClient {
|
|
10
15
|
constructor(baseUrl) {
|
|
11
16
|
this.baseUrl = baseUrl;
|
|
12
|
-
this.connection =
|
|
13
|
-
baseURL: process.env.BACK_END_URL + '/' + baseUrl,
|
|
14
|
-
headers: {
|
|
15
|
-
'Content-Type': 'application/json',
|
|
16
|
-
},
|
|
17
|
-
});
|
|
17
|
+
this.connection = (0, create_connection_1.createHttpConnection)(baseUrl);
|
|
18
18
|
}
|
|
19
19
|
async insert(body, headers) {
|
|
20
20
|
const response = await this.connection.post('/', body, (0, request_config_1.withHeaders)(headers));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-base-client.js","sourceRoot":"","sources":["../../../src/core/client/http-base-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http-base-client.js","sourceRoot":"","sources":["../../../src/core/client/http-base-client.ts"],"names":[],"mappings":";;;AAEA,2DAA0D;AAC1D,qDAA8C;AAK9C;;;;;;;GAOG;AACH,MAAa,cAAc;IAGzB,YAAsB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QACnC,IAAI,CAAC,UAAU,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,IAAO,EAAE,OAAgB;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAiB,GAAG,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC5F,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU,EAAE,OAAgB;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAiB,IAAI,EAAE,EAAE,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAC1F,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,MAAkB,EAAE,OAAgB;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAiB,GAAG,EAAE,IAAA,4BAAW,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QAC3I,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,MAAkC,EAAE,OAAgB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmB,GAAG,EAAE,IAAA,4BAAW,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5I,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,EAAU,EAAE,IAAgB,EAAE,OAAgB;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAiB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAClG,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,EAAU,EAAE,OAAgB;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;IAC9D,CAAC;CACF;AAnCD,wCAmCC"}
|
|
@@ -2,8 +2,8 @@ import type { AxiosRequestConfig } from 'axios';
|
|
|
2
2
|
import type { Headers } from '../data/request/headers';
|
|
3
3
|
/**
|
|
4
4
|
* Base compartilhada dos clients: propaga os headers de contexto (env,
|
|
5
|
-
* authorization
|
|
6
|
-
*
|
|
5
|
+
* authorization) para o config do axios, preservando qualquer config extra
|
|
6
|
+
* (ex.: `params` de paginação/filtro).
|
|
7
7
|
*/
|
|
8
8
|
export declare function withHeaders(headers: Headers, config?: AxiosRequestConfig): AxiosRequestConfig;
|
|
9
9
|
//# sourceMappingURL=request-config.d.ts.map
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.withHeaders = withHeaders;
|
|
4
4
|
/**
|
|
5
5
|
* Base compartilhada dos clients: propaga os headers de contexto (env,
|
|
6
|
-
* authorization
|
|
7
|
-
*
|
|
6
|
+
* authorization) para o config do axios, preservando qualquer config extra
|
|
7
|
+
* (ex.: `params` de paginação/filtro).
|
|
8
8
|
*/
|
|
9
9
|
function withHeaders(headers, config = {}) {
|
|
10
10
|
return { ...config, headers: { ...config.headers, ...headers } };
|