@servemate/dto 1.0.6 → 1.0.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.
- package/README.md +102 -6
- package/dist/dto/global.d.ts +4 -0
- package/dist/dto/global.d.ts.map +1 -1
- package/dist/dto/global.js.map +1 -1
- package/dist/dto/index.d.ts +1 -0
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js +1 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/reservation.dto.d.ts +1042 -0
- package/dist/dto/reservation.dto.d.ts.map +1 -0
- package/dist/dto/reservation.dto.js +211 -0
- package/dist/dto/reservation.dto.js.map +1 -0
- package/dist/dto/tables.dto.d.ts +4 -4
- package/dist/dto/tables.dto.d.ts.map +1 -1
- package/dist/dto/tables.dto.js +10 -6
- package/dist/dto/tables.dto.js.map +1 -1
- package/dist/dto/user.dto.d.ts +12 -12
- package/dist/dto/user.dto.d.ts.map +1 -1
- package/dist/dto/user.dto.js +2 -8
- package/dist/dto/user.dto.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,6 +17,9 @@ npm install @servemate/dto
|
|
|
17
17
|
- Comprehensive enum support
|
|
18
18
|
- Full TypeScript support
|
|
19
19
|
- Zero external dependencies (except Zod)
|
|
20
|
+
- Automatic type inference from schemas
|
|
21
|
+
- Built-in search criteria validation
|
|
22
|
+
- Pagination support for list operations
|
|
20
23
|
|
|
21
24
|
## Available DTOs
|
|
22
25
|
|
|
@@ -27,6 +30,7 @@ npm install @servemate/dto
|
|
|
27
30
|
- `UpdateUserDTO` - For partial user updates
|
|
28
31
|
- `UserSearchDTO` - For user search queries
|
|
29
32
|
- `UserCredentials` - For authentication
|
|
33
|
+
- `UserListResult` - For paginated user lists
|
|
30
34
|
|
|
31
35
|
### Order Management
|
|
32
36
|
|
|
@@ -35,21 +39,30 @@ npm install @servemate/dto
|
|
|
35
39
|
- `OrderUpdateDTO` - For updating orders
|
|
36
40
|
- `OrderSearchDTO` - For order queries
|
|
37
41
|
- `OrderItemDTO` - For individual order items
|
|
42
|
+
- `OrderFullSingleDTO` - Detailed order information
|
|
43
|
+
- `OrderWithItemsDTO` - Order with associated items
|
|
44
|
+
- `GuestItemsDTO` - Guest-specific order items
|
|
45
|
+
- `OrderSearchListResult` - Paginated order search results
|
|
38
46
|
|
|
39
47
|
### Payment Processing
|
|
40
48
|
|
|
41
49
|
- `PaymentDTO` - Complete payment data
|
|
42
50
|
- `PaymentSearchDTO` - For payment queries
|
|
43
51
|
- `RefundDTO` - For refund operations
|
|
52
|
+
- `PaymentListDTO` - For paginated payment lists
|
|
53
|
+
- `PaymentStatusDTO` - Payment status information
|
|
54
|
+
- `PartialPaymentDTO` - For partial payment updates
|
|
44
55
|
|
|
45
56
|
### Table Management
|
|
46
57
|
|
|
47
|
-
- `
|
|
58
|
+
- `TablesDTO` - Complete table data
|
|
48
59
|
- `TableCreateDTO` - For creating tables
|
|
49
60
|
- `TableUpdateDTO` - For updating tables
|
|
50
61
|
- `TableSearchDTO` - For table queries
|
|
51
62
|
- `TableAssignmentDTO` - For server assignments
|
|
52
63
|
- `TableSeatingDTO` - For seating assignments
|
|
64
|
+
- `TableListItem` - Simplified table information
|
|
65
|
+
- `TablesList` - Paginated table list
|
|
53
66
|
|
|
54
67
|
### Menu Items
|
|
55
68
|
|
|
@@ -59,6 +72,10 @@ npm install @servemate/dto
|
|
|
59
72
|
- `CreateDrinkItemDTO` - For creating drink items
|
|
60
73
|
- `UpdateFoodItemDTO` - For updating food items
|
|
61
74
|
- `UpdateDrinkItemDTO` - For updating drink items
|
|
75
|
+
- `FoodItemsListDTO` - Paginated food items list
|
|
76
|
+
- `DrinkItemsListDTO` - Paginated drink items list
|
|
77
|
+
- `SearchFoodItemsDTO` - For food item searches
|
|
78
|
+
- `SearchDrinkItemsDTO` - For drink item searches
|
|
62
79
|
|
|
63
80
|
## Enums
|
|
64
81
|
|
|
@@ -107,6 +124,41 @@ PaymentState.CANCELLED;
|
|
|
107
124
|
PaymentState.PENDING;
|
|
108
125
|
```
|
|
109
126
|
|
|
127
|
+
### Menu Items Related
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import {
|
|
131
|
+
FoodCategory,
|
|
132
|
+
DrinkCategory,
|
|
133
|
+
FoodType,
|
|
134
|
+
SpiceLevel,
|
|
135
|
+
DrinkTemp,
|
|
136
|
+
Allergy,
|
|
137
|
+
} from '@servemate/dto';
|
|
138
|
+
|
|
139
|
+
// Available categories and types
|
|
140
|
+
FoodCategory.APPETIZER;
|
|
141
|
+
DrinkCategory.SOFT_DRINK;
|
|
142
|
+
FoodType.MAIN_COURSE;
|
|
143
|
+
SpiceLevel.NOT_SPICY;
|
|
144
|
+
DrinkTemp.COLD;
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Table Related
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
import { TableCondition, SeatingType } from '@servemate/dto';
|
|
151
|
+
|
|
152
|
+
// Table conditions
|
|
153
|
+
TableCondition.AVAILABLE;
|
|
154
|
+
TableCondition.OCCUPIED;
|
|
155
|
+
TableCondition.RESERVED;
|
|
156
|
+
|
|
157
|
+
// Seating types
|
|
158
|
+
SeatingType.WALK_IN;
|
|
159
|
+
SeatingType.RESERVATION;
|
|
160
|
+
```
|
|
161
|
+
|
|
110
162
|
## Usage Examples
|
|
111
163
|
|
|
112
164
|
### Creating a User
|
|
@@ -131,10 +183,17 @@ const validUser = CreateUserSchema.parse(userData);
|
|
|
131
183
|
import { OrderSchema, OrderState } from '@servemate/dto';
|
|
132
184
|
|
|
133
185
|
const orderData = {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
186
|
+
tableNumber: 5,
|
|
187
|
+
guestsCount: 4,
|
|
188
|
+
items: [
|
|
189
|
+
{
|
|
190
|
+
foodItemId: 1,
|
|
191
|
+
quantity: 2,
|
|
192
|
+
price: 15.99,
|
|
193
|
+
guestNumber: 1,
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
status: OrderState.RECEIVED,
|
|
138
197
|
};
|
|
139
198
|
|
|
140
199
|
// Validates the order data
|
|
@@ -144,18 +203,55 @@ const validOrder = OrderSchema.parse(orderData);
|
|
|
144
203
|
### Handling Payments
|
|
145
204
|
|
|
146
205
|
```typescript
|
|
147
|
-
import { PaymentSchema, PaymentMethod } from '@servemate/dto';
|
|
206
|
+
import { PaymentSchema, PaymentMethod, PaymentState } from '@servemate/dto';
|
|
148
207
|
|
|
149
208
|
const paymentData = {
|
|
150
209
|
amount: 50.0,
|
|
151
210
|
paymentType: PaymentMethod.CREDIT_CARD,
|
|
152
211
|
orderId: 123,
|
|
212
|
+
status: PaymentState.PAID,
|
|
213
|
+
tax: 5.0,
|
|
214
|
+
tip: 7.5,
|
|
153
215
|
};
|
|
154
216
|
|
|
155
217
|
// Validates payment data
|
|
156
218
|
const validPayment = PaymentSchema.parse(paymentData);
|
|
157
219
|
```
|
|
158
220
|
|
|
221
|
+
### Managing Tables
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
import { TableCreateSchema, TableCondition } from '@servemate/dto';
|
|
225
|
+
|
|
226
|
+
const tableData = {
|
|
227
|
+
tableNumber: 10,
|
|
228
|
+
capacity: 4,
|
|
229
|
+
status: TableCondition.AVAILABLE,
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// Validates table data
|
|
233
|
+
const validTable = TableCreateSchema.parse(tableData);
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Search Criteria Usage
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
import { TableSearchCriteriaSchema, TableSortOptionsEnum } from '@servemate/dto';
|
|
240
|
+
|
|
241
|
+
const searchCriteria = {
|
|
242
|
+
minCapacity: 4,
|
|
243
|
+
maxCapacity: 8,
|
|
244
|
+
isOccupied: false,
|
|
245
|
+
page: 1,
|
|
246
|
+
pageSize: 10,
|
|
247
|
+
sortBy: TableSortOptionsEnum.CAPACITY,
|
|
248
|
+
sortOrder: 'asc',
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
// Validates search criteria
|
|
252
|
+
const validCriteria = TableSearchCriteriaSchema.parse(searchCriteria);
|
|
253
|
+
```
|
|
254
|
+
|
|
159
255
|
## Contributing
|
|
160
256
|
|
|
161
257
|
Please read our [contributing guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
|
package/dist/dto/global.d.ts
CHANGED
|
@@ -34,6 +34,10 @@ export declare const listPropsSchema: z.ZodObject<{
|
|
|
34
34
|
page?: number | undefined;
|
|
35
35
|
pageSize?: number | undefined;
|
|
36
36
|
}>;
|
|
37
|
+
export type ListPropsSchema = z.infer<typeof listPropsSchema>;
|
|
38
|
+
export type ListReturnType<T> = {
|
|
39
|
+
list: T[];
|
|
40
|
+
} & ListPropsSchema;
|
|
37
41
|
/**
|
|
38
42
|
* Schema for search criteria used in the application.
|
|
39
43
|
*
|
package/dist/dto/global.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/dto/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,UAAU;;;CAGN,CAAC;AAEX,eAAO,MAAM,eAAe,UAAW,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,aAGnE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4FAAgE,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../src/dto/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,UAAU;;;CAGN,CAAC;AAEX,eAAO,MAAM,eAAe,UAAW,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,aAGnE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4FAAgE,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,CAAC,EAAE,CAAC;CACV,GAAG,eAAe,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/dto/global.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/dto/global.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,UAAU,GAAG;IAClB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,KAAoC,EAAE,EAAE;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AAEW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,uBAAe,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/dto/global.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,UAAU,GAAG;IAClB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,KAAoC,EAAE,EAAE;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AAEW,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,uBAAe,CAAC,CAAC,EAAE,CAAC,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnG;;;;;;;;;;;;GAYG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAQH;;;;;;;;;;;;;GAaG;AACU,QAAA,oBAAoB,GAAG,uBAAe;KACjD,IAAI,CAAC;IACL,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACd,CAAC;KACD,MAAM,CAAC;IACP,SAAS,EAAE,OAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;CACtE,CAAC,CAAC"}
|
package/dist/dto/index.d.ts
CHANGED
package/dist/dto/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/dto/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./global"), exports);
|
|
|
19
19
|
__exportStar(require("./items.dto"), exports);
|
|
20
20
|
__exportStar(require("./orders.dto"), exports);
|
|
21
21
|
__exportStar(require("./payment.dto"), exports);
|
|
22
|
+
__exportStar(require("./reservation.dto"), exports);
|
|
22
23
|
__exportStar(require("./tables.dto"), exports);
|
|
23
24
|
__exportStar(require("./user.dto"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/dto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,+CAA6B;AAC7B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,oDAAkC;AAClC,+CAA6B;AAC7B,6CAA2B"}
|