@opprs/db-prisma 2.2.0 → 2.2.1-canary.2ae1e14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -21,24 +21,31 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
23
  connect: () => connect,
24
+ countLocations: () => countLocations,
24
25
  countPlayers: () => countPlayers,
25
26
  countResults: () => countResults,
26
27
  countTournaments: () => countTournaments,
27
28
  countUsers: () => countUsers,
29
+ createLocation: () => createLocation,
28
30
  createManyResults: () => createManyResults,
29
31
  createPlayer: () => createPlayer,
30
32
  createResult: () => createResult,
31
33
  createTournament: () => createTournament,
32
34
  createUser: () => createUser,
33
35
  createUserWithPlayer: () => createUserWithPlayer,
36
+ deleteLocation: () => deleteLocation,
34
37
  deletePlayer: () => deletePlayer,
35
38
  deleteResult: () => deleteResult,
36
39
  deleteResultsByTournament: () => deleteResultsByTournament,
37
40
  deleteTournament: () => deleteTournament,
38
41
  deleteUser: () => deleteUser,
39
42
  disconnect: () => disconnect,
43
+ findLocationByExternalId: () => findLocationByExternalId,
44
+ findLocationById: () => findLocationById,
45
+ findLocations: () => findLocations,
40
46
  findPlayerByExternalId: () => findPlayerByExternalId,
41
47
  findPlayerById: () => findPlayerById,
48
+ findPlayerByPlayerNumber: () => findPlayerByPlayerNumber,
42
49
  findPlayerByUserEmail: () => findPlayerByUserEmail,
43
50
  findPlayers: () => findPlayers,
44
51
  findResultById: () => findResultById,
