@alacard-project/shared 1.1.7 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/browser.d.ts +6 -0
  2. package/dist/browser.js +23 -0
  3. package/dist/browser.js.map +1 -0
  4. package/dist/constants/microservices.constants.d.ts +4 -0
  5. package/dist/constants/microservices.constants.js +4 -0
  6. package/dist/constants/microservices.constants.js.map +1 -1
  7. package/dist/contracts/auth.contract.d.ts +25 -0
  8. package/dist/contracts/client.contract.d.ts +30 -0
  9. package/dist/contracts/client.contract.js +3 -0
  10. package/dist/contracts/client.contract.js.map +1 -0
  11. package/dist/contracts/iam.contract.d.ts +51 -0
  12. package/dist/contracts/iam.contract.js +3 -0
  13. package/dist/contracts/iam.contract.js.map +1 -0
  14. package/dist/contracts/index.d.ts +6 -0
  15. package/dist/contracts/index.js +6 -0
  16. package/dist/contracts/index.js.map +1 -1
  17. package/dist/contracts/logging.contract.d.ts +28 -14
  18. package/dist/contracts/notification.contract.d.ts +35 -0
  19. package/dist/contracts/notification.contract.js +3 -0
  20. package/dist/contracts/notification.contract.js.map +1 -0
  21. package/dist/contracts/partner.contract.d.ts +42 -0
  22. package/dist/contracts/partner.contract.js +3 -0
  23. package/dist/contracts/partner.contract.js.map +1 -0
  24. package/dist/contracts/terminal.contract.d.ts +25 -0
  25. package/dist/contracts/terminal.contract.js +3 -0
  26. package/dist/contracts/terminal.contract.js.map +1 -0
  27. package/dist/contracts/transaction.contract.d.ts +8 -2
  28. package/dist/contracts/user.contract.d.ts +37 -0
  29. package/dist/contracts/user.contract.js +3 -0
  30. package/dist/contracts/user.contract.js.map +1 -0
  31. package/dist/contracts/wallet.contract.d.ts +114 -0
  32. package/dist/contracts/wallet.contract.js +24 -0
  33. package/dist/contracts/wallet.contract.js.map +1 -0
  34. package/dist/dto/card.dto.d.ts +9 -0
  35. package/dist/dto/card.dto.js +45 -0
  36. package/dist/dto/card.dto.js.map +1 -1
  37. package/dist/dto/partner.dto.d.ts +1 -0
  38. package/dist/dto/partner.dto.js +5 -0
  39. package/dist/dto/partner.dto.js.map +1 -1
  40. package/dist/dto/transaction.dto.d.ts +5 -0
  41. package/dist/dto/transaction.dto.js +21 -0
  42. package/dist/dto/transaction.dto.js.map +1 -1
  43. package/dist/dto/user.dto.d.ts +6 -0
  44. package/dist/dto/user.dto.js +30 -0
  45. package/dist/dto/user.dto.js.map +1 -1
  46. package/dist/enums/card.enum.d.ts +4 -0
  47. package/dist/enums/card.enum.js +9 -0
  48. package/dist/enums/card.enum.js.map +1 -0
  49. package/dist/enums/index.d.ts +2 -0
  50. package/dist/enums/index.js +2 -0
  51. package/dist/enums/index.js.map +1 -1
  52. package/dist/enums/transaction.enum.d.ts +4 -0
  53. package/dist/enums/transaction.enum.js +9 -0
  54. package/dist/enums/transaction.enum.js.map +1 -0
  55. package/dist/resilience/circuit-breaker.service.d.ts +1 -2
  56. package/dist/resilience/circuit-breaker.service.js +4 -1
  57. package/dist/resilience/circuit-breaker.service.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/dist/types/user.types.d.ts +10 -1
  60. package/dist/utils/app.utils.js +5 -4
  61. package/dist/utils/app.utils.js.map +1 -1
  62. package/package.json +4 -2
@@ -0,0 +1,6 @@
1
+ export * from './enums';
2
+ export * from './constants';
3
+ export * from './types';
4
+ export * from './errors/app.error';
5
+ export * from './errors/error-map';
6
+ export * from './types/logger.interface';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./enums"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./errors/app.error"), exports);
21
+ __exportStar(require("./errors/error-map"), exports);
22
+ __exportStar(require("./types/logger.interface"), exports);
23
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,0CAAwB;AACxB,8CAA4B;AAC5B,0CAAwB;AACxB,qDAAmC;AACnC,qDAAmC;AACnC,2DAAyC"}
@@ -63,4 +63,8 @@ export declare const MICROSERVICES: {
63
63
  readonly SERVICE_NAME: "WalletService";
64
64
  readonly PACKAGE: "wallet";
65
65
  };
