@lcas58/esmi-api-types 1.0.17 → 1.0.19

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.
@@ -1,4 +1,6 @@
1
1
  import type { AppRouteHandler } from "../../lib/types.js";
2
- import type { GetOneRoute, ListRoute } from "./events.routes.js";
2
+ import type { DiscoverExternalRoute, DiscoverRoute, GetOneRoute, ListRoute } from "./events.routes.js";
3
3
  export declare const list: AppRouteHandler<ListRoute>;
4
4
  export declare const getOne: AppRouteHandler<GetOneRoute>;
5
+ export declare const discover: AppRouteHandler<DiscoverRoute>;
6
+ export declare const discoverExternal: AppRouteHandler<DiscoverExternalRoute>;
@@ -1,6 +1,8 @@
1
1
  import { and, eq, gte, ilike, inArray, isNotNull, lte } from "drizzle-orm";
2
2
  import * as HttpStatusCodes from "stoker/http-status-codes";
3
3
  import * as HttpStatusPhrases from "stoker/http-status-phrases";
4
+ import { runExternalDiscoveryAgent } from "../../agent/runner.js";
5
+ import { searchLocalEvents } from "../../agent/tools.js";
4
6
  import { createDb } from "../../db/index.js";
5
7
  import { event, location } from "../../db/schema/index.js";
6
8
  export const list = async (c) => {
@@ -93,3 +95,27 @@ export const getOne = async (c) => {
93
95
  }
94
96
  return c.json(foundEvent, HttpStatusCodes.OK);
95
97
  };
98
+ export const discover = async (c) => {
99
+ const body = c.req.valid("json");
100
+ const { db } = createDb(c.env);
101
+ const events = await searchLocalEvents(db, {
102
+ sportId: body.sportId,
103
+ city: body.city,
104
+ state: body.state,
105
+ from: body.from,
106
+ to: body.to,
107
+ });
108
+ return c.json(events, HttpStatusCodes.OK);
109
+ };
110
+ export const discoverExternal = async (c) => {
111
+ const body = c.req.valid("json");
112
+ const { db } = createDb(c.env);
113
+ const events = await runExternalDiscoveryAgent(c.env, db, {
114
+ sportId: body.sportId,
115
+ city: body.city,
116
+ state: body.state,
117
+ from: body.from,
118
+ to: body.to,
119
+ });
120
+ return c.json(events, HttpStatusCodes.OK);
121
+ };
@@ -118,5 +118,145 @@ declare const router: import("@hono/zod-openapi").OpenAPIHono<import("../../shar
118
118
  status: 404;
119
119
  };
120
120
  };