@@ -50,6 +57,8 @@ __export(index_exports, {
50
57
  findUserByEmail: () => findUserByEmail,
51
58
  findUserById: () => findUserById,
52
59
  findUsers: () => findUsers,
60
+ generateUniquePlayerNumber: () => generateUniquePlayerNumber,
61
+ getLocationWithTournaments: () => getLocationWithTournaments,
53
62
  getMajorTournaments: () => getMajorTournaments,
54
63
  getPlayerResults: () => getPlayerResults,
55
64
  getPlayerStats: () => getPlayerStats,
@@ -66,12 +75,15 @@ __export(index_exports, {
66
75
  getTournamentsByDateRange: () => getTournamentsByDateRange,
67
76
  getUserByEmailWithPlayer: () => getUserByEmailWithPlayer,
68
77
  getUserWithPlayer: () => getUserWithPlayer,
78
+ isValidPlayerNumber: () => isValidPlayerNumber,
69
79
  linkPlayerToUser: () => linkPlayerToUser,
70
80
  prisma: () => prisma,
71
81
  recalculateTimeDecay: () => recalculateTimeDecay,
82
+ searchLocations: () => searchLocations,
72
83
  searchPlayers: () => searchPlayers,
73
84
  searchTournaments: () => searchTournaments,
74
85
  testConnection: () => testConnection,
86
+ updateLocation: () => updateLocation,
75
87
  updatePlayer: () => updatePlayer,
76
88
  updatePlayerRating: () => updatePlayerRating,
77
89
  updateResult: () => updateResult,
@@ -107,10 +119,40 @@ async function testConnection() {
107
119
  }
108
120
  }
109
121
 
122
+ // src/player-number.ts
123
+ var MIN_PLAYER_NUMBER = 1e4;
124
+ var MAX_PLAYER_NUMBER = 99999;
125
+ var MAX_RETRIES = 10;
126
+ function generateRandomPlayerNumber() {
127
+ return Math.floor(Math.random() * (MAX_PLAYER_NUMBER - MIN_PLAYER_NUMBER + 1)) + MIN_PLAYER_NUMBER;
128
+ }
129
+ async function generateUniquePlayerNumber() {
130
+ for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
131
+ const candidate = generateRandomPlayerNumber();
132
+ const existing = await prisma.player.findUnique({
133
+ where: { playerNumber: candidate },
134
+ select: { id: true }
135
+ });
136
+ if (!existing) {
137
+ return candidate;
138
+ }
139
+ }
140
+ throw new Error(
141
+ `Failed to generate unique player number after ${MAX_RETRIES} attempts. Consider increasing the number range or implementing a different allocation strategy.`
142
+ );
143
+ }
144
+ function isValidPlayerNumber(playerNumber) {
145
+ return Number.isInteger(playerNumber) && playerNumber >= MIN_PLAYER_NUMBER && playerNumber <= MAX_PLAYER_NUMBER;
146
+ }
147
+
110
148
  // src/players.ts
111
149
  async function createPlayer(data) {
150
+ const playerNumber = data.playerNumber ?? await generateUniquePlayerNumber();
112
151
  return prisma.player.create({
113
- data
152
+ data: {
153
+ ...data,
154
+ playerNumber
155
+ }
114
156
  });
115
157
  }
116
158
  async function findPlayerById(id, include) {
@@ -125,6 +167,12 @@ async function findPlayerByExternalId(externalId, include) {
125
167
  include
126
168
  });
127
169
  }
170
+ async function findPlayerByPlayerNumber(playerNumber, include) {
171
+ return prisma.player.findUnique({
172
+ where: { playerNumber },
173
+ include
174
+ });
175
+ }
128
176
  async function findPlayerByUserEmail(email, include) {
129
177
  const user = await prisma.user.findUnique({
130
178
  where: { email },
@@ -320,7 +368,7 @@ async function searchTournaments(query, limit = 20) {
320
368
  where: {
321
369
  OR: [
322
370
  { name: { contains: query, mode: "insensitive" } },
323
- { location: { contains: query, mode: "insensitive" } }
371
+ { location: { name: { contains: query, mode: "insensitive" } } }
324
372
  ]
325
373
  },
326
374
  orderBy: { date: "desc" }
@@ -540,9 +588,11 @@ async function createUser(data) {
540
588
  }
541
589
  async function createUserWithPlayer(userData, playerData) {
542
590
  return prisma.$transaction(async (tx) => {
591
+ const playerNumber = await generateUniquePlayerNumber();
543
592
  const player = await tx.player.create({
544
593
  data: {
545
- name: playerData.name
594
+ name: playerData.name,
595
+ playerNumber
546
596
  }
547
597
  });
548
598
  const user = await tx.user.create({
@@ -554,6 +604,7 @@ async function createUserWithPlayer(userData, playerData) {
554
604
  player: {
555
605
  select: {
556
606
  id: true,
607
+ playerNumber: true,
557
608
  name: true,
558
609
  rating: true,
559
610
  ratingDeviation: true,
@@ -586,6 +637,7 @@ async function getUserWithPlayer(id) {
586
637
  player: {
587
638
  select: {
588
639
  id: true,
640
+ playerNumber: true,
589
641
  name: true,
590
642
  rating: true,
591
643
  ratingDeviation: true,
@@ -608,6 +660,7 @@ async function getUserByEmailWithPlayer(email) {
608
660
  player: {
609
661
  select: {
610
662
  id: true,
663
+ playerNumber: true,
611
664
  name: true,
612
665
  rating: true,
613
666
  ratingDeviation: true,
@@ -653,6 +706,7 @@ async function findUsers(params) {
653
706
  player: {
654
707
  select: {
655
708
  id: true,
709
+ playerNumber: true,
656
710
  name: true,
657
711
  rating: true,
658
712
  ratingDeviation: true,
@@ -684,6 +738,7 @@ async function linkPlayerToUser(userId, playerId) {
684
738
  player: {
685
739
  select: {
686
740
  id: true,
741
+ playerNumber: true,
687
742
  name: true,
688
743
  rating: true,
689
744
  ratingDeviation: true,
@@ -697,27 +752,100 @@ async function linkPlayerToUser(userId, playerId) {
697
752
  return user;
698
753
  });
699
754
  }
755
+
756
+ // src/locations.ts
757
+ async function createLocation(data) {
758
+ return prisma.location.create({
759
+ data
760
+ });
761
+ }
762
+ async function findLocationById(id, include) {
763
+ return prisma.location.findUnique({
764
+ where: { id },
765
+ include
766
+ });
767
+ }
768
+ async function findLocationByExternalId(externalId, include) {
769
+ return prisma.location.findUnique({
770
+ where: { externalId },
771
+ include
772
+ });
773
+ }
774
+ async function findLocations(options = {}) {
775
+ return prisma.location.findMany({
776
+ take: options.take,
777
+ skip: options.skip,
778
+ where: options.where,
779
+ orderBy: options.orderBy,
780
+ include: options.include
781
+ });
782
+ }
783
+ async function searchLocations(query, limit = 20) {
784
+ return findLocations({
785
+ take: limit,
786
+ where: {
787
+ OR: [
788
+ { name: { contains: query, mode: "insensitive" } },
789
+ { city: { contains: query, mode: "insensitive" } }
790
+ ]
791
+ },
792
+ orderBy: { name: "asc" }
793
+ });
794
+ }
795
+ async function updateLocation(id, data) {
796
+ return prisma.location.update({
797
+ where: { id },
798
+ data
799
+ });
800
+ }
801
+ async function deleteLocation(id) {
802
+ return prisma.location.delete({
803
+ where: { id }
804
+ });
805
+ }
806
+ async function countLocations(where) {
807
+ return prisma.location.count({ where });
808
+ }
809
+ async function getLocationWithTournaments(id) {
810
+ return prisma.location.findUnique({
811
+ where: { id },
812
+ include: {
813
+ tournaments: {
814
+ orderBy: {
815
+ date: "desc"
816
+ }
817
+ }
818
+ }
819
+ });
820
+ }
700
821
  // Annotate the CommonJS export names for ESM import in node:
701
822
  0 && (module.exports = {
702
823
  connect,
824
+ countLocations,
703
825
  countPlayers,
704
826
  countResults,
705
827
  countTournaments,
706
828
  countUsers,
829
+ createLocation,
707
830
  createManyResults,
708
831
  createPlayer,
709
832
  createResult,
710
833
  createTournament,
711
834
  createUser,
712
835
  createUserWithPlayer,
836
+ deleteLocation,
713
837
  deletePlayer,
714
838
  deleteResult,
715
839
  deleteResultsByTournament,
716
840
  deleteTournament,
717
841
  deleteUser,
718
842
  disconnect,
843
+ findLocationByExternalId,
844
+ findLocationById,
845
+ findLocations,
719
846
  findPlayerByExternalId,
720
847
  findPlayerById,
848
+ findPlayerByPlayerNumber,
721
849
  findPlayerByUserEmail,
722
850
  findPlayers,
723
851
  findResultById,
@@ -729,6 +857,8 @@ async function linkPlayerToUser(userId, playerId) {
729
857
  findUserByEmail,
730
858
  findUserById,
731
859
  findUsers,
860
+ generateUniquePlayerNumber,
861
+ getLocationWithTournaments,
732
862
  getMajorTournaments,
733
863
  getPlayerResults,
734
864
  getPlayerStats,
@@ -745,12 +875,15 @@ async function linkPlayerToUser(userId, playerId) {
745
875
  getTournamentsByDateRange,
746
876
  getUserByEmailWithPlayer,
747
877
  getUserWithPlayer,
878
+ isValidPlayerNumber,
748
879
  linkPlayerToUser,
749
880
  prisma,
750
881
  recalculateTimeDecay,
882
+ searchLocations,
751
883
  searchPlayers,
752
884
  searchTournaments,
753
885
  testConnection,
886
+ updateLocation,
754
887
  updatePlayer,
755
888
  updatePlayerRating,
756
889
  updateResult,
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _prisma_client_runtime_library from '@prisma/client/runtime/library';
2
2
  import * as _prisma_client from '@prisma/client';
3
- import { PrismaClient, Player, Prisma, EventBoosterType, Tournament, TournamentResult, User } from '@prisma/client';
4
- export { EventBoosterType, Player, Prisma, Role, Tournament, TournamentResult, User } from '@prisma/client';
3
+ import { PrismaClient, Player, Prisma, EventBoosterType, Tournament, TournamentResult, User, Location } from '@prisma/client';
4
+ export { EventBoosterType, Location, Player, Prisma, Role, Tournament, TournamentResult, User } from '@prisma/client';
5
5
 
6
6
  declare const prisma: PrismaClient<_prisma_client.Prisma.PrismaClientOptions, never, _prisma_client_runtime_library.DefaultArgs>;
7
7
  /**
@@ -25,6 +25,7 @@ declare function testConnection(): Promise<boolean>;
25
25
  */
26
26
  interface CreatePlayerInput {
27
27
  externalId?: string;
28
+ playerNumber?: number;
28
29
  name?: string;
29
30
  rating?: number;
30
31
  ratingDeviation?: number;
@@ -56,7 +57,7 @@ interface FindPlayersOptions {
56
57
  include?: Prisma.PlayerInclude;
57
58
  }
58
59
  /**
59
- * Creates a new player
60
+ * Creates a new player with auto-generated playerNumber
60
61
  */
61
62
  declare function createPlayer(data: CreatePlayerInput): Promise<Player>;
62
63
  /**
@@ -67,6 +68,10 @@ declare function findPlayerById(id: string, include?: Prisma.PlayerInclude): Pro
67
68
  * Finds a player by external ID
68
69
  */
69
70
  declare function findPlayerByExternalId(externalId: string, include?: Prisma.PlayerInclude): Promise<Player | null>;
71
+ /**
72
+ * Finds a player by player number
73
+ */
74
+ declare function findPlayerByPlayerNumber(playerNumber: number, include?: Prisma.PlayerInclude): Promise<Player | null>;
70
75
  /**
71
76
  * Finds a player through their linked User's email
72
77
  */
@@ -114,8 +119,10 @@ declare function getPlayerWithResults(id: string): Promise<{
114
119
  createdAt: Date;
115
120
  updatedAt: Date;
116
121
  externalId: string | null;
117
- location: string | null;
122
+ description: string | null;
118
123
  date: Date;
124
+ locationId: string | null;
125
+ organizerId: string | null;
119
126
  tgpConfig: Prisma.JsonValue | null;
120
127
  eventBooster: _prisma_client.$Enums.EventBoosterType;
121
128
  allowsOptOut: boolean;
@@ -150,8 +157,10 @@ declare function getPlayerWithResults(id: string): Promise<{
150
157
  createdAt: Date;
151
158
  updatedAt: Date;
152
159
  externalId: string | null;
153
- location: string | null;
160
+ description: string | null;
154
161
  date: Date;
162
+ locationId: string | null;
163
+ organizerId: string | null;
155
164
  tgpConfig: Prisma.JsonValue | null;
156
165
  eventBooster: _prisma_client.$Enums.EventBoosterType;
157
166
  allowsOptOut: boolean;
@@ -184,6 +193,7 @@ declare function getPlayerWithResults(id: string): Promise<{
184
193
  createdAt: Date;
185
194
  updatedAt: Date;
186
195
  externalId: string | null;
196
+ playerNumber: number;
187
197
  rating: number;
188
198
  ratingDeviation: number;
189
199
  ranking: number | null;
@@ -197,14 +207,28 @@ declare function getPlayerWithResults(id: string): Promise<{
197
207
  */
198
208
  declare function searchPlayers(query: string, limit?: number): Promise<Player[]>;
199
209
 
210
+ /**
211
+ * Generates a unique player number with collision handling.
212
+ * Retries up to MAX_RETRIES times if collision occurs.
213
+ *
214
+ * @throws Error if unable to generate unique number after max retries
215
+ */
216
+ declare function generateUniquePlayerNumber(): Promise<number>;
217
+ /**
218
+ * Validates that a player number is in the valid range
219
+ */
220
+ declare function isValidPlayerNumber(playerNumber: number): boolean;
221
+
200
222
  /**
201
223
  * Input for creating a new tournament
202
224
  */
203
225
  interface CreateTournamentInput {
204
226
  externalId?: string;
205
227
  name: string;
206
- location?: string;
228
+ description?: string;
207
229
  date: Date;
230
+ locationId?: string;
231
+ organizerId?: string;
208
232
  tgpConfig?: Prisma.InputJsonValue;
209
233
  eventBooster?: EventBoosterType;
210
234
  allowsOptOut?: boolean;
@@ -221,8 +245,10 @@ interface CreateTournamentInput {
221
245
  */
222
246
  interface UpdateTournamentInput {
223
247
  name?: string;
224
- location?: string;
248
+ description?: string | null;
225
249
  date?: Date;
250
+ locationId?: string | null;
251
+ organizerId?: string | null;
226
252
  tgpConfig?: Prisma.InputJsonValue;
227
253
  eventBooster?: EventBoosterType;
228
254
  allowsOptOut?: boolean;
@@ -299,6 +325,7 @@ declare function getTournamentWithResults(id: string): Promise<({
299
325
  createdAt: Date;
300
326
  updatedAt: Date;
301
327
  externalId: string | null;
328
+ playerNumber: number;
302
329
  rating: number;
303
330
  ratingDeviation: number;
304
331
  ranking: number | null;
@@ -329,8 +356,10 @@ declare function getTournamentWithResults(id: string): Promise<({
329
356
  createdAt: Date;
330
357
  updatedAt: Date;
331
358
  externalId: string | null;
332
- location: string | null;
359
+ description: string | null;
333
360
  date: Date;
361
+ locationId: string | null;
362
+ organizerId: string | null;
334
363
  tgpConfig: Prisma.JsonValue | null;
335
364
  eventBooster: _prisma_client.$Enums.EventBoosterType;
336
365
  allowsOptOut: boolean;
@@ -343,7 +372,7 @@ declare function getTournamentWithResults(id: string): Promise<({
343
372
  firstPlaceValue: number | null;
344
373
  }) | null>;
345
374
  /**
346
- * Searches tournaments by name or location
375
+ * Searches tournaments by name or location name
347
376
  */
348
377
  declare function searchTournaments(query: string, limit?: number): Promise<Tournament[]>;
349
378
  /**
@@ -358,6 +387,7 @@ declare function getTournamentStats(id: string): Promise<{
358
387
  createdAt: Date;
359
388
  updatedAt: Date;
360
389
  externalId: string | null;
390
+ playerNumber: number;
361
391
  rating: number;
362
392
  ratingDeviation: number;
363
393
  ranking: number | null;
@@ -388,8 +418,10 @@ declare function getTournamentStats(id: string): Promise<{
388
418
  createdAt: Date;
389
419
  updatedAt: Date;
390
420
  externalId: string | null;
391
- location: string | null;
421
+ description: string | null;
392
422
  date: Date;
423
+ locationId: string | null;
424
+ organizerId: string | null;
393
425
  tgpConfig: Prisma.JsonValue | null;
394
426
  eventBooster: _prisma_client.$Enums.EventBoosterType;
395
427
  allowsOptOut: boolean;
@@ -571,6 +603,7 @@ interface UserWithPlayer {
571
603
  updatedAt: Date;
572
604
  player: {
573
605
  id: string;
606
+ playerNumber: number;
574
607
  name: string | null;
575
608
  rating: number;
576
609
  ratingDeviation: number;
@@ -641,6 +674,106 @@ declare function findUsers(params: {
641
674
  */
642
675
  declare function linkPlayerToUser(userId: string, playerId: string | null): Promise<UserWithPlayer>;
643
676
 
677
+ /**
678
+ * Input for creating a new location
679
+ */
680
+ interface CreateLocationInput {
681
+ externalId?: string;
682
+ name: string;
683
+ address?: string;
684
+ city?: string;
685
+ state?: string;
686
+ country?: string;
687
+ }
688
+ /**
689
+ * Input for updating a location
690
+ */
691
+ interface UpdateLocationInput {
692
+ name?: string;
693
+ address?: string | null;
694
+ city?: string | null;
695
+ state?: string | null;
696
+ country?: string | null;
697
+ }
698
+ /**
699
+ * Options for querying locations
700
+ */
701
+ interface FindLocationsOptions {
702
+ take?: number;
703
+ skip?: number;
704
+ orderBy?: Prisma.LocationOrderByWithRelationInput;
705
+ where?: Prisma.LocationWhereInput;
706
+ include?: Prisma.LocationInclude;
707
+ }
708
+ /**
709
+ * Creates a new location
710
+ */
711
+ declare function createLocation(data: CreateLocationInput): Promise<Location>;
712
+ /**
713
+ * Finds a location by ID
714
+ */
715
+ declare function findLocationById(id: string, include?: Prisma.LocationInclude): Promise<Location | null>;
716
+ /**
717
+ * Finds a location by external ID
718
+ */
719
+ declare function findLocationByExternalId(externalId: string, include?: Prisma.LocationInclude): Promise<Location | null>;
720
+ /**
721
+ * Finds multiple locations with optional filters
722
+ */
723
+ declare function findLocations(options?: FindLocationsOptions): Promise<Location[]>;
724
+ /**
725
+ * Searches locations by name or city
726
+ */
727
+ declare function searchLocations(query: string, limit?: number): Promise<Location[]>;
728
+ /**
729
+ * Updates a location
730
+ */
731
+ declare function updateLocation(id: string, data: UpdateLocationInput): Promise<Location>;
732
+ /**
733
+ * Deletes a location
734
+ */
735
+ declare function deleteLocation(id: string): Promise<Location>;
736
+ /**
737
+ * Counts total locations
738
+ */
739
+ declare function countLocations(where?: Prisma.LocationWhereInput): Promise<number>;
740
+ /**
741
+ * Gets location with its tournaments
742
+ */
743
+ declare function getLocationWithTournaments(id: string): Promise<({
744
+ tournaments: {
745
+ name: string;
746
+ id: string;
747
+ createdAt: Date;
748
+ updatedAt: Date;
749
+ externalId: string | null;
750
+ description: string | null;
751
+ date: Date;
752
+ locationId: string | null;
753
+ organizerId: string | null;
754
+ tgpConfig: Prisma.JsonValue | null;
755
+ eventBooster: _prisma_client.$Enums.EventBoosterType;
756
+ allowsOptOut: boolean;
757
+ baseValue: number | null;
758
+ tvaRating: number | null;
759
+ tvaRanking: number | null;
760
+ totalTVA: number | null;
761
+ tgp: number | null;
762
+ eventBoosterMultiplier: number | null;
763
+ firstPlaceValue: number | null;
764
+ }[];
765
+ } & {
766
+ name: string;
767
+ id: string;
768
+ createdAt: Date;
769
+ updatedAt: Date;
770
+ externalId: string | null;
771
+ address: string | null;
772
+ city: string | null;
773
+ state: string | null;
774
+ country: string | null;
775
+ }) | null>;
776
+
644
777
  /**
645
778
  * Re-export Prisma generated types
646
779
  */
@@ -700,4 +833,4 @@ interface ConnectionStatus {
700
833
  error?: string;
701
834
  }
702
835
 
703
- export { type ConnectionStatus, type CreatePlayerInput, type CreateResultInput, type CreateTournamentInput, type CreateUserInput, type FindPlayersOptions, type FindResultsOptions, type FindTournamentsOptions, type PlayerStatistics, type PlayerWithResults, type TournamentResultWithTournament, type TournamentStatistics, type UpdatePlayerInput, type UpdateResultInput, type UpdateTournamentInput, type UpdateUserInput, type UserWithPlayer, connect, countPlayers, countResults, countTournaments, countUsers, createManyResults, createPlayer, createResult, createTournament, createUser, createUserWithPlayer, deletePlayer, deleteResult, deleteResultsByTournament, deleteTournament, deleteUser, disconnect, findPlayerByExternalId, findPlayerById, findPlayerByUserEmail, findPlayers, findResultById, findResultByPlayerAndTournament, findResults, findTournamentByExternalId, findTournamentById, findTournaments, findUserByEmail, findUserById, findUsers, getMajorTournaments, getPlayerResults, getPlayerStats, getPlayerTopFinishes, getPlayerWithResults, getRatedPlayers, getRecentTournaments, getTopPlayersByRanking, getTopPlayersByRating, getTournamentResults, getTournamentStats, getTournamentWithResults, getTournamentsByBoosterType, getTournamentsByDateRange, getUserByEmailWithPlayer, getUserWithPlayer, linkPlayerToUser, prisma, recalculateTimeDecay, searchPlayers, searchTournaments, testConnection, updatePlayer, updatePlayerRating, updateResult, updateResultPoints, updateTournament, updateUser, updateUserRefreshToken };
836
+ export { type ConnectionStatus, type CreateLocationInput, type CreatePlayerInput, type CreateResultInput, type CreateTournamentInput, type CreateUserInput, type FindLocationsOptions, type FindPlayersOptions, type FindResultsOptions, type FindTournamentsOptions, type PlayerStatistics, type PlayerWithResults, type TournamentResultWithTournament, type TournamentStatistics, type UpdateLocationInput, type UpdatePlayerInput, type UpdateResultInput, type UpdateTournamentInput, type UpdateUserInput, type UserWithPlayer, connect, countLocations, countPlayers, countResults, countTournaments, countUsers, createLocation, createManyResults, createPlayer, createResult, createTournament, createUser, createUserWithPlayer, deleteLocation, deletePlayer, deleteResult, deleteResultsByTournament, deleteTournament, deleteUser, disconnect, findLocationByExternalId, findLocationById, findLocations, findPlayerByExternalId, findPlayerById, findPlayerByPlayerNumber, findPlayerByUserEmail, findPlayers, findResultById, findResultByPlayerAndTournament, findResults, findTournamentByExternalId, findTournamentById, findTournaments, findUserByEmail, findUserById, findUsers, generateUniquePlayerNumber, getLocationWithTournaments, getMajorTournaments, getPlayerResults, getPlayerStats, getPlayerTopFinishes, getPlayerWithResults, getRatedPlayers, getRecentTournaments, getTopPlayersByRanking, getTopPlayersByRating, getTournamentResults, getTournamentStats, getTournamentWithResults, getTournamentsByBoosterType, getTournamentsByDateRange, getUserByEmailWithPlayer, getUserWithPlayer, isValidPlayerNumber, linkPlayerToUser, prisma, recalculateTimeDecay, searchLocations, searchPlayers, searchTournaments, testConnection, updateLocation, updatePlayer, updatePlayerRating, updateResult, updateResultPoints, updateTournament, updateUser, updateUserRefreshToken };