@subdynamics/event-hub-api-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.
@@ -0,0 +1,508 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/events/permalink/{hostSlug}/{eventSlug}": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * Get event by permalink
15
+ * @description Fetches a single published event by its canonical permalink (host slug + event slug).
16
+ */
17
+ get: operations["getEventByPermalink"];
18
+ put?: never;
19
+ post?: never;
20
+ delete?: never;
21
+ options?: never;
22
+ head?: never;
23
+ patch?: never;
24
+ trace?: never;
25
+ };
26
+ "/events/{id}": {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ /**
34
+ * Get event by ID
35
+ * @description Fetches a single published event by its UUID.
36
+ */
37
+ get: operations["getEventById"];
38
+ put?: never;
39
+ post?: never;
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
46
+ "/events": {
47
+ parameters: {
48
+ query?: never;
49
+ header?: never;
50
+ path?: never;
51
+ cookie?: never;
52
+ };
53
+ /**
54
+ * List events
55
+ * @description Returns a cursor-paginated list of published, public events matching the given filters.
56
+ */
57
+ get: operations["listEvents"];
58
+ put?: never;
59
+ post?: never;
60
+ delete?: never;
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/regions/{region}/hosts": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ /**
74
+ * List hosts in a region
75
+ * @description Returns all hosts belonging to the specified region, optionally filtered by host type.
76
+ */
77
+ get: operations["listRegionHosts"];
78
+ put?: never;
79
+ post?: never;
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/regions/{region}/venues": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path?: never;
91
+ cookie?: never;
92
+ };
93
+ /**
94
+ * List venues in a region
95
+ * @description Returns all venues belonging to the specified region, sorted by venue name.
96
+ */
97
+ get: operations["listRegionVenues"];
98
+ put?: never;
99
+ post?: never;
100
+ delete?: never;
101
+ options?: never;
102
+ head?: never;
103
+ patch?: never;
104
+ trace?: never;
105
+ };
106
+ }
107
+ export type webhooks = Record<string, never>;
108
+ export interface components {
109
+ schemas: {
110
+ /**
111
+ * Event
112
+ * @description Full event record as returned by GET /api/v1/events and GET /api/v1/events/:id.
113
+ */
114
+ ApiEventDto: {
115
+ /**
116
+ * Format: uuid
117
+ * @description UUID of the event record.
118
+ * @example c3d4e5f6-a7b8-9012-cdef-123456789012
119
+ */
120
+ id: string;
121
+ /**
122
+ * @description Display title of the event.
123
+ * @example Fleet Foxes Live
124
+ */
125
+ title: string;
126
+ /** @description Long-form description; may be null. */
127
+ description?: string | null;
128
+ /**
129
+ * Format: date-time
130
+ * @description Event start time, normalised to UTC and formatted as ISO 8601 (e.g. "2026-03-22T03:00:00+00:00").
131
+ * @example 2026-03-22T03:00:00+00:00
132
+ */
133
+ startsAtUtc: string;
134
+ /**
135
+ * Format: date-time
136
+ * @description Event end time, normalised to UTC (same format as startsAtUtc).
137
+ * @example 2026-03-22T06:00:00+00:00
138
+ */
139
+ endsAtUtc: string;
140
+ /**
141
+ * @description IANA timezone identifier for the event's local time (e.g. "America/Los_Angeles").
142
+ * @example America/Los_Angeles
143
+ */
144
+ timezone: string;
145
+ /**
146
+ * @description Region key (e.g. "SEA").
147
+ * @example SEA
148
+ */
149
+ regionKey: string;
150
+ /**
151
+ * Format: uuid
152
+ * @description UUID of the venue; may be null for virtual events.
153
+ */
154
+ venueId?: string | null;
155
+ /**
156
+ * @description Audience visibility of the event.
157
+ * @example public
158
+ * @enum {string}
159
+ */
160
+ visibility: "public" | "private" | "unlisted";
161
+ /**
162
+ * @description The event-portion of the permalink (e.g. "fleet-foxes-live-20260321").
163
+ * @example fleet-foxes-live-20260321
164
+ */
165
+ permalinkSlug: string;
166
+ /**
167
+ * @description Full canonical permalink path (e.g. "/the-showbox/fleet-foxes-live-20260321").
168
+ * @example /the-showbox/fleet-foxes-live-20260321
169
+ */
170
+ permalinkPath: string;
171
+ /**
172
+ * Format: uri
173
+ * @description URL of the hero/banner image; may be null.
174
+ */
175
+ heroImageUrl?: string | null;
176
+ /**
177
+ * @description Publication status.
178
+ * @example published
179
+ * @enum {string}
180
+ */
181
+ status: "draft" | "published" | "canceled";
182
+ /** @description Venue summary; null when no venue is associated or the relation is not loaded. */
183
+ venue?: components["schemas"]["ApiVenueSummaryDto"] | null;
184
+ /** @description Hosts (organizers, performers, etc.) attached to the event. */
185
+ hosts: components["schemas"]["ApiHostSummaryDto"][];
186
+ /**
187
+ * @description Category slugs attached to the event (e.g. ["live-music", "indie"]).
188
+ * @example [
189
+ * "live-music",
190
+ * "indie"
191
+ * ]
192
+ */
193
+ categories: string[];
194
+ };
195
+ /**
196
+ * Host Summary
197
+ * @description Summary of a host (venue, band, promoter, or individual) attached to an event or returned from a region hosts listing.
198
+ */
199
+ ApiHostSummaryDto: {
200
+ /**
201
+ * Format: uuid
202
+ * @description UUID of the host record.
203
+ * @example a1b2c3d4-e5f6-7890-abcd-ef1234567890
204
+ */
205
+ id: string;
206
+ /**
207
+ * @description URL-safe slug identifying the host.
208
+ * @example the-showbox
209
+ */
210
+ slug: string;
211
+ /**
212
+ * @description Display name of the host.
213
+ * @example The Showbox
214
+ */
215
+ name: string;
216
+ /**
217
+ * @description Category of host.
218
+ * @example venue
219
+ * @enum {string}
220
+ */
221
+ hostType: "venue" | "band" | "promoter" | "individual";
222
+ /**
223
+ * @description Region the host belongs to (e.g. "SEA").
224
+ * @example SEA
225
+ */
226
+ regionKey: string;
227
+ /**
228
+ * @description Role of this host on the event (e.g. "organizer", "performer"). Null when returned outside of an event context (e.g. GET /regions/:region/hosts).
229
+ * @example organizer
230
+ */
231
+ role: string | null;
232
+ };
233
+ /**
234
+ * Venue Summary
235
+ * @description Summary of a venue, embedded inside an event response or returned from a region venues listing.
236
+ */
237
+ ApiVenueSummaryDto: {
238
+ /**
239
+ * Format: uuid
240
+ * @description UUID of the venue record.
241
+ * @example b2c3d4e5-f6a7-8901-bcde-f12345678901
242
+ */
243
+ id: string;
244
+ /**
245
+ * @description Display name of the venue (sourced from the venue's host record).
246
+ * @example The Showbox
247
+ */
248
+ name: string;
249
+ /**
250
+ * @description Street address.
251
+ * @example 1426 1st Ave
252
+ */
253
+ address: string;
254
+ /**
255
+ * @description City name.
256
+ * @example Seattle
257
+ */
258
+ city: string;
259
+ /**
260
+ * @description State or province abbreviation.
261
+ * @example WA
262
+ */
263
+ state: string;
264
+ /**
265
+ * @description Postal code; may be null.
266
+ * @example 98101
267
+ */
268
+ zip?: string | null;
269
+ /**
270
+ * Format: double
271
+ * @description Latitude in decimal degrees; null if unknown.
272
+ * @example 47.608
273
+ */
274
+ lat?: number | null;
275
+ /**
276
+ * Format: double
277
+ * @description Longitude in decimal degrees; null if unknown.
278
+ * @example -122.342
279
+ */
280
+ lng?: number | null;
281
+ /**
282
+ * @description IANA timezone identifier for the venue (e.g. "America/Los_Angeles").
283
+ * @example America/Los_Angeles
284
+ */
285
+ timezone: string;
286
+ /**
287
+ * @description Region the venue belongs to (e.g. "SEA").
288
+ * @example SEA
289
+ */
290
+ regionKey: string;
291
+ };
292
+ };
293
+ responses: never;
294
+ parameters: never;
295
+ requestBodies: never;
296
+ headers: never;
297
+ pathItems: never;
298
+ }
299
+ export type $defs = Record<string, never>;
300
+ export interface operations {
301
+ getEventByPermalink: {
302
+ parameters: {
303
+ query?: never;
304
+ header?: never;
305
+ path: {
306
+ /** @description URL-safe slug of the host (e.g. "the-showbox"). */
307
+ hostSlug: string;
308
+ /** @description URL-safe slug of the event (e.g. "fleet-foxes-live-20260321"). */
309
+ eventSlug: string;
310
+ };
311
+ cookie?: never;
312
+ };
313
+ requestBody?: never;
314
+ responses: {
315
+ /** @description Event found. */
316
+ 200: {
317
+ headers: {
318
+ [name: string]: unknown;
319
+ };
320
+ content: {
321
+ "application/json": {
322
+ data?: components["schemas"]["ApiEventDto"];
323
+ };
324
+ };
325
+ };
326
+ /** @description Event not found. */
327
+ 404: {
328
+ headers: {
329
+ [name: string]: unknown;
330
+ };
331
+ content: {
332
+ "application/json": {
333
+ /** @example Event not found. */
334
+ message?: string;
335
+ };
336
+ };
337
+ };
338
+ };
339
+ };
340
+ getEventById: {
341
+ parameters: {
342
+ query?: never;
343
+ header?: never;
344
+ path: {
345
+ /** @description UUID of the event. */
346
+ id: string;
347
+ };
348
+ cookie?: never;
349
+ };
350
+ requestBody?: never;
351
+ responses: {
352
+ /** @description Event found. */
353
+ 200: {
354
+ headers: {
355
+ [name: string]: unknown;
356
+ };
357
+ content: {
358
+ "application/json": {
359
+ data?: components["schemas"]["ApiEventDto"];
360
+ };
361
+ };
362
+ };
363
+ /** @description Event not found. */
364
+ 404: {
365
+ headers: {
366
+ [name: string]: unknown;
367
+ };
368
+ content: {
369
+ "application/json": {
370
+ /** @example Event not found. */
371
+ message?: string;
372
+ };
373
+ };
374
+ };
375
+ };
376
+ };
377
+ listEvents: {
378
+ parameters: {
379
+ query: {
380
+ /** @description Region key to filter events by (e.g. "SEA"). */
381
+ region: string;
382
+ /** @description Filter events starting at or after this ISO 8601 date/time. */
383
+ start?: string;
384
+ /** @description Filter events starting at or before this ISO 8601 date/time. */
385
+ end?: string;
386
+ /** @description Filter by category slug. */
387
+ category?: string;
388
+ /** @description Filter by host UUID. */
389
+ hostId?: string;
390
+ /** @description Filter by venue UUID. */
391
+ venueId?: string;
392
+ /** @description Opaque pagination cursor returned by a previous response. */
393
+ cursor?: string;
394
+ };
395
+ header?: never;
396
+ path?: never;
397
+ cookie?: never;
398
+ };
399
+ requestBody?: never;
400
+ responses: {
401
+ /** @description Paginated list of events. */
402
+ 200: {
403
+ headers: {
404
+ [name: string]: unknown;
405
+ };
406
+ content: {
407
+ "application/json": {
408
+ data: components["schemas"]["ApiEventDto"][];
409
+ links: {
410
+ first?: string | null;
411
+ last?: string | null;
412
+ prev?: string | null;
413
+ next?: string | null;
414
+ };
415
+ meta: {
416
+ path?: string;
417
+ per_page?: number;
418
+ next_cursor?: string | null;
419
+ prev_cursor?: string | null;
420
+ };
421
+ };
422
+ };
423
+ };
424
+ /** @description Validation error (e.g. missing required "region" parameter). */
425
+ 422: {
426
+ headers: {
427
+ [name: string]: unknown;
428
+ };
429
+ content: {
430
+ "application/json": {
431
+ message?: string;
432
+ errors?: {
433
+ [key: string]: string[];
434
+ };
435
+ };
436
+ };
437
+ };
438
+ };
439
+ };
440
+ listRegionHosts: {
441
+ parameters: {
442
+ query?: {
443
+ /** @description Filter hosts by type. */
444
+ type?: "venue" | "band" | "promoter" | "individual";
445
+ };
446
+ header?: never;
447
+ path: {
448
+ /** @description Region key (e.g. "SEA"). */
449
+ region: string;
450
+ };
451
+ cookie?: never;
452
+ };
453
+ requestBody?: never;
454
+ responses: {
455
+ /** @description List of hosts. */
456
+ 200: {
457
+ headers: {
458
+ [name: string]: unknown;
459
+ };
460
+ content: {
461
+ "application/json": {
462
+ data?: components["schemas"]["ApiHostSummaryDto"][];
463
+ };
464
+ };
465
+ };
466
+ /** @description Validation error (e.g. invalid "type" value). */
467
+ 422: {
468
+ headers: {
469
+ [name: string]: unknown;
470
+ };
471
+ content: {
472
+ "application/json": {
473
+ message?: string;
474
+ errors?: {
475
+ [key: string]: string[];
476
+ };
477
+ };
478
+ };
479
+ };
480
+ };
481
+ };
482
+ listRegionVenues: {
483
+ parameters: {
484
+ query?: never;
485
+ header?: never;
486
+ path: {
487
+ /** @description Region key (e.g. "SEA"). */
488
+ region: string;
489
+ };
490
+ cookie?: never;
491
+ };
492
+ requestBody?: never;
493
+ responses: {
494
+ /** @description List of venues. */
495
+ 200: {
496
+ headers: {
497
+ [name: string]: unknown;
498
+ };
499
+ content: {
500
+ "application/json": {
501
+ data?: components["schemas"]["ApiVenueSummaryDto"][];
502
+ };
503
+ };
504
+ };
505
+ };
506
+ };
507
+ }
508
+ //# sourceMappingURL=generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @subdynamics/event-hub-api-types
3
+ *
4
+ * TypeScript types and mapper functions generated from the Event Hub API
5
+ * OpenAPI spec (docs/openapi.yaml). Re-run `npm run generate` in this package
6
+ * to regenerate src/generated.ts from the latest spec.
7
+ *
8
+ * Usage (types only):
9
+ * import type { ApiEventDto, ApiHostSummaryDto, ApiVenueSummaryDto } from '@subdynamics/event-hub-api-types';
10
+ *
11
+ * Usage (mappers):
12
+ * import { mapEventDto, mapHostSummaryDto, mapVenueSummaryDto } from '@subdynamics/event-hub-api-types';
13
+ * // or via the dedicated sub-path:
14
+ * import { mapEventDto } from '@subdynamics/event-hub-api-types/mappers';
15
+ */
16
+ export type { components, operations, paths } from './generated.js';
17
+ import type { components } from './generated.js';
18
+ /** Full event record as returned by GET /api/v1/events and GET /api/v1/events/:id. */
19
+ export type ApiEventDto = components['schemas']['ApiEventDto'];
20
+ /** Summary of a host attached to an event or returned from a region hosts listing. */
21
+ export type ApiHostSummaryDto = components['schemas']['ApiHostSummaryDto'];
22
+ /** Summary of a venue embedded inside an event response or a region venues listing. */
23
+ export type ApiVenueSummaryDto = components['schemas']['ApiVenueSummaryDto'];
24
+ export type { HostItem, VenueItem, EventItem } from './mappers.js';
25
+ export { mapHostSummaryDto, mapVenueSummaryDto, mapEventDto } from './mappers.js';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAE/D,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAE3E,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAI7E,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @subdynamics/event-hub-api-types
3
+ *
4
+ * TypeScript types and mapper functions generated from the Event Hub API
5
+ * OpenAPI spec (docs/openapi.yaml). Re-run `npm run generate` in this package
6
+ * to regenerate src/generated.ts from the latest spec.
7
+ *
8
+ * Usage (types only):
9
+ * import type { ApiEventDto, ApiHostSummaryDto, ApiVenueSummaryDto } from '@subdynamics/event-hub-api-types';
10
+ *
11
+ * Usage (mappers):
12
+ * import { mapEventDto, mapHostSummaryDto, mapVenueSummaryDto } from '@subdynamics/event-hub-api-types';
13
+ * // or via the dedicated sub-path:
14
+ * import { mapEventDto } from '@subdynamics/event-hub-api-types/mappers';
15
+ */
16
+ export { mapHostSummaryDto, mapVenueSummaryDto, mapEventDto } from './mappers.js';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Mapper functions: convert raw API DTOs (generated from the OpenAPI spec) to
3
+ * the internal data model defined below.
4
+ *
5
+ * Import from the published package:
6
+ * import { mapEventDto, mapHostSummaryDto, mapVenueSummaryDto } from '@subdynamics/event-hub-api-types/mappers';
7
+ * // or, using the barrel:
8
+ * import { mapEventDto } from '@subdynamics/event-hub-api-types';
9
+ */
10
+ import type { components } from './generated.js';
11
+ export type ApiEventDto = components['schemas']['ApiEventDto'];
12
+ export type ApiHostSummaryDto = components['schemas']['ApiHostSummaryDto'];
13
+ export type ApiVenueSummaryDto = components['schemas']['ApiVenueSummaryDto'];
14
+ /** Internal representation of a host used throughout the frontend. */
15
+ export interface HostItem {
16
+ id: string;
17
+ slug: string;
18
+ name: string;
19
+ hostType: 'venue' | 'band' | 'promoter' | 'individual';
20
+ regionKey: string;
21
+ /** Role on the associated event, if applicable. */
22
+ role: string | null;
23
+ }
24
+ /** Internal representation of a venue used throughout the frontend. */
25
+ export interface VenueItem {
26
+ id: string;
27
+ name: string;
28
+ address: string;
29
+ city: string;
30
+ state: string;
31
+ zip: string | null;
32
+ lat: number | null;
33
+ lng: number | null;
34
+ timezone: string;
35
+ regionKey: string;
36
+ }
37
+ /**
38
+ * Internal representation of an event used throughout the frontend.
39
+ *
40
+ * Timestamps are stored as `Date` objects so consumers can call `.toLocaleString()`
41
+ * etc. without worrying about ISO parsing.
42
+ */
43
+ export interface EventItem {
44
+ id: string;
45
+ title: string;
46
+ description: string | null;
47
+ /** Parsed UTC start time. */
48
+ startsAt: Date;
49
+ /** Parsed UTC end time. */
50
+ endsAt: Date;
51
+ timezone: string;
52
+ regionKey: string;
53
+ venueId: string | null;
54
+ visibility: 'public' | 'private' | 'unlisted';
55
+ permalinkSlug: string;
56
+ permalinkPath: string;
57
+ heroImageUrl: string | null;
58
+ status: 'draft' | 'published' | 'canceled';
59
+ venue: VenueItem | null;
60
+ hosts: HostItem[];
61
+ categories: string[];
62
+ }
63
+ /** Maps an {@link ApiHostSummaryDto} to an internal {@link HostItem}. */
64
+ export declare function mapHostSummaryDto(dto: ApiHostSummaryDto): HostItem;
65
+ /** Maps an {@link ApiVenueSummaryDto} to an internal {@link VenueItem}. */
66
+ export declare function mapVenueSummaryDto(dto: ApiVenueSummaryDto): VenueItem;
67
+ /**
68
+ * Maps an {@link ApiEventDto} to an internal {@link EventItem}.
69
+ *
70
+ * ISO 8601 timestamp strings are parsed into `Date` objects.
71
+ */
72
+ export declare function mapEventDto(dto: ApiEventDto): EventItem;
73
+ //# sourceMappingURL=mappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../src/mappers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAM7E,sEAAsE;AACtE,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,IAAI,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3C,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,QAAQ,CASlE;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAarE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,CAmBvD"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Mapper functions: convert raw API DTOs (generated from the OpenAPI spec) to
3
+ * the internal data model defined below.
4
+ *
5
+ * Import from the published package:
6
+ * import { mapEventDto, mapHostSummaryDto, mapVenueSummaryDto } from '@subdynamics/event-hub-api-types/mappers';
7
+ * // or, using the barrel:
8
+ * import { mapEventDto } from '@subdynamics/event-hub-api-types';
9
+ */
10
+ // ---------------------------------------------------------------------------
11
+ // Mapper functions
12
+ // ---------------------------------------------------------------------------
13
+ /** Maps an {@link ApiHostSummaryDto} to an internal {@link HostItem}. */
14
+ export function mapHostSummaryDto(dto) {
15
+ return {
16
+ id: dto.id,
17
+ slug: dto.slug,
18
+ name: dto.name,
19
+ hostType: dto.hostType,
20
+ regionKey: dto.regionKey,
21
+ role: dto.role,
22
+ };
23
+ }
24
+ /** Maps an {@link ApiVenueSummaryDto} to an internal {@link VenueItem}. */
25
+ export function mapVenueSummaryDto(dto) {
26
+ return {
27
+ id: dto.id,
28
+ name: dto.name,
29
+ address: dto.address,
30
+ city: dto.city,
31
+ state: dto.state,
32
+ zip: dto.zip ?? null,
33
+ lat: dto.lat ?? null,
34
+ lng: dto.lng ?? null,
35
+ timezone: dto.timezone,
36
+ regionKey: dto.regionKey,
37
+ };
38
+ }
39
+ /**
40
+ * Maps an {@link ApiEventDto} to an internal {@link EventItem}.
41
+ *
42
+ * ISO 8601 timestamp strings are parsed into `Date` objects.
43
+ */
44
+ export function mapEventDto(dto) {
45
+ return {
46
+ id: dto.id,
47
+ title: dto.title,
48
+ description: dto.description ?? null,
49
+ startsAt: new Date(dto.startsAtUtc),
50
+ endsAt: new Date(dto.endsAtUtc),
51
+ timezone: dto.timezone,
52
+ regionKey: dto.regionKey,
53
+ venueId: dto.venueId ?? null,
54
+ visibility: dto.visibility,
55
+ permalinkSlug: dto.permalinkSlug,
56
+ permalinkPath: dto.permalinkPath,
57
+ heroImageUrl: dto.heroImageUrl ?? null,
58
+ status: dto.status,
59
+ venue: dto.venue ? mapVenueSummaryDto(dto.venue) : null,
60
+ hosts: dto.hosts.map(mapHostSummaryDto),
61
+ categories: dto.categories,
62
+ };
63
+ }
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://www.schemastore.org/package.json",
3
+ "name": "@subdynamics/event-hub-api-types",
4
+ "version": "1.0.0",
5
+ "description": "TypeScript types generated from the Event Hub API OpenAPI spec.",
6
+ "keywords": ["event-hub", "openapi", "typescript", "types"],
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/SubDynamics/event-hub-api.git",
11
+ "directory": "packages/types"
12
+ },
13
+ "type": "module",
14
+ "main": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
+ "exports": {
17
+ ".": {
18
+ "import": "./dist/index.js",
19
+ "types": "./dist/index.d.ts"
20
+ },
21
+ "./mappers": {
22
+ "import": "./dist/mappers.js",
23
+ "types": "./dist/mappers.d.ts"
24
+ }
25
+ },
26
+ "files": ["dist"],
27
+ "scripts": {
28
+ "generate": "openapi-typescript ../../docs/openapi.yaml -o src/generated.ts",
29
+ "build": "tsc",
30
+ "prepublishOnly": "npm run generate && npm run build"
31
+ },
32
+ "devDependencies": {
33
+ "openapi-typescript": "^7.0.0",
34
+ "typescript": "^5.0.0"
35
+ }
36
+ }