mintly-lib 2.16.0-preview → 2.18.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.
Files changed (29) hide show
  1. package/build/clients/person-client.d.ts +8 -0
  2. package/build/clients/person-client.d.ts.map +1 -1
  3. package/build/clients/person-client.js +9 -0
  4. package/build/clients/person-client.js.map +1 -1
  5. package/build/core/data/auth/auth-response.d.ts +10 -2
  6. package/build/core/data/auth/auth-response.d.ts.map +1 -1
  7. package/build/core/data/auth/signup-schema.d.ts +9 -0
  8. package/build/core/data/auth/signup-schema.d.ts.map +1 -1
  9. package/build/core/data/person/index.d.ts +2 -0
  10. package/build/core/data/person/index.d.ts.map +1 -1
  11. package/build/core/data/person/index.js +6 -1
  12. package/build/core/data/person/index.js.map +1 -1
  13. package/build/core/data/person/person-avatar.d.ts +19 -0
  14. package/build/core/data/person/person-avatar.d.ts.map +1 -0
  15. package/build/core/data/person/person-avatar.js +22 -0
  16. package/build/core/data/person/person-avatar.js.map +1 -0
  17. package/build/core/data/person/person-schema.d.ts +3 -0
  18. package/build/core/data/person/person-schema.d.ts.map +1 -1
  19. package/build/core/data/person/person-schema.js +2 -0
  20. package/build/core/data/person/person-schema.js.map +1 -1
  21. package/build/core/data/reports/cash-flow-response.d.ts +4 -0
  22. package/build/core/data/reports/cash-flow-response.d.ts.map +1 -1
  23. package/build/core/data/reports/expenses-response.d.ts +3 -0
  24. package/build/core/data/reports/expenses-response.d.ts.map +1 -1
  25. package/build/core/data/reports/overview-response.d.ts +8 -1
  26. package/build/core/data/reports/overview-response.d.ts.map +1 -1
  27. package/build/core/data/reports/result-response.d.ts +10 -0
  28. package/build/core/data/reports/result-response.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -1,6 +1,14 @@
1
1
  import { HttpBaseClient } from '../core/client/http-base-client';
2
+ import type { ResponseDto } from '../core/data/request/response';
3
+ import type { Headers } from '../core/data/request/headers';
2
4
  import type { Person } from '../core/data/person/person-entity';
5
+ import type { PersonAvatarResult } from '../core/data/person/person-avatar';
3
6
  export declare class PersonClient extends HttpBaseClient<Person> {
4
7
  constructor();
8
+ /**
9
+ * Foto de perfil pelo nome de usuário (e-mail). Só devolve a de quem é do mesmo
10
+ * restaurante do token; `avatar: null` quando não há foto (ou o usuário não é visível).
11
+ */
12
+ getAvatarByUsername(username: string, headers: Headers): Promise<ResponseDto<PersonAvatarResult>>;
5
13
  }
6
14
  //# 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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAE/D,qBAAa,YAAa,SAAQ,cAAc,CAAC,MAAM,CAAC;;CAIvD"}
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;AAE3E,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;CAOzG"}
@@ -1,11 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PersonClient = void 0;
4
+ const request_config_1 = require("../core/client/request-config");
4
5
  const http_base_client_1 = require("../core/client/http-base-client");
5
6
  class PersonClient extends http_base_client_1.HttpBaseClient {
6
7
  constructor() {
7
8
  super('people');
8
9
  }
10
+ /**
11
+ * Foto de perfil pelo nome de usuário (e-mail). Só devolve a de quem é do mesmo
12
+ * restaurante do token; `avatar: null` quando não há foto (ou o usuário não é visível).
13
+ */
14
+ async getAvatarByUsername(username, headers) {
15
+ const response = await this.connection.get(`/avatar/${encodeURIComponent(username)}`, (0, request_config_1.withHeaders)(headers));
16
+ return response.data;
17
+ }
9
18
  }
10
19
  exports.PersonClient = PersonClient;
