@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 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
- - `TableDTO` - Complete table data
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
- tableNumber: 5,
135
- guestsCount: 4,
136
- items: [...],
137
- status: OrderState.RECEIVED
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.
@@ -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
  *
@@ -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"}
@@ -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;AAEH;;;;;;;;;;;;;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"}
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"}
@@ -3,6 +3,7 @@ export * from './global';
3
3
  export * from './items.dto';
4
4
  export * from './orders.dto';
5
5
  export * from './payment.dto';
6
+ export * from './reservation.dto';
6
7
  export * from './tables.dto';
7
8
  export * from './user.dto';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -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"}