@alacard-project/shared 1.1.1 → 1.1.2

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 (142) hide show
  1. package/dist/dto/index.d.ts +1 -0
  2. package/dist/dto/index.js +1 -0
  3. package/dist/dto/index.js.map +1 -1
  4. package/dist/dto/invoice.dto.d.ts +12 -0
  5. package/dist/dto/invoice.dto.js +62 -0
  6. package/dist/dto/invoice.dto.js.map +1 -0
  7. package/dist/enums/auth.enum.d.ts +2 -3
  8. package/dist/enums/auth.enum.js +2 -3
  9. package/dist/enums/auth.enum.js.map +1 -1
  10. package/dist/index.d.ts +5 -4
  11. package/dist/index.js +5 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/resilience/circuit-breaker.service.d.ts +2 -3
  14. package/dist/resilience/circuit-breaker.service.js +9 -15
  15. package/dist/resilience/circuit-breaker.service.js.map +1 -1
  16. package/dist/tsconfig.tsbuildinfo +1 -0
  17. package/dist/{filters/http-exception.filter.js → utils/filters.js} +3 -12
  18. package/dist/utils/filters.js.map +1 -0
  19. package/dist/{interceptors/transform.interceptor.d.ts → utils/interceptors.d.ts} +0 -1
  20. package/dist/{interceptors/transform.interceptor.js → utils/interceptors.js} +3 -3
  21. package/dist/utils/interceptors.js.map +1 -0
  22. package/dist/utils/tracing.utils.js +7 -0
  23. package/dist/utils/tracing.utils.js.map +1 -0
  24. package/package.json +25 -27
  25. package/dist/config/base-config.service.d.ts +0 -25
  26. package/dist/config/base-config.service.js +0 -87
  27. package/dist/config/base-config.service.js.map +0 -1
  28. package/dist/constants/logging.constants.d.ts +0 -24
  29. package/dist/constants/logging.constants.js +0 -28
  30. package/dist/constants/logging.constants.js.map +0 -1
  31. package/dist/constants/monitoring.constants.d.ts +0 -51
  32. package/dist/constants/monitoring.constants.js +0 -55
  33. package/dist/constants/monitoring.constants.js.map +0 -1
  34. package/dist/constants/tokens.constants.d.ts +0 -6
  35. package/dist/constants/tokens.constants.js +0 -10
  36. package/dist/constants/tokens.constants.js.map +0 -1
  37. package/dist/filters/http-exception.filter.js.map +0 -1
  38. package/dist/filters/index.d.ts +0 -1
  39. package/dist/filters/index.js +0 -18
  40. package/dist/filters/index.js.map +0 -1
  41. package/dist/interceptors/http-logging.interceptor.d.ts +0 -10
  42. package/dist/interceptors/http-logging.interceptor.js +0 -74
  43. package/dist/interceptors/http-logging.interceptor.js.map +0 -1
  44. package/dist/interceptors/index.d.ts +0 -2
  45. package/dist/interceptors/index.js +0 -19
  46. package/dist/interceptors/index.js.map +0 -1
  47. package/dist/interceptors/logging.interceptor.d.ts +0 -6
  48. package/dist/interceptors/logging.interceptor.js +0 -41
  49. package/dist/interceptors/logging.interceptor.js.map +0 -1
  50. package/dist/interceptors/transform.interceptor.js.map +0 -1
  51. package/dist/observability/index.d.ts +0 -2
  52. package/dist/observability/index.js +0 -19
  53. package/dist/observability/index.js.map +0 -1
  54. package/dist/observability/metrics/metrics.module.d.ts +0 -2
  55. package/dist/observability/metrics/metrics.module.js +0 -28
  56. package/dist/observability/metrics/metrics.module.js.map +0 -1
  57. package/dist/observability/tracing.js +0 -28
  58. package/dist/observability/tracing.js.map +0 -1
  59. package/dist/utils/logging-client.d.ts +0 -9
  60. package/dist/utils/logging-client.js +0 -58
  61. package/dist/utils/logging-client.js.map +0 -1
  62. package/dist/utils/prometheus.utils.d.ts +0 -9
  63. package/dist/utils/prometheus.utils.js +0 -66
  64. package/dist/utils/prometheus.utils.js.map +0 -1
  65. package/proto/auth.proto +0 -123
  66. package/proto/card.proto +0 -43
  67. package/proto/client.proto +0 -45
  68. package/proto/config.proto +0 -39
  69. package/proto/dbf.proto +0 -183
  70. package/proto/logging.proto +0 -143
  71. package/proto/partner.proto +0 -18
  72. package/proto/terminal.proto +0 -18
  73. package/proto/transaction.proto +0 -45
  74. package/proto/user.proto +0 -122
  75. package/src/constants/auth-config.constants.ts +0 -16
  76. package/src/constants/auth.constants.ts +0 -50
  77. package/src/constants/common.constants.ts +0 -16
  78. package/src/constants/env.constants.ts +0 -49
  79. package/src/constants/error-messages.ts +0 -10
  80. package/src/constants/grpc.constants.ts +0 -43
  81. package/src/constants/http.constants.ts +0 -11
  82. package/src/constants/index.ts +0 -11
  83. package/src/constants/logging-messages.constants.ts +0 -60
  84. package/src/constants/microservices.constants.ts +0 -62
  85. package/src/constants/queue.constants.ts +0 -8
  86. package/src/constants/routes.constants.ts +0 -21
  87. package/src/contracts/auth.contract.ts +0 -146
  88. package/src/contracts/config.contract.ts +0 -14
  89. package/src/contracts/index.ts +0 -14
  90. package/src/contracts/logging.contract.ts +0 -115
  91. package/src/contracts/token.contract.ts +0 -47
  92. package/src/decorators/index.ts +0 -3
  93. package/src/decorators/permissions.decorator.ts +0 -5
  94. package/src/decorators/roles.decorator.ts +0 -5
  95. package/src/decorators/scopes.decorator.ts +0 -4
  96. package/src/dto/account.dto.ts +0 -28
  97. package/src/dto/auth.dto.ts +0 -233
  98. package/src/dto/card.dto.ts +0 -64
  99. package/src/dto/client.dto.ts +0 -137
  100. package/src/dto/index.ts +0 -8
  101. package/src/dto/logging.dto.ts +0 -101
  102. package/src/dto/partner.dto.ts +0 -18
  103. package/src/dto/transaction.dto.ts +0 -52
  104. package/src/dto/user.dto.ts +0 -28
  105. package/src/enums/auth.enum.ts +0 -13
  106. package/src/enums/env.enum.ts +0 -7
  107. package/src/enums/error.enum.ts +0 -28
  108. package/src/enums/events.enum.ts +0 -22
  109. package/src/enums/health.enum.ts +0 -7
  110. package/src/enums/iam.enum.ts +0 -28
  111. package/src/enums/index.ts +0 -10
  112. package/src/enums/logging.enum.ts +0 -7
  113. package/src/enums/notification.enum.ts +0 -5
  114. package/src/enums/permission.enum.ts +0 -31
  115. package/src/enums/user.enum.ts +0 -27
  116. package/src/errors/app.error.ts +0 -33
  117. package/src/errors/error-map.ts +0 -105
  118. package/src/filters/http-exception.filter.ts +0 -49
  119. package/src/filters/index.ts +0 -2
  120. package/src/index.ts +0 -17
  121. package/src/interceptors/index.ts +0 -3
  122. package/src/interceptors/logging.interceptor.ts +0 -37
  123. package/src/interceptors/transform.interceptor.ts +0 -21
  124. package/src/observability/index.ts +0 -3
  125. package/src/observability/metrics/metrics.module.ts +0 -16
  126. package/src/observability/tracing.ts +0 -33
  127. package/src/resilience/circuit-breaker.service.ts +0 -46
  128. package/src/resilience/resilience.module.ts +0 -9
  129. package/src/types/auth.types.ts +0 -38
  130. package/src/types/common.types.ts +0 -18
  131. package/src/types/config.types.ts +0 -32
  132. package/src/types/iam.types.ts +0 -78
  133. package/src/types/index.ts +0 -6
  134. package/src/types/monitoring.types.ts +0 -77
  135. package/src/types/user.types.ts +0 -11
  136. package/src/utils/app.utils.ts +0 -52
  137. package/src/utils/health.utils.ts +0 -24
  138. package/src/utils/proto-path.ts +0 -21
  139. package/src/utils/user.utils.ts +0 -3
  140. package/tsconfig.json +0 -28
  141. /package/dist/{filters/http-exception.filter.d.ts → utils/filters.d.ts} +0 -0
  142. /package/dist/{observability/tracing.d.ts → utils/tracing.utils.d.ts} +0 -0
