@venulog/phasing-engine-schemas 0.12.0 → 0.13.0-alpha.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.
@@ -0,0 +1,118 @@
1
+ import { z } from './zod.js';
2
+ export declare const eventSitePlanCalibrationAnchorSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ event_id: z.ZodNumber;
5
+ name: z.ZodString;
6
+ latitude: z.ZodNumber;
7
+ longitude: z.ZodNumber;
8
+ site_plan_x: z.ZodNumber;
9
+ site_plan_y: z.ZodNumber;
10
+ is_active: z.ZodBoolean;
11
+ created_at: z.ZodString;
12
+ updated_at: z.ZodString;
13
+ created_by: z.ZodNullable<z.ZodString>;
14
+ updated_by: z.ZodNullable<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ export declare const getEventSitePlanCalibrationsQuerySchema: z.ZodObject<{
17
+ eventId: z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>;
18
+ }, z.core.$strip>;
19
+ export declare const getEventSitePlanCalibrationsDataSchema: z.ZodObject<{
20
+ event_id: z.ZodNumber;
21
+ anchors: z.ZodArray<z.ZodObject<{
22
+ id: z.ZodNumber;
23
+ event_id: z.ZodNumber;
24
+ name: z.ZodString;
25
+ latitude: z.ZodNumber;
26
+ longitude: z.ZodNumber;
27
+ site_plan_x: z.ZodNumber;
28
+ site_plan_y: z.ZodNumber;
29
+ is_active: z.ZodBoolean;
30
+ created_at: z.ZodString;
31
+ updated_at: z.ZodString;
32
+ created_by: z.ZodNullable<z.ZodString>;
33
+ updated_by: z.ZodNullable<z.ZodString>;
34
+ }, z.core.$strip>>;
35
+ total_count: z.ZodNumber;
36
+ }, z.core.$strip>;
37
+ export declare const getEventSitePlanCalibrationsResponseSchema: z.ZodObject<{
38
+ success: z.ZodBoolean;
39
+ data: z.ZodObject<{
40
+ event_id: z.ZodNumber;
41
+ anchors: z.ZodArray<z.ZodObject<{
42
+ id: z.ZodNumber;
43
+ event_id: z.ZodNumber;
44
+ name: z.ZodString;
45
+ latitude: z.ZodNumber;
46
+ longitude: z.ZodNumber;
47
+ site_plan_x: z.ZodNumber;
48
+ site_plan_y: z.ZodNumber;
49
+ is_active: z.ZodBoolean;
50
+ created_at: z.ZodString;
51
+ updated_at: z.ZodString;
52
+ created_by: z.ZodNullable<z.ZodString>;
53
+ updated_by: z.ZodNullable<z.ZodString>;
54
+ }, z.core.$strip>>;
55
+ total_count: z.ZodNumber;
56
+ }, z.core.$strip>;
57
+ }, z.core.$strip>;
58
+ export declare const bulkUpsertEventSitePlanCalibrationsBodySchema: z.ZodObject<{
59
+ event_id: z.ZodNumber;
60
+ anchors: z.ZodArray<z.ZodObject<{
61
+ id: z.ZodOptional<z.ZodNumber>;
62
+ name: z.ZodString;
63
+ latitude: z.ZodNumber;
64
+ longitude: z.ZodNumber;
65
+ site_plan_x: z.ZodNumber;
66
+ site_plan_y: z.ZodNumber;
67
+ }, z.core.$strip>>;
68
+ deleted_anchor_ids: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNumber>>>;
69
+ }, z.core.$strip>;
70
+ export declare const bulkUpsertEventSitePlanCalibrationsDataSchema: z.ZodObject<{
71
+ event_id: z.ZodNumber;
72
+ total_upserted: z.ZodNumber;
73
+ total_deactivated: z.ZodNumber;
74
+ upserted_anchors: z.ZodArray<z.ZodObject<{
75
+ id: z.ZodNumber;
76
+ event_id: z.ZodNumber;
77
+ name: z.ZodString;
78
+ latitude: z.ZodNumber;
79
+ longitude: z.ZodNumber;
80
+ site_plan_x: z.ZodNumber;
81
+ site_plan_y: z.ZodNumber;
82
+ is_active: z.ZodBoolean;
83
+ created_at: z.ZodString;
84
+ updated_at: z.ZodString;
85
+ created_by: z.ZodNullable<z.ZodString>;
86
+ updated_by: z.ZodNullable<z.ZodString>;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ export declare const bulkUpsertEventSitePlanCalibrationsResponseSchema: z.ZodObject<{
90
+ success: z.ZodBoolean;
91
+ message: z.ZodString;
92
+ data: z.ZodObject<{
93
+ event_id: z.ZodNumber;
94
+ total_upserted: z.ZodNumber;
95
+ total_deactivated: z.ZodNumber;
96
+ upserted_anchors: z.ZodArray<z.ZodObject<{
97
+ id: z.ZodNumber;
98
+ event_id: z.ZodNumber;
99
+ name: z.ZodString;
100
+ latitude: z.ZodNumber;
101
+ longitude: z.ZodNumber;
102
+ site_plan_x: z.ZodNumber;
103
+ site_plan_y: z.ZodNumber;
104
+ is_active: z.ZodBoolean;
105
+ created_at: z.ZodString;
106
+ updated_at: z.ZodString;
107
+ created_by: z.ZodNullable<z.ZodString>;
108
+ updated_by: z.ZodNullable<z.ZodString>;
109
+ }, z.core.$strip>>;
110
+ }, z.core.$strip>;
111
+ }, z.core.$strip>;
112
+ export type EventSitePlanCalibrationAnchor = z.infer<typeof eventSitePlanCalibrationAnchorSchema>;
113
+ export type GetEventSitePlanCalibrationsQuery = z.infer<typeof getEventSitePlanCalibrationsQuerySchema>;
114
+ export type GetEventSitePlanCalibrationsData = z.infer<typeof getEventSitePlanCalibrationsDataSchema>;
115
+ export type GetEventSitePlanCalibrationsResponse = z.infer<typeof getEventSitePlanCalibrationsResponseSchema>;
116
+ export type BulkUpsertEventSitePlanCalibrationsBody = z.infer<typeof bulkUpsertEventSitePlanCalibrationsBodySchema>;
117
+ export type BulkUpsertEventSitePlanCalibrationsData = z.infer<typeof bulkUpsertEventSitePlanCalibrationsDataSchema>;
118
+ export type BulkUpsertEventSitePlanCalibrationsResponse = z.infer<typeof bulkUpsertEventSitePlanCalibrationsResponseSchema>;
@@ -0,0 +1,148 @@
1
+ // packages/phasing-schemas/src/eventSitePlanCalibration.ts
2
+ import { z } from './zod.js';
3
+ import { createSuccessResponseSchema, createMessageDataResponseSchema } from './common.js';
4
+ export const eventSitePlanCalibrationAnchorSchema = z
5
+ .object({
6
+ id: z.number().int().positive().openapi({
7
+ description: 'Calibration anchor ID',
8
+ example: 12
9
+ }),
10
+ event_id: z.number().int().positive().openapi({
11
+ description: 'Event ID this anchor belongs to',
12
+ example: 77
13
+ }),
14
+ name: z.string().min(1).openapi({
15
+ description: 'Readable anchor name (e.g., Gate A)',
16
+ example: 'Gate A'
17
+ }),
18
+ latitude: z.number().min(-90).max(90).openapi({
19
+ description: 'Latitude in decimal degrees',
20
+ example: 48.86245
21
+ }),
22
+ longitude: z.number().min(-180).max(180).openapi({
23
+ description: 'Longitude in decimal degrees',
24
+ example: 2.28791
25
+ }),
26
+ site_plan_x: z.number().min(0).max(100).openapi({
27
+ description: 'Horizontal position on the site plan (0-100%)',
28
+ example: 6.25
29
+ }),
30
+ site_plan_y: z.number().min(0).max(100).openapi({
31
+ description: 'Vertical position on the site plan (0-100%)',
32
+ example: 52.1
33
+ }),
34
+ is_active: z.boolean().openapi({
35
+ description: 'Whether this anchor is active',
36
+ example: true
37
+ }),
38
+ created_at: z.string().openapi({
39
+ description: 'Creation timestamp (ISO 8601)'
40
+ }),
41
+ updated_at: z.string().openapi({
42
+ description: 'Last update timestamp (ISO 8601)'
43
+ }),
44
+ created_by: z.string().uuid().nullable().openapi({
45
+ description: 'User who created the anchor',
46
+ example: '550e8400-e29b-41d4-a716-446655440000'
47
+ }),
48
+ updated_by: z.string().uuid().nullable().openapi({
49
+ description: 'User who last updated the anchor',
50
+ example: '550e8400-e29b-41d4-a716-446655440000'
51
+ })
52
+ })
53
+ .openapi('EventSitePlanCalibrationAnchor');
54
+ export const getEventSitePlanCalibrationsQuerySchema = z
55
+ .object({
56
+ eventId: z
57
+ .string()
58
+ .min(1)
59
+ .transform(val => parseInt(val, 10))
60
+ .refine(val => !isNaN(val) && val > 0, {
61
+ message: 'Event ID must be a positive number'
62
+ })
63
+ .openapi({
64
+ description: 'Event ID',
65
+ example: '77'
66
+ })
67
+ })
68
+ .openapi('GetEventSitePlanCalibrationsQuery');
69
+ export const getEventSitePlanCalibrationsDataSchema = z
70
+ .object({
71
+ event_id: z.number().int().positive().openapi({
72
+ description: 'ID of the event',
73
+ example: 77
74
+ }),
75
+ anchors: z.array(eventSitePlanCalibrationAnchorSchema).openapi({
76
+ description: 'List of calibration anchors for the event'
77
+ }),
78
+ total_count: z.number().int().nonnegative().openapi({
79
+ description: 'Total anchors returned',
80
+ example: 3
81
+ })
82
+ })
83
+ .openapi('GetEventSitePlanCalibrationsData');
84
+ export const getEventSitePlanCalibrationsResponseSchema = createSuccessResponseSchema(getEventSitePlanCalibrationsDataSchema, 'GetEventSitePlanCalibrationsResponse', 'Event site plan calibration anchors');
85
+ const calibrationAnchorInputSchema = z.object({
86
+ id: z.number().int().positive().optional().openapi({
87
+ description: 'Existing anchor ID (omit for new anchors)'
88
+ }),
89
+ name: z.string().min(1, 'Name is required').max(255).openapi({
90
+ description: 'Anchor name',
91
+ example: 'Gate A'
92
+ }),
93
+ latitude: z.number().min(-90).max(90).openapi({
94
+ description: 'Latitude in decimal degrees',
95
+ example: 48.86245
96
+ }),
97
+ longitude: z.number().min(-180).max(180).openapi({
98
+ description: 'Longitude in decimal degrees',
99
+ example: 2.28791
100
+ }),
101
+ site_plan_x: z.number().min(0).max(100).openapi({
102
+ description: 'Horizontal percentage on the site plan',
103
+ example: 6.2
104
+ }),
105
+ site_plan_y: z.number().min(0).max(100).openapi({
106
+ description: 'Vertical percentage on the site plan',
107
+ example: 52.0
108
+ })
109
+ });
110
+ export const bulkUpsertEventSitePlanCalibrationsBodySchema = z
111
+ .object({
112
+ event_id: z.number().int().positive().openapi({
113
+ description: 'ID of the event',
114
+ example: 77
115
+ }),
116
+ anchors: z.array(calibrationAnchorInputSchema).min(0).openapi({
117
+ description: 'Anchors to create or update'
118
+ }),
119
+ deleted_anchor_ids: z
120
+ .array(z.number().int().positive())
121
+ .optional()
122
+ .default([])
123
+ .openapi({
124
+ description: 'IDs of anchors to deactivate',
125
+ example: [3, 5]
126
+ })
127
+ })
128
+ .openapi('BulkUpsertEventSitePlanCalibrationsBody');
129
+ export const bulkUpsertEventSitePlanCalibrationsDataSchema = z
130
+ .object({
131
+ event_id: z.number().int().positive().openapi({
132
+ description: 'Event ID',
133
+ example: 77
134
+ }),
135
+ total_upserted: z.number().int().nonnegative().openapi({
136
+ description: 'Anchors created or updated',
137
+ example: 2
138
+ }),
139
+ total_deactivated: z.number().int().nonnegative().openapi({
140
+ description: 'Anchors deactivated',
141
+ example: 1
142
+ }),
143
+ upserted_anchors: z.array(eventSitePlanCalibrationAnchorSchema).openapi({
144
+ description: 'Details of anchors returned from Supabase'
145
+ })
146
+ })
147
+ .openapi('BulkUpsertEventSitePlanCalibrationsData');
148
+ export const bulkUpsertEventSitePlanCalibrationsResponseSchema = createMessageDataResponseSchema(bulkUpsertEventSitePlanCalibrationsDataSchema, 'BulkUpsertEventSitePlanCalibrationsResponse', 'Calibration anchors upserted successfully', 'Details about the upserted calibration anchors');
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './parkingBooking.js';
5
5
  export * from './parkingArea.js';
6
6
  export * from './parkingAreaLayer.js';
7
7
  export * from './parkingAreaAccess.js';
8
+ export * from './eventSitePlanCalibration.js';
8
9
  export * from './event.js';
9
10
  export * from './accessToken.js';
10
11
  export * from './vehiclePosition.js';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './parkingBooking.js';
6
6
  export * from './parkingArea.js';
7
7
  export * from './parkingAreaLayer.js';
8
8
  export * from './parkingAreaAccess.js';
9
+ export * from './eventSitePlanCalibration.js';
9
10
  export * from './event.js';
10
11
  export * from './accessToken.js';
11
12
  export * from './vehiclePosition.js';
@@ -132,12 +132,12 @@ export declare const updateAccessDataSchema: z.ZodObject<{
132
132
  updated_at: z.ZodString;
133
133
  event_id: z.ZodNumber;
134
134
  is_active: z.ZodBoolean;
135
+ created_by: z.ZodNullable<z.ZodString>;
136
+ updated_by: z.ZodNullable<z.ZodString>;
135
137
  geometry: z.ZodNullable<z.ZodObject<{
136
138
  type: z.ZodLiteral<"LineString">;
137
139
  coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
138
140
  }, z.core.$strip>>;
139
- created_by: z.ZodNullable<z.ZodString>;
140
- updated_by: z.ZodNullable<z.ZodString>;
141
141
  width_meters: z.ZodNullable<z.ZodNumber>;
142
142
  height_meters: z.ZodNullable<z.ZodNumber>;
143
143
  linked_parking_areas: z.ZodArray<z.ZodObject<{
@@ -155,12 +155,12 @@ export declare const updateAccessResponseSchema: z.ZodObject<{
155
155
  updated_at: z.ZodString;
156
156
  event_id: z.ZodNumber;
157
157
  is_active: z.ZodBoolean;
158
+ created_by: z.ZodNullable<z.ZodString>;
159
+ updated_by: z.ZodNullable<z.ZodString>;
158
160
  geometry: z.ZodNullable<z.ZodObject<{
159
161
  type: z.ZodLiteral<"LineString">;
160
162
  coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
161
163
  }, z.core.$strip>>;
162
- created_by: z.ZodNullable<z.ZodString>;
163
- updated_by: z.ZodNullable<z.ZodString>;
164
164
  width_meters: z.ZodNullable<z.ZodNumber>;
165
165
  height_meters: z.ZodNullable<z.ZodNumber>;
166
166
  linked_parking_areas: z.ZodArray<z.ZodObject<{
@@ -700,7 +700,6 @@ export const getParkingBookingDetailsByQrBodySchema = z
700
700
  })
701
701
  })
702
702
  .openapi('GetBookingDetailsByQrBody');
703
- // ------------------------------
704
703
  // Export All Parking Bookings
705
704
  // ------------------------------
706
705
  export const exportBookingDataSchema = z
package/package.json CHANGED
@@ -1,99 +1,103 @@
1
- {
2
- "name": "@venulog/phasing-engine-schemas",
3
- "version": "0.12.0",
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
- "./parkingAreaLayer": {
38
- "types": "./dist/parkingAreaLayer.d.ts",
39
- "import": "./dist/parkingAreaLayer.js"
40
- },
41
- "./parkingAreaAccess": {
42
- "types": "./dist/parkingAreaAccess.d.ts",
43
- "import": "./dist/parkingAreaAccess.js"
44
- },
45
- "./enums": {
46
- "types": "./dist/enums/index.d.ts",
47
- "import": "./dist/enums/index.js"
48
- },
49
- "./accessToken": {
50
- "types": "./dist/accessToken.d.ts",
51
- "import": "./dist/accessToken.js"
52
- },
53
- "./vehiclePosition": {
54
- "types": "./dist/vehiclePosition.d.ts",
55
- "import": "./dist/vehiclePosition.js"
56
- },
57
- "./camera": {
58
- "types": "./dist/camera.d.ts",
59
- "import": "./dist/camera.js"
60
- },
61
- "./simulation": {
62
- "types": "./dist/simulation.d.ts",
63
- "import": "./dist/simulation.js"
64
- },
65
- "./exhibitor": {
66
- "types": "./dist/exhibitor.d.ts",
67
- "import": "./dist/exhibitor.js"
68
- }
69
- },
70
- "files": [
71
- "dist"
72
- ],
73
- "scripts": {
74
- "build": "npm run clean && tsc",
75
- "dev": "tsc --watch",
76
- "clean": "rm -rf dist",
77
- "prepublishOnly": "npm run build"
78
- },
79
- "keywords": [
80
- "schemas",
81
- "validation",
82
- "types",
83
- "zod",
84
- "phasing-engine"
85
- ],
86
- "license": "MIT",
87
- "dependencies": {
88
- "@asteasolutions/zod-to-openapi": "^8.1.0",
89
- "zod": "^4.1.13"
90
- },
91
- "devDependencies": {
92
- "typescript": "^5.6.3"
93
- },
94
- "repository": {
95
- "type": "git",
96
- "url": "git+https://github.com/manaty/phasing_engine.git",
97
- "directory": "packages/phasing-schemas"
98
- }
99
- }
1
+ {
2
+ "name": "@venulog/phasing-engine-schemas",
3
+ "version": "0.13.0-alpha.0",
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
+ "./parkingAreaLayer": {
38
+ "types": "./dist/parkingAreaLayer.d.ts",
39
+ "import": "./dist/parkingAreaLayer.js"
40
+ },
41
+ "./parkingAreaAccess": {
42
+ "types": "./dist/parkingAreaAccess.d.ts",
43
+ "import": "./dist/parkingAreaAccess.js"
44
+ },
45
+ "./enums": {
46
+ "types": "./dist/enums/index.d.ts",
47
+ "import": "./dist/enums/index.js"
48
+ },
49
+ "./accessToken": {
50
+ "types": "./dist/accessToken.d.ts",
51
+ "import": "./dist/accessToken.js"
52
+ },
53
+ "./vehiclePosition": {
54
+ "types": "./dist/vehiclePosition.d.ts",
55
+ "import": "./dist/vehiclePosition.js"
56
+ },
57
+ "./camera": {
58
+ "types": "./dist/camera.d.ts",
59
+ "import": "./dist/camera.js"
60
+ },
61
+ "./simulation": {
62
+ "types": "./dist/simulation.d.ts",
63
+ "import": "./dist/simulation.js"
64
+ },
65
+ "./exhibitor": {
66
+ "types": "./dist/exhibitor.d.ts",
67
+ "import": "./dist/exhibitor.js"
68
+ },
69
+ "./eventSitePlanCalibration": {
70
+ "types": "./dist/eventSitePlanCalibration.d.ts",
71
+ "import": "./dist/eventSitePlanCalibration.js"
72
+ }
73
+ },
74
+ "files": [
75
+ "dist"
76
+ ],
77
+ "scripts": {
78
+ "build": "npm run clean && tsc",
79
+ "dev": "tsc --watch",
80
+ "clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
81
+ "prepublishOnly": "npm run build"
82
+ },
83
+ "keywords": [
84
+ "schemas",
85
+ "validation",
86
+ "types",
87
+ "zod",
88
+ "phasing-engine"
89
+ ],
90
+ "license": "MIT",
91
+ "dependencies": {
92
+ "@asteasolutions/zod-to-openapi": "^8.1.0",
93
+ "zod": "^4.1.13"
94
+ },
95
+ "devDependencies": {
96
+ "typescript": "^5.6.3"
97
+ },
98
+ "repository": {
99
+ "type": "git",
100
+ "url": "git+https://github.com/manaty/phasing_engine.git",
101
+ "directory": "packages/phasing-schemas"
102
+ }
103
+ }