brackets-prisma-db 2.0.0 → 2.1.1

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.
Files changed (84) hide show
  1. package/README.md +53 -19
  2. package/dist/prisma-id.d.ts +10 -0
  3. package/dist/prisma-id.js +32 -0
  4. package/dist/storage-handlers/delete-handlers/group.d.ts +1 -1
  5. package/dist/storage-handlers/delete-handlers/group.js +24 -15
  6. package/dist/storage-handlers/delete-handlers/match-game.d.ts +1 -1
  7. package/dist/storage-handlers/delete-handlers/match-game.js +25 -16
  8. package/dist/storage-handlers/delete-handlers/match.d.ts +1 -1
  9. package/dist/storage-handlers/delete-handlers/match.js +26 -17
  10. package/dist/storage-handlers/delete-handlers/participant.d.ts +1 -1
  11. package/dist/storage-handlers/delete-handlers/participant.js +24 -15
  12. package/dist/storage-handlers/delete-handlers/round.d.ts +1 -1
  13. package/dist/storage-handlers/delete-handlers/round.js +25 -16
  14. package/dist/storage-handlers/delete-handlers/stage.d.ts +1 -1
  15. package/dist/storage-handlers/delete-handlers/stage.js +32 -29
  16. package/dist/storage-handlers/delete.d.ts +1 -1
  17. package/dist/storage-handlers/delete.js +1 -2
  18. package/dist/storage-handlers/insert-handlers/group.d.ts +2 -2
  19. package/dist/storage-handlers/insert-handlers/group.js +16 -16
  20. package/dist/storage-handlers/insert-handlers/match-game.d.ts +3 -2
  21. package/dist/storage-handlers/insert-handlers/match-game.js +20 -18
  22. package/dist/storage-handlers/insert-handlers/match.d.ts +3 -2
  23. package/dist/storage-handlers/insert-handlers/match.js +20 -18
  24. package/dist/storage-handlers/insert-handlers/participant.d.ts +2 -2
  25. package/dist/storage-handlers/insert-handlers/participant.js +20 -16
  26. package/dist/storage-handlers/insert-handlers/round.d.ts +2 -2
  27. package/dist/storage-handlers/insert-handlers/round.js +16 -16
  28. package/dist/storage-handlers/insert-handlers/stage.d.ts +2 -2
  29. package/dist/storage-handlers/insert-handlers/stage.js +26 -26
  30. package/dist/storage-handlers/insert.d.ts +1 -1
  31. package/dist/storage-handlers/insert.js +1 -2
  32. package/dist/storage-handlers/select-handlers/group.d.ts +2 -2
  33. package/dist/storage-handlers/select-handlers/group.js +34 -27
  34. package/dist/storage-handlers/select-handlers/match-game.d.ts +3 -2
  35. package/dist/storage-handlers/select-handlers/match-game.js +49 -44
  36. package/dist/storage-handlers/select-handlers/match.d.ts +3 -2
  37. package/dist/storage-handlers/select-handlers/match.js +59 -53
  38. package/dist/storage-handlers/select-handlers/participant.d.ts +2 -2
  39. package/dist/storage-handlers/select-handlers/participant.js +31 -24
  40. package/dist/storage-handlers/select-handlers/round.d.ts +2 -2
  41. package/dist/storage-handlers/select-handlers/round.js +35 -28
  42. package/dist/storage-handlers/select-handlers/stage.d.ts +2 -2
  43. package/dist/storage-handlers/select-handlers/stage.js +54 -47
  44. package/dist/storage-handlers/select.d.ts +2 -2
  45. package/dist/storage-handlers/select.js +1 -2
  46. package/dist/storage-handlers/update-handlers/group.d.ts +2 -2
  47. package/dist/storage-handlers/update-handlers/group.js +31 -25
  48. package/dist/storage-handlers/update-handlers/match-game.d.ts +3 -2
  49. package/dist/storage-handlers/update-handlers/match-game.js +47 -31
  50. package/dist/storage-handlers/update-handlers/match.d.ts +3 -2
  51. package/dist/storage-handlers/update-handlers/match.js +49 -33
  52. package/dist/storage-handlers/update-handlers/participant.d.ts +2 -2
  53. package/dist/storage-handlers/update-handlers/participant.js +34 -25
  54. package/dist/storage-handlers/update-handlers/round.d.ts +2 -2
  55. package/dist/storage-handlers/update-handlers/round.js +34 -28
  56. package/dist/storage-handlers/update-handlers/stage.d.ts +2 -2
  57. package/dist/storage-handlers/update-handlers/stage.js +46 -43
  58. package/dist/storage-handlers/update.d.ts +2 -2
  59. package/dist/storage-handlers/update.js +1 -2
  60. package/dist/storage.d.ts +3 -4
  61. package/dist/transformers/enum/grand-final-type.js +17 -7
  62. package/dist/transformers/enum/match-result.js +17 -7
  63. package/dist/transformers/enum/match-status.d.ts +1 -1
  64. package/dist/transformers/enum/match-status.js +21 -7
  65. package/dist/transformers/enum/round-robin-mode.js +17 -7
  66. package/dist/transformers/enum/seed-ordering.js +17 -7
  67. package/dist/transformers/enum/stage-type.js +17 -7
  68. package/dist/transformers/model/group.d.ts +1 -1
  69. package/dist/transformers/model/group.js +2 -1
  70. package/dist/transformers/model/match-game.d.ts +20 -20
  71. package/dist/transformers/model/match-game.js +64 -2
  72. package/dist/transformers/model/match.d.ts +22 -24
  73. package/dist/transformers/model/match.js +67 -3
  74. package/dist/transformers/model/participant-result.d.ts +1 -1
  75. package/dist/transformers/model/participant.d.ts +6 -2
  76. package/dist/transformers/model/participant.js +22 -2
  77. package/dist/transformers/model/round.d.ts +1 -1
  78. package/dist/transformers/model/round.js +3 -2
  79. package/dist/transformers/model/stage-settings.d.ts +2 -2
  80. package/dist/transformers/model/stage.d.ts +2 -2
  81. package/dist/transformers/model/stage.js +2 -1
  82. package/dist/types.d.ts +10 -0
  83. package/dist/types.js +2 -0
  84. package/package.json +5 -5
