brackets-prisma-db 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +39 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +17 -0
  5. package/dist/storage-handlers/delete-handlers/group.d.ts +3 -0
  6. package/dist/storage-handlers/delete-handlers/group.js +23 -0
  7. package/dist/storage-handlers/delete-handlers/index.d.ts +6 -0
  8. package/dist/storage-handlers/delete-handlers/index.js +22 -0
  9. package/dist/storage-handlers/delete-handlers/match-game.d.ts +3 -0
  10. package/dist/storage-handlers/delete-handlers/match-game.js +28 -0
  11. package/dist/storage-handlers/delete-handlers/match.d.ts +3 -0
  12. package/dist/storage-handlers/delete-handlers/match.js +29 -0
  13. package/dist/storage-handlers/delete-handlers/participant.d.ts +3 -0
  14. package/dist/storage-handlers/delete-handlers/participant.js +23 -0
  15. package/dist/storage-handlers/delete-handlers/round.d.ts +3 -0
  16. package/dist/storage-handlers/delete-handlers/round.js +24 -0
  17. package/dist/storage-handlers/delete-handlers/stage.d.ts +3 -0
  18. package/dist/storage-handlers/delete-handlers/stage.js +28 -0
  19. package/dist/storage-handlers/delete.d.ts +3 -0
  20. package/dist/storage-handlers/delete.js +24 -0
  21. package/dist/storage-handlers/index.d.ts +4 -0
  22. package/dist/storage-handlers/index.js +20 -0
  23. package/dist/storage-handlers/insert-handlers/group.d.ts +3 -0
  24. package/dist/storage-handlers/insert-handlers/group.js +21 -0
  25. package/dist/storage-handlers/insert-handlers/index.d.ts +6 -0
  26. package/dist/storage-handlers/insert-handlers/index.js +22 -0
  27. package/dist/storage-handlers/insert-handlers/match-game.d.ts +3 -0
  28. package/dist/storage-handlers/insert-handlers/match-game.js +52 -0
  29. package/dist/storage-handlers/insert-handlers/match.d.ts +3 -0
  30. package/dist/storage-handlers/insert-handlers/match.js +52 -0
  31. package/dist/storage-handlers/insert-handlers/participant.d.ts +3 -0
  32. package/dist/storage-handlers/insert-handlers/participant.js +21 -0
  33. package/dist/storage-handlers/insert-handlers/round.d.ts +3 -0
  34. package/dist/storage-handlers/insert-handlers/round.js +21 -0
  35. package/dist/storage-handlers/insert-handlers/stage.d.ts +3 -0
  36. package/dist/storage-handlers/insert-handlers/stage.js +35 -0
  37. package/dist/storage-handlers/insert.d.ts +3 -0
  38. package/dist/storage-handlers/insert.js +29 -0
  39. package/dist/storage-handlers/select-handlers/group.d.ts +3 -0
  40. package/dist/storage-handlers/select-handlers/group.js +38 -0
  41. package/dist/storage-handlers/select-handlers/index.d.ts +6 -0
  42. package/dist/storage-handlers/select-handlers/index.js +22 -0
  43. package/dist/storage-handlers/select-handlers/match-game.d.ts +3 -0
  44. package/dist/storage-handlers/select-handlers/match-game.js +55 -0
  45. package/dist/storage-handlers/select-handlers/match.d.ts +3 -0
  46. package/dist/storage-handlers/select-handlers/match.js +57 -0
  47. package/dist/storage-handlers/select-handlers/participant.d.ts +3 -0
  48. package/dist/storage-handlers/select-handlers/participant.js +38 -0
  49. package/dist/storage-handlers/select-handlers/round.d.ts +3 -0
  50. package/dist/storage-handlers/select-handlers/round.js +39 -0
  51. package/dist/storage-handlers/select-handlers/stage.d.ts +3 -0
  52. package/dist/storage-handlers/select-handlers/stage.js +65 -0
  53. package/dist/storage-handlers/select.d.ts +3 -0
  54. package/dist/storage-handlers/select.js +23 -0
  55. package/dist/storage-handlers/update-handlers/group.d.ts +3 -0
  56. package/dist/storage-handlers/update-handlers/group.js +36 -0
  57. package/dist/storage-handlers/update-handlers/index.d.ts +6 -0
  58. package/dist/storage-handlers/update-handlers/index.js +22 -0
  59. package/dist/storage-handlers/update-handlers/match-game.d.ts +3 -0
  60. package/dist/storage-handlers/update-handlers/match-game.js +80 -0
  61. package/dist/storage-handlers/update-handlers/match.d.ts +3 -0
  62. package/dist/storage-handlers/update-handlers/match.js +83 -0
  63. package/dist/storage-handlers/update-handlers/participant.d.ts +3 -0
  64. package/dist/storage-handlers/update-handlers/participant.js +36 -0
  65. package/dist/storage-handlers/update-handlers/round.d.ts +3 -0
  66. package/dist/storage-handlers/update-handlers/round.js +39 -0
  67. package/dist/storage-handlers/update-handlers/stage.d.ts +3 -0
  68. package/dist/storage-handlers/update-handlers/stage.js +50 -0
  69. package/dist/storage-handlers/update.d.ts +3 -0
  70. package/dist/storage-handlers/update.js +23 -0
  71. package/dist/storage.d.ts +16 -0
  72. package/dist/storage.js +23 -0
  73. package/dist/transformers/enum/grand-final-type.d.ts +6 -0
  74. package/dist/transformers/enum/grand-final-type.js +49 -0
  75. package/dist/transformers/enum/index.d.ts +6 -0
  76. package/dist/transformers/enum/index.js +22 -0
  77. package/dist/transformers/enum/match-result.d.ts +6 -0
  78. package/dist/transformers/enum/match-result.js +49 -0
  79. package/dist/transformers/enum/match-status.d.ts +6 -0
  80. package/dist/transformers/enum/match-status.js +62 -0
  81. package/dist/transformers/enum/round-robin-mode.d.ts +6 -0
  82. package/dist/transformers/enum/round-robin-mode.js +45 -0
  83. package/dist/transformers/enum/seed-ordering.d.ts +6 -0
  84. package/dist/transformers/enum/seed-ordering.js +73 -0
  85. package/dist/transformers/enum/stage-type.d.ts +6 -0
  86. package/dist/transformers/enum/stage-type.js +49 -0
  87. package/dist/transformers/index.d.ts +2 -0
  88. package/dist/transformers/index.js +18 -0
  89. package/dist/transformers/model/group.d.ts +17 -0
  90. package/dist/transformers/model/group.js +18 -0
  91. package/dist/transformers/model/index.d.ts +8 -0
  92. package/dist/transformers/model/index.js +24 -0
  93. package/dist/transformers/model/match-game.d.ts +41 -0
  94. package/dist/transformers/model/match-game.js +29 -0
  95. package/dist/transformers/model/match.d.ts +47 -0
  96. package/dist/transformers/model/match.js +33 -0
  97. package/dist/transformers/model/participant-result.d.ts +36 -0
  98. package/dist/transformers/model/participant-result.js +27 -0
  99. package/dist/transformers/model/participant.d.ts +17 -0
  100. package/dist/transformers/model/participant.js +28 -0
  101. package/dist/transformers/model/round.d.ts +20 -0
  102. package/dist/transformers/model/round.js +20 -0
  103. package/dist/transformers/model/stage-settings.d.ts +43 -0
  104. package/dist/transformers/model/stage-settings.js +49 -0
  105. package/dist/transformers/model/stage.d.ts +39 -0
  106. package/dist/transformers/model/stage.js +24 -0
  107. package/dist/transformers/transformer.d.ts +4 -0
  108. package/dist/transformers/transformer.js +2 -0
  109. package/package.json +48 -0
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleGroupSelect(prisma: PrismaClient, filter?: Partial<DataTypes['group']> | number): Promise<DataTypes['group'][] | DataTypes['group'] | null>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGroupSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleGroupSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.group
9
+ .findMany()
10
+ .then((values) => values.map(transformers_1.GroupTransformer.from))
11
+ .catch(() => []);
12
+ }
13
+ if (typeof filter === 'number') {
14
+ // Find by Id
15
+ return prisma.group
16
+ .findFirst({
17
+ where: { id: filter },
18
+ })
19
+ .then((value) => {
20
+ if (value === null) {
21
+ return null;
22
+ }
23
+ return transformers_1.GroupTransformer.from(value);
24
+ })
25
+ .catch(() => null);
26
+ }
27
+ return prisma.group
28
+ .findMany({
29
+ where: {
30
+ id: filter.id,
31
+ stageId: filter.stage_id,
32
+ number: filter.number,
33
+ },
34
+ })
35
+ .then((values) => values.map(transformers_1.GroupTransformer.from))
36
+ .catch(() => []);
37
+ }
38
+ exports.handleGroupSelect = handleGroupSelect;
@@ -0,0 +1,6 @@
1
+ export * from './group';
2
+ export * from './match';
3
+ export * from './match-game';
4
+ export * from './participant';
5
+ export * from './round';
6
+ export * from './stage';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./group"), exports);
18
+ __exportStar(require("./match"), exports);
19
+ __exportStar(require("./match-game"), exports);
20
+ __exportStar(require("./participant"), exports);
21
+ __exportStar(require("./round"), exports);
22
+ __exportStar(require("./stage"), exports);
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ 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>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchGameSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleMatchGameSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.matchGame
9
+ .findMany({
10
+ include: {
11
+ opponent1Result: true,
12
+ opponent2Result: true,
13
+ },
14
+ })
15
+ .then((values) => values.map(transformers_1.MatchGameTransformer.from))
16
+ .catch(() => []);
17
+ }
18
+ if (typeof filter === 'number') {
19
+ // Find by Id
20
+ return prisma.matchGame
21
+ .findFirst({
22
+ where: { id: filter },
23
+ include: {
24
+ opponent1Result: true,
25
+ opponent2Result: true,
26
+ },
27
+ })
28
+ .then((value) => {
29
+ if (value === null) {
30
+ return null;
31
+ }
32
+ return transformers_1.MatchGameTransformer.from(value);
33
+ })
34
+ .catch(() => null);
35
+ }
36
+ return prisma.matchGame
37
+ .findMany({
38
+ where: {
39
+ id: filter.id,
40
+ stageId: filter.stage_id,
41
+ matchId: filter.parent_id,
42
+ number: filter.number,
43
+ status: filter.status
44
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
45
+ : undefined,
46
+ },
47
+ include: {
48
+ opponent1Result: true,
49
+ opponent2Result: true,
50
+ },
51
+ })
52
+ .then((values) => values.map(transformers_1.MatchGameTransformer.from))
53
+ .catch(() => []);
54
+ }
55
+ exports.handleMatchGameSelect = handleMatchGameSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchSelect(prisma: PrismaClient, filter?: Partial<DataTypes['match']> | number): Promise<DataTypes['match'][] | DataTypes['match'] | null>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleMatchSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.match
9
+ .findMany({
10
+ include: {
11
+ opponent1Result: true,
12
+ opponent2Result: true,
13
+ },
14
+ })
15
+ .then((values) => values.map(transformers_1.MatchTransformer.from))
16
+ .catch(() => []);
17
+ }
18
+ if (typeof filter === 'number') {
19
+ // Find by Id
20
+ return prisma.match
21
+ .findFirst({
22
+ where: { id: filter },
23
+ include: {
24
+ opponent1Result: true,
25
+ opponent2Result: true,
26
+ },
27
+ })
28
+ .then((value) => {
29
+ if (value === null) {
30
+ return null;
31
+ }
32
+ return transformers_1.MatchTransformer.from(value);
33
+ })
34
+ .catch(() => null);
35
+ }
36
+ return prisma.match
37
+ .findMany({
38
+ where: {
39
+ id: filter.id,
40
+ stageId: filter.stage_id,
41
+ groupId: filter.group_id,
42
+ roundId: filter.round_id,
43
+ number: filter.number,
44
+ status: filter.status
45
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
46
+ : undefined,
47
+ childCount: filter.child_count,
48
+ },
49
+ include: {
50
+ opponent1Result: true,
51
+ opponent2Result: true,
52
+ },
53
+ })
54
+ .then((values) => values.map(transformers_1.MatchTransformer.from))
55
+ .catch(() => []);
56
+ }
57
+ exports.handleMatchSelect = handleMatchSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleParticipantSelect(prisma: PrismaClient, filter?: Partial<DataTypes['participant']> | number): Promise<DataTypes['participant'][] | DataTypes['participant'] | null>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleParticipantSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleParticipantSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.participant
9
+ .findMany()
10
+ .then((values) => values.map(transformers_1.ParticipantTransformer.from))
11
+ .catch(() => []);
12
+ }
13
+ if (typeof filter === 'number') {
14
+ // Find by Id
15
+ return prisma.participant
16
+ .findFirst({
17
+ where: { id: filter },
18
+ })
19
+ .then((value) => {
20
+ if (value === null) {
21
+ return null;
22
+ }
23
+ return transformers_1.ParticipantTransformer.from(value);
24
+ })
25
+ .catch(() => null);
26
+ }
27
+ return prisma.participant
28
+ .findMany({
29
+ where: {
30
+ id: filter.id,
31
+ name: filter.name,
32
+ tournamentId: filter.tournament_id,
33
+ },
34
+ })
35
+ .then((values) => values.map(transformers_1.ParticipantTransformer.from))
36
+ .catch(() => []);
37
+ }
38
+ exports.handleParticipantSelect = handleParticipantSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleRoundSelect(prisma: PrismaClient, filter?: Partial<DataTypes['round']> | number): Promise<DataTypes['round'][] | DataTypes['round'] | null>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleRoundSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleRoundSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.round
9
+ .findMany()
10
+ .then((values) => values.map(transformers_1.RoundTransformer.from))
11
+ .catch(() => []);
12
+ }
13
+ if (typeof filter === 'number') {
14
+ // Find by Id
15
+ return prisma.round
16
+ .findFirst({
17
+ where: { id: filter },
18
+ })
19
+ .then((value) => {
20
+ if (value === null) {
21
+ return null;
22
+ }
23
+ return transformers_1.RoundTransformer.from(value);
24
+ })
25
+ .catch(() => null);
26
+ }
27
+ return prisma.round
28
+ .findMany({
29
+ where: {
30
+ id: filter.id,
31
+ stageId: filter.stage_id,
32
+ groupId: filter.group_id,
33
+ number: filter.number,
34
+ },
35
+ })
36
+ .then((values) => values.map(transformers_1.RoundTransformer.from))
37
+ .catch(() => []);
38
+ }
39
+ exports.handleRoundSelect = handleRoundSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleStageSelect(prisma: PrismaClient, filter?: Partial<DataTypes['stage']> | number): Promise<DataTypes['stage'][] | DataTypes['stage'] | null>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleStageSelect = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleStageSelect(prisma, filter) {
6
+ if (filter === undefined) {
7
+ // Query all entries of table
8
+ return prisma.stage
9
+ .findMany({
10
+ include: {
11
+ settings: true,
12
+ },
13
+ })
14
+ .then((values) => values.map((value) => {
15
+ if (value.settings === null) {
16
+ throw Error(`Stage didn't have a Settings Relation attached.`);
17
+ }
18
+ return transformers_1.StageTransformer.from(value);
19
+ }))
20
+ .catch(() => []);
21
+ }
22
+ if (typeof filter === 'number') {
23
+ // Find by Id
24
+ return prisma.stage
25
+ .findFirst({
26
+ where: { id: filter },
27
+ include: {
28
+ settings: true,
29
+ },
30
+ })
31
+ .then((value) => {
32
+ if (value === null) {
33
+ return null;
34
+ }
35
+ if (value.settings === null) {
36
+ throw Error(`Stage didn't have a Settings Relation attached.`);
37
+ }
38
+ return transformers_1.StageTransformer.from(value);
39
+ })
40
+ .catch(() => null);
41
+ }
42
+ return prisma.stage
43
+ .findMany({
44
+ where: {
45
+ id: filter.id,
46
+ name: filter.name,
47
+ tournamentId: filter.tournament_id,
48
+ number: filter.number,
49
+ type: filter.type
50
+ ? transformers_1.StageTypeTransformer.to(filter.type)
51
+ : undefined,
52
+ },
53
+ include: {
54
+ settings: true,
55
+ },
56
+ })
57
+ .then((values) => values.map((value) => {
58
+ if (value.settings === null) {
59
+ throw Error(`Stage didn't have a Settings Relation attached.`);
60
+ }
61
+ return transformers_1.StageTransformer.from(value);
62
+ }))
63
+ .catch(() => []);
64
+ }
65
+ exports.handleStageSelect = handleStageSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleSelect<T extends keyof DataTypes>(prisma: PrismaClient, table: T, filter?: Partial<DataTypes[T]> | number): Promise<DataTypes[T][] | DataTypes[T] | null>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleSelect = void 0;
4
+ const select_handlers_1 = require("./select-handlers");
5
+ async function handleSelect(prisma, table, filter) {
6
+ switch (table) {
7
+ case 'participant':
8
+ return (0, select_handlers_1.handleParticipantSelect)(prisma, filter);
9
+ case 'stage':
10
+ return (0, select_handlers_1.handleStageSelect)(prisma, filter);
11
+ case 'group':
12
+ return (0, select_handlers_1.handleGroupSelect)(prisma, filter);
13
+ case 'round':
14
+ return (0, select_handlers_1.handleRoundSelect)(prisma, filter);
15
+ case 'match':
16
+ return (0, select_handlers_1.handleMatchSelect)(prisma, filter);
17
+ case 'match_game':
18
+ return (0, select_handlers_1.handleMatchGameSelect)(prisma, filter);
19
+ default:
20
+ return null;
21
+ }
22
+ }
23
+ exports.handleSelect = handleSelect;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleGroupUpdate(prisma: PrismaClient, filter: Partial<DataTypes['group']> | number, value: Partial<DataTypes['group']> | DataTypes['group']): Promise<boolean>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGroupUpdate = void 0;
4
+ async function handleGroupUpdate(prisma, filter, value) {
5
+ if (typeof filter === 'number') {
6
+ // Update by Id
7
+ return prisma.group
8
+ .update({
9
+ where: {
10
+ id: filter,
11
+ },
12
+ data: {
13
+ number: value.number,
14
+ stageId: value.stage_id,
15
+ },
16
+ })
17
+ .then(() => true)
18
+ .catch(() => false);
19
+ }
20
+ // Update by filter
21
+ return prisma.group
22
+ .updateMany({
23
+ where: {
24
+ id: filter.id,
25
+ number: filter.number,
26
+ stageId: filter.stage_id,
27
+ },
28
+ data: {
29
+ number: value.number,
30
+ stageId: value.stage_id,
31
+ },
32
+ })
33
+ .then(() => true)
34
+ .catch(() => false);
35
+ }
36
+ exports.handleGroupUpdate = handleGroupUpdate;
@@ -0,0 +1,6 @@
1
+ export * from './group';
2
+ export * from './match';
3
+ export * from './match-game';
4
+ export * from './participant';
5
+ export * from './round';
6
+ export * from './stage';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./group"), exports);
18
+ __exportStar(require("./match"), exports);
19
+ __exportStar(require("./match-game"), exports);
20
+ __exportStar(require("./participant"), exports);
21
+ __exportStar(require("./round"), exports);
22
+ __exportStar(require("./stage"), exports);
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchGameUpdate(prisma: PrismaClient, filter: Partial<DataTypes['match_game']> | number, value: Partial<DataTypes['match_game']> | DataTypes['match_game']): Promise<boolean>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchGameUpdate = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ function getParticipantResultUpsertData(value) {
6
+ return {
7
+ upsert: {
8
+ update: {
9
+ participantId: value.id,
10
+ forfeit: value.forfeit,
11
+ position: value.position,
12
+ score: value.score,
13
+ result: value.result
14
+ ? transformers_1.MatchResultTransformer.to(value.result)
15
+ : undefined,
16
+ },
17
+ create: {
18
+ participantId: value.id,
19
+ forfeit: value.forfeit,
20
+ position: value.position,
21
+ score: value.score,
22
+ result: value.result
23
+ ? transformers_1.MatchResultTransformer.to(value.result)
24
+ : undefined,
25
+ },
26
+ },
27
+ };
28
+ }
29
+ function getUpdateData(value) {
30
+ return {
31
+ stageId: value.stage_id,
32
+ matchId: value.parent_id,
33
+ number: value.number,
34
+ status: value.status
35
+ ? transformers_1.MatchStatusTransformer.to(value.status)
36
+ : undefined,
37
+ opponent1Result: value.opponent1
38
+ ? getParticipantResultUpsertData(value.opponent1)
39
+ : undefined,
40
+ opponent2Result: value.opponent2
41
+ ? getParticipantResultUpsertData(value.opponent2)
42
+ : undefined,
43
+ };
44
+ }
45
+ function updateById(prisma, id, value) {
46
+ return prisma.matchGame.update({
47
+ where: {
48
+ id,
49
+ },
50
+ data: getUpdateData(value),
51
+ });
52
+ }
53
+ async function handleMatchGameUpdate(prisma, filter, value) {
54
+ if (typeof filter === 'number') {
55
+ // Update by Id
56
+ return updateById(prisma, filter, value)
57
+ .then(() => true)
58
+ .catch(() => false);
59
+ }
60
+ return prisma.matchGame
61
+ .findMany({
62
+ where: {
63
+ id: filter.id,
64
+ number: filter.number,
65
+ stageId: filter.stage_id,
66
+ matchId: filter.parent_id,
67
+ status: filter.status
68
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
69
+ : undefined,
70
+ },
71
+ })
72
+ .then((games) => {
73
+ return Promise.all([
74
+ games.map((game) => updateById(prisma, game.id, value)),
75
+ ]);
76
+ })
77
+ .then(() => true)
78
+ .catch(() => false);
79
+ }
80
+ exports.handleMatchGameUpdate = handleMatchGameUpdate;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchUpdate(prisma: PrismaClient, filter: Partial<DataTypes['match']> | number, value: Partial<DataTypes['match']> | DataTypes['match']): Promise<boolean>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchUpdate = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ function getParticipantResultUpsertData(value) {
6
+ return {
7
+ upsert: {
8
+ update: {
9
+ participantId: value.id,
10
+ forfeit: value.forfeit,
11
+ position: value.position,
12
+ score: value.score,
13
+ result: value.result
14
+ ? transformers_1.MatchResultTransformer.to(value.result)
15
+ : undefined,
16
+ },
17
+ create: {
18
+ participantId: value.id,
19
+ forfeit: value.forfeit,
20
+ position: value.position,
21
+ score: value.score,
22
+ result: value.result
23
+ ? transformers_1.MatchResultTransformer.to(value.result)
24
+ : undefined,
25
+ },
26
+ },
27
+ };
28
+ }
29
+ function getUpdateData(value) {
30
+ return {
31
+ stageId: value.stage_id,
32
+ groupId: value.group_id,
33
+ roundId: value.round_id,
34
+ childCount: value.child_count,
35
+ number: value.number,
36
+ status: value.status
37
+ ? transformers_1.MatchStatusTransformer.to(value.status)
38
+ : undefined,
39
+ opponent1Result: value.opponent1
40
+ ? getParticipantResultUpsertData(value.opponent1)
41
+ : undefined,
42
+ opponent2Result: value.opponent2
43
+ ? getParticipantResultUpsertData(value.opponent2)
44
+ : undefined,
45
+ };
46
+ }
47
+ function updateById(prisma, id, value) {
48
+ return prisma.match.update({
49
+ where: {
50
+ id,
51
+ },
52
+ data: getUpdateData(value),
53
+ });
54
+ }
55
+ async function handleMatchUpdate(prisma, filter, value) {
56
+ if (typeof filter === 'number') {
57
+ // Update by Id
58
+ return updateById(prisma, filter, value)
59
+ .then(() => true)
60
+ .catch(() => false);
61
+ }
62
+ return prisma.match
63
+ .findMany({
64
+ where: {
65
+ id: filter.id,
66
+ number: filter.number,
67
+ stageId: filter.stage_id,
68
+ groupId: filter.group_id,
69
+ roundId: filter.round_id,
70
+ status: filter.status
71
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
72
+ : undefined,
73
+ },
74
+ })
75
+ .then((matches) => {
76
+ return Promise.all([
77
+ matches.map((match) => updateById(prisma, match.id, value)),
78
+ ]);
79
+ })
80
+ .then(() => true)
81
+ .catch(() => false);
82
+ }
83
+ exports.handleMatchUpdate = handleMatchUpdate;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleParticipantUpdate(prisma: PrismaClient, filter: Partial<DataTypes['participant']> | number, value: Partial<DataTypes['participant']> | DataTypes['participant']): Promise<boolean>;