@loyal-ix/loyalix-shared-types 1.0.0
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/README.md +48 -0
- package/dist/index.d.mts +256 -0
- package/dist/index.d.ts +256 -0
- package/dist/index.js +106 -0
- package/dist/index.mjs +77 -0
- package/package.json +42 -0
package/README.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# @loyalix/shared-types
|
|
2
|
+
|
|
3
|
+
Shared TypeScript types, enums, and DTOs for the Loyalix loyalty program platform.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @loyalix/shared-types
|
|
9
|
+
# or
|
|
10
|
+
pnpm add @loyalix/shared-types
|
|
11
|
+
# or
|
|
12
|
+
yarn add @loyalix/shared-types
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { Role, Permission, BusinessStatus } from '@loyalix/shared-types';
|
|
19
|
+
import type { LoginResponseDto, PaginatedResult } from '@loyalix/shared-types';
|
|
20
|
+
|
|
21
|
+
// Use enums
|
|
22
|
+
if (user.role === Role.BUSINESS_OWNER) {
|
|
23
|
+
// ...
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Use types
|
|
27
|
+
const response: LoginResponseDto = await login(credentials);
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Available Exports
|
|
31
|
+
|
|
32
|
+
### Enums
|
|
33
|
+
- `Role` - User roles (USER, ADMIN, BUSINESS_OWNER, BUSINESS_STAFF, CUSTOMER, SUPER_ADMIN)
|
|
34
|
+
- `Permission` - Granular permissions for RBAC
|
|
35
|
+
- `BusinessStatus` - Business status (ACTIVE, INACTIVE, PENDING, SUSPENDED)
|
|
36
|
+
|
|
37
|
+
### DTOs
|
|
38
|
+
- **Auth**: `LoginDto`, `RegisterDto`, `RefreshTokenDto`, `LoginResponseDto`, `LoggedInUserDto`
|
|
39
|
+
- **User**: `CreateUserDto`, `UpdateUserDto`, `UserDto`
|
|
40
|
+
- **Business**: `CreateBusinessDto`, `UpdateBusinessDto`, `BusinessDto`
|
|
41
|
+
- **Customer**: `CreateCustomerDto`, `UpdateCustomerDto`, `CustomerDto`
|
|
42
|
+
- **Loyalty Program**: `CreateLoyaltyProgramDto`, `UpdateLoyaltyProgramDto`, `LoyaltyProgramDto`
|
|
43
|
+
- **Pagination**: `PaginationMeta`, `PaginatedResult`, `PaginationQuery`
|
|
44
|
+
- **API Response**: `SuccessResponse`, `ErrorResponse`, `ErrorDetail`, `ApiResponse`
|
|
45
|
+
|
|
46
|
+
## License
|
|
47
|
+
|
|
48
|
+
MIT
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
declare enum Role {
|
|
2
|
+
USER = "user",
|
|
3
|
+
ADMIN = "admin",
|
|
4
|
+
BUSINESS_OWNER = "business_owner",
|
|
5
|
+
BUSINESS_STAFF = "business_staff",
|
|
6
|
+
CUSTOMER = "customer",
|
|
7
|
+
SUPER_ADMIN = "super_admin"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare enum Permission {
|
|
11
|
+
CREATE_USER = "create_user",
|
|
12
|
+
READ_USER = "read_user",
|
|
13
|
+
UPDATE_USER = "update_user",
|
|
14
|
+
DELETE_USER = "delete_user",
|
|
15
|
+
CREATE_BUSINESS = "create_business",
|
|
16
|
+
READ_BUSINESS = "read_business",
|
|
17
|
+
UPDATE_BUSINESS = "update_business",
|
|
18
|
+
DELETE_BUSINESS = "delete_business",
|
|
19
|
+
CREATE_CUSTOMER = "create_customer",
|
|
20
|
+
READ_CUSTOMER = "read_customer",
|
|
21
|
+
UPDATE_CUSTOMER = "update_customer",
|
|
22
|
+
DELETE_CUSTOMER = "delete_customer",
|
|
23
|
+
CREATE_LOYALTY_PROGRAM = "create_loyalty_program",
|
|
24
|
+
READ_LOYALTY_PROGRAM = "read_loyalty_program",
|
|
25
|
+
UPDATE_LOYALTY_PROGRAM = "update_loyalty_program",
|
|
26
|
+
DELETE_LOYALTY_PROGRAM = "delete_loyalty_program",
|
|
27
|
+
CREATE_PROGRAM_RULE = "create_program_rule",
|
|
28
|
+
READ_PROGRAM_RULE = "read_program_rule",
|
|
29
|
+
UPDATE_PROGRAM_RULE = "update_program_rule",
|
|
30
|
+
DELETE_PROGRAM_RULE = "delete_program_rule",
|
|
31
|
+
CREATE_REWARD_TYPE = "create_reward_type",
|
|
32
|
+
READ_REWARD_TYPE = "read_reward_type",
|
|
33
|
+
UPDATE_REWARD_TYPE = "update_reward_type",
|
|
34
|
+
DELETE_REWARD_TYPE = "delete_reward_type",
|
|
35
|
+
CREATE_PROMOTION = "create_promotion",
|
|
36
|
+
READ_PROMOTION = "read_promotion",
|
|
37
|
+
UPDATE_PROMOTION = "update_promotion",
|
|
38
|
+
DELETE_PROMOTION = "delete_promotion",
|
|
39
|
+
CREATE_NOTIFICATION = "create_notification",
|
|
40
|
+
READ_NOTIFICATION = "read_notification",
|
|
41
|
+
UPDATE_NOTIFICATION = "update_notification",
|
|
42
|
+
DELETE_NOTIFICATION = "delete_notification",
|
|
43
|
+
CREATE_QRCODE = "create_qrcode",
|
|
44
|
+
READ_QRCODE = "read_qrcode",
|
|
45
|
+
UPDATE_QRCODE = "update_qrcode",
|
|
46
|
+
DELETE_QRCODE = "delete_qrcode",
|
|
47
|
+
CREATE_ROLE = "create_role",
|
|
48
|
+
READ_ROLE = "read_role",
|
|
49
|
+
UPDATE_ROLE = "update_role",
|
|
50
|
+
DELETE_ROLE = "delete_role",
|
|
51
|
+
CREATE_PERMISSION = "create_permission",
|
|
52
|
+
READ_PERMISSION = "read_permission",
|
|
53
|
+
UPDATE_PERMISSION = "update_permission",
|
|
54
|
+
DELETE_PERMISSION = "delete_permission",
|
|
55
|
+
CREATE_BUSINESS_TYPE = "create_business_type",
|
|
56
|
+
READ_BUSINESS_TYPE = "read_business_type",
|
|
57
|
+
UPDATE_BUSINESS_TYPE = "update_business_type",
|
|
58
|
+
DELETE_BUSINESS_TYPE = "delete_business_type"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare enum BusinessStatus {
|
|
62
|
+
ACTIVE = "active",
|
|
63
|
+
INACTIVE = "inactive",
|
|
64
|
+
PENDING = "pending",
|
|
65
|
+
SUSPENDED = "suspended"
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface SuccessResponse<T> {
|
|
69
|
+
success: true;
|
|
70
|
+
data: T;
|
|
71
|
+
}
|
|
72
|
+
interface ErrorDetail {
|
|
73
|
+
field?: string;
|
|
74
|
+
message: string;
|
|
75
|
+
}
|
|
76
|
+
interface ErrorResponse {
|
|
77
|
+
error: {
|
|
78
|
+
code: string;
|
|
79
|
+
message: string;
|
|
80
|
+
details?: ErrorDetail[];
|
|
81
|
+
documentation_url?: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
type ApiResponse<T> = SuccessResponse<T> | ErrorResponse;
|
|
85
|
+
|
|
86
|
+
interface PaginationMeta {
|
|
87
|
+
total: number;
|
|
88
|
+
page: number;
|
|
89
|
+
limit: number;
|
|
90
|
+
totalPages: number;
|
|
91
|
+
}
|
|
92
|
+
interface PaginatedResult<T> {
|
|
93
|
+
items: T[];
|
|
94
|
+
meta: PaginationMeta;
|
|
95
|
+
}
|
|
96
|
+
interface PaginationQuery {
|
|
97
|
+
page?: number;
|
|
98
|
+
limit?: number;
|
|
99
|
+
sortBy?: string;
|
|
100
|
+
sortOrder?: 'asc' | 'desc';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface LoginDto {
|
|
104
|
+
email: string;
|
|
105
|
+
password: string;
|
|
106
|
+
}
|
|
107
|
+
interface RegisterDto {
|
|
108
|
+
email: string;
|
|
109
|
+
password: string;
|
|
110
|
+
accountType: 'customer' | 'business';
|
|
111
|
+
customer?: {
|
|
112
|
+
firstName?: string;
|
|
113
|
+
lastName?: string;
|
|
114
|
+
phoneNumber?: string;
|
|
115
|
+
};
|
|
116
|
+
business?: {
|
|
117
|
+
name: string;
|
|
118
|
+
description?: string;
|
|
119
|
+
phone?: string;
|
|
120
|
+
address?: string;
|
|
121
|
+
city?: string;
|
|
122
|
+
state?: string;
|
|
123
|
+
zipCode?: string;
|
|
124
|
+
country?: string;
|
|
125
|
+
businessTypeId?: string;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
interface RefreshTokenDto {
|
|
129
|
+
refreshToken: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
interface LoggedInUserDto {
|
|
133
|
+
id: string;
|
|
134
|
+
email: string;
|
|
135
|
+
roles: string[];
|
|
136
|
+
isVerified: boolean;
|
|
137
|
+
customer?: {
|
|
138
|
+
id: string;
|
|
139
|
+
firstName?: string;
|
|
140
|
+
lastName?: string;
|
|
141
|
+
phoneNumber?: string;
|
|
142
|
+
};
|
|
143
|
+
staffProfile?: {
|
|
144
|
+
id: string;
|
|
145
|
+
businessId: string;
|
|
146
|
+
position?: string;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
interface LoginResponseDto {
|
|
150
|
+
accessToken: string;
|
|
151
|
+
refreshToken: string;
|
|
152
|
+
accessTokenExpiresIn: number;
|
|
153
|
+
user: LoggedInUserDto;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
interface CreateUserDto {
|
|
157
|
+
email: string;
|
|
158
|
+
password: string;
|
|
159
|
+
username?: string;
|
|
160
|
+
firstName?: string;
|
|
161
|
+
lastName?: string;
|
|
162
|
+
phoneNumber?: string;
|
|
163
|
+
isVerified?: boolean;
|
|
164
|
+
emailVerificationToken?: string;
|
|
165
|
+
}
|
|
166
|
+
interface UpdateUserDto {
|
|
167
|
+
email?: string;
|
|
168
|
+
username?: string;
|
|
169
|
+
firstName?: string;
|
|
170
|
+
lastName?: string;
|
|
171
|
+
phoneNumber?: string;
|
|
172
|
+
isVerified?: boolean;
|
|
173
|
+
}
|
|
174
|
+
interface UserDto {
|
|
175
|
+
id: string;
|
|
176
|
+
email: string;
|
|
177
|
+
username?: string;
|
|
178
|
+
firstName?: string;
|
|
179
|
+
lastName?: string;
|
|
180
|
+
phoneNumber?: string;
|
|
181
|
+
isVerified: boolean;
|
|
182
|
+
createdAt: string;
|
|
183
|
+
updatedAt: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface CreateBusinessDto {
|
|
187
|
+
name: string;
|
|
188
|
+
email: string;
|
|
189
|
+
owner: string;
|
|
190
|
+
industryType: string;
|
|
191
|
+
phone?: string;
|
|
192
|
+
address?: string;
|
|
193
|
+
ownerFirstName?: string;
|
|
194
|
+
ownerLastName?: string;
|
|
195
|
+
description?: string;
|
|
196
|
+
}
|
|
197
|
+
interface UpdateBusinessDto {
|
|
198
|
+
name?: string;
|
|
199
|
+
email?: string;
|
|
200
|
+
phone?: string;
|
|
201
|
+
address?: string;
|
|
202
|
+
description?: string;
|
|
203
|
+
industryType?: string;
|
|
204
|
+
}
|
|
205
|
+
interface BusinessDto {
|
|
206
|
+
id: string;
|
|
207
|
+
name: string;
|
|
208
|
+
email: string;
|
|
209
|
+
phone?: string;
|
|
210
|
+
address?: string;
|
|
211
|
+
description?: string;
|
|
212
|
+
isActive: boolean;
|
|
213
|
+
createdAt: string;
|
|
214
|
+
updatedAt: string;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
interface CreateCustomerDto {
|
|
218
|
+
userId: string;
|
|
219
|
+
firstName: string;
|
|
220
|
+
lastName: string;
|
|
221
|
+
phoneNumber?: string;
|
|
222
|
+
}
|
|
223
|
+
interface UpdateCustomerDto {
|
|
224
|
+
firstName?: string;
|
|
225
|
+
lastName?: string;
|
|
226
|
+
phoneNumber?: string;
|
|
227
|
+
}
|
|
228
|
+
interface CustomerDto {
|
|
229
|
+
id: string;
|
|
230
|
+
userId: string;
|
|
231
|
+
firstName: string;
|
|
232
|
+
lastName: string;
|
|
233
|
+
phoneNumber?: string;
|
|
234
|
+
createdAt: string;
|
|
235
|
+
updatedAt: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
interface CreateLoyaltyProgramDto {
|
|
239
|
+
businessId: string;
|
|
240
|
+
name: string;
|
|
241
|
+
isActive?: boolean;
|
|
242
|
+
}
|
|
243
|
+
interface UpdateLoyaltyProgramDto {
|
|
244
|
+
name?: string;
|
|
245
|
+
isActive?: boolean;
|
|
246
|
+
}
|
|
247
|
+
interface LoyaltyProgramDto {
|
|
248
|
+
id: string;
|
|
249
|
+
businessId: string;
|
|
250
|
+
name: string;
|
|
251
|
+
isActive: boolean;
|
|
252
|
+
createdAt: string;
|
|
253
|
+
updatedAt: string;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export { type ApiResponse, type BusinessDto, BusinessStatus, type CreateBusinessDto, type CreateCustomerDto, type CreateLoyaltyProgramDto, type CreateUserDto, type CustomerDto, type ErrorDetail, type ErrorResponse, type LoggedInUserDto, type LoginDto, type LoginResponseDto, type LoyaltyProgramDto, type PaginatedResult, type PaginationMeta, type PaginationQuery, Permission, type RefreshTokenDto, type RegisterDto, Role, type SuccessResponse, type UpdateBusinessDto, type UpdateCustomerDto, type UpdateLoyaltyProgramDto, type UpdateUserDto, type UserDto };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
declare enum Role {
|
|
2
|
+
USER = "user",
|
|
3
|
+
ADMIN = "admin",
|
|
4
|
+
BUSINESS_OWNER = "business_owner",
|
|
5
|
+
BUSINESS_STAFF = "business_staff",
|
|
6
|
+
CUSTOMER = "customer",
|
|
7
|
+
SUPER_ADMIN = "super_admin"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare enum Permission {
|
|
11
|
+
CREATE_USER = "create_user",
|
|
12
|
+
READ_USER = "read_user",
|
|
13
|
+
UPDATE_USER = "update_user",
|
|
14
|
+
DELETE_USER = "delete_user",
|
|
15
|
+
CREATE_BUSINESS = "create_business",
|
|
16
|
+
READ_BUSINESS = "read_business",
|
|
17
|
+
UPDATE_BUSINESS = "update_business",
|
|
18
|
+
DELETE_BUSINESS = "delete_business",
|
|
19
|
+
CREATE_CUSTOMER = "create_customer",
|
|
20
|
+
READ_CUSTOMER = "read_customer",
|
|
21
|
+
UPDATE_CUSTOMER = "update_customer",
|
|
22
|
+
DELETE_CUSTOMER = "delete_customer",
|
|
23
|
+
CREATE_LOYALTY_PROGRAM = "create_loyalty_program",
|
|
24
|
+
READ_LOYALTY_PROGRAM = "read_loyalty_program",
|
|
25
|
+
UPDATE_LOYALTY_PROGRAM = "update_loyalty_program",
|
|
26
|
+
DELETE_LOYALTY_PROGRAM = "delete_loyalty_program",
|
|
27
|
+
CREATE_PROGRAM_RULE = "create_program_rule",
|
|
28
|
+
READ_PROGRAM_RULE = "read_program_rule",
|
|
29
|
+
UPDATE_PROGRAM_RULE = "update_program_rule",
|
|
30
|
+
DELETE_PROGRAM_RULE = "delete_program_rule",
|
|
31
|
+
CREATE_REWARD_TYPE = "create_reward_type",
|
|
32
|
+
READ_REWARD_TYPE = "read_reward_type",
|
|
33
|
+
UPDATE_REWARD_TYPE = "update_reward_type",
|
|
34
|
+
DELETE_REWARD_TYPE = "delete_reward_type",
|
|
35
|
+
CREATE_PROMOTION = "create_promotion",
|
|
36
|
+
READ_PROMOTION = "read_promotion",
|
|
37
|
+
UPDATE_PROMOTION = "update_promotion",
|
|
38
|
+
DELETE_PROMOTION = "delete_promotion",
|
|
39
|
+
CREATE_NOTIFICATION = "create_notification",
|
|
40
|
+
READ_NOTIFICATION = "read_notification",
|
|
41
|
+
UPDATE_NOTIFICATION = "update_notification",
|
|
42
|
+
DELETE_NOTIFICATION = "delete_notification",
|
|
43
|
+
CREATE_QRCODE = "create_qrcode",
|
|
44
|
+
READ_QRCODE = "read_qrcode",
|
|
45
|
+
UPDATE_QRCODE = "update_qrcode",
|
|
46
|
+
DELETE_QRCODE = "delete_qrcode",
|
|
47
|
+
CREATE_ROLE = "create_role",
|
|
48
|
+
READ_ROLE = "read_role",
|
|
49
|
+
UPDATE_ROLE = "update_role",
|
|
50
|
+
DELETE_ROLE = "delete_role",
|
|
51
|
+
CREATE_PERMISSION = "create_permission",
|
|
52
|
+
READ_PERMISSION = "read_permission",
|
|
53
|
+
UPDATE_PERMISSION = "update_permission",
|
|
54
|
+
DELETE_PERMISSION = "delete_permission",
|
|
55
|
+
CREATE_BUSINESS_TYPE = "create_business_type",
|
|
56
|
+
READ_BUSINESS_TYPE = "read_business_type",
|
|
57
|
+
UPDATE_BUSINESS_TYPE = "update_business_type",
|
|
58
|
+
DELETE_BUSINESS_TYPE = "delete_business_type"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare enum BusinessStatus {
|
|
62
|
+
ACTIVE = "active",
|
|
63
|
+
INACTIVE = "inactive",
|
|
64
|
+
PENDING = "pending",
|
|
65
|
+
SUSPENDED = "suspended"
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface SuccessResponse<T> {
|
|
69
|
+
success: true;
|
|
70
|
+
data: T;
|
|
71
|
+
}
|
|
72
|
+
interface ErrorDetail {
|
|
73
|
+
field?: string;
|
|
74
|
+
message: string;
|
|
75
|
+
}
|
|
76
|
+
interface ErrorResponse {
|
|
77
|
+
error: {
|
|
78
|
+
code: string;
|
|
79
|
+
message: string;
|
|
80
|
+
details?: ErrorDetail[];
|
|
81
|
+
documentation_url?: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
type ApiResponse<T> = SuccessResponse<T> | ErrorResponse;
|
|
85
|
+
|
|
86
|
+
interface PaginationMeta {
|
|
87
|
+
total: number;
|
|
88
|
+
page: number;
|
|
89
|
+
limit: number;
|
|
90
|
+
totalPages: number;
|
|
91
|
+
}
|
|
92
|
+
interface PaginatedResult<T> {
|
|
93
|
+
items: T[];
|
|
94
|
+
meta: PaginationMeta;
|
|
95
|
+
}
|
|
96
|
+
interface PaginationQuery {
|
|
97
|
+
page?: number;
|
|
98
|
+
limit?: number;
|
|
99
|
+
sortBy?: string;
|
|
100
|
+
sortOrder?: 'asc' | 'desc';
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
interface LoginDto {
|
|
104
|
+
email: string;
|
|
105
|
+
password: string;
|
|
106
|
+
}
|
|
107
|
+
interface RegisterDto {
|
|
108
|
+
email: string;
|
|
109
|
+
password: string;
|
|
110
|
+
accountType: 'customer' | 'business';
|
|
111
|
+
customer?: {
|
|
112
|
+
firstName?: string;
|
|
113
|
+
lastName?: string;
|
|
114
|
+
phoneNumber?: string;
|
|
115
|
+
};
|
|
116
|
+
business?: {
|
|
117
|
+
name: string;
|
|
118
|
+
description?: string;
|
|
119
|
+
phone?: string;
|
|
120
|
+
address?: string;
|
|
121
|
+
city?: string;
|
|
122
|
+
state?: string;
|
|
123
|
+
zipCode?: string;
|
|
124
|
+
country?: string;
|
|
125
|
+
businessTypeId?: string;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
interface RefreshTokenDto {
|
|
129
|
+
refreshToken: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
interface LoggedInUserDto {
|
|
133
|
+
id: string;
|
|
134
|
+
email: string;
|
|
135
|
+
roles: string[];
|
|
136
|
+
isVerified: boolean;
|
|
137
|
+
customer?: {
|
|
138
|
+
id: string;
|
|
139
|
+
firstName?: string;
|
|
140
|
+
lastName?: string;
|
|
141
|
+
phoneNumber?: string;
|
|
142
|
+
};
|
|
143
|
+
staffProfile?: {
|
|
144
|
+
id: string;
|
|
145
|
+
businessId: string;
|
|
146
|
+
position?: string;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
interface LoginResponseDto {
|
|
150
|
+
accessToken: string;
|
|
151
|
+
refreshToken: string;
|
|
152
|
+
accessTokenExpiresIn: number;
|
|
153
|
+
user: LoggedInUserDto;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
interface CreateUserDto {
|
|
157
|
+
email: string;
|
|
158
|
+
password: string;
|
|
159
|
+
username?: string;
|
|
160
|
+
firstName?: string;
|
|
161
|
+
lastName?: string;
|
|
162
|
+
phoneNumber?: string;
|
|
163
|
+
isVerified?: boolean;
|
|
164
|
+
emailVerificationToken?: string;
|
|
165
|
+
}
|
|
166
|
+
interface UpdateUserDto {
|
|
167
|
+
email?: string;
|
|
168
|
+
username?: string;
|
|
169
|
+
firstName?: string;
|
|
170
|
+
lastName?: string;
|
|
171
|
+
phoneNumber?: string;
|
|
172
|
+
isVerified?: boolean;
|
|
173
|
+
}
|
|
174
|
+
interface UserDto {
|
|
175
|
+
id: string;
|
|
176
|
+
email: string;
|
|
177
|
+
username?: string;
|
|
178
|
+
firstName?: string;
|
|
179
|
+
lastName?: string;
|
|
180
|
+
phoneNumber?: string;
|
|
181
|
+
isVerified: boolean;
|
|
182
|
+
createdAt: string;
|
|
183
|
+
updatedAt: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface CreateBusinessDto {
|
|
187
|
+
name: string;
|
|
188
|
+
email: string;
|
|
189
|
+
owner: string;
|
|
190
|
+
industryType: string;
|
|
191
|
+
phone?: string;
|
|
192
|
+
address?: string;
|
|
193
|
+
ownerFirstName?: string;
|
|
194
|
+
ownerLastName?: string;
|
|
195
|
+
description?: string;
|
|
196
|
+
}
|
|
197
|
+
interface UpdateBusinessDto {
|
|
198
|
+
name?: string;
|
|
199
|
+
email?: string;
|
|
200
|
+
phone?: string;
|
|
201
|
+
address?: string;
|
|
202
|
+
description?: string;
|
|
203
|
+
industryType?: string;
|
|
204
|
+
}
|
|
205
|
+
interface BusinessDto {
|
|
206
|
+
id: string;
|
|
207
|
+
name: string;
|
|
208
|
+
email: string;
|
|
209
|
+
phone?: string;
|
|
210
|
+
address?: string;
|
|
211
|
+
description?: string;
|
|
212
|
+
isActive: boolean;
|
|
213
|
+
createdAt: string;
|
|
214
|
+
updatedAt: string;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
interface CreateCustomerDto {
|
|
218
|
+
userId: string;
|
|
219
|
+
firstName: string;
|
|
220
|
+
lastName: string;
|
|
221
|
+
phoneNumber?: string;
|
|
222
|
+
}
|
|
223
|
+
interface UpdateCustomerDto {
|
|
224
|
+
firstName?: string;
|
|
225
|
+
lastName?: string;
|
|
226
|
+
phoneNumber?: string;
|
|
227
|
+
}
|
|
228
|
+
interface CustomerDto {
|
|
229
|
+
id: string;
|
|
230
|
+
userId: string;
|
|
231
|
+
firstName: string;
|
|
232
|
+
lastName: string;
|
|
233
|
+
phoneNumber?: string;
|
|
234
|
+
createdAt: string;
|
|
235
|
+
updatedAt: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
interface CreateLoyaltyProgramDto {
|
|
239
|
+
businessId: string;
|
|
240
|
+
name: string;
|
|
241
|
+
isActive?: boolean;
|
|
242
|
+
}
|
|
243
|
+
interface UpdateLoyaltyProgramDto {
|
|
244
|
+
name?: string;
|
|
245
|
+
isActive?: boolean;
|
|
246
|
+
}
|
|
247
|
+
interface LoyaltyProgramDto {
|
|
248
|
+
id: string;
|
|
249
|
+
businessId: string;
|
|
250
|
+
name: string;
|
|
251
|
+
isActive: boolean;
|
|
252
|
+
createdAt: string;
|
|
253
|
+
updatedAt: string;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
export { type ApiResponse, type BusinessDto, BusinessStatus, type CreateBusinessDto, type CreateCustomerDto, type CreateLoyaltyProgramDto, type CreateUserDto, type CustomerDto, type ErrorDetail, type ErrorResponse, type LoggedInUserDto, type LoginDto, type LoginResponseDto, type LoyaltyProgramDto, type PaginatedResult, type PaginationMeta, type PaginationQuery, Permission, type RefreshTokenDto, type RegisterDto, Role, type SuccessResponse, type UpdateBusinessDto, type UpdateCustomerDto, type UpdateLoyaltyProgramDto, type UpdateUserDto, type UserDto };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
BusinessStatus: () => BusinessStatus,
|
|
24
|
+
Permission: () => Permission,
|
|
25
|
+
Role: () => Role
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(index_exports);
|
|
28
|
+
|
|
29
|
+
// src/enums/role.enum.ts
|
|
30
|
+
var Role = /* @__PURE__ */ ((Role2) => {
|
|
31
|
+
Role2["USER"] = "user";
|
|
32
|
+
Role2["ADMIN"] = "admin";
|
|
33
|
+
Role2["BUSINESS_OWNER"] = "business_owner";
|
|
34
|
+
Role2["BUSINESS_STAFF"] = "business_staff";
|
|
35
|
+
Role2["CUSTOMER"] = "customer";
|
|
36
|
+
Role2["SUPER_ADMIN"] = "super_admin";
|
|
37
|
+
return Role2;
|
|
38
|
+
})(Role || {});
|
|
39
|
+
|
|
40
|
+
// src/enums/permission.enum.ts
|
|
41
|
+
var Permission = /* @__PURE__ */ ((Permission2) => {
|
|
42
|
+
Permission2["CREATE_USER"] = "create_user";
|
|
43
|
+
Permission2["READ_USER"] = "read_user";
|
|
44
|
+
Permission2["UPDATE_USER"] = "update_user";
|
|
45
|
+
Permission2["DELETE_USER"] = "delete_user";
|
|
46
|
+
Permission2["CREATE_BUSINESS"] = "create_business";
|
|
47
|
+
Permission2["READ_BUSINESS"] = "read_business";
|
|
48
|
+
Permission2["UPDATE_BUSINESS"] = "update_business";
|
|
49
|
+
Permission2["DELETE_BUSINESS"] = "delete_business";
|
|
50
|
+
Permission2["CREATE_CUSTOMER"] = "create_customer";
|
|
51
|
+
Permission2["READ_CUSTOMER"] = "read_customer";
|
|
52
|
+
Permission2["UPDATE_CUSTOMER"] = "update_customer";
|
|
53
|
+
Permission2["DELETE_CUSTOMER"] = "delete_customer";
|
|
54
|
+
Permission2["CREATE_LOYALTY_PROGRAM"] = "create_loyalty_program";
|
|
55
|
+
Permission2["READ_LOYALTY_PROGRAM"] = "read_loyalty_program";
|
|
56
|
+
Permission2["UPDATE_LOYALTY_PROGRAM"] = "update_loyalty_program";
|
|
57
|
+
Permission2["DELETE_LOYALTY_PROGRAM"] = "delete_loyalty_program";
|
|
58
|
+
Permission2["CREATE_PROGRAM_RULE"] = "create_program_rule";
|
|
59
|
+
Permission2["READ_PROGRAM_RULE"] = "read_program_rule";
|
|
60
|
+
Permission2["UPDATE_PROGRAM_RULE"] = "update_program_rule";
|
|
61
|
+
Permission2["DELETE_PROGRAM_RULE"] = "delete_program_rule";
|
|
62
|
+
Permission2["CREATE_REWARD_TYPE"] = "create_reward_type";
|
|
63
|
+
Permission2["READ_REWARD_TYPE"] = "read_reward_type";
|
|
64
|
+
Permission2["UPDATE_REWARD_TYPE"] = "update_reward_type";
|
|
65
|
+
Permission2["DELETE_REWARD_TYPE"] = "delete_reward_type";
|
|
66
|
+
Permission2["CREATE_PROMOTION"] = "create_promotion";
|
|
67
|
+
Permission2["READ_PROMOTION"] = "read_promotion";
|
|
68
|
+
Permission2["UPDATE_PROMOTION"] = "update_promotion";
|
|
69
|
+
Permission2["DELETE_PROMOTION"] = "delete_promotion";
|
|
70
|
+
Permission2["CREATE_NOTIFICATION"] = "create_notification";
|
|
71
|
+
Permission2["READ_NOTIFICATION"] = "read_notification";
|
|
72
|
+
Permission2["UPDATE_NOTIFICATION"] = "update_notification";
|
|
73
|
+
Permission2["DELETE_NOTIFICATION"] = "delete_notification";
|
|
74
|
+
Permission2["CREATE_QRCODE"] = "create_qrcode";
|
|
75
|
+
Permission2["READ_QRCODE"] = "read_qrcode";
|
|
76
|
+
Permission2["UPDATE_QRCODE"] = "update_qrcode";
|
|
77
|
+
Permission2["DELETE_QRCODE"] = "delete_qrcode";
|
|
78
|
+
Permission2["CREATE_ROLE"] = "create_role";
|
|
79
|
+
Permission2["READ_ROLE"] = "read_role";
|
|
80
|
+
Permission2["UPDATE_ROLE"] = "update_role";
|
|
81
|
+
Permission2["DELETE_ROLE"] = "delete_role";
|
|
82
|
+
Permission2["CREATE_PERMISSION"] = "create_permission";
|
|
83
|
+
Permission2["READ_PERMISSION"] = "read_permission";
|
|
84
|
+
Permission2["UPDATE_PERMISSION"] = "update_permission";
|
|
85
|
+
Permission2["DELETE_PERMISSION"] = "delete_permission";
|
|
86
|
+
Permission2["CREATE_BUSINESS_TYPE"] = "create_business_type";
|
|
87
|
+
Permission2["READ_BUSINESS_TYPE"] = "read_business_type";
|
|
88
|
+
Permission2["UPDATE_BUSINESS_TYPE"] = "update_business_type";
|
|
89
|
+
Permission2["DELETE_BUSINESS_TYPE"] = "delete_business_type";
|
|
90
|
+
return Permission2;
|
|
91
|
+
})(Permission || {});
|
|
92
|
+
|
|
93
|
+
// src/enums/business-status.enum.ts
|
|
94
|
+
var BusinessStatus = /* @__PURE__ */ ((BusinessStatus2) => {
|
|
95
|
+
BusinessStatus2["ACTIVE"] = "active";
|
|
96
|
+
BusinessStatus2["INACTIVE"] = "inactive";
|
|
97
|
+
BusinessStatus2["PENDING"] = "pending";
|
|
98
|
+
BusinessStatus2["SUSPENDED"] = "suspended";
|
|
99
|
+
return BusinessStatus2;
|
|
100
|
+
})(BusinessStatus || {});
|
|
101
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
+
0 && (module.exports = {
|
|
103
|
+
BusinessStatus,
|
|
104
|
+
Permission,
|
|
105
|
+
Role
|
|
106
|
+
});
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// src/enums/role.enum.ts
|
|
2
|
+
var Role = /* @__PURE__ */ ((Role2) => {
|
|
3
|
+
Role2["USER"] = "user";
|
|
4
|
+
Role2["ADMIN"] = "admin";
|
|
5
|
+
Role2["BUSINESS_OWNER"] = "business_owner";
|
|
6
|
+
Role2["BUSINESS_STAFF"] = "business_staff";
|
|
7
|
+
Role2["CUSTOMER"] = "customer";
|
|
8
|
+
Role2["SUPER_ADMIN"] = "super_admin";
|
|
9
|
+
return Role2;
|
|
10
|
+
})(Role || {});
|
|
11
|
+
|
|
12
|
+
// src/enums/permission.enum.ts
|
|
13
|
+
var Permission = /* @__PURE__ */ ((Permission2) => {
|
|
14
|
+
Permission2["CREATE_USER"] = "create_user";
|
|
15
|
+
Permission2["READ_USER"] = "read_user";
|
|
16
|
+
Permission2["UPDATE_USER"] = "update_user";
|
|
17
|
+
Permission2["DELETE_USER"] = "delete_user";
|
|
18
|
+
Permission2["CREATE_BUSINESS"] = "create_business";
|
|
19
|
+
Permission2["READ_BUSINESS"] = "read_business";
|
|
20
|
+
Permission2["UPDATE_BUSINESS"] = "update_business";
|
|
21
|
+
Permission2["DELETE_BUSINESS"] = "delete_business";
|
|
22
|
+
Permission2["CREATE_CUSTOMER"] = "create_customer";
|
|
23
|
+
Permission2["READ_CUSTOMER"] = "read_customer";
|
|
24
|
+
Permission2["UPDATE_CUSTOMER"] = "update_customer";
|
|
25
|
+
Permission2["DELETE_CUSTOMER"] = "delete_customer";
|
|
26
|
+
Permission2["CREATE_LOYALTY_PROGRAM"] = "create_loyalty_program";
|
|
27
|
+
Permission2["READ_LOYALTY_PROGRAM"] = "read_loyalty_program";
|
|
28
|
+
Permission2["UPDATE_LOYALTY_PROGRAM"] = "update_loyalty_program";
|
|
29
|
+
Permission2["DELETE_LOYALTY_PROGRAM"] = "delete_loyalty_program";
|
|
30
|
+
Permission2["CREATE_PROGRAM_RULE"] = "create_program_rule";
|
|
31
|
+
Permission2["READ_PROGRAM_RULE"] = "read_program_rule";
|
|
32
|
+
Permission2["UPDATE_PROGRAM_RULE"] = "update_program_rule";
|
|
33
|
+
Permission2["DELETE_PROGRAM_RULE"] = "delete_program_rule";
|
|
34
|
+
Permission2["CREATE_REWARD_TYPE"] = "create_reward_type";
|
|
35
|
+
Permission2["READ_REWARD_TYPE"] = "read_reward_type";
|
|
36
|
+
Permission2["UPDATE_REWARD_TYPE"] = "update_reward_type";
|
|
37
|
+
Permission2["DELETE_REWARD_TYPE"] = "delete_reward_type";
|
|
38
|
+
Permission2["CREATE_PROMOTION"] = "create_promotion";
|
|
39
|
+
Permission2["READ_PROMOTION"] = "read_promotion";
|
|
40
|
+
Permission2["UPDATE_PROMOTION"] = "update_promotion";
|
|
41
|
+
Permission2["DELETE_PROMOTION"] = "delete_promotion";
|
|
42
|
+
Permission2["CREATE_NOTIFICATION"] = "create_notification";
|
|
43
|
+
Permission2["READ_NOTIFICATION"] = "read_notification";
|
|
44
|
+
Permission2["UPDATE_NOTIFICATION"] = "update_notification";
|
|
45
|
+
Permission2["DELETE_NOTIFICATION"] = "delete_notification";
|
|
46
|
+
Permission2["CREATE_QRCODE"] = "create_qrcode";
|
|
47
|
+
Permission2["READ_QRCODE"] = "read_qrcode";
|
|
48
|
+
Permission2["UPDATE_QRCODE"] = "update_qrcode";
|
|
49
|
+
Permission2["DELETE_QRCODE"] = "delete_qrcode";
|
|
50
|
+
Permission2["CREATE_ROLE"] = "create_role";
|
|
51
|
+
Permission2["READ_ROLE"] = "read_role";
|
|
52
|
+
Permission2["UPDATE_ROLE"] = "update_role";
|
|
53
|
+
Permission2["DELETE_ROLE"] = "delete_role";
|
|
54
|
+
Permission2["CREATE_PERMISSION"] = "create_permission";
|
|
55
|
+
Permission2["READ_PERMISSION"] = "read_permission";
|
|
56
|
+
Permission2["UPDATE_PERMISSION"] = "update_permission";
|
|
57
|
+
Permission2["DELETE_PERMISSION"] = "delete_permission";
|
|
58
|
+
Permission2["CREATE_BUSINESS_TYPE"] = "create_business_type";
|
|
59
|
+
Permission2["READ_BUSINESS_TYPE"] = "read_business_type";
|
|
60
|
+
Permission2["UPDATE_BUSINESS_TYPE"] = "update_business_type";
|
|
61
|
+
Permission2["DELETE_BUSINESS_TYPE"] = "delete_business_type";
|
|
62
|
+
return Permission2;
|
|
63
|
+
})(Permission || {});
|
|
64
|
+
|
|
65
|
+
// src/enums/business-status.enum.ts
|
|
66
|
+
var BusinessStatus = /* @__PURE__ */ ((BusinessStatus2) => {
|
|
67
|
+
BusinessStatus2["ACTIVE"] = "active";
|
|
68
|
+
BusinessStatus2["INACTIVE"] = "inactive";
|
|
69
|
+
BusinessStatus2["PENDING"] = "pending";
|
|
70
|
+
BusinessStatus2["SUSPENDED"] = "suspended";
|
|
71
|
+
return BusinessStatus2;
|
|
72
|
+
})(BusinessStatus || {});
|
|
73
|
+
export {
|
|
74
|
+
BusinessStatus,
|
|
75
|
+
Permission,
|
|
76
|
+
Role
|
|
77
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@loyal-ix/loyalix-shared-types",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Shared TypeScript types for Loyalix frontend and backend",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"tsup": "^8.0.0",
|
|
17
|
+
"typescript": "^5.0.0"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"keywords": [
|
|
23
|
+
"loyalix",
|
|
24
|
+
"types",
|
|
25
|
+
"typescript",
|
|
26
|
+
"dto",
|
|
27
|
+
"shared"
|
|
28
|
+
],
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/loyalix/shared-types.git"
|
|
33
|
+
},
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsup src/index.ts --format cjs,esm --dts",
|
|
39
|
+
"dev": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
40
|
+
"clean": "rm -rf dist"
|
|
41
|
+
}
|
|
42
|
+
}
|