@@ -1,3 +1,4 @@
1
- import { DataTypes, OmitId } from 'brackets-manager/dist/types';
1
+ import { OmitId } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleMatchInsert(prisma: PrismaClient, values: OmitId<DataTypes['match']> | OmitId<DataTypes['match']>[]): Promise<number> | Promise<boolean>;
3
+ import type { MatchWithExtra } from '../../types';
4
+ export declare function handleMatchInsert(prisma: PrismaClient, values: OmitId<MatchWithExtra> | OmitId<MatchWithExtra>[]): Promise<number | boolean>;
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleMatchInsert = void 0;
3
+ exports.handleMatchInsert = handleMatchInsert;
4
4
  const transformers_1 = require("../../transformers");
5
+ const prisma_id_1 = require("../../prisma-id");
5
6
  function getCreationData(value) {
6
7
  return {
7
8
  ...transformers_1.MatchTransformer.to(value),
9
+ extra: value.extra ?? undefined,
8
10
  opponent1Result: value.opponent1
9
11
  ? {
10
12
  create: {
11
- participantId: value.opponent1.id,
13
+ participantId: (0, prisma_id_1.toPrismaId)(value.opponent1.id),
12
14
  forfeit: value.opponent1.forfeit,
13
15
  position: value.opponent1.position,
14
16
  score: value.opponent1.score,
@@ -21,7 +23,7 @@ function getCreationData(value) {
21
23
  opponent2Result: value.opponent2
22
24
  ? {
23
25
  create: {
24
- participantId: value.opponent2.id,
26
+ participantId: (0, prisma_id_1.toPrismaId)(value.opponent2.id),
25
27
  forfeit: value.opponent2.forfeit,
26
28
  position: value.opponent2.position,
27
29
  score: value.opponent2.score,
@@ -33,20 +35,20 @@ function getCreationData(value) {
33
35
  : undefined,
34
36
  };
35
37
  }
36
- function handleMatchInsert(prisma, values) {
37
- if (Array.isArray(values)) {
38
- return prisma.match
39
- .createMany({
40
- data: values.map((v) => getCreationData(v)),
41
- })
42
- .then(() => true)
43
- .catch(() => false);
38
+ async function handleMatchInsert(prisma, values) {
39
+ try {
40
+ if (Array.isArray(values)) {
41
+ await prisma.match.createMany({
42
+ data: values.map((v) => getCreationData(v)),
43
+ });
44
+ return true;
45
+ }
46
+ const match = await prisma.match.create({
47
+ data: getCreationData(values),
48
+ });
49
+ return match.id;
50
+ }
51
+ catch {
52
+ return Array.isArray(values) ? false : -1;
44
53
  }
45
- return prisma.match
46
- .create({
47
- data: getCreationData(values),
48
- })
49
- .then((v) => v.id)
50
- .catch(() => -1);
51
54
  }
52
- exports.handleMatchInsert = handleMatchInsert;
@@ -1,3 +1,3 @@
1
- import { DataTypes, OmitId } from 'brackets-manager/dist/types';
1
+ import { DataTypes, OmitId } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleParticipantInsert(prisma: PrismaClient, values: OmitId<DataTypes['participant']> | OmitId<DataTypes['participant']>[]): Promise<number> | Promise<boolean>;
3
+ export declare function handleParticipantInsert(prisma: PrismaClient, values: OmitId<DataTypes['participant']> | OmitId<DataTypes['participant']>[]): Promise<number | boolean>;
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleParticipantInsert = void 0;
3
+ exports.handleParticipantInsert = handleParticipantInsert;
4
4
  const transformers_1 = require("../../transformers");
5
- function handleParticipantInsert(prisma, values) {
6
- if (Array.isArray(values)) {
7
- return prisma.participant
8
- .createMany({
9
- data: values.map(transformers_1.ParticipantTransformer.to),
10
- })
11
- .then(() => true)
12
- .catch(() => false);
5
+ async function handleParticipantInsert(prisma, values) {
6
+ try {
7
+ if (Array.isArray(values)) {
8
+ await prisma.participant.createMany({
9
+ data: values.map((p) => {
10
+ const value = transformers_1.ParticipantTransformer.to(p);
11
+ return { ...value, extra: value.extra ?? undefined };
12
+ }),
13
+ });
14
+ return true;
15
+ }
16
+ const value = transformers_1.ParticipantTransformer.to(values);
17
+ const participant = await prisma.participant.create({
18
+ data: { ...value, extra: value.extra ?? undefined },
19
+ });
20
+ return participant.id;
21
+ }
22
+ catch {
23
+ return Array.isArray(values) ? false : -1;
13
24
  }
14
- return prisma.participant
15
- .create({
16
- data: transformers_1.ParticipantTransformer.to(values),
17
- })
18
- .then((v) => v.id)
19
- .catch(() => -1);
20
25
  }
21
- exports.handleParticipantInsert = handleParticipantInsert;
@@ -1,3 +1,3 @@
1
- import { DataTypes, OmitId } from 'brackets-manager/dist/types';
1
+ import { DataTypes, OmitId } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleRoundInsert(prisma: PrismaClient, values: OmitId<DataTypes['round']> | OmitId<DataTypes['round']>[]): Promise<number> | Promise<boolean>;
3
+ export declare function handleRoundInsert(prisma: PrismaClient, values: OmitId<DataTypes['round']> | OmitId<DataTypes['round']>[]): Promise<number | boolean>;
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleRoundInsert = void 0;
3
+ exports.handleRoundInsert = handleRoundInsert;
4
4
  const transformers_1 = require("../../transformers");
5
- function handleRoundInsert(prisma, values) {
6
- if (Array.isArray(values)) {
7
- return prisma.round
8
- .createMany({
9
- data: values.map(transformers_1.RoundTransformer.to),
10
- })
11
- .then(() => true)
12
- .catch(() => false);
5
+ async function handleRoundInsert(prisma, values) {
6
+ try {
7
+ if (Array.isArray(values)) {
8
+ await prisma.round.createMany({
9
+ data: values.map(transformers_1.RoundTransformer.to),
10
+ });
11
+ return true;
12
+ }
13
+ const round = await prisma.round.create({
14
+ data: transformers_1.RoundTransformer.to(values),
15
+ });
16
+ return round.id;
17
+ }
18
+ catch {
19
+ return Array.isArray(values) ? false : -1;
13
20
  }
14
- return prisma.round
15
- .create({
16
- data: transformers_1.RoundTransformer.to(values),
17
- })
18
- .then((v) => v.id)
19
- .catch(() => -1);
20
21
  }
21
- exports.handleRoundInsert = handleRoundInsert;
@@ -1,3 +1,3 @@
1
- import { DataTypes, OmitId } from 'brackets-manager/dist/types';
1
+ import { DataTypes, OmitId } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleStageInsert(prisma: PrismaClient, values: OmitId<DataTypes['stage']> | OmitId<DataTypes['stage']>[]): Promise<number> | Promise<boolean>;
3
+ export declare function handleStageInsert(prisma: PrismaClient, values: OmitId<DataTypes['stage']> | OmitId<DataTypes['stage']>[]): Promise<number | boolean>;
@@ -1,35 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleStageInsert = void 0;
3
+ exports.handleStageInsert = handleStageInsert;
4
4
  const transformers_1 = require("../../transformers");
5
- function handleStageInsert(prisma, values) {
6
- if (Array.isArray(values)) {
7
- return prisma.stage
8
- .createMany({
9
- data: values.map((v) => ({
10
- ...transformers_1.StageTransformer.to(v),
5
+ async function handleStageInsert(prisma, values) {
6
+ try {
7
+ if (Array.isArray(values)) {
8
+ await prisma.stage.createMany({
9
+ data: values.map((v) => ({
10
+ ...transformers_1.StageTransformer.to(v),
11
+ settings: {
12
+ create: {
13
+ ...transformers_1.StageSettingsTransformer.to(v.settings),
14
+ },
15
+ },
16
+ })),
17
+ });
18
+ return true;
19
+ }
20
+ const stage = await prisma.stage.create({
21
+ data: {
22
+ ...transformers_1.StageTransformer.to(values),
11
23
  settings: {
12
24
  create: {
13
- ...transformers_1.StageSettingsTransformer.to(v.settings),
25
+ ...transformers_1.StageSettingsTransformer.to(values.settings),
14
26
  },
15
27
  },
16
- })),
17
- })
18
- .then(() => true)
19
- .catch(() => false);
20
- }
21
- return prisma.stage
22
- .create({
23
- data: {
24
- ...transformers_1.StageTransformer.to(values),
25
- settings: {
26
- create: {
27
- ...transformers_1.StageSettingsTransformer.to(values.settings),
28
- },
29
28
  },
30
- },
31
- })
32
- .then((v) => v.id)
33
- .catch(() => -1);
29
+ });
30
+ return stage.id;
31
+ }
32
+ catch {
33
+ return Array.isArray(values) ? false : -1;
34
+ }
34
35
  }
35
- exports.handleStageInsert = handleStageInsert;
@@ -1,3 +1,3 @@
1
- import { DataTypes, OmitId } from 'brackets-manager/dist/types';
1
+ import { DataTypes, OmitId } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
3
  export declare function handleInsert<T extends keyof DataTypes>(prisma: PrismaClient, table: T, values: OmitId<DataTypes[T]> | OmitId<DataTypes[T]>[]): Promise<number | boolean>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleInsert = void 0;
3
+ exports.handleInsert = handleInsert;
4
4
  const insert_handlers_1 = require("./insert-handlers");
5
5
  async function handleInsert(prisma, table, values) {
6
6
  switch (table) {
@@ -26,4 +26,3 @@ async function handleInsert(prisma, table, values) {
26
26
  return false;
27
27
  }
28
28
  }
29
- exports.handleInsert = handleInsert;
@@ -1,3 +1,3 @@
1
- import { DataTypes } from 'brackets-manager/dist/types';
1
+ import { DataTypes, Id } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleGroupSelect(prisma: PrismaClient, filter?: Partial<DataTypes['group']> | number): Promise<DataTypes['group'][] | DataTypes['group'] | null>;
3
+ export declare function handleGroupSelect(prisma: PrismaClient, filter?: Partial<DataTypes['group']> | Id): Promise<DataTypes['group'][] | DataTypes['group'] | null>;
@@ -1,41 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleGroupSelect = void 0;
3
+ exports.handleGroupSelect = handleGroupSelect;
4
4
  const transformers_1 = require("../../transformers");
5
+ const prisma_id_1 = require("../../prisma-id");
5
6
  async function handleGroupSelect(prisma, filter) {
6
7
  if (filter === undefined) {
7
8
  // Query all entries of table
8
- return prisma.group
9
- .findMany({
10
- orderBy: [{ number: 'asc' }],
11
- })
12
- .then((values) => values.map(transformers_1.GroupTransformer.from))
13
- .catch(() => []);
9
+ try {
10
+ const values = await prisma.group.findMany({
11
+ orderBy: [{ number: 'asc' }],
12
+ });
13
+ return values.map(transformers_1.GroupTransformer.from);
14
+ }
15
+ catch {
16
+ return [];
17
+ }
14
18
  }
15
- if (typeof filter === 'number') {
19
+ if ((0, prisma_id_1.isModelId)(filter)) {
16
20
  // Find by Id
17
- return prisma.group
18
- .findFirst({
19
- where: { id: filter },
20
- })
21
- .then((value) => {
21
+ try {
22
+ const value = await prisma.group.findFirst({
23
+ where: { id: (0, prisma_id_1.toPrismaId)(filter) },
24
+ });
22
25
  if (value === null) {
23
26
  return null;
24
27
  }
25
28
  return transformers_1.GroupTransformer.from(value);
26
- })
27
- .catch(() => null);
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ try {
35
+ const values = await prisma.group.findMany({
36
+ where: {
37
+ id: (0, prisma_id_1.toPrismaId)(filter.id),
38
+ stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
39
+ number: filter.number,
40
+ },
41
+ orderBy: [{ number: 'asc' }],
42
+ });
43
+ return values.map(transformers_1.GroupTransformer.from);
44
+ }
45
+ catch {
46
+ return [];
28
47
  }
29
- return prisma.group
30
- .findMany({
31
- where: {
32
- id: filter.id,
33
- stageId: filter.stage_id,
34
- number: filter.number,
35
- },
36
- orderBy: [{ number: 'asc' }],
37
- })
38
- .then((values) => values.map(transformers_1.GroupTransformer.from))
39
- .catch(() => []);
40
48
  }
41
- exports.handleGroupSelect = handleGroupSelect;
@@ -1,3 +1,4 @@
1
- import { DataTypes } from 'brackets-manager/dist/types';
2
1
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleMatchGameSelect(prisma: PrismaClient, filter?: Partial<DataTypes['match_game']> | number): Promise<DataTypes['match_game'][] | DataTypes['match_game'] | null>;
2
+ import type { MatchGameWithExtra } from '../../types';
3
+ import type { Id } from 'brackets-model';
4
+ export declare function handleMatchGameSelect(prisma: PrismaClient, filter?: Partial<MatchGameWithExtra> | Id): Promise<MatchGameWithExtra[] | MatchGameWithExtra | null>;
@@ -1,57 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleMatchGameSelect = void 0;
3
+ exports.handleMatchGameSelect = handleMatchGameSelect;
4
4
  const transformers_1 = require("../../transformers");
5
+ const prisma_id_1 = require("../../prisma-id");
5
6
  async function handleMatchGameSelect(prisma, filter) {
6
7
  if (filter === undefined) {
7
- // Query all entries of table
8
- return prisma.matchGame
9
- .findMany({
8
+ try {
9
+ const values = await prisma.matchGame.findMany({
10
+ include: {
11
+ opponent1Result: true,
12
+ opponent2Result: true,
13
+ },
14
+ orderBy: [{ number: 'asc' }],
15
+ });
16
+ return values.map(transformers_1.MatchGameTransformer.from);
17
+ }
18
+ catch {
19
+ return [];
20
+ }
21
+ }
22
+ if ((0, prisma_id_1.isModelId)(filter)) {
23
+ try {
24
+ const value = await prisma.matchGame.findFirst({
25
+ where: { id: (0, prisma_id_1.toPrismaId)(filter) },
26
+ include: {
27
+ opponent1Result: true,
28
+ opponent2Result: true,
29
+ },
30
+ });
31
+ if (value === null) {
32
+ return null;
33
+ }
34
+ return transformers_1.MatchGameTransformer.from(value);
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ try {
41
+ const values = await prisma.matchGame.findMany({
42
+ where: {
43
+ id: (0, prisma_id_1.toPrismaId)(filter.id),
44
+ stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
45
+ matchId: (0, prisma_id_1.toPrismaId)(filter.parent_id),
46
+ number: filter.number,
47
+ status: filter.status
48
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
49
+ : undefined,
50
+ },
10
51
  include: {
11
52
  opponent1Result: true,
12
53
  opponent2Result: true,
13
54
  },
14
55
  orderBy: [{ number: 'asc' }],
15
- })
16
- .then((values) => values.map(transformers_1.MatchGameTransformer.from))
17
- .catch(() => []);
56
+ });
57
+ return values.map(transformers_1.MatchGameTransformer.from);
18
58
  }
19
- if (typeof filter === 'number') {
20
- // Find by Id
21
- return prisma.matchGame
22
- .findFirst({
23
- where: { id: filter },
24
- include: {
25
- opponent1Result: true,
26
- opponent2Result: true,
27
- },
28
- })
29
- .then((value) => {
30
- if (value === null) {
31
- return null;
32
- }
33
- return transformers_1.MatchGameTransformer.from(value);
34
- })
35
- .catch(() => null);
59
+ catch {
60
+ return [];
36
61
  }
37
- return prisma.matchGame
38
- .findMany({
39
- where: {
40
- id: filter.id,
41
- stageId: filter.stage_id,
42
- matchId: filter.parent_id,
43
- number: filter.number,
44
- status: filter.status
45
- ? transformers_1.MatchStatusTransformer.to(filter.status)
46
- : undefined,
47
- },
48
- include: {
49
- opponent1Result: true,
50
- opponent2Result: true,
51
- },
52
- orderBy: [{ number: 'asc' }],
53
- })
54
- .then((values) => values.map(transformers_1.MatchGameTransformer.from))
55
- .catch(() => []);
56
62
  }
57
- exports.handleMatchGameSelect = handleMatchGameSelect;
@@ -1,3 +1,4 @@
1
- import { DataTypes } from 'brackets-manager/dist/types';
2
1
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleMatchSelect(prisma: PrismaClient, filter?: Partial<DataTypes['match']> | number): Promise<DataTypes['match'][] | DataTypes['match'] | null>;
2
+ import type { MatchWithExtra } from '../../types';
3
+ import type { Id } from 'brackets-model';
4
+ export declare function handleMatchSelect(prisma: PrismaClient, filter?: Partial<MatchWithExtra> | Id): Promise<MatchWithExtra[] | MatchWithExtra | null>;
@@ -1,12 +1,63 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleMatchSelect = void 0;
3
+ exports.handleMatchSelect = handleMatchSelect;
4
4
  const transformers_1 = require("../../transformers");
5
+ const prisma_id_1 = require("../../prisma-id");
5
6
  async function handleMatchSelect(prisma, filter) {
6
7
  if (filter === undefined) {
7
- // Query all entries of table
8
- return prisma.match
9
- .findMany({
8
+ try {
9
+ const values = await prisma.match.findMany({
10
+ include: {
11
+ opponent1Result: true,
12
+ opponent2Result: true,
13
+ },
14
+ orderBy: [
15
+ {
16
+ round: {
17
+ number: 'asc',
18
+ },
19
+ },
20
+ { number: 'asc' },
21
+ ],
22
+ });
23
+ return values.map(transformers_1.MatchTransformer.from);
24
+ }
25
+ catch {
26
+ return [];
27
+ }
28
+ }
29
+ if ((0, prisma_id_1.isModelId)(filter)) {
30
+ // Find by Id
31
+ try {
32
+ const value = await prisma.match.findFirst({
33
+ where: { id: (0, prisma_id_1.toPrismaId)(filter) },
34
+ include: {
35
+ opponent1Result: true,
36
+ opponent2Result: true,
37
+ },
38
+ });
39
+ if (value === null) {
40
+ return null;
41
+ }
42
+ return transformers_1.MatchTransformer.from(value);
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ try {
49
+ const values = await prisma.match.findMany({
50
+ where: {
51
+ id: (0, prisma_id_1.toPrismaId)(filter.id),
52
+ stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
53
+ groupId: (0, prisma_id_1.toPrismaId)(filter.group_id),
54
+ roundId: (0, prisma_id_1.toPrismaId)(filter.round_id),
55
+ number: filter.number,
56
+ status: filter.status
57
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
58
+ : undefined,
59
+ childCount: filter.child_count,
60
+ },
10
61
  include: {
11
62
  opponent1Result: true,
12
63
  opponent2Result: true,
@@ -19,55 +70,10 @@ async function handleMatchSelect(prisma, filter) {
19
70
  },
20
71
  { number: 'asc' },
21
72
  ],
22
- })
23
- .then((values) => values.map(transformers_1.MatchTransformer.from))
24
- .catch(() => []);
73
+ });
74
+ return values.map(transformers_1.MatchTransformer.from);
25
75
  }
26
- if (typeof filter === 'number') {
27
- // Find by Id
28
- return prisma.match
29
- .findFirst({
30
- where: { id: filter },
31
- include: {
32
- opponent1Result: true,
33
- opponent2Result: true,
34
- },
35
- })
36
- .then((value) => {
37
- if (value === null) {
38
- return null;
39
- }
40
- return transformers_1.MatchTransformer.from(value);
41
- })
42
- .catch(() => null);
76
+ catch {
77
+ return [];
43
78
  }
44
- return prisma.match
45
- .findMany({
46
- where: {
47
- id: filter.id,
48
- stageId: filter.stage_id,
49
- groupId: filter.group_id,
50
- roundId: filter.round_id,
51
- number: filter.number,
52
- status: filter.status
53
- ? transformers_1.MatchStatusTransformer.to(filter.status)
54
- : undefined,
55
- childCount: filter.child_count,
56
- },
57
- include: {
58
- opponent1Result: true,
59
- opponent2Result: true,
60
- },
61
- orderBy: [
62
- {
63
- round: {
64
- number: 'asc',
65
- },
66
- },
67
- { number: 'asc' },
68
- ],
69
- })
70
- .then((values) => values.map(transformers_1.MatchTransformer.from))
71
- .catch(() => []);
72
79
  }
73
- exports.handleMatchSelect = handleMatchSelect;
@@ -1,3 +1,3 @@
1
- import { DataTypes } from 'brackets-manager/dist/types';
1
+ import { DataTypes, Id } from 'brackets-model';
2
2
  import { PrismaClient } from '@prisma/client';
3
- export declare function handleParticipantSelect(prisma: PrismaClient, filter?: Partial<DataTypes['participant']> | number): Promise<DataTypes['participant'][] | DataTypes['participant'] | null>;
3
+ export declare function handleParticipantSelect(prisma: PrismaClient, filter?: Partial<DataTypes['participant']> | Id): Promise<DataTypes['participant'][] | DataTypes['participant'] | null>;