mintly-lib 2.18.0-preview → 2.19.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/person-client.d.ts +5 -1
- package/build/clients/person-client.d.ts.map +1 -1
- package/build/clients/person-client.js +10 -0
- package/build/clients/person-client.js.map +1 -1
- package/build/core/data/person/index.d.ts +2 -2
- package/build/core/data/person/index.d.ts.map +1 -1
- package/build/core/data/person/index.js +2 -1
- package/build/core/data/person/index.js.map +1 -1
- package/build/core/data/person/person-avatar.d.ts +14 -1
- package/build/core/data/person/person-avatar.d.ts.map +1 -1
- package/build/core/data/person/person-avatar.js +6 -1
- package/build/core/data/person/person-avatar.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ import { HttpBaseClient } from '../core/client/http-base-client';
|
|
|
2
2
|
import type { ResponseDto } from '../core/data/request/response';
|
|
3
3
|
import type { Headers } from '../core/data/request/headers';
|
|
4
4
|
import type { Person } from '../core/data/person/person-entity';
|
|
5
|
-
import type { PersonAvatarResult } from '../core/data/person/person-avatar';
|
|
5
|
+
import type { PersonAvatarResult, UpdateAvatarRequest } from '../core/data/person/person-avatar';
|
|
6
6
|
export declare class PersonClient extends HttpBaseClient<Person> {
|
|
7
7
|
constructor();
|
|
8
8
|
/**
|
|
@@ -10,5 +10,9 @@ export declare class PersonClient extends HttpBaseClient<Person> {
|
|
|
10
10
|
* restaurante do token; `avatar: null` quando não há foto (ou o usuário não é visível).
|
|
11
11
|
*/
|
|
12
12
|
getAvatarByUsername(username: string, headers: Headers): Promise<ResponseDto<PersonAvatarResult>>;
|
|
13
|
+
/** Troca a foto de perfil do usuário autenticado (data URL JPG/PNG/WebP, até 1 MB). */
|
|
14
|
+
updateMyAvatar(body: UpdateAvatarRequest, headers: Headers): Promise<ResponseDto<PersonAvatarResult>>;
|
|
15
|
+
/** Remove a foto de perfil do usuário autenticado (volta pras iniciais). */
|
|
16
|
+
removeMyAvatar(headers: Headers): Promise<ResponseDto<PersonAvatarResult>>;
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=person-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-client.d.ts","sourceRoot":"","sources":["../../src/clients/person-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"person-client.d.ts","sourceRoot":"","sources":["../../src/clients/person-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEhG,qBAAa,YAAa,SAAQ,cAAc,CAAC,MAAM,CAAC;;IAKtD;;;OAGG;IACG,mBAAmB,CAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAQxG,uFAAuF;IACjF,cAAc,CAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAK5G,4EAA4E;IACtE,cAAc,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;CAIlF"}
|
|
@@ -15,6 +15,16 @@ class PersonClient extends http_base_client_1.HttpBaseClient {
|
|
|
15
15
|
const response = await this.connection.get(`/avatar/${encodeURIComponent(username)}`, (0, request_config_1.withHeaders)(headers));
|
|
16
16
|
return response.data;
|
|
17
17
|
}
|
|
18
|
+
/** Troca a foto de perfil do usuário autenticado (data URL JPG/PNG/WebP, até 1 MB). */
|
|
19
|
+
async updateMyAvatar(body, headers) {
|
|
20
|
+
const response = await this.connection.put('/me/avatar', body, (0, request_config_1.withHeaders)(headers));
|
|
21
|
+
return response.data;
|
|
22
|
+
}
|
|
23
|
+
/** Remove a foto de perfil do usuário autenticado (volta pras iniciais). */
|
|
24
|
+
async removeMyAvatar(headers) {
|
|
25
|
+
const response = await this.connection.delete('/me/avatar', (0, request_config_1.withHeaders)(headers));
|
|
26
|
+
return response.data;
|
|
27
|
+
}
|
|
18
28
|
}
|
|
19
29
|
exports.PersonClient = PersonClient;
|
|
20
30
|
//# sourceMappingURL=person-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-client.js","sourceRoot":"","sources":["../../src/clients/person-client.ts"],"names":[],"mappings":";;;AAAA,kEAA2D;AAC3D,sEAAgE;AAMhE,MAAa,YAAa,SAAQ,iCAAsB;IACtD;QACE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAE,QAAgB,EAAE,OAAgB;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACxC,WAAW,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EACzC,IAAA,4BAAW,EAAC,OAAO,CAAC,CACrB,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"person-client.js","sourceRoot":"","sources":["../../src/clients/person-client.ts"],"names":[],"mappings":";;;AAAA,kEAA2D;AAC3D,sEAAgE;AAMhE,MAAa,YAAa,SAAQ,iCAAsB;IACtD;QACE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAE,QAAgB,EAAE,OAAgB;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CACxC,WAAW,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EACzC,IAAA,4BAAW,EAAC,OAAO,CAAC,CACrB,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,cAAc,CAAE,IAAyB,EAAE,OAAgB;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAkC,YAAY,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QACrH,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,cAAc,CAAE,OAAgB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAkC,YAAY,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC,CAAA;QAClH,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AA5BD,oCA4BC"}
|
|
@@ -2,6 +2,6 @@ export { Person } from './person-entity';
|
|
|
2
2
|
export { personSchema } from './person-schema';
|
|
3
3
|
export { personRefSchema } from './person-ref-schema';
|
|
4
4
|
export type { PersonRef } from './person-ref-schema';
|
|
5
|
-
export { avatarSchema, AVATAR_MAX_BYTES, AVATAR_MAX_DATA_URL_LENGTH, AVATAR_MIME_TYPES } from './person-avatar';
|
|
6
|
-
export type { PersonAvatarResult } from './person-avatar';
|
|
5
|
+
export { avatarSchema, updateAvatarRequestSchema, AVATAR_MAX_BYTES, AVATAR_MAX_DATA_URL_LENGTH, AVATAR_MIME_TYPES } from './person-avatar';
|
|
6
|
+
export type { PersonAvatarResult, UpdateAvatarRequest } from './person-avatar';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1I,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AVATAR_MIME_TYPES = exports.AVATAR_MAX_DATA_URL_LENGTH = exports.AVATAR_MAX_BYTES = exports.avatarSchema = exports.personRefSchema = exports.personSchema = void 0;
|
|
3
|
+
exports.AVATAR_MIME_TYPES = exports.AVATAR_MAX_DATA_URL_LENGTH = exports.AVATAR_MAX_BYTES = exports.updateAvatarRequestSchema = exports.avatarSchema = exports.personRefSchema = exports.personSchema = void 0;
|
|
4
4
|
var person_schema_1 = require("./person-schema");
|
|
5
5
|
Object.defineProperty(exports, "personSchema", { enumerable: true, get: function () { return person_schema_1.personSchema; } });
|
|
6
6
|
var person_ref_schema_1 = require("./person-ref-schema");
|
|
7
7
|
Object.defineProperty(exports, "personRefSchema", { enumerable: true, get: function () { return person_ref_schema_1.personRefSchema; } });
|
|
8
8
|
var person_avatar_1 = require("./person-avatar");
|
|
9
9
|
Object.defineProperty(exports, "avatarSchema", { enumerable: true, get: function () { return person_avatar_1.avatarSchema; } });
|
|
10
|
+
Object.defineProperty(exports, "updateAvatarRequestSchema", { enumerable: true, get: function () { return person_avatar_1.updateAvatarRequestSchema; } });
|
|
10
11
|
Object.defineProperty(exports, "AVATAR_MAX_BYTES", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MAX_BYTES; } });
|
|
11
12
|
Object.defineProperty(exports, "AVATAR_MAX_DATA_URL_LENGTH", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MAX_DATA_URL_LENGTH; } });
|
|
12
13
|
Object.defineProperty(exports, "AVATAR_MIME_TYPES", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MIME_TYPES; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/data/person/index.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,yDAAqD;AAA5C,oHAAA,eAAe,OAAA;AAExB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/data/person/index.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,yDAAqD;AAA5C,oHAAA,eAAe,OAAA;AAExB,iDAA0I;AAAjI,6GAAA,YAAY,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AAAE,iHAAA,gBAAgB,OAAA;AAAE,2HAAA,0BAA0B,OAAA;AAAE,kHAAA,iBAAiB,OAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Infer } from '@ascendance-hub/sapphire-core';
|
|
1
2
|
/** Tamanho máximo da imagem de perfil (bytes, já decodificada): 1 MB. */
|
|
2
3
|
export declare const AVATAR_MAX_BYTES: number;
|
|
3
4
|
export declare const AVATAR_MIME_TYPES: readonly ["image/jpeg", "image/png", "image/webp"];
|
|
@@ -12,7 +13,19 @@ export declare const AVATAR_MAX_DATA_URL_LENGTH: number;
|
|
|
12
13
|
* deixa o documento muito abaixo dos 16 MB do Mongo.
|
|
13
14
|
*/
|
|
14
15
|
export declare const avatarSchema: import("@ascendance-hub/sapphire-core").StringField<string, string>;
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Corpo de `PUT /people/me/avatar` (troca a foto do usuário autenticado). Objeto estrito:
|
|
18
|
+
* qualquer outro campo é rejeitado (mass assignment). Para remover a foto: `DELETE`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const updateAvatarRequestSchema: import("@ascendance-hub/sapphire-core").ObjectField<{
|
|
21
|
+
avatar: import("@ascendance-hub/sapphire-core").StringField<string, string>;
|
|
22
|
+
}, import("@ascendance-hub/sapphire-core").ObjectOutput<{
|
|
23
|
+
avatar: import("@ascendance-hub/sapphire-core").StringField<string, string>;
|
|
24
|
+
}>, import("@ascendance-hub/sapphire-core").ObjectInput<{
|
|
25
|
+
avatar: import("@ascendance-hub/sapphire-core").StringField<string, string>;
|
|
26
|
+
}>>;
|
|
27
|
+
export type UpdateAvatarRequest = Infer<typeof updateAvatarRequestSchema>;
|
|
28
|
+
/** Resposta de `GET /people/avatar/:username`, `PUT` e `DELETE /people/me/avatar`. `avatar` é `null` quando a pessoa não tem foto. */
|
|
16
29
|
export interface PersonAvatarResult {
|
|
17
30
|
avatar: string | null;
|
|
18
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-avatar.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"person-avatar.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAI1D,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,QAAc,CAAA;AAE3C,eAAO,MAAM,iBAAiB,oDAAqD,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAA+C,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,YAAY,qEAKtB,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;GAAqC,CAAA;AAE3E,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEzE,sIAAsI;AACtI,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.avatarSchema = exports.AVATAR_MAX_DATA_URL_LENGTH = exports.AVATAR_MIME_TYPES = exports.AVATAR_MAX_BYTES = void 0;
|
|
3
|
+
exports.updateAvatarRequestSchema = exports.avatarSchema = exports.AVATAR_MAX_DATA_URL_LENGTH = exports.AVATAR_MIME_TYPES = exports.AVATAR_MAX_BYTES = void 0;
|
|
4
4
|
const sapphire_core_1 = require("@ascendance-hub/sapphire-core");
|
|
5
5
|
const s = new sapphire_core_1.Sapphire();
|
|
6
6
|
/** Tamanho máximo da imagem de perfil (bytes, já decodificada): 1 MB. */
|
|
@@ -19,4 +19,9 @@ exports.AVATAR_MAX_DATA_URL_LENGTH = Math.ceil((exports.AVATAR_MAX_BYTES * 4) /
|
|
|
19
19
|
exports.avatarSchema = s.string()
|
|
20
20
|
.max(exports.AVATAR_MAX_DATA_URL_LENGTH, { message: 'A foto de perfil deve ter no máximo 1 MB.' })
|
|
21
21
|
.regex(/^data:image\/(jpeg|png|webp);base64,[A-Za-z0-9+/]+={0,2}$/, { message: 'A foto de perfil deve ser uma imagem JPG, PNG ou WebP.' });
|
|
22
|
+
/**
|
|
23
|
+
* Corpo de `PUT /people/me/avatar` (troca a foto do usuário autenticado). Objeto estrito:
|
|
24
|
+
* qualquer outro campo é rejeitado (mass assignment). Para remover a foto: `DELETE`.
|
|
25
|
+
*/
|
|
26
|
+
exports.updateAvatarRequestSchema = s.object({ avatar: exports.avatarSchema });
|
|
22
27
|
//# sourceMappingURL=person-avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-avatar.js","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;
|
|
1
|
+
{"version":3,"file":"person-avatar.js","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AAGxD,MAAM,CAAC,GAAG,IAAI,wBAAQ,EAAE,CAAA;AAExB,yEAAyE;AAC5D,QAAA,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9B,QAAA,iBAAiB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAU,CAAA;AAEnF;;;GAGG;AACU,QAAA,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,wBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;AAEtF;;;;GAIG;AACU,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE;KACnC,GAAG,CAAC,kCAA0B,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;KACzF,KAAK,CACJ,2DAA2D,EAC3D,EAAE,OAAO,EAAE,wDAAwD,EAAE,CACtE,CAAA;AAEH;;;GAGG;AACU,QAAA,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAY,EAAE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mintly-lib",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0-preview",
|
|
4
4
|
"description": "Mintly Library",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/http-status-codes": "^1.2.0",
|
|
50
50
|
"@types/jest": "^30.0.0",
|
|
51
|
-
"@types/node": "^
|
|
51
|
+
"@types/node": "^24.19.2",
|
|
52
52
|
"@typescript-eslint/eslint-plugin": "6.4.0",
|
|
53
53
|
"dotenv": "^16.4.5",
|
|
54
54
|
"eslint": "8.0.1",
|