121
+ } & {
122
+ "/events/discover": {
123
+ $post: {
124
+ input: {
125
+ json: {
126
+ sportId: string;
127
+ city: string;
128
+ state: string;
129
+ from?: string | undefined;
130
+ to?: string | undefined;
131
+ };
132
+ };
133
+ output: {
134
+ metadata: any;
135
+ id: string;
136
+ title: string;
137
+ createdAt: string;
138
+ sport: {
139
+ id: string;
140
+ name: string;
141
+ icon: string | null;
142
+ } | null;
143
+ sportId: string;
144
+ startsAt: string;
145
+ endsAt: string | null;
146
+ timezone: string;
147
+ location: {
148
+ id: string;
149
+ name: string;
150
+ formattedAddress: string;
151
+ city: string | null;
152
+ state: string | null;
153
+ latitude: number | null;
154
+ longitude: number | null;
155
+ } | null;
156
+ locationId: string | null;
157
+ externalLinkId: string | null;
158
+ source: "external" | "community";
159
+ thumbnailUrl: string | null;
160
+ createdByUserId: string | null;
161
+ creator: {
162
+ image: string | null;
163
+ id: string;
164
+ name: string;
165
+ } | null;
166
+ externalLink: {
167
+ url: string;
168
+ id: string;
169
+ domain: string;
170
+ } | null;
171
+ }[];
172
+ outputFormat: "text" | "json";
173
+ status: 200;
174
+ } | {
175
+ input: {
176
+ json: {
177
+ sportId: string;
178
+ city: string;
179
+ state: string;
180
+ from?: string | undefined;
181
+ to?: string | undefined;
182
+ };
183
+ };
184
+ output: {
185
+ message: string;
186
+ };
187
+ outputFormat: "text" | "json";
188
+ status: 401;
189
+ };
190
+ };
191
+ } & {
192
+ "/events/discover/external": {
193
+ $post: {
194
+ input: {
195
+ json: {
196
+ sportId: string;
197
+ city: string;
198
+ state: string;
199
+ from?: string | undefined;
200
+ to?: string | undefined;
201
+ };
202
+ };
203
+ output: {
204
+ metadata: any;
205
+ id: string;
206
+ title: string;
207
+ createdAt: string;
208
+ sport: {
209
+ id: string;
210
+ name: string;
211
+ icon: string | null;
212
+ } | null;
213
+ sportId: string;
214
+ startsAt: string;
215
+ endsAt: string | null;
216
+ timezone: string;
217
+ location: {
218
+ id: string;
219
+ name: string;
220
+ formattedAddress: string;
221
+ city: string | null;
222
+ state: string | null;
223
+ latitude: number | null;
224
+ longitude: number | null;
225
+ } | null;
226
+ locationId: string | null;
227
+ externalLinkId: string | null;
228
+ source: "external" | "community";
229
+ thumbnailUrl: string | null;
230
+ createdByUserId: string | null;
231
+ creator: {
232
+ image: string | null;
233
+ id: string;
234
+ name: string;
235
+ } | null;
236
+ externalLink: {
237
+ url: string;
238
+ id: string;
239
+ domain: string;
240
+ } | null;
241
+ }[];
242
+ outputFormat: "text" | "json";
243
+ status: 200;
244
+ } | {
245
+ input: {
246
+ json: {
247
+ sportId: string;
248
+ city: string;
249
+ state: string;
250
+ from?: string | undefined;
251
+ to?: string | undefined;
252
+ };
253
+ };
254
+ output: {
255
+ message: string;
256
+ };
257
+ outputFormat: "text" | "json";
258
+ status: 401;
259
+ };
260
+ };
121
261
  }, "/">;
122
262
  export default router;
@@ -3,5 +3,7 @@ import * as handlers from "./events.handlers.js";
3
3
  import * as routes from "./events.routes.js";
4
4
  const router = createRouter()
5
5
  .openapi(routes.list, handlers.list)
6
- .openapi(routes.getOne, handlers.getOne);
6
+ .openapi(routes.getOne, handlers.getOne)
7
+ .openapi(routes.discover, handlers.discover)
8
+ .openapi(routes.discoverExternal, handlers.discoverExternal);
7
9
  export default router;
@@ -588,5 +588,650 @@ export declare const getOne: {
588
588
  } & {
589
589
  getRoutingPath(): "/events/:id";
590
590
  };