@@ -1,64 +0,0 @@
1
- import { IsString, IsOptional, IsNumber, IsDate } from 'class-validator';
2
- import { Type } from 'class-transformer';
3
-
4
- export class CreateCardDto {
5
- @IsString()
6
- cardNumber!: string;
7
-
8
- @IsOptional()
9
- @IsString()
10
- clientId?: string;
11
-
12
- @IsOptional()
13
- @IsString()
14
- accountId?: string;
15
-
16
- @IsOptional()
17
- @IsString()
18
- cardType?: string;
19
-
20
- @IsOptional()
21
- @IsString()
22
- cardStatus?: string;
23
-
24
- @IsOptional()
25
- @Type(() => Date)
26
- @IsDate()
27
- issuedAt?: Date;
28
-
29
- @IsOptional()
30
- @Type(() => Date)
31
- @IsDate()
32
- expiresAt?: Date;
33
-
34
- @IsOptional()
35
- @IsNumber()
36
- balance?: number;
37
- }
38
-
39
- export class UpdateCardDto {
40
- @IsOptional()
41
- @IsString()
42
- clientId?: string;
43
-
44
- @IsOptional()
45
- @IsString()
46
- accountId?: string;
47
-
48
- @IsOptional()
49
- @IsString()
50
- cardType?: string;
51
-
52
- @IsOptional()
53
- @IsString()
54
- cardStatus?: string;
55
-
56
- @IsOptional()
57
- @Type(() => Date)
58
- @IsDate()
59
- expiresAt?: Date;
60
-
61
- @IsOptional()
62
- @IsNumber()
63
- balance?: number;
64
- }
@@ -1,137 +0,0 @@
1
- import { IsString, IsOptional, IsBoolean, IsArray, ValidateNested, IsNumber, IsEnum, IsObject } from 'class-validator';
2
- import { Type } from 'class-transformer';
3
- import { RegisterDto } from './auth.dto';
4
-
5
- export class CreateClientContactDto {
6
- @IsString()
7
- contactType!: string;
8
-
9
- @IsString()
10
- value!: string;
11
-
12
- @IsOptional()
13
- @IsBoolean()
14
- isPrimary?: boolean;
15
- }
16
-
17
- export class CreateClientDetailDto {
18
- @IsString()
19
- detailType!: string;
20
-
21
- @IsString()
22
- value!: string;
23
-
24
- @IsOptional()
25
- @IsBoolean()
26
- isActive?: boolean;
27
- }
28
-
29
- export class CreateClientDto {
30
- @IsString()
31
- clientNumber!: string;
32
-
33
- @IsOptional()
34
- @IsString()
35
- clientNumberFormatted?: string;
36
-
37
- @IsString()
38
- clientType!: string;
39
-
40
- @IsOptional()
41
- @IsString()
42
- shortName?: string;
43
-
44
- @IsString()
45
- fullName!: string;
46
-
47
- @IsOptional()
48
- @IsBoolean()
49
- isActive?: boolean;
50
-
51
- @IsOptional()
52
- @IsArray()
53
- @ValidateNested({ each: true })
54
- @Type(() => CreateClientContactDto)
55
- contacts?: CreateClientContactDto[];
56
-
57
- @IsOptional()
58
- @IsArray()
59
- @ValidateNested({ each: true })
60
- @Type(() => CreateClientDetailDto)
61
- details?: CreateClientDetailDto[];
62
-
63
- @IsOptional()
64
- @ValidateNested()
65
- @Type(() => RegisterDto)
66
- adminUser?: RegisterDto;
67
- }
68
-
69
- export class UpdateClientDto {
70
- @IsOptional()
71
- @IsString()
72
- clientNumber?: string;
73
-
74
- @IsOptional()
75
- @IsString()
76
- clientNumberFormatted?: string;
77
-
78
- @IsOptional()
79
- @IsString()
80
- clientType?: string;
81
-
82
- @IsOptional()
83
- @IsString()
84
- shortName?: string;
85
-
86
- @IsOptional()
87
- @IsString()
88
- fullName?: string;
89
-
90
- @IsOptional()
91
- @IsBoolean()
92
- isActive?: boolean;
93
-
94
- @IsOptional()
95
- @IsArray()
96
- @ValidateNested({ each: true })
97
- @Type(() => CreateClientContactDto)
98
- contacts?: CreateClientContactDto[];
99
-
100
- @IsOptional()
101
- @IsArray()
102
- @ValidateNested({ each: true })
103
- @Type(() => CreateClientDetailDto)
104
- details?: CreateClientDetailDto[];
105
- }
106
-
107
- export class FindClientsQueryDto {
108
- @IsOptional()
109
- @IsString()
110
- search?: string;
111
-
112
- @IsOptional()
113
- @IsString()
114
- searchType?: string;
115
-
116
- @IsOptional()
117
- @IsString()
118
- status?: string;
119
-
120
- @IsOptional()
121
- @Type(() => Number)
122
- @IsNumber()
123
- skip?: number;
124
-
125
- @IsOptional()
126
- @Type(() => Number)
127
- @IsNumber()
128
- take?: number;
129
-
130
- @IsOptional()
131
- @IsString()
132
- sortBy?: string;
133
-
134
- @IsOptional()
135
- @IsString()
136
- sortOrder?: 'asc' | 'desc';
137
- }
package/src/dto/index.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from './logging.dto';
2
- export * from './auth.dto';
3
- export * from './client.dto';
4
- export * from './transaction.dto';
5
- export * from './card.dto';
6
- export * from './partner.dto';
7
- export * from './user.dto';
8
- export * from './account.dto';
@@ -1,101 +0,0 @@
1
- import { IsOptional, IsString, IsEnum, IsDateString, IsInt, Min, Max } from 'class-validator';
2
- import { Type } from 'class-transformer';
3
- import { LogLevel } from '../enums';
4
-
5
- export class LogFilterDto {
6
- @IsOptional()
7
- @IsDateString()
8
- startDate?: string;
9
-
10
- @IsOptional()
11
- @IsDateString()
12
- endDate?: string;
13
-
14
- @IsOptional()
15
- @IsString()
16
- serviceName?: string;
17
-
18
- @IsOptional()
19
- @IsEnum(LogLevel)
20
- level?: LogLevel;
21
-
22
- @IsOptional()
23
- @IsString()
24
- userId?: string;
25
-
26
- @IsOptional()
27
- @IsString()
28
- requestId?: string;
29
-
30
- @IsOptional()
31
- @Type(() => Number)
32
- @IsInt()
33
- @Min(1)
34
- page?: number = 1;
35
-
36
- @IsOptional()
37
- @Type(() => Number)
38
- @IsInt()
39
- @Min(1)
40
- @Max(100)
41
- pageSize?: number = 20;
42
- }
43
-
44
- export class LogCleanupDto {
45
- @IsDateString()
46
- startDate!: string;
47
-
48
- @IsDateString()
49
- endDate!: string;
50
-
51
- @IsOptional()
52
- @IsString()
53
- serviceName?: string;
54
-
55
- @IsOptional()
56
- @IsEnum(LogLevel)
57
- level?: LogLevel;
58
- }
59
-
60
- export class RetentionPeriodDto {
61
- @Type(() => Number)
62
- @IsInt()
63
- @Min(1)
64
- @Max(365)
65
- retentionDays!: number;
66
- }
67
-
68
- export class UserActionFilterDto {
69
- @IsOptional()
70
- @IsDateString()
71
- startDate?: string;
72
-
73
- @IsOptional()
74
- @IsDateString()
75
- endDate?: string;
76
-
77
- @IsOptional()
78
- @IsString()
79
- userId?: string;
80
-
81
- @IsOptional()
82
- @IsString()
83
- action?: string;
84
-
85
- @IsOptional()
86
- @IsString()
87
- resource?: string;
88
-
89
- @IsOptional()
90
- @Type(() => Number)
91
- @IsInt()
92
- @Min(1)
93
- page?: number = 1;
94
-
95
- @IsOptional()
96
- @Type(() => Number)
97
- @IsInt()
98
- @Min(1)
99
- @Max(100)
100
- pageSize?: number = 20;
101
- }
@@ -1,18 +0,0 @@
1
- import { IsString, IsOptional, IsBoolean, ValidateNested, IsObject } from 'class-validator';
2
- import { Type } from 'class-transformer';
3
- import { RegisterDto } from './auth.dto';
4
-
5
- export class PartnerDto {
6
- @IsString()
7
- name!: string;
8
-
9
- @IsString()
10
- type!: string;
11
-
12
- @IsOptional()
13
- @IsBoolean()
14
- isActive?: boolean;
15
- @IsObject()
16
- @Type(() => RegisterDto)
17
- adminUser?: RegisterDto;
18
- }
@@ -1,52 +0,0 @@
1
- import { IsString, IsOptional, IsNumber, Min, IsUUID } from 'class-validator';
2
- import { Type } from 'class-transformer';
3
- import type { JsonValue } from '../types/common.types';
4
-
5
- export class CreateTransactionDto {
6
- @IsOptional()
7
- @IsString()
8
- externalId?: string;
9
-
10
- @IsString()
11
- cardId!: string;
12
-
13
- @IsNumber()
14
- @Min(0)
15
- amount!: number;
16
-
17
- @IsOptional()
18
- @IsString()
19
- currency?: string;
20
-
21
- @IsOptional()
22
- @IsString()
23
- description?: string;
24
-
25
- @IsOptional()
26
- @IsString()
27
- type?: string;
28
-
29
- @IsOptional()
30
- @IsString()
31
- status?: string;
32
-
33
- @IsOptional()
34
- @IsUUID()
35
- id?: string;
36
-
37
- @IsOptional()
38
- @Type(() => Date)
39
- transactionDate?: Date;
40
-
41
- @IsOptional()
42
- metadata?: any;
43
- }
44
-
45
- export class UpdateTransactionDto {
46
- @IsOptional()
47
- @IsString()
48
- status?: string;
49
-
50
- @IsOptional()
51
- metadata?: JsonValue;
52
- }
@@ -1,28 +0,0 @@
1
- import { IsEmail, IsEnum, IsOptional, IsString, IsUUID } from 'class-validator';
2
- import { UserRole } from '../enums';
3
-
4
- export class UserDto {
5
- @IsUUID()
6
- id!: string;
7
-
8
- @IsEmail()
9
- email!: string;
10
-
11
- @IsString()
12
- @IsOptional()
13
- firstName?: string;
14
-
15
- @IsString()
16
- @IsOptional()
17
- lastName?: string;
18
-
19
- @IsEnum(UserRole)
20
- role!: UserRole;
21
-
22
- @IsString()
23
- @IsOptional()
24
- phoneNumber?: string;
25
-
26
- createdAt!: Date;
27
- updatedAt!: Date;
28
- }
@@ -1,13 +0,0 @@
1
- export enum CredentialStatus {
2
- ACTIVE = 'ACTIVE',
3
- INACTIVE = 'INACTIVE',
4
- LOCKED = 'LOCKED',
5
- SUSPENDED = 'SUSPENDED',
6
- DELETED = 'DELETED',
7
- }
8
-
9
- export enum ServiceTokenType {
10
- API = 'API',
11
- INTERNAL = 'INTERNAL',
12
- WEBHOOK = 'WEBHOOK',
13
- }
@@ -1,7 +0,0 @@
1
- export enum Environment {
2
- DEVELOPMENT = 'development',
3
- STAGING = 'staging',
4
- PRODUCTION = 'production',
5
- TEST = 'test',
6
- LOCAL = 'local',
7
- }
@@ -1,28 +0,0 @@
1
- export enum ErrorCode {
2
- // Auth Errors
3
- AUTH_USER_NOT_FOUND = 'AUTH_USER_NOT_FOUND',
4
- AUTH_USER_ALREADY_EXISTS = 'AUTH_USER_ALREADY_EXISTS',
5
- AUTH_USER_INACTIVE = 'AUTH_USER_INACTIVE',
6
- AUTH_INVALID_PASSWORD = 'AUTH_INVALID_PASSWORD',
7
- AUTH_INVALID_TOKEN = 'AUTH_INVALID_TOKEN',
8
- AUTH_TOKEN_EXPIRED = 'AUTH_TOKEN_EXPIRED',
9
- AUTH_ACCESS_DENIED = 'AUTH_ACCESS_DENIED',
10
- AUTH_INSUFFICIENT_SCOPES = 'AUTH_INSUFFICIENT_SCOPES',
11
- AUTH_INVALID_CREDENTIALS = 'AUTH_INVALID_CREDENTIALS',
12
-
13
- // Config Errors
14
- CONFIG_NOT_FOUND = 'CONFIG_NOT_FOUND',
15
- CONFIG_LOAD_FAILED = 'CONFIG_LOAD_FAILED',
16
-
17
- // Logging Errors
18
- LOG_WRITE_FAILED = 'LOG_WRITE_FAILED',
19
- LOG_READ_FAILED = 'LOG_READ_FAILED',
20
-
21
- // General Errors
22
- INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',
23
- BAD_REQUEST = 'BAD_REQUEST',
24
- NOT_FOUND = 'NOT_FOUND',
25
- VALIDATION_ERROR = 'VALIDATION_ERROR',
26
- AUTH_USER_BLOCKED = 'AUTH_USER_BLOCKED',
27
- INVALID_TOKEN = 'INVALID_TOKEN',
28
- }
@@ -1,22 +0,0 @@
1
- export enum ServiceEventType {
2
- AUTH_USER_REGISTERED = 'auth.user.registered',
3
- AUTH_USER_LOGGED_IN = 'auth.user.logged_in',
4
- AUTH_PASSWORD_RESET_REQUESTED = 'auth.password_reset_requested',
5
- AUTH_PASSWORD_RESET_SUCCESS = 'auth.password_reset_success',
6
- USER_PROFILE_UPDATED = 'user.profile_updated',
7
- USER_DELETED = 'user.deleted',
8
- AUTH_USER_BLOCKED = 'auth.user.blocked',
9
- }
10
-
11
- export interface AuthUserRegisteredEvent {
12
- userId: string;
13
- email: string;
14
- role: string;
15
- occurredAt: Date;
16
- }
17
-
18
- export interface AuthUserBlockedEvent {
19
- userId: string;
20
- reason?: string;
21
- blockedAt: Date;
22
- }
@@ -1,7 +0,0 @@
1
- export enum ServiceHealth {
2
- UP = 'UP',
3
- HEALTHY = 'UP',
4
- DOWN = 'DOWN',
5
- DEGRADED = 'DEGRADED',
6
- MAINTENANCE = 'MAINTENANCE',
7
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Subject Type Enum
3
- * Defines the type of subject in the system (immutable after creation)
4
- */
5
- export enum SubjectType {
6
- EMPLOYEE = 'EMPLOYEE',
7
- CLIENT = 'CLIENT',
8
- PARTNER = 'PARTNER',
9
- }
10
-
11
- /**
12
- * Identifier Type Enum
13
- * Defines the type of login identifier used for authentication
14
- */
15
- export enum IdentifierType {
16
- EMAIL = 'EMAIL',
17
- USERNAME = 'USERNAME',
18
- }
19
-
20
- /**
21
- * Identity Status Enum
22
- * Defines the status of an identity in the IAM system
23
- */
24
- export enum IdentityStatus {
25
- ACTIVE = 'ACTIVE',
26
- BLOCKED = 'BLOCKED',
27
- DELETED = 'DELETED',
28
- }
@@ -1,10 +0,0 @@
1
- export * from './env.enum';
2
- export * from './user.enum';
3
- export * from './iam.enum';
4
- export * from './health.enum';
5
- export * from './logging.enum';
6
- export * from './notification.enum';
7
- export * from './error.enum';
8
- export * from './auth.enum';
9
- export * from './permission.enum';
10
- export * from './events.enum';
@@ -1,7 +0,0 @@
1
- export enum LogLevel {
2
- DEBUG = 'DEBUG',
3
- INFO = 'INFO',
4
- WARN = 'WARN',
5
- ERROR = 'ERROR',
6
- FATAL = 'FATAL',
7
- }
@@ -1,5 +0,0 @@
1
- export enum NotificationType {
2
- EMAIL = 'EMAIL',
3
- SMS = 'SMS',
4
- PUSH = 'PUSH',
5
- }
@@ -1,31 +0,0 @@
1
- export enum PermissionScope {
2
- // User Management
3
- USERS_VIEW = 'users:view',
4
- USERS_MANAGE = 'users:manage',
5
-
6
- // Auth Management
7
- ROLES_MANAGE = 'roles:manage',
8
- PERMISSIONS_MANAGE = 'permissions:manage',
9
-
10
- // Client Management
11
- CLIENTS_VIEW = 'clients:view',
12
- CLIENTS_MANAGE = 'clients:manage',
13
-
14
- // Partner Management
15
- PARTNERS_VIEW = 'partners:view',
16
- PARTNERS_MANAGE = 'partners:manage',
17
-
18
- // Financial/Accounting
19
- INVOICES_VIEW = 'invoices:view',
20
- INVOICES_MANAGE = 'invoices:manage',
21
- TRANSACTIONS_VIEW = 'transactions:view',
22
- TRANSACTIONS_MANAGE = 'transactions:manage',
23
-
24
- // System Config
25
- CONFIG_VIEW = 'config:view',
26
- CONFIG_MANAGE = 'config:manage',
27
-
28
- // Logging/Monitoring
29
- LOGS_VIEW = 'logs:view',
30
- METRICS_VIEW = 'metrics:view',
31
- }
@@ -1,27 +0,0 @@
1
- export enum UserRole {
2
- SUPER_ADMIN = 'SUPER_ADMIN',
3
- ADMIN = 'ADMIN',
4
- MANAGER = 'MANAGER',
5
- ACCOUNTANT = 'ACCOUNTANT',
6
- PARTNER = 'PARTNER',
7
- CLIENT = 'CLIENT',
8
- }
9
-
10
- export enum UserStatus {
11
- ACTIVE = 'ACTIVE',
12
- INACTIVE = 'INACTIVE',
13
- PENDING = 'PENDING',
14
- SUSPENDED = 'SUSPENDED',
15
- BLOCKED = 'BLOCKED',
16
- }
17
-
18
- export enum UserScope {
19
- READ = 'READ',
20
- WRITE = 'WRITE',
21
- DELETE = 'DELETE',
22
- ADMIN = 'ADMIN',
23
- PROFILE_READ = 'PROFILE_READ',
24
- CARDS_READ = 'CARDS_READ',
25
- TRANSACTIONS_READ = 'TRANSACTIONS_READ',
26
- LOGS_READ = 'LOGS_READ',
27
- }
@@ -1,33 +0,0 @@
1
- import { ErrorCode } from '../enums/error.enum';
2
- import { ERROR_MAP } from './error-map';
3
-
4
- export class AppError extends Error {
5
- public readonly code: ErrorCode;
6
- public readonly statusCode: number;
7
- public readonly description?: string;
8
- public readonly metadata?: any;
9
-
10
- constructor(code: ErrorCode, customMessage?: string, metadata?: any) {
11
- const errorDetail = ERROR_MAP[code] || ERROR_MAP[ErrorCode.INTERNAL_SERVER_ERROR];
12
- super(customMessage || errorDetail.message);
13
-
14
- this.code = code;
15
- this.statusCode = errorDetail.statusCode;
16
- this.description = errorDetail.description;
17
- this.metadata = metadata;
18
-
19
- Object.setPrototypeOf(this, AppError.prototype);
20
- }
21
-
22
- toJSON() {
23
- return {
24
- success: false,
25
- error: {
26
- code: this.code,
27
- message: this.message,
28
- description: this.description,
29
- metadata: this.metadata,
30
- },
31
- };
32
- }
33
- }