66
+ readonly IAM: {
67
+ readonly SERVICE_NAME: "IamService";
68
+ readonly PACKAGE: "iam";
69
+ };
66
70
  };
@@ -66,5 +66,9 @@ exports.MICROSERVICES = {
66
66
  SERVICE_NAME: 'WalletService',
67
67
  PACKAGE: 'wallet',
68
68
  },
69
+ IAM: {
70
+ SERVICE_NAME: 'IamService',
71
+ PACKAGE: 'iam',
72
+ },
69
73
  };
70
74
  //# sourceMappingURL=microservices.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"microservices.constants.js","sourceRoot":"","sources":["../../src/constants/microservices.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACH,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,OAAO;KACnB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,WAAW,EAAE;QACT,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,aAAa;KACzB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,YAAY,EAAE;QACV,YAAY,EAAE,qBAAqB;QACnC,OAAO,EAAE,cAAc;KAC1B;IACD,UAAU,EAAE;QACR,YAAY,EAAE,mBAAmB;QACjC,OAAO,EAAE,YAAY;KACxB;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,UAAU;KACtB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACH,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;CACK,CAAC"}
1
+ {"version":3,"file":"microservices.constants.js","sourceRoot":"","sources":["../../src/constants/microservices.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACH,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,OAAO;KACnB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;IACD,IAAI,EAAE;QACF,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,MAAM;KAClB;IACD,WAAW,EAAE;QACT,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,aAAa;KACzB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,YAAY,EAAE;QACV,YAAY,EAAE,qBAAqB;QACnC,OAAO,EAAE,cAAc;KAC1B;IACD,UAAU,EAAE;QACR,YAAY,EAAE,mBAAmB;QACjC,OAAO,EAAE,YAAY;KACxB;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,iBAAiB;QAC/B,OAAO,EAAE,UAAU;KACtB;IACD,OAAO,EAAE;QACL,YAAY,EAAE,gBAAgB;QAC9B,OAAO,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACH,YAAY,EAAE,cAAc;QAC5B,OAAO,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACJ,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE,QAAQ;KACpB;IACD,GAAG,EAAE;QACD,YAAY,EAAE,YAAY;QAC1B,OAAO,EAAE,KAAK;KACjB;CACK,CAAC"}
@@ -112,6 +112,31 @@ export type DeleteUserResponse = {
112
112
  };
113
113
  export interface IAuthService {
114
114
  login(data: LoginDto): Observable<JwtTokens>;
115
+ verify2FA(data: {
116
+ challengeId: string;
117
+ code: string;
118
+ }): Observable<JwtTokens>;
119
+ requestPasswordReset(data: {
120
+ email: string;
121
+ }): Observable<{
122
+ success: boolean;
123
+ message: string;
124
+ }>;
125
+ resetPassword(data: {
126
+ token: string;
127
+ newPassword: string;
128
+ }): Observable<{
129
+ success: boolean;
130
+ message: string;
131
+ }>;
132
+ changePassword(data: {
133
+ identityId: string;
134
+ oldPassword: string;
135
+ newPassword: string;
136
+ }): Observable<{
137
+ success: boolean;
138
+ message: string;
139
+ }>;
115
140
  generateTokens(data: GenerateTokensRequest): Observable<JwtTokens>;
116
141
  createIdentity(data: CreateIdentityRequest): Observable<{
117
142
  identityId: string;
@@ -0,0 +1,30 @@
1
+ import { Observable } from 'rxjs';
2
+ import { CreateClientDto, UpdateClientDto, FindClientsQueryDto as FindClientsDto } from '../dto/client.dto';
3
+ export interface Client {
4
+ id: string;
5
+ clientNumber: string;
6
+ fullName: string;
7
+ createdAt: string;
8
+ updatedAt: string;
9
+ }
10
+ export interface ClientsResponse {
11
+ clients: Client[];
12
+ total: number;
13
+ }
14
+ export interface ClientStatsResponse {
15
+ totalClients: number;
16
+ activeClients: number;
17
+ newClientsLastMonth: number;
18
+ }
19
+ export interface IClientsService {
20
+ create(data: CreateClientDto): Observable<Client>;
21
+ findAll(data: FindClientsDto): Observable<ClientsResponse>;
22
+ findOne(data: {
23
+ id: string;
24
+ }): Observable<Client>;
25
+ update(data: UpdateClientDto): Observable<Client>;
26
+ remove(data: {
27
+ id: string;
28
+ }): Observable<Client>;
29
+ getStats(data: {}): Observable<ClientStatsResponse>;
30
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=client.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.contract.js","sourceRoot":"","sources":["../../src/contracts/client.contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface IdentityResponse {
3
+ id: string;
4
+ subjectType: string;
5
+ status: string;
6
+ email?: string;
7
+ roles: Array<{
8
+ id: string;
9
+ name: string;
10
+ }>;
11
+ createdAt: string;
12
+ }
13
+ export interface ListIdentitiesRequest {
14
+ skip?: number;
15
+ take?: number;
16
+ roleId?: string;
17
+ status?: string;
18
+ subjectType?: string;
19
+ }
20
+ export interface IIamService {
21
+ getIdentity(data: {
22
+ id: string;
23
+ }): Observable<IdentityResponse>;
24
+ listIdentities(data: ListIdentitiesRequest): Observable<{
25
+ items: IdentityResponse[];
26
+ total: number;
27
+ }>;
28
+ createIdentity(data: any): Observable<IdentityResponse>;
29
+ updateIdentityStatus(data: {
30
+ id: string;
31
+ status: string;
32
+ }): Observable<IdentityResponse>;
33
+ assignRole(data: {
34
+ identityId: string;
35
+ roleId: string;
36
+ }): Observable<{
37
+ success: boolean;
38
+ }>;
39
+ revokeRole(data: {
40
+ identityId: string;
41
+ roleId: string;
42
+ }): Observable<{
43
+ success: boolean;
44
+ }>;
45
+ listRoles(data: {}): Observable<{
46
+ items: Array<{
47
+ id: string;
48
+ name: string;
49
+ }>;
50
+ }>;
51
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=iam.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iam.contract.js","sourceRoot":"","sources":["../../src/contracts/iam.contract.ts"],"names":[],"mappings":""}
@@ -4,3 +4,9 @@ export * from './auth.contract';
4
4
  export * from './token.contract';
5
5
  export * from './card.contract';
6
6
  export * from './transaction.contract';
7
+ export * from './partner.contract';
8
+ export * from './client.contract';
9
+ export * from './iam.contract';
10
+ export * from './wallet.contract';
11
+ export * from './notification.contract';
12
+ export * from './terminal.contract';
@@ -20,4 +20,10 @@ __exportStar(require("./auth.contract"), exports);
20
20
  __exportStar(require("./token.contract"), exports);
21
21
  __exportStar(require("./card.contract"), exports);
22
22
  __exportStar(require("./transaction.contract"), exports);
23
+ __exportStar(require("./partner.contract"), exports);
24
+ __exportStar(require("./client.contract"), exports);
25
+ __exportStar(require("./iam.contract"), exports);
26
+ __exportStar(require("./wallet.contract"), exports);
27
+ __exportStar(require("./notification.contract"), exports);
28
+ __exportStar(require("./terminal.contract"), exports);
23
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC;AAChC,yDAAuC;AACvC,qDAAmC;AACnC,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,0DAAwC;AACxC,sDAAoC"}
@@ -1,17 +1,18 @@
1
- export interface LogEventGrpcRequest {
2
- serviceId: string;
1
+ import { Observable } from 'rxjs';
2
+ export interface LogEventRequest {
3
+ serviceId?: string;
3
4
  serviceName: string;
4
5
  level: string;
5
6
  message: string;
6
- metadata: string;
7
+ metadata?: string;
7
8
  userId?: string;
8
9
  requestId?: string;
9
10
  }
10
- export interface LogEventGrpcResponse {
11
+ export interface LogEventResponse {
11
12
  success: boolean;
12
13
  logId: string;
13
14
  }
14
- export interface LogUserActionGrpcRequest {
15
+ export interface LogUserActionRequest {
15
16
  userId: string;
16
17
  userName: string;
17
18
  action: string;
@@ -20,22 +21,22 @@ export interface LogUserActionGrpcRequest {
20
21
  ipAddress?: string;
21
22
  userAgent?: string;
22
23
  }
23
- export interface LogUserActionGrpcResponse {
24
+ export interface LogUserActionResponse {
24
25
  success: boolean;
25
26
  actionId: string;
26
27
  }
27
- export interface UpdateServiceStatusGrpcRequest {
28
+ export interface UpdateServiceStatusRequest {
28
29
  serviceName: string;
29
30
  status: string;
30
31
  version?: string;
31
32
  uptime?: number;
32
33
  metadata?: string;
33
34
  }
34
- export interface UpdateServiceStatusGrpcResponse {
35
+ export interface UpdateServiceStatusResponse {
35
36
  success: boolean;
36
37
  statusId: string;
37
38
  }
38
- export interface GetServiceLogsGrpcRequest {
39
+ export interface GetServiceLogsRequest {
39
40
  serviceName?: string;
40
41
  level?: string;
41
42
  userId?: string;
@@ -56,11 +57,11 @@ export interface ServiceLogEntry {
56
57
  userId?: string;
57
58
  requestId?: string;
58
59
  }
59
- export interface GetServiceLogsGrpcResponse {
60
+ export interface GetServiceLogsResponse {
60
61
  logs: ServiceLogEntry[];
61
62
  total: number;
62
63
  }
63
- export interface GetServiceStatusGrpcRequest {
64
+ export interface GetServiceStatusRequest {
64
65
  serviceName?: string;
65
66
  }
66
67
  export interface ServiceStatusEntry {
@@ -72,10 +73,10 @@ export interface ServiceStatusEntry {
72
73
  uptime?: number;
73
74
  metadata?: string;
74
75
  }
75
- export interface GetServiceStatusGrpcResponse {
76
+ export interface GetServiceStatusResponse {
76
77
  statuses: ServiceStatusEntry[];
77
78
  }
78
- export interface GetUserActionsGrpcRequest {
79
+ export interface GetUserActionsRequest {
79
80
  userId?: string;
80
81
  action?: string;
81
82
  resource?: string;
@@ -95,7 +96,20 @@ export interface UserActionEntry {
95
96
  ipAddress?: string;
96
97
  userAgent?: string;
97
98
  }
98
- export interface GetUserActionsGrpcResponse {
99
+ export interface GetUserActionsResponse {
99
100
  actions: UserActionEntry[];
100
101
  total: number;
101
102
  }
103
+ export interface ILoggingService {
104
+ logEvent(data: LogEventRequest): Observable<LogEventResponse>;
105
+ logUserAction(data: LogUserActionRequest): Observable<LogUserActionResponse>;
106
+ updateServiceStatus(data: UpdateServiceStatusRequest): Observable<UpdateServiceStatusResponse>;
107
+ getServiceLogs(data: GetServiceLogsRequest): Observable<GetServiceLogsResponse>;
108
+ getServiceStatus(data: GetServiceStatusRequest): Observable<GetServiceStatusResponse>;
109
+ getUserActions(data: GetUserActionsRequest): Observable<GetUserActionsResponse>;
110
+ getMetrics(data: {
111
+ serviceName?: string;
112
+ }): Observable<{
113
+ metrics: string;
114
+ }>;
115
+ }
@@ -0,0 +1,35 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface NotificationRequest {
3
+ recipient: string;
4
+ type: string;
5
+ template: string;
6
+ payload: Record<string, string>;
7
+ priority: string;
8
+ }
9
+ export interface NotificationResponse {
10
+ success: boolean;
11
+ message: string;
12
+ notificationId?: string;
13
+ }
14
+ export interface GetUserNotificationsRequest {
15
+ userId: string;
16
+ }
17
+ export interface NotificationItem {
18
+ id: string;
19
+ type: string;
20
+ title?: string;
21
+ message: string;
22
+ isRead: boolean;
23
+ createdAt: string;
24
+ }
25
+ export interface GetUserNotificationsResponse {
26
+ notifications: NotificationItem[];
27
+ }
28
+ export interface MarkAsReadRequest {
29
+ notificationId: string;
30
+ }
31
+ export interface INotificationService {
32
+ sendSync(data: NotificationRequest): Observable<NotificationResponse>;
33
+ getUserNotifications(data: GetUserNotificationsRequest): Observable<GetUserNotificationsResponse>;
34
+ markAsRead(data: MarkAsReadRequest): Observable<NotificationResponse>;
35
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=notification.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.contract.js","sourceRoot":"","sources":["../../src/contracts/notification.contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PartnerDto } from '../dto/partner.dto';
3
+ export interface CreatePartnerRequest extends PartnerDto {
4
+ }
5
+ export interface UpdatePartnerRequest extends Partial<PartnerDto> {
6
+ id: string;
7
+ }
8
+ export interface FindAllPartnersRequest {
9
+ page: number;
10
+ limit: number;
11
+ search?: string;
12
+ }
13
+ export interface PartnerResponse {
14
+ id: string;
15
+ name: string;
16
+ type: string;
17
+ status: string;
18
+ createdAt: string;
19
+ }
20
+ export interface PartnersListResponse {
21
+ partners: PartnerResponse[];
22
+ total: number;
23
+ }
24
+ export interface PartnerStatsResponse {
25
+ totalPartners: number;
26
+ activePartners: number;
27
+ pendingPartners: number;
28
+ }
29
+ export interface IPartnerService {
30
+ create(data: CreatePartnerRequest): Observable<PartnerResponse>;
31
+ findAll(data: FindAllPartnersRequest): Observable<PartnersListResponse>;
32
+ findOne(data: {
33
+ id: string;
34
+ }): Observable<PartnerResponse>;
35
+ update(data: UpdatePartnerRequest): Observable<PartnerResponse>;
36
+ remove(data: {
37
+ id: string;
38
+ }): Observable<{
39
+ success: boolean;
40
+ }>;
41
+ getStats(data: {}): Observable<PartnerStatsResponse>;
42
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=partner.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.contract.js","sourceRoot":"","sources":["../../src/contracts/partner.contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface Terminal {
3
+ id: string;
4
+ serialNumber: string;
5
+ model?: string;
6
+ isActive: boolean;
7
+ supportsOnline: boolean;
8
+ posId?: string;
9
+ }
10
+ export interface UpdateTerminalDto {
11
+ isActive?: boolean;
12
+ supportsOnline?: boolean;
13
+ model?: string;
14
+ }
15
+ export interface ITerminalService {
16
+ findOne(data: {
17
+ id: string;
18
+ }): Observable<Terminal>;
19
+ update(data: {
20
+ id: string;
21
+ } & UpdateTerminalDto): Observable<Terminal>;
22
+ findAll(data: {}): Observable<{
23
+ terminals: Terminal[];
24
+ }>;
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=terminal.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.contract.js","sourceRoot":"","sources":["../../src/contracts/terminal.contract.ts"],"names":[],"mappings":""}
@@ -21,6 +21,8 @@ export interface FindTransactionsDto {
21
21
  limit?: number;
22
22
  year?: number;
23
23
  month?: number;
24
+ status?: string;
25
+ processingMode?: string;
24
26
  }
25
27
  export interface SearchTransactionsDto {
26
28
  cardIds: string[];
@@ -29,7 +31,7 @@ export interface SearchTransactionsDto {
29
31
  take?: number;
30
32
  orderBy?: string;
31
33
  }
32
- export interface TransactionsResponse {
34
+ export interface TransactionListResponse {
33
35
  transactions: Transaction[];
34
36
  total: number;
35
37
  }
@@ -44,7 +46,7 @@ export interface StatsResponse {
44
46
  }
45
47
  export interface ITransactionService {
46
48
  create(data: CreateTransactionDto): Observable<Transaction>;
47
- findAll(data: FindTransactionsDto): Observable<TransactionsResponse>;
49
+ findAll(data: FindTransactionsDto): Observable<TransactionListResponse>;
48
50
  search(data: SearchTransactionsDto): Observable<TransactionsResult>;
49
51
  findOne(data: {
50
52
  id: string;
@@ -55,6 +57,10 @@ export interface ITransactionService {
55
57
  update(data: {
56
58
  id: string;
57
59
  } & UpdateTransactionDto): Observable<Transaction>;
60
+ void(data: {
61
+ id: string;
62
+ reason?: string;
63
+ }): Observable<Transaction>;
58
64
  remove(data: {
59
65
  id: string;
60
66
  }): Observable<{
@@ -0,0 +1,37 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface UserResponse {
3
+ id: string;
4
+ email: string;
5
+ role: string;
6
+ isActive: boolean;
7
+ createdAt: string;
8
+ updatedAt: string;
9
+ firstName?: string;
10
+ lastName?: string;
11
+ position?: string;
12
+ department?: string;
13
+ avatar?: string;
14
+ companyName?: string;
15
+ }
16
+ export interface IUserService {
17
+ getUserById(data: {
18
+ userId: string;
19
+ }): Observable<UserResponse>;
20
+ getUserByEmail(data: {
21
+ email: string;
22
+ }): Observable<UserResponse>;
23
+ createUser(data: any): Observable<UserResponse>;
24
+ updateUser(data: any): Observable<UserResponse>;
25
+ updateProfile(data: any): Observable<UserResponse>;
26
+ deleteUser(data: {
27
+ userId: string;
28
+ }): Observable<{
29
+ success: boolean;
30
+ }>;
31
+ findByIdentityId(data: {
32
+ identityId: string;
33
+ }): Observable<UserResponse>;
34
+ findByIdentityIds(data: {
35
+ identityIds: string[];
36
+ }): Observable<UserResponse[]>;
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user.contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.contract.js","sourceRoot":"","sources":["../../src/contracts/user.contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare enum WalletOwnerType {
3
+ PARTNER = 0,
4
+ CLIENT = 1
5
+ }
6
+ export declare enum AllocationStatus {
7
+ PENDING = 0,
8
+ SENT = 1,
9
+ SYNCED = 2,
10
+ FAILED = 3,
11
+ CANCELLED = 4
12
+ }
13
+ export declare enum WalletTxType {
14
+ CREDIT = 0,
15
+ DEBIT = 1,
16
+ FREEZE = 2,
17
+ UNFREEZE = 3
18
+ }
19
+ export interface GetWalletRequest {
20
+ ownerType: WalletOwnerType;
21
+ ownerId: string;
22
+ currency?: string;
23
+ }
24
+ export interface WalletResponse {
25
+ id: string;
26
+ ownerType: WalletOwnerType;
27
+ ownerId: string;
28
+ currency: string;
29
+ freeBalance: string;
30
+ frozenBalance: string;
31
+ createdAt: string;
32
+ updatedAt: string;
33
+ recentAllocations?: AllocationOrderResponse[];
34
+ }
35
+ export interface CreditWalletRequest {
36
+ walletId: string;
37
+ amount: string;
38
+ purpose?: string;
39
+ paymentRef?: string;
40
+ reason?: string;
41
+ referenceId?: string;
42
+ createdBy?: string;
43
+ }
44
+ export interface CreditWalletResponse {
45
+ wallet: WalletResponse;
46
+ transaction: WalletTransactionResponse;
47
+ }
48
+ export interface CreateAllocationOrderRequest {
49
+ walletId: string;
50
+ cardId: string;
51
+ cardNumber: string;
52
+ amount: string;
53
+ note?: string;
54
+ createdBy?: string;
55
+ }
56
+ export interface AllocationOrderResponse {
57
+ id: string;
58
+ walletId: string;
59
+ cardId: string;
60
+ cardNumber: string;
61
+ amount: string;
62
+ status: AllocationStatus;
63
+ note?: string;
64
+ requestedAt: string;
65
+ sentAt?: string;
66
+ syncedAt?: string;
67
+ failReason?: string;
68
+ }
69
+ export interface WalletTransactionResponse {
70
+ id: string;
71
+ walletId: string;
72
+ type: WalletTxType;
73
+ purpose?: string;
74
+ amount: string;
75
+ balanceAfter: string;
76
+ reason?: string;
77
+ referenceId?: string;
78
+ paymentRef?: string;
79
+ allocationId?: string;
80
+ createdAt: string;
81
+ createdBy?: string;
82
+ }
83
+ export interface WalletTransactionsResponse {
84
+ data: WalletTransactionResponse[];
85
+ total: number;
86
+ page: number;
87
+ limit: number;
88
+ }
89
+ export interface GetAllocationsRequest {
90
+ walletId: string;
91
+ status?: AllocationStatus;
92
+ }
93
+ export interface AllocationsResponse {
94
+ data: AllocationOrderResponse[];
95
+ }
96
+ export interface IWalletService {
97
+ getWallet(data: GetWalletRequest): Observable<WalletResponse>;
98
+ creditWallet(data: CreditWalletRequest): Observable<CreditWalletResponse>;
99
+ createAllocationOrder(data: CreateAllocationOrderRequest): Observable<AllocationOrderResponse>;
100
+ getPendingAllocations(data: {}): Observable<{
101
+ allocations: AllocationOrderResponse[];
102
+ }>;
103
+ updateAllocationStatus(data: {
104
+ orderId: string;
105
+ status: AllocationStatus;
106
+ failReason?: string;
107
+ }): Observable<AllocationOrderResponse>;
108
+ getTransactions(data: {
109
+ walletId: string;
110
+ page?: number;
111
+ limit?: number;
112
+ }): Observable<WalletTransactionsResponse>;
113
+ getAllocations(data: GetAllocationsRequest): Observable<AllocationsResponse>;
114
+ }