591
+ export declare const discoverRequestSchema: z.ZodObject<{
592
+ sportId: z.ZodString;
593
+ city: z.ZodString;
594
+ state: z.ZodString;
595
+ from: z.ZodOptional<z.ZodString>;
596
+ to: z.ZodOptional<z.ZodString>;
597
+ }, "strip", z.ZodTypeAny, {
598
+ sportId: string;
599
+ city: string;
600
+ state: string;
601
+ from?: string | undefined;
602
+ to?: string | undefined;
603
+ }, {
604
+ sportId: string;
605
+ city: string;
606
+ state: string;
607
+ from?: string | undefined;
608
+ to?: string | undefined;
609
+ }>;
610
+ export declare const discover: {
611
+ path: "/events/discover";
612
+ method: "post";
613
+ tags: string[];
614
+ middleware: [import("hono").MiddlewareHandler];
615
+ request: {
616
+ body: {
617
+ required: boolean;
618
+ content: {
619
+ "application/json": {
620
+ schema: z.ZodObject<{
621
+ sportId: z.ZodString;
622
+ city: z.ZodString;
623
+ state: z.ZodString;
624
+ from: z.ZodOptional<z.ZodString>;
625
+ to: z.ZodOptional<z.ZodString>;
626
+ }, "strip", z.ZodTypeAny, {
627
+ sportId: string;
628
+ city: string;
629
+ state: string;
630
+ from?: string | undefined;
631
+ to?: string | undefined;
632
+ }, {
633
+ sportId: string;
634
+ city: string;
635
+ state: string;
636
+ from?: string | undefined;
637
+ to?: string | undefined;
638
+ }>;
639
+ };
640
+ };
641
+ description: string;
642
+ };
643
+ };
644
+ responses: {
645
+ 200: {
646
+ content: {
647
+ "application/json": {
648
+ schema: z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
649
+ id: z.ZodString;
650
+ sportId: z.ZodString;
651
+ title: z.ZodString;
652
+ startsAt: z.ZodDate;
653
+ endsAt: z.ZodNullable<z.ZodDate>;
654
+ timezone: z.ZodString;
655
+ locationId: z.ZodNullable<z.ZodString>;
656
+ externalLinkId: z.ZodNullable<z.ZodString>;
657
+ source: z.ZodEnum<["external", "community"]>;
658
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
659
+ metadata: z.ZodNullable<z.ZodType<string | number | boolean | {
660
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
661
+ } | (string | number | boolean | {
662
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
663
+ } | (string | number | boolean | {
664
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
665
+ } | (string | number | boolean | {
666
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
667
+ } | (string | number | boolean | {
668
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
669
+ } | (string | number | boolean | {
670
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
671
+ } | (string | number | boolean | {
672
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
673
+ } | (string | number | boolean | {
674
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
675
+ } | (string | number | boolean | {
676
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
677
+ } | (string | number | boolean | {
678
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
679
+ } | (string | number | boolean | {
680
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
681
+ } | (string | number | boolean | {
682
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
683
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null, z.ZodTypeDef, string | number | boolean | {
684
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
685
+ } | (string | number | boolean | {
686
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
687
+ } | (string | number | boolean | {
688
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
689
+ } | (string | number | boolean | {
690
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
691
+ } | (string | number | boolean | {
692
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
693
+ } | (string | number | boolean | {
694
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
695
+ } | (string | number | boolean | {
696
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
697
+ } | (string | number | boolean | {
698
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
699
+ } | (string | number | boolean | {
700
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
701
+ } | (string | number | boolean | {
702
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
703
+ } | (string | number | boolean | {
704
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
705
+ } | (string | number | boolean | {
706
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
707
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null>>;
708
+ createdByUserId: z.ZodNullable<z.ZodString>;
709
+ createdAt: z.ZodDate;
710
+ }, {
711
+ sport: z.ZodNullable<z.ZodObject<{
712
+ id: z.ZodString;
713
+ name: z.ZodString;
714
+ icon: z.ZodNullable<z.ZodString>;
715
+ }, "strip", z.ZodTypeAny, {
716
+ id: string;
717
+ name: string;
718
+ icon: string | null;
719
+ }, {
720
+ id: string;
721
+ name: string;
722
+ icon: string | null;
723
+ }>>;
724
+ location: z.ZodNullable<z.ZodObject<{
725
+ id: z.ZodString;
726
+ name: z.ZodString;
727
+ formattedAddress: z.ZodString;
728
+ city: z.ZodNullable<z.ZodString>;
729
+ state: z.ZodNullable<z.ZodString>;
730
+ latitude: z.ZodNullable<z.ZodNumber>;
731
+ longitude: z.ZodNullable<z.ZodNumber>;
732
+ }, "strip", z.ZodTypeAny, {
733
+ id: string;
734
+ name: string;
735
+ formattedAddress: string;
736
+ city: string | null;
737
+ state: string | null;
738
+ latitude: number | null;
739
+ longitude: number | null;
740
+ }, {
741
+ id: string;
742
+ name: string;
743
+ formattedAddress: string;
744
+ city: string | null;
745
+ state: string | null;
746
+ latitude: number | null;
747
+ longitude: number | null;
748
+ }>>;
749
+ externalLink: z.ZodNullable<z.ZodObject<{
750
+ id: z.ZodString;
751
+ url: z.ZodString;
752
+ domain: z.ZodString;
753
+ }, "strip", z.ZodTypeAny, {
754
+ url: string;
755
+ id: string;
756
+ domain: string;
757
+ }, {
758
+ url: string;
759
+ id: string;
760
+ domain: string;
761
+ }>>;
762
+ creator: z.ZodNullable<z.ZodObject<{
763
+ id: z.ZodString;
764
+ name: z.ZodString;
765
+ image: z.ZodNullable<z.ZodString>;
766
+ }, "strip", z.ZodTypeAny, {
767
+ image: string | null;
768
+ id: string;
769
+ name: string;
770
+ }, {
771
+ image: string | null;
772
+ id: string;
773
+ name: string;
774
+ }>>;
775
+ }>, z.UnknownKeysParam, z.ZodTypeAny, {
776
+ metadata: string | number | boolean | {
777
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
778
+ } | (string | number | boolean | {
779
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
780
+ } | (string | number | boolean | {
781
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
782
+ } | (string | number | boolean | {
783
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
784
+ } | (string | number | boolean | {
785
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
786
+ } | (string | number | boolean | {
787
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
788
+ } | (string | number | boolean | {
789
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
790
+ } | (string | number | boolean | {
791
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
792
+ } | (string | number | boolean | {
793
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
794
+ } | (string | number | boolean | {
795
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
796
+ } | (string | number | boolean | {
797
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
798
+ } | (string | number | boolean | {
799
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
800
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
801
+ id: string;
802
+ title: string;
803
+ createdAt: Date;
804
+ sport: {
805
+ id: string;
806
+ name: string;
807
+ icon: string | null;
808
+ } | null;
809
+ sportId: string;
810
+ startsAt: Date;
811
+ endsAt: Date | null;
812
+ timezone: string;
813
+ location: {
814
+ id: string;
815
+ name: string;
816
+ formattedAddress: string;
817
+ city: string | null;
818
+ state: string | null;
819
+ latitude: number | null;
820
+ longitude: number | null;
821
+ } | null;
822
+ locationId: string | null;
823
+ externalLinkId: string | null;
824
+ source: "external" | "community";
825
+ thumbnailUrl: string | null;
826
+ createdByUserId: string | null;
827
+ creator: {
828
+ image: string | null;
829
+ id: string;
830
+ name: string;
831
+ } | null;
832
+ externalLink: {
833
+ url: string;
834
+ id: string;
835
+ domain: string;
836
+ } | null;
837
+ }, {
838
+ metadata: string | number | boolean | {
839
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
840
+ } | (string | number | boolean | {
841
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
842
+ } | (string | number | boolean | {
843
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
844
+ } | (string | number | boolean | {
845
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
846
+ } | (string | number | boolean | {
847
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
848
+ } | (string | number | boolean | {
849
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
850
+ } | (string | number | boolean | {
851
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
852
+ } | (string | number | boolean | {
853
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
854
+ } | (string | number | boolean | {
855
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
856
+ } | (string | number | boolean | {
857
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
858
+ } | (string | number | boolean | {
859
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
860
+ } | (string | number | boolean | {
861
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
862
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
863
+ id: string;
864
+ title: string;
865
+ createdAt: Date;
866
+ sport: {
867
+ id: string;
868
+ name: string;
869
+ icon: string | null;
870
+ } | null;
871
+ sportId: string;
872
+ startsAt: Date;
873
+ endsAt: Date | null;
874
+ timezone: string;
875
+ location: {
876
+ id: string;
877
+ name: string;
878
+ formattedAddress: string;
879
+ city: string | null;
880
+ state: string | null;
881
+ latitude: number | null;
882
+ longitude: number | null;
883
+ } | null;
884
+ locationId: string | null;
885
+ externalLinkId: string | null;
886
+ source: "external" | "community";
887
+ thumbnailUrl: string | null;
888
+ createdByUserId: string | null;
889
+ creator: {
890
+ image: string | null;
891
+ id: string;
892
+ name: string;
893
+ } | null;
894
+ externalLink: {
895
+ url: string;
896
+ id: string;
897
+ domain: string;
898
+ } | null;
899
+ }>, "many">;
900
+ };
901
+ };
902
+ description: string;
903
+ };
904
+ 401: {
905
+ content: {
906
+ "application/json": {
907
+ schema: z.ZodObject<{
908
+ message: z.ZodString;
909
+ }, "strip", z.ZodTypeAny, {
910
+ message: string;
911
+ }, {
912
+ message: string;
913
+ }>;
914
+ };
915
+ };
916
+ description: string;
917
+ };
918
+ };
919
+ } & {
920
+ getRoutingPath(): "/events/discover";
921
+ };
922
+ export declare const discoverExternal: {
923
+ path: "/events/discover/external";
924
+ method: "post";
925
+ tags: string[];
926
+ middleware: [import("hono").MiddlewareHandler];
927
+ request: {
928
+ body: {
929
+ required: boolean;
930
+ content: {
931
+ "application/json": {
932
+ schema: z.ZodObject<{
933
+ sportId: z.ZodString;
934
+ city: z.ZodString;
935
+ state: z.ZodString;
936
+ from: z.ZodOptional<z.ZodString>;
937
+ to: z.ZodOptional<z.ZodString>;
938
+ }, "strip", z.ZodTypeAny, {
939
+ sportId: string;
940
+ city: string;
941
+ state: string;
942
+ from?: string | undefined;
943
+ to?: string | undefined;
944
+ }, {
945
+ sportId: string;
946
+ city: string;
947
+ state: string;
948
+ from?: string | undefined;
949
+ to?: string | undefined;
950
+ }>;
951
+ };
952
+ };
953
+ description: string;
954
+ };
955
+ };
956
+ responses: {
957
+ 200: {
958
+ content: {
959
+ "application/json": {
960
+ schema: z.ZodArray<z.ZodObject<z.objectUtil.extendShape<{
961
+ id: z.ZodString;
962
+ sportId: z.ZodString;
963
+ title: z.ZodString;
964
+ startsAt: z.ZodDate;
965
+ endsAt: z.ZodNullable<z.ZodDate>;
966
+ timezone: z.ZodString;
967
+ locationId: z.ZodNullable<z.ZodString>;
968
+ externalLinkId: z.ZodNullable<z.ZodString>;
969
+ source: z.ZodEnum<["external", "community"]>;
970
+ thumbnailUrl: z.ZodNullable<z.ZodString>;
971
+ metadata: z.ZodNullable<z.ZodType<string | number | boolean | {
972
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
973
+ } | (string | number | boolean | {
974
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
975
+ } | (string | number | boolean | {
976
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
977
+ } | (string | number | boolean | {
978
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
979
+ } | (string | number | boolean | {
980
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
981
+ } | (string | number | boolean | {
982
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
983
+ } | (string | number | boolean | {
984
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
985
+ } | (string | number | boolean | {
986
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
987
+ } | (string | number | boolean | {
988
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
989
+ } | (string | number | boolean | {
990
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
991
+ } | (string | number | boolean | {
992
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
993
+ } | (string | number | boolean | {
994
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
995
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null, z.ZodTypeDef, string | number | boolean | {
996
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
997
+ } | (string | number | boolean | {
998
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
999
+ } | (string | number | boolean | {
1000
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1001
+ } | (string | number | boolean | {
1002
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1003
+ } | (string | number | boolean | {
1004
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1005
+ } | (string | number | boolean | {
1006
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1007
+ } | (string | number | boolean | {
1008
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1009
+ } | (string | number | boolean | {
1010
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
1011
+ } | (string | number | boolean | {
1012
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
1013
+ } | (string | number | boolean | {
1014
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
1015
+ } | (string | number | boolean | {
1016
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
1017
+ } | (string | number | boolean | {
1018
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
1019
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null>>;
1020
+ createdByUserId: z.ZodNullable<z.ZodString>;
1021
+ createdAt: z.ZodDate;
1022
+ }, {
1023
+ sport: z.ZodNullable<z.ZodObject<{
1024
+ id: z.ZodString;
1025
+ name: z.ZodString;
1026
+ icon: z.ZodNullable<z.ZodString>;
1027
+ }, "strip", z.ZodTypeAny, {
1028
+ id: string;
1029
+ name: string;
1030
+ icon: string | null;
1031
+ }, {
1032
+ id: string;
1033
+ name: string;
1034
+ icon: string | null;
1035
+ }>>;
1036
+ location: z.ZodNullable<z.ZodObject<{
1037
+ id: z.ZodString;
1038
+ name: z.ZodString;
1039
+ formattedAddress: z.ZodString;
1040
+ city: z.ZodNullable<z.ZodString>;
1041
+ state: z.ZodNullable<z.ZodString>;
1042
+ latitude: z.ZodNullable<z.ZodNumber>;
1043
+ longitude: z.ZodNullable<z.ZodNumber>;
1044
+ }, "strip", z.ZodTypeAny, {
1045
+ id: string;
1046
+ name: string;
1047
+ formattedAddress: string;
1048
+ city: string | null;
1049
+ state: string | null;
1050
+ latitude: number | null;
1051
+ longitude: number | null;
1052
+ }, {
1053
+ id: string;
1054
+ name: string;
1055
+ formattedAddress: string;
1056
+ city: string | null;
1057
+ state: string | null;
1058
+ latitude: number | null;
1059
+ longitude: number | null;
1060
+ }>>;
1061
+ externalLink: z.ZodNullable<z.ZodObject<{
1062
+ id: z.ZodString;
1063
+ url: z.ZodString;
1064
+ domain: z.ZodString;
1065
+ }, "strip", z.ZodTypeAny, {
1066
+ url: string;
1067
+ id: string;
1068
+ domain: string;
1069
+ }, {
1070
+ url: string;
1071
+ id: string;
1072
+ domain: string;
1073
+ }>>;
1074
+ creator: z.ZodNullable<z.ZodObject<{
1075
+ id: z.ZodString;
1076
+ name: z.ZodString;
1077
+ image: z.ZodNullable<z.ZodString>;
1078
+ }, "strip", z.ZodTypeAny, {
1079
+ image: string | null;
1080
+ id: string;
1081
+ name: string;
1082
+ }, {
1083
+ image: string | null;
1084
+ id: string;
1085
+ name: string;
1086
+ }>>;
1087
+ }>, z.UnknownKeysParam, z.ZodTypeAny, {
1088
+ metadata: string | number | boolean | {
1089
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1090
+ } | (string | number | boolean | {
1091
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1092
+ } | (string | number | boolean | {
1093
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1094
+ } | (string | number | boolean | {
1095
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1096
+ } | (string | number | boolean | {
1097
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1098
+ } | (string | number | boolean | {
1099
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1100
+ } | (string | number | boolean | {
1101
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1102
+ } | (string | number | boolean | {
1103
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
1104
+ } | (string | number | boolean | {
1105
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
1106
+ } | (string | number | boolean | {
1107
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
1108
+ } | (string | number | boolean | {
1109
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
1110
+ } | (string | number | boolean | {
1111
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
1112
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1113
+ id: string;
1114
+ title: string;
1115
+ createdAt: Date;
1116
+ sport: {
1117
+ id: string;
1118
+ name: string;
1119
+ icon: string | null;
1120
+ } | null;
1121
+ sportId: string;
1122
+ startsAt: Date;
1123
+ endsAt: Date | null;
1124
+ timezone: string;
1125
+ location: {
1126
+ id: string;
1127
+ name: string;
1128
+ formattedAddress: string;
1129
+ city: string | null;
1130
+ state: string | null;
1131
+ latitude: number | null;
1132
+ longitude: number | null;
1133
+ } | null;
1134
+ locationId: string | null;
1135
+ externalLinkId: string | null;
1136
+ source: "external" | "community";
1137
+ thumbnailUrl: string | null;
1138
+ createdByUserId: string | null;
1139
+ creator: {
1140
+ image: string | null;
1141
+ id: string;
1142
+ name: string;
1143
+ } | null;
1144
+ externalLink: {
1145
+ url: string;
1146
+ id: string;
1147
+ domain: string;
1148
+ } | null;
1149
+ }, {
1150
+ metadata: string | number | boolean | {
1151
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1152
+ } | (string | number | boolean | {
1153
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1154
+ } | (string | number | boolean | {
1155
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1156
+ } | (string | number | boolean | {
1157
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1158
+ } | (string | number | boolean | {
1159
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1160
+ } | (string | number | boolean | {
1161
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1162
+ } | (string | number | boolean | {
1163
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1164
+ } | (string | number | boolean | {
1165
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null;
1166
+ } | (string | number | boolean | {
1167
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null)[] | null;
1168
+ } | (string | number | boolean | {
1169
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null)[] | null;
1170
+ } | (string | number | boolean | {
1171
+ [key: string]: string | number | boolean | /*elided*/ any | (string | number | boolean | /*elided*/ any | /*elided*/ any | null)[] | null;
1172
+ } | (string | number | boolean | {
1173
+ [key: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
1174
+ } | /*elided*/ any | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null)[] | null;
1175
+ id: string;
1176
+ title: string;
1177
+ createdAt: Date;
1178
+ sport: {
1179
+ id: string;
1180
+ name: string;
1181
+ icon: string | null;
1182
+ } | null;
1183
+ sportId: string;
1184
+ startsAt: Date;
1185
+ endsAt: Date | null;
1186
+ timezone: string;
1187
+ location: {
1188
+ id: string;
1189
+ name: string;
1190
+ formattedAddress: string;
1191
+ city: string | null;
1192
+ state: string | null;
1193
+ latitude: number | null;
1194
+ longitude: number | null;
1195
+ } | null;
1196
+ locationId: string | null;
1197
+ externalLinkId: string | null;
1198
+ source: "external" | "community";
1199
+ thumbnailUrl: string | null;
1200
+ createdByUserId: string | null;
1201
+ creator: {
1202
+ image: string | null;
1203
+ id: string;
1204
+ name: string;
1205
+ } | null;
1206
+ externalLink: {
1207
+ url: string;
1208
+ id: string;
1209
+ domain: string;
1210
+ } | null;
1211
+ }>, "many">;
1212
+ };
1213
+ };
1214
+ description: string;
1215
+ };
1216
+ 401: {
1217
+ content: {
1218
+ "application/json": {
1219
+ schema: z.ZodObject<{
1220
+ message: z.ZodString;
1221
+ }, "strip", z.ZodTypeAny, {
1222
+ message: string;
1223
+ }, {
1224
+ message: string;
1225
+ }>;
1226
+ };
1227
+ };
1228
+ description: string;
1229
+ };
1230
+ };
1231
+ } & {
1232
+ getRoutingPath(): "/events/discover/external";
1233
+ };
591
1234
  export type ListRoute = typeof list;
592
1235
  export type GetOneRoute = typeof getOne;
1236
+ export type DiscoverRoute = typeof discover;
1237
+ export type DiscoverExternalRoute = typeof discoverExternal;
@@ -1,7 +1,8 @@
1
1
  import { createRoute, z } from "@hono/zod-openapi";
2
2
  import * as HttpStatusCodes from "stoker/http-status-codes";
3
- import { jsonContent } from "stoker/openapi/helpers";
4
- import { notFoundSchema } from "../../lib/constants.js";
3
+ import { jsonContent, jsonContentRequired } from "stoker/openapi/helpers";
4
+ import { notFoundSchema, unauthorizedSchema } from "../../lib/constants.js";
5
+ import { isAuth } from "../../middlewares/is-auth.js";
5
6
  import { eventWithRelationsSchema, listEventsQuerySchema } from "./schemas/index.js";
6
7
  export const list = createRoute({
7
8
  path: "/events",
@@ -28,3 +29,36 @@ export const getOne = createRoute({
28
29
  [HttpStatusCodes.NOT_FOUND]: jsonContent(notFoundSchema, "Event not found"),
29
30
  },
30
31
  });
32
+ export const discoverRequestSchema = z.object({
33
+ sportId: z.string().min(1),
34
+ city: z.string().min(1),
35
+ state: z.string().min(1),
36
+ from: z.string().optional(),
37
+ to: z.string().optional(),
38
+ });
39
+ export const discover = createRoute({
40
+ path: "/events/discover",
41
+ method: "post",
42
+ tags: ["Events"],
43
+ middleware: [isAuth()],
44
+ request: {
45
+ body: jsonContentRequired(discoverRequestSchema, "Event discovery criteria"),
46
+ },
47
+ responses: {
48
+ [HttpStatusCodes.OK]: jsonContent(z.array(eventWithRelationsSchema), "Discovered events"),
49
+ [HttpStatusCodes.UNAUTHORIZED]: jsonContent(unauthorizedSchema, "Unauthorized"),
50
+ },
51
+ });
52
+ export const discoverExternal = createRoute({
53
+ path: "/events/discover/external",
54
+ method: "post",
55
+ tags: ["Events"],
56
+ middleware: [isAuth()],
57
+ request: {
58
+ body: jsonContentRequired(discoverRequestSchema, "External event discovery criteria"),
59
+ },
60
+ responses: {
61
+ [HttpStatusCodes.OK]: jsonContent(z.array(eventWithRelationsSchema), "Externally discovered events"),
62
+ [HttpStatusCodes.UNAUTHORIZED]: jsonContent(unauthorizedSchema, "Unauthorized"),
63
+ },
64
+ });
@@ -1,8 +1,7 @@
1
- import type discover from "../routes/events/discover.index.js";
2
1
  import type events from "../routes/events/events.index.js";
3
2
  import type index from "../routes/index.route.js";
4
3
  import type marketing from "../routes/marketing/marketing.index.js";
5
4
  import type sports from "../routes/sports/sports.index.js";
6
5
  import type users from "../routes/users/users.index.js";
7
6
  import type webhooks from "../routes/webhooks/webhooks.index.js";
8
- export type AppType = typeof index | typeof events | typeof discover | typeof sports | typeof users | typeof marketing | typeof webhooks;
7
+ export type AppType = typeof index | typeof events | typeof sports | typeof users | typeof marketing | typeof webhooks;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcas58/esmi-api-types",
3
3
  "type": "module",
4
- "version": "1.0.17",
4
+ "version": "1.0.19",
5
5
  "license": "MIT",
6
6
  "exports": {
7
7
  ".": {