@venulog/phasing-engine-schemas 0.7.0-alpha.4 → 0.7.0-alpha.5
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 +67 -67
- package/dist/parkingBooking.d.ts +10 -4
- package/dist/parkingBooking.js +5 -3
- package/package.json +75 -75
package/README.md
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# @venulog/phasing-engine-schemas
|
|
2
|
-
|
|
3
|
-
Shared schemas and types for Phasing Engine API. Provides Zod validation schemas, TypeScript types, and OpenAPI documentation support.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
This package is designed to be used as a local workspace package:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @venulog/phasing-engine-schemas
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
```typescript
|
|
16
|
-
import {
|
|
17
|
-
phaseBookingSchema,
|
|
18
|
-
PhaseBooking,
|
|
19
|
-
BookingStatus,
|
|
20
|
-
SlotStatus
|
|
21
|
-
} from '@venulog/phasing-engine-schemas';
|
|
22
|
-
|
|
23
|
-
// Use schemas for validation
|
|
24
|
-
const booking = phaseBookingSchema.parse(data);
|
|
25
|
-
|
|
26
|
-
// Use types for type safety
|
|
27
|
-
const createBooking = (booking: PhaseBooking) => {
|
|
28
|
-
// ...
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
// Use enums for status values
|
|
32
|
-
if (booking.status === BookingStatus.CONFIRMED) {
|
|
33
|
-
// ...
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Available Exports
|
|
38
|
-
|
|
39
|
-
### Schemas
|
|
40
|
-
|
|
41
|
-
- `auth` - Authentication related schemas
|
|
42
|
-
- `common` - Base response schemas and factory functions
|
|
43
|
-
- `pagination` - Pagination and sorting schemas
|
|
44
|
-
- `phaseBooking` - Phase booking operation schemas
|
|
45
|
-
- `phaseSlot` - Phase slot management schemas
|
|
46
|
-
|
|
47
|
-
### Enums
|
|
48
|
-
|
|
49
|
-
- `BookingStatus` - Booking status values
|
|
50
|
-
- `SlotStatus` - Slot status values
|
|
51
|
-
|
|
52
|
-
### Types
|
|
53
|
-
|
|
54
|
-
All schemas export corresponding TypeScript types using Zod's `z.infer<>`.
|
|
55
|
-
|
|
56
|
-
## Development
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Build the package
|
|
60
|
-
npm run build
|
|
61
|
-
|
|
62
|
-
# Watch mode for development
|
|
63
|
-
npm run dev
|
|
64
|
-
|
|
65
|
-
# Clean build artifacts
|
|
66
|
-
npm run clean
|
|
67
|
-
```
|
|
1
|
+
# @venulog/phasing-engine-schemas
|
|
2
|
+
|
|
3
|
+
Shared schemas and types for Phasing Engine API. Provides Zod validation schemas, TypeScript types, and OpenAPI documentation support.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
This package is designed to be used as a local workspace package:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @venulog/phasing-engine-schemas
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import {
|
|
17
|
+
phaseBookingSchema,
|
|
18
|
+
PhaseBooking,
|
|
19
|
+
BookingStatus,
|
|
20
|
+
SlotStatus
|
|
21
|
+
} from '@venulog/phasing-engine-schemas';
|
|
22
|
+
|
|
23
|
+
// Use schemas for validation
|
|
24
|
+
const booking = phaseBookingSchema.parse(data);
|
|
25
|
+
|
|
26
|
+
// Use types for type safety
|
|
27
|
+
const createBooking = (booking: PhaseBooking) => {
|
|
28
|
+
// ...
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// Use enums for status values
|
|
32
|
+
if (booking.status === BookingStatus.CONFIRMED) {
|
|
33
|
+
// ...
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Available Exports
|
|
38
|
+
|
|
39
|
+
### Schemas
|
|
40
|
+
|
|
41
|
+
- `auth` - Authentication related schemas
|
|
42
|
+
- `common` - Base response schemas and factory functions
|
|
43
|
+
- `pagination` - Pagination and sorting schemas
|
|
44
|
+
- `phaseBooking` - Phase booking operation schemas
|
|
45
|
+
- `phaseSlot` - Phase slot management schemas
|
|
46
|
+
|
|
47
|
+
### Enums
|
|
48
|
+
|
|
49
|
+
- `BookingStatus` - Booking status values
|
|
50
|
+
- `SlotStatus` - Slot status values
|
|
51
|
+
|
|
52
|
+
### Types
|
|
53
|
+
|
|
54
|
+
All schemas export corresponding TypeScript types using Zod's `z.infer<>`.
|
|
55
|
+
|
|
56
|
+
## Development
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Build the package
|
|
60
|
+
npm run build
|
|
61
|
+
|
|
62
|
+
# Watch mode for development
|
|
63
|
+
npm run dev
|
|
64
|
+
|
|
65
|
+
# Clean build artifacts
|
|
66
|
+
npm run clean
|
|
67
|
+
```
|
package/dist/parkingBooking.d.ts
CHANGED
|
@@ -74,6 +74,8 @@ export declare const parkingBookingSchema: z.ZodObject<{
|
|
|
74
74
|
created_by: z.ZodNullable<z.ZodString>;
|
|
75
75
|
updated_by: z.ZodNullable<z.ZodString>;
|
|
76
76
|
}, z.core.$strip>>;
|
|
77
|
+
entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
|
+
exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
77
79
|
}, z.core.$strip>;
|
|
78
80
|
export declare const companyDetailsSchema: z.ZodObject<{
|
|
79
81
|
hall: z.ZodString;
|
|
@@ -135,6 +137,8 @@ export declare const eventBookingsDataSchema: z.ZodObject<{
|
|
|
135
137
|
created_by: z.ZodNullable<z.ZodString>;
|
|
136
138
|
updated_by: z.ZodNullable<z.ZodString>;
|
|
137
139
|
}, z.core.$strip>>;
|
|
140
|
+
entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
141
|
+
exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
138
142
|
}, z.core.$strip>>;
|
|
139
143
|
total_count: z.ZodNumber;
|
|
140
144
|
}, z.core.$strip>;
|
|
@@ -181,6 +185,8 @@ export declare const eventBookingsResponseSchema: z.ZodObject<{
|
|
|
181
185
|
created_by: z.ZodNullable<z.ZodString>;
|
|
182
186
|
updated_by: z.ZodNullable<z.ZodString>;
|
|
183
187
|
}, z.core.$strip>>;
|
|
188
|
+
entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
189
|
+
exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
184
190
|
}, z.core.$strip>>;
|
|
185
191
|
total_count: z.ZodNumber;
|
|
186
192
|
}, z.core.$strip>;
|
|
@@ -587,8 +593,8 @@ export declare const parkingBookingDetailsDataSchema: z.ZodObject<{
|
|
|
587
593
|
}, z.core.$strip>>;
|
|
588
594
|
created_at: z.ZodString;
|
|
589
595
|
updated_at: z.ZodString;
|
|
590
|
-
entry_scanned_at: z.ZodNullable<z.ZodString
|
|
591
|
-
exit_scanned_at: z.ZodNullable<z.ZodString
|
|
596
|
+
entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
597
|
+
exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
592
598
|
}, z.core.$strip>;
|
|
593
599
|
export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
|
|
594
600
|
success: z.ZodBoolean;
|
|
@@ -642,8 +648,8 @@ export declare const getParkingBookingDetailsResponseSchema: z.ZodObject<{
|
|
|
642
648
|
}, z.core.$strip>>;
|
|
643
649
|
created_at: z.ZodString;
|
|
644
650
|
updated_at: z.ZodString;
|
|
645
|
-
entry_scanned_at: z.ZodNullable<z.ZodString
|
|
646
|
-
exit_scanned_at: z.ZodNullable<z.ZodString
|
|
651
|
+
entry_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
652
|
+
exit_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
647
653
|
}, z.core.$strip>;
|
|
648
654
|
}, z.core.$strip>;
|
|
649
655
|
export declare const getParkingBookingDetailsByTokenBodySchema: z.ZodObject<{
|
package/dist/parkingBooking.js
CHANGED
|
@@ -100,7 +100,9 @@ export const parkingBookingSchema = z.object({
|
|
|
100
100
|
company: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
101
101
|
vehicle: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
102
102
|
// Include the schedule details
|
|
103
|
-
parking_area_schedule: parkingAreaScheduleSchema.optional()
|
|
103
|
+
parking_area_schedule: parkingAreaScheduleSchema.optional(),
|
|
104
|
+
entry_scanned_at: z.string().nullable().optional(),
|
|
105
|
+
exit_scanned_at: z.string().nullable().optional()
|
|
104
106
|
});
|
|
105
107
|
export const companyDetailsSchema = z
|
|
106
108
|
.object({
|
|
@@ -694,11 +696,11 @@ export const parkingBookingDetailsDataSchema = z
|
|
|
694
696
|
description: 'Timestamp when booking was last updated',
|
|
695
697
|
example: '2025-12-05T10:30:00.000Z'
|
|
696
698
|
}),
|
|
697
|
-
entry_scanned_at: z.string().nullable().openapi({
|
|
699
|
+
entry_scanned_at: z.string().nullable().optional().openapi({
|
|
698
700
|
description: 'Timestamp when entry was scanned',
|
|
699
701
|
example: '2025-12-15T08:05:00.000Z'
|
|
700
702
|
}),
|
|
701
|
-
exit_scanned_at: z.string().nullable().openapi({
|
|
703
|
+
exit_scanned_at: z.string().nullable().optional().openapi({
|
|
702
704
|
description: 'Timestamp when exit was scanned',
|
|
703
705
|
example: '2025-12-15T08:25:00.000Z'
|
|
704
706
|
})
|
package/package.json
CHANGED
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@venulog/phasing-engine-schemas",
|
|
3
|
-
"version": "0.7.0-alpha.
|
|
4
|
-
"description": "Shared schemas and types for Phasing Engine API",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./auth": {
|
|
14
|
-
"types": "./dist/auth.d.ts",
|
|
15
|
-
"import": "./dist/auth.js"
|
|
16
|
-
},
|
|
17
|
-
"./common": {
|
|
18
|
-
"types": "./dist/common.d.ts",
|
|
19
|
-
"import": "./dist/common.js"
|
|
20
|
-
},
|
|
21
|
-
"./pagination": {
|
|
22
|
-
"types": "./dist/pagination.d.ts",
|
|
23
|
-
"import": "./dist/pagination.js"
|
|
24
|
-
},
|
|
25
|
-
"./parkingBooking": {
|
|
26
|
-
"types": "./dist/parkingBooking.d.ts",
|
|
27
|
-
"import": "./dist/parkingBooking.js"
|
|
28
|
-
},
|
|
29
|
-
"./event": {
|
|
30
|
-
"types": "./dist/event.d.ts",
|
|
31
|
-
"import": "./dist/event.js"
|
|
32
|
-
},
|
|
33
|
-
"./parkingArea": {
|
|
34
|
-
"types": "./dist/parkingArea.d.ts",
|
|
35
|
-
"import": "./dist/parkingArea.js"
|
|
36
|
-
},
|
|
37
|
-
"./enums": {
|
|
38
|
-
"types": "./dist/enums/index.d.ts",
|
|
39
|
-
"import": "./dist/enums/index.js"
|
|
40
|
-
},
|
|
41
|
-
"./accessToken": {
|
|
42
|
-
"types": "./dist/accessToken.d.ts",
|
|
43
|
-
"import": "./dist/accessToken.js"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
"files": [
|
|
47
|
-
"dist"
|
|
48
|
-
],
|
|
49
|
-
"scripts": {
|
|
50
|
-
"build": "npm run clean && tsc",
|
|
51
|
-
"dev": "tsc --watch",
|
|
52
|
-
"clean": "rimraf dist",
|
|
53
|
-
"prepublishOnly": "npm run build"
|
|
54
|
-
},
|
|
55
|
-
"keywords": [
|
|
56
|
-
"schemas",
|
|
57
|
-
"validation",
|
|
58
|
-
"types",
|
|
59
|
-
"zod",
|
|
60
|
-
"phasing-engine"
|
|
61
|
-
],
|
|
62
|
-
"license": "MIT",
|
|
63
|
-
"dependencies": {
|
|
64
|
-
"@asteasolutions/zod-to-openapi": "^8.1.0",
|
|
65
|
-
"zod": "^4.1.13"
|
|
66
|
-
},
|
|
67
|
-
"devDependencies": {
|
|
68
|
-
"typescript": "^5.6.3"
|
|
69
|
-
},
|
|
70
|
-
"repository": {
|
|
71
|
-
"type": "git",
|
|
72
|
-
"url": "git+https://github.com/manaty/phasing_engine.git",
|
|
73
|
-
"directory": "packages/phasing-schemas"
|
|
74
|
-
}
|
|
75
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@venulog/phasing-engine-schemas",
|
|
3
|
+
"version": "0.7.0-alpha.5",
|
|
4
|
+
"description": "Shared schemas and types for Phasing Engine API",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./auth": {
|
|
14
|
+
"types": "./dist/auth.d.ts",
|
|
15
|
+
"import": "./dist/auth.js"
|
|
16
|
+
},
|
|
17
|
+
"./common": {
|
|
18
|
+
"types": "./dist/common.d.ts",
|
|
19
|
+
"import": "./dist/common.js"
|
|
20
|
+
},
|
|
21
|
+
"./pagination": {
|
|
22
|
+
"types": "./dist/pagination.d.ts",
|
|
23
|
+
"import": "./dist/pagination.js"
|
|
24
|
+
},
|
|
25
|
+
"./parkingBooking": {
|
|
26
|
+
"types": "./dist/parkingBooking.d.ts",
|
|
27
|
+
"import": "./dist/parkingBooking.js"
|
|
28
|
+
},
|
|
29
|
+
"./event": {
|
|
30
|
+
"types": "./dist/event.d.ts",
|
|
31
|
+
"import": "./dist/event.js"
|
|
32
|
+
},
|
|
33
|
+
"./parkingArea": {
|
|
34
|
+
"types": "./dist/parkingArea.d.ts",
|
|
35
|
+
"import": "./dist/parkingArea.js"
|
|
36
|
+
},
|
|
37
|
+
"./enums": {
|
|
38
|
+
"types": "./dist/enums/index.d.ts",
|
|
39
|
+
"import": "./dist/enums/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./accessToken": {
|
|
42
|
+
"types": "./dist/accessToken.d.ts",
|
|
43
|
+
"import": "./dist/accessToken.js"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"files": [
|
|
47
|
+
"dist"
|
|
48
|
+
],
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "npm run clean && tsc",
|
|
51
|
+
"dev": "tsc --watch",
|
|
52
|
+
"clean": "rimraf dist",
|
|
53
|
+
"prepublishOnly": "npm run build"
|
|
54
|
+
},
|
|
55
|
+
"keywords": [
|
|
56
|
+
"schemas",
|
|
57
|
+
"validation",
|
|
58
|
+
"types",
|
|
59
|
+
"zod",
|
|
60
|
+
"phasing-engine"
|
|
61
|
+
],
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"@asteasolutions/zod-to-openapi": "^8.1.0",
|
|
65
|
+
"zod": "^4.1.13"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"typescript": "^5.6.3"
|
|
69
|
+
},
|
|
70
|
+
"repository": {
|
|
71
|
+
"type": "git",
|
|
72
|
+
"url": "git+https://github.com/manaty/phasing_engine.git",
|
|
73
|
+
"directory": "packages/phasing-schemas"
|
|
74
|
+
}
|
|
75
|
+
}
|