11
20
  //# sourceMappingURL=person-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"person-client.js","sourceRoot":"","sources":["../../src/clients/person-client.ts"],"names":[],"mappings":";;;AAAA,sEAAgE;AAGhE,MAAa,YAAa,SAAQ,iCAAsB;IACtD;QACE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;CACF;AAJD,oCAIC"}
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;AAhBD,oCAgBC"}
@@ -1,11 +1,19 @@
1
1
  import type { User } from '../user/user-entity';
2
2
  import type { Restaurant } from '../restaurant/restaurant-entity';
3
+ import type { PersonRef } from '../person/person-ref-schema';
3
4
  export interface AuthTokens {
4
5
  accessToken: string;
5
6
  refreshToken: string | null;
6
7
  }
7
- /** Visão pública do usuário — nunca expõe passwordHash. */
8
- export type AuthUser = Omit<User, 'passwordHash'>;
8
+ /**
9
+ * Visão pública do usuário — nunca expõe passwordHash. O `person` ganha a foto de perfil
10
+ * (data URL), lida do documento em `people` (o ref em `users` não a carrega, p/ não inchar).
11
+ */
12
+ export type AuthUser = Omit<User, 'passwordHash' | 'person'> & {
13
+ person: PersonRef & {
14
+ avatar?: string;
15
+ };
16
+ };
9
17
  export interface SignupResult extends AuthTokens {
10
18
  user: AuthUser;
11
19
  restaurant: Restaurant;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/auth/auth-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AAEjD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAA;AAEtC,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;CAChB"}
1
+ {"version":3,"file":"auth-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/auth/auth-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAE5D,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAC,GAAG;IAC7D,MAAM,EAAE,SAAS,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxC,CAAA;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,QAAQ,CAAA;CACf;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAA;AAEtC,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;CAChB"}
@@ -9,6 +9,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
9
9
  person: import("@ascendance-hub/sapphire-core").ObjectField<Omit<{
10
10
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
11
11
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
12
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
12
13
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
13
14
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
14
15
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -28,6 +29,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
28
29
  }, "audit">, import("@ascendance-hub/sapphire-core").ObjectOutput<Omit<{
29
30
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
30
31
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
32
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
31
33
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
32
34
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
33
35
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -47,6 +49,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
47
49
  }, "audit">>, import("@ascendance-hub/sapphire-core").ObjectInput<Omit<{
48
50
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
49
51
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
52
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
50
53
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
51
54
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
52
55
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -72,6 +75,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
72
75
  person: import("@ascendance-hub/sapphire-core").ObjectField<Omit<{
73
76
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
74
77
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
78
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
75
79
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
76
80
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
77
81
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -91,6 +95,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
91
95
  }, "audit">, import("@ascendance-hub/sapphire-core").ObjectOutput<Omit<{
92
96
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
93
97
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
98
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
94
99
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
95
100
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
96
101
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -110,6 +115,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
110
115
  }, "audit">>, import("@ascendance-hub/sapphire-core").ObjectInput<Omit<{
111
116
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
112
117
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
118
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
113
119
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
114
120
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
115
121
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -135,6 +141,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
135
141
  person: import("@ascendance-hub/sapphire-core").ObjectField<Omit<{
136
142
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
137
143
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
144
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
138
145
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
139
146
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
140
147
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -154,6 +161,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
154
161
  }, "audit">, import("@ascendance-hub/sapphire-core").ObjectOutput<Omit<{
155
162
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
156
163
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
164
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
157
165
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
158
166
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
159
167
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -173,6 +181,7 @@ export declare const signupRequestSchema: import("@ascendance-hub/sapphire-core"
173
181
  }, "audit">>, import("@ascendance-hub/sapphire-core").ObjectInput<Omit<{
174
182
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
175
183
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
184
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
176
185
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
177
186
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
178
187
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -1 +1 @@
1
- {"version":3,"file":"signup-schema.d.ts","sourceRoot":"","sources":["../../../../src/core/data/auth/signup-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAM1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
1
+ {"version":3,"file":"signup-schema.d.ts","sourceRoot":"","sources":["../../../../src/core/data/auth/signup-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAM1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -2,4 +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
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"}
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;AAC/G,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.personRefSchema = exports.personSchema = void 0;
3
+ exports.AVATAR_MIME_TYPES = exports.AVATAR_MAX_DATA_URL_LENGTH = exports.AVATAR_MAX_BYTES = 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
+ var person_avatar_1 = require("./person-avatar");
9
+ Object.defineProperty(exports, "avatarSchema", { enumerable: true, get: function () { return person_avatar_1.avatarSchema; } });
10
+ Object.defineProperty(exports, "AVATAR_MAX_BYTES", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MAX_BYTES; } });
11
+ Object.defineProperty(exports, "AVATAR_MAX_DATA_URL_LENGTH", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MAX_DATA_URL_LENGTH; } });
12
+ Object.defineProperty(exports, "AVATAR_MIME_TYPES", { enumerable: true, get: function () { return person_avatar_1.AVATAR_MIME_TYPES; } });
8
13
  //# sourceMappingURL=index.js.map
@@ -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"}
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,iDAA+G;AAAtG,6GAAA,YAAY,OAAA;AAAE,iHAAA,gBAAgB,OAAA;AAAE,2HAAA,0BAA0B,OAAA;AAAE,kHAAA,iBAAiB,OAAA"}
@@ -0,0 +1,19 @@
1
+ /** Tamanho máximo da imagem de perfil (bytes, já decodificada): 1 MB. */
2
+ export declare const AVATAR_MAX_BYTES: number;
3
+ export declare const AVATAR_MIME_TYPES: readonly ["image/jpeg", "image/png", "image/webp"];
4
+ /**
5
+ * Teto do data URL em caracteres: base64 infla ~4/3 sobre os bytes da imagem, mais o
6
+ * prefixo `data:<mime>;base64,` (≤ 23). Folga de 1 KB p/ arredondamento do padding.
7
+ */
8
+ export declare const AVATAR_MAX_DATA_URL_LENGTH: number;
9
+ /**
10
+ * Foto de perfil guardada no próprio documento do `Person` (Mongo) como data URL
11
+ * (`data:image/png;base64,...`) — dispensa bucket/serviço externo, e o limite de 1 MB
12
+ * deixa o documento muito abaixo dos 16 MB do Mongo.
13
+ */
14
+ export declare const avatarSchema: import("@ascendance-hub/sapphire-core").StringField<string, string>;
15
+ /** Resposta de `GET /people/avatar/:username`. `avatar` é `null` quando a pessoa não tem foto. */
16
+ export interface PersonAvatarResult {
17
+ avatar: string | null;
18
+ }
19
+ //# sourceMappingURL=person-avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-avatar.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":"AAIA,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,kGAAkG;AAClG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
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;
4
+ const sapphire_core_1 = require("@ascendance-hub/sapphire-core");
5
+ const s = new sapphire_core_1.Sapphire();
6
+ /** Tamanho máximo da imagem de perfil (bytes, já decodificada): 1 MB. */
7
+ exports.AVATAR_MAX_BYTES = 1024 * 1024;
8
+ exports.AVATAR_MIME_TYPES = ['image/jpeg', 'image/png', 'image/webp'];
9
+ /**
10
+ * Teto do data URL em caracteres: base64 infla ~4/3 sobre os bytes da imagem, mais o
11
+ * prefixo `data:<mime>;base64,` (≤ 23). Folga de 1 KB p/ arredondamento do padding.
12
+ */
13
+ exports.AVATAR_MAX_DATA_URL_LENGTH = Math.ceil((exports.AVATAR_MAX_BYTES * 4) / 3) + 1024;
14
+ /**
15
+ * Foto de perfil guardada no próprio documento do `Person` (Mongo) como data URL
16
+ * (`data:image/png;base64,...`) — dispensa bucket/serviço externo, e o limite de 1 MB
17
+ * deixa o documento muito abaixo dos 16 MB do Mongo.
18
+ */
19
+ exports.avatarSchema = s.string()
20
+ .max(exports.AVATAR_MAX_DATA_URL_LENGTH, { message: 'A foto de perfil deve ter no máximo 1 MB.' })
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
+ //# sourceMappingURL=person-avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-avatar.js","sourceRoot":"","sources":["../../../../src/core/data/person/person-avatar.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AAExD,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"}
@@ -1,6 +1,7 @@
1
1
  export declare const personSchema: import("@ascendance-hub/sapphire-core").ObjectField<{
2
2
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
3
3
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
4
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
4
5
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
5
6
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
6
7
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -20,6 +21,7 @@ export declare const personSchema: import("@ascendance-hub/sapphire-core").Objec
20
21
  }, import("@ascendance-hub/sapphire-core").ObjectOutput<{
21
22
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
22
23
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
24
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
23
25
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
24
26
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
25
27
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -39,6 +41,7 @@ export declare const personSchema: import("@ascendance-hub/sapphire-core").Objec
39
41
  }>, import("@ascendance-hub/sapphire-core").ObjectInput<{
40
42
  name: import("@ascendance-hub/sapphire-core").StringField<string, string>;
41
43
  phone: import("@ascendance-hub/sapphire-core").StringField<string, string>;
44
+ avatar: import("@ascendance-hub/sapphire-core").StringField<string | undefined, string | undefined>;
42
45
  audit: import("@ascendance-hub/sapphire-core").ObjectField<{
43
46
  createdAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
44
47
  updatedAt: import("@ascendance-hub/sapphire-core").DateField<Date, Date>;
@@ -1 +1 @@
1
- {"version":3,"file":"person-schema.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/person-schema.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIvB,CAAA"}
1
+ {"version":3,"file":"person-schema.d.ts","sourceRoot":"","sources":["../../../../src/core/data/person/person-schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKvB,CAAA"}
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.personSchema = void 0;
4
4
  const sapphire_core_1 = require("@ascendance-hub/sapphire-core");
5
5
  const audit_1 = require("../common/audit");
6
+ const person_avatar_1 = require("./person-avatar");
6
7
  const s = new sapphire_core_1.Sapphire();
7
8
  exports.personSchema = s.object({
8
9
  name: s.string(),
9
10
  phone: s.string(),
11
+ avatar: person_avatar_1.avatarSchema.optional(),
10
12
  audit: audit_1.auditSchema,
11
13
  });
12
14
  //# sourceMappingURL=person-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"person-schema.js","sourceRoot":"","sources":["../../../../src/core/data/person/person-schema.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AACxD,2CAA6C;AAE7C,MAAM,CAAC,GAAG,IAAI,wBAAQ,EAAE,CAAA;AAEX,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,mBAAW;CACnB,CAAC,CAAA"}
1
+ {"version":3,"file":"person-schema.js","sourceRoot":"","sources":["../../../../src/core/data/person/person-schema.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AACxD,2CAA6C;AAC7C,mDAA8C;AAE9C,MAAM,CAAC,GAAG,IAAI,wBAAQ,EAAE,CAAA;AAEX,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,4BAAY,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,mBAAW;CACnB,CAAC,CAAA"}
@@ -39,6 +39,10 @@ export interface DueItem {
39
39
  overdue: boolean;
40
40
  /** Só em liquidada: quando o dinheiro mexeu. */
41
41
  settledAt?: string;
42
+ /** `platformPayout`: pedidos de uma conta de plataforma agrupados por data de repasse. */
43
+ kind?: 'movement' | 'platformPayout';
44
+ /** Quantos lançamentos o item representa (1 em `movement`). */
45
+ itemCount?: number;
42
46
  }
43
47
  /** Primeiro dia da projeção com saldo abaixo da margem de segurança. */
44
48
  export interface CriticalDayInsight {
@@ -1 +1 @@
1
- {"version":3,"file":"cash-flow-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/cash-flow-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAE/F;;;;GAIG;AAEH,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,0DAA0D;AAC1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,SAAS,EAAE,iBAAiB,CAAA;IAC5B,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAA;IACvD,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE,oDAAoD;IACpD,UAAU,EAAE,UAAU,EAAE,CAAA;IACxB,uEAAuE;IACvE,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B"}
1
+ {"version":3,"file":"cash-flow-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/cash-flow-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAE/F;;;;GAIG;AAEH,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,0DAA0D;AAC1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,SAAS,EAAE,iBAAiB,CAAA;IAC5B,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAA;IACvD,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAA;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAEhD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAA;IACzE,oDAAoD;IACpD,UAAU,EAAE,UAAU,EAAE,CAAA;IACxB,uEAAuE;IACvE,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B"}
@@ -1,5 +1,6 @@
1
1
  import type { CategoryBehavior, DreGroup } from '../financial/financial-category-schema';
2
2
  import type { MovementChannel } from '../financial/financial-movement-schema';
3
+ import type { ReportComparison } from './result-response';
3
4
  /**
4
5
  * Contrato de GET /reports/expenses (fatia 6). Por competência; número cru;
5
6
  * percentuais e variações como fração (0.311 = 31,1%). Spec:
@@ -141,5 +142,7 @@ export interface ExpensesReport {
141
142
  /** Só quando o mês de referência é o mês atual. */
142
143
  projection: ExpensesProjection | null;
143
144
  anomalyRule: ExpensesAnomalyRule;
145
+ /** Base de `previous`/`average3` e das variações (mesmo período no mês atual). */
146
+ comparison: ReportComparison;
144
147
  }
145
148
  //# sourceMappingURL=expenses-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expenses-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/expenses-response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expenses-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/expenses-response.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * (0.36 = 36%); `deltaPoints` em pontos percentuais (2.8 = +2,8 p.p.). Spec:
5
5
  * MintlyApi/specs/modulos-novos/20261013/visao-geral.md.
6
6
  */
7
+ import type { ReportComparison } from './result-response';
7
8
  /** `month` em AAAA-MM (padrão: mês corrente). Os blocos de caixa são sempre de hoje. */
8
9
  export interface OverviewQuery {
9
10
  month?: string;
@@ -86,17 +87,21 @@ export type OverviewInsight = {
86
87
  severity: 'warning';
87
88
  date: string;
88
89
  balance: number;
89
- } | {
90
+ }
91
+ /** `basisMonth`: mês avaliado — no mês atual, o último mês fechado (mesma base do score). */
92
+ | {
90
93
  kind: 'cmvAboveTarget';
91
94
  severity: 'warning';
92
95
  pct: number;
93
96
  targetMax: number;
94
97
  impact: number;
98
+ basisMonth: string;
95
99
  } | {
96
100
  kind: 'primeCostAboveTarget';
97
101
  severity: 'warning';
98
102
  pct: number;
99
103
  targetMax: number;
104
+ basisMonth: string;
100
105
  } | {
101
106
  kind: 'expenseAnomaly';
102
107
  severity: 'warning';
@@ -136,5 +141,7 @@ export interface OverviewReport {
136
141
  insights: OverviewInsight[];
137
142
  revenueVsExpense: RevenueVsExpensePoint[];
138
143
  profitWaterfall: ProfitWaterfall;
144
+ /** Base das variações dos cards (mesmo período no mês atual). */
145
+ comparison: ReportComparison;
139
146
  }
140
147
  //# sourceMappingURL=overview-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/overview-response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/overview-response.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,15 @@ import type { TaxRegime } from '../restaurant/restaurant-schema';
5
5
  * Número cru; taxas e margens como fração (0.109 = 10,9%). Spec:
6
6
  * MintlyApi/specs/modulos-novos/20261012/resultado-dre.md.
7
7
  */
8
+ /**
9
+ * Base das comparações (ajustes, item 1). No mês atual (`samePeriod`) "vs. mês
10
+ * anterior" e "vs. média" usam os mesmos dias (1..`untilDay`) dos meses
11
+ * anteriores; mês fechado (`fullMonth`) compara meses cheios.
12
+ */
13
+ export interface ReportComparison {
14
+ kind: 'samePeriod' | 'fullMonth';
15
+ untilDay: number | null;
16
+ }
8
17
  /** `month` em AAAA-MM; padrão o mês corrente no servidor. */
9
18
  export interface ResultQuery {
10
19
  month?: string;
@@ -79,5 +88,6 @@ export interface ResultReport {
79
88
  breakEven: ResultBreakEven;
80
89
  history: ResultHistoryPoint[];
81
90
  insights: ResultInsight[];
91
+ comparison: ReportComparison;
82
92
  }
83
93
  //# sourceMappingURL=result-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/result-response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-response.d.ts","sourceRoot":"","sources":["../../../../src/core/data/reports/result-response.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mintly-lib",
3
- "version": "2.16.0-preview",
3
+ "version": "2.18.0-preview",
4
4
  "description": "Mintly Library",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",