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
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # brackets-prisma-db
2
+
3
+ This implementation of the [`CrudInterface`](https://drarig29.github.io/brackets-docs/reference/manager/interfaces/CrudInterface.html)
4
+ uses [prisma](https://www.prisma.io/) to store the data in an SQL Database.
5
+
6
+ > **Warning**
7
+ > This implementation has not been full tested yet. Use with caution.
8
+
9
+ ## Limitations
10
+
11
+ Currently there are some features of the [manager](https://github.com/Drarig29/brackets-manager.js) that can't be used.
12
+
13
+ | **Feature** | **Status** |
14
+ | ------------------- | --------------- |
15
+ | Custom Participants | Implemented |
16
+ | Custom Matches | Not Implemented |
17
+
18
+ ## Usage
19
+
20
+ To use this implementation make sure you have [prisma](https://www.prisma.io/) included in your project.
21
+ A Guide on how to include prisma in your project can be found on the official documentation page.
22
+
23
+ Once [prisma](https://www.prisma.io/) is included in your project copy the [`schema.prisma`](./prisma/schema.prisma) into your project.
24
+ If you have an existing `schema.prisma` in your project copy and paste the schema definitions into your existing one.
25
+
26
+ > **Warning**
27
+ > Do not rename any of the models or enums provided! This **will** break the implementation.
28
+
29
+ Next generate the prisma client using `npx prisma generate`.
30
+ Lastly push the definition to your database using `npx prisma db push`.
31
+
32
+ ```typescript
33
+ import { SqlDatabase } from 'brackets-prisma-db';
34
+ import { prisma } from './client';
35
+ import { BracketsManager } from 'brackets-manager';
36
+
37
+ const storage = new SqlDatabase(prisma);
38
+ const manager = new BracketsManager(storage);
39
+ ```
@@ -0,0 +1 @@
1
+ export * from './storage';
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
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("./storage"), exports);
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleGroupDelete(prisma: PrismaClient, filter?: Partial<DataTypes['group']>): Promise<boolean>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGroupDelete = void 0;
4
+ async function handleGroupDelete(prisma, filter) {
5
+ // No filter so delete everything
6
+ if (!filter) {
7
+ return prisma.group
8
+ .deleteMany({})
9
+ .then(() => true)
10
+ .catch(() => false);
11
+ }
12
+ return prisma.group
13
+ .deleteMany({
14
+ where: {
15
+ id: filter.id,
16
+ stageId: filter.stage_id,
17
+ number: filter.number,
18
+ },
19
+ })
20
+ .then(() => true)
21
+ .catch(() => false);
22
+ }
23
+ exports.handleGroupDelete = handleGroupDelete;
@@ -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 handleMatchGameDelete(prisma: PrismaClient, filter?: Partial<DataTypes['match_game']>): Promise<boolean>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchGameDelete = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleMatchGameDelete(prisma, filter) {
6
+ // No filter so delete everything
7
+ if (!filter) {
8
+ return prisma.matchGame
9
+ .deleteMany({})
10
+ .then(() => true)
11
+ .catch(() => false);
12
+ }
13
+ return prisma.matchGame
14
+ .deleteMany({
15
+ where: {
16
+ id: filter.id,
17
+ stageId: filter.stage_id,
18
+ matchId: filter.parent_id,
19
+ number: filter.number,
20
+ status: filter.status
21
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
22
+ : undefined,
23
+ },
24
+ })
25
+ .then(() => true)
26
+ .catch(() => false);
27
+ }
28
+ exports.handleMatchGameDelete = handleMatchGameDelete;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchDelete(prisma: PrismaClient, filter?: Partial<DataTypes['match']>): Promise<boolean>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchDelete = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleMatchDelete(prisma, filter) {
6
+ // No filter so delete everything
7
+ if (!filter) {
8
+ return prisma.match
9
+ .deleteMany({})
10
+ .then(() => true)
11
+ .catch(() => false);
12
+ }
13
+ return prisma.match
14
+ .deleteMany({
15
+ where: {
16
+ id: filter.id,
17
+ stageId: filter.stage_id,
18
+ groupId: filter.group_id,
19
+ roundId: filter.round_id,
20
+ number: filter.number,
21
+ status: filter.status
22
+ ? transformers_1.MatchStatusTransformer.to(filter.status)
23
+ : undefined,
24
+ },
25
+ })
26
+ .then(() => true)
27
+ .catch(() => false);
28
+ }
29
+ exports.handleMatchDelete = handleMatchDelete;
@@ -0,0 +1,3 @@
1
+ import { PrismaClient } from '@prisma/client';
2
+ import { DataTypes } from 'brackets-manager/dist/types';
3
+ export declare function handleParticipantDelete(prisma: PrismaClient, filter?: Partial<DataTypes['participant']>): Promise<boolean>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleParticipantDelete = void 0;
4
+ async function handleParticipantDelete(prisma, filter) {
5
+ // No filter so delete everything
6
+ if (!filter) {
7
+ return prisma.participant
8
+ .deleteMany({})
9
+ .then(() => true)
10
+ .catch(() => false);
11
+ }
12
+ return prisma.participant
13
+ .deleteMany({
14
+ where: {
15
+ id: filter.id,
16
+ name: filter.name,
17
+ tournamentId: filter.tournament_id,
18
+ },
19
+ })
20
+ .then(() => true)
21
+ .catch(() => false);
22
+ }
23
+ exports.handleParticipantDelete = handleParticipantDelete;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleRoundDelete(prisma: PrismaClient, filter?: Partial<DataTypes['round']>): Promise<boolean>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleRoundDelete = void 0;
4
+ async function handleRoundDelete(prisma, filter) {
5
+ // No filter so delete everything
6
+ if (!filter) {
7
+ return prisma.round
8
+ .deleteMany({})
9
+ .then(() => true)
10
+ .catch(() => false);
11
+ }
12
+ return prisma.round
13
+ .deleteMany({
14
+ where: {
15
+ id: filter.id,
16
+ stageId: filter.stage_id,
17
+ groupId: filter.group_id,
18
+ number: filter.number,
19
+ },
20
+ })
21
+ .then(() => true)
22
+ .catch(() => false);
23
+ }
24
+ exports.handleRoundDelete = handleRoundDelete;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleStageDelete(prisma: PrismaClient, filter?: Partial<DataTypes['stage']>): Promise<boolean>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleStageDelete = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ async function handleStageDelete(prisma, filter) {
6
+ // No filter so delete everything
7
+ if (!filter) {
8
+ return prisma.stage
9
+ .deleteMany({})
10
+ .then(() => true)
11
+ .catch(() => false);
12
+ }
13
+ return prisma.stage
14
+ .deleteMany({
15
+ where: {
16
+ id: filter.id,
17
+ name: filter.name,
18
+ number: filter.number,
19
+ tournamentId: filter.tournament_id,
20
+ type: filter.type
21
+ ? transformers_1.StageTypeTransformer.to(filter.type)
22
+ : undefined,
23
+ },
24
+ })
25
+ .then(() => true)
26
+ .catch(() => false);
27
+ }
28
+ exports.handleStageDelete = handleStageDelete;
@@ -0,0 +1,3 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleDelete<T extends keyof DataTypes>(prisma: PrismaClient, table: T, filter?: Partial<DataTypes[T]>): Promise<boolean>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDelete = void 0;
4
+ const delete_handlers_1 = require("./delete-handlers");
5
+ // Can't be named `delete` because its a reserved word...
6
+ async function handleDelete(prisma, table, filter) {
7
+ switch (table) {
8
+ case 'participant':
9
+ return (0, delete_handlers_1.handleParticipantDelete)(prisma, filter);
10
+ case 'stage':
11
+ return (0, delete_handlers_1.handleStageDelete)(prisma, filter);
12
+ case 'group':
13
+ return (0, delete_handlers_1.handleGroupDelete)(prisma, filter);
14
+ case 'round':
15
+ return (0, delete_handlers_1.handleRoundDelete)(prisma, filter);
16
+ case 'match':
17
+ return (0, delete_handlers_1.handleMatchDelete)(prisma, filter);
18
+ case 'match_game':
19
+ return (0, delete_handlers_1.handleMatchGameDelete)(prisma, filter);
20
+ default:
21
+ return false;
22
+ }
23
+ }
24
+ exports.handleDelete = handleDelete;
@@ -0,0 +1,4 @@
1
+ export * from './delete';
2
+ export * from './insert';
3
+ export * from './select';
4
+ export * from './update';
@@ -0,0 +1,20 @@
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("./delete"), exports);
18
+ __exportStar(require("./insert"), exports);
19
+ __exportStar(require("./select"), exports);
20
+ __exportStar(require("./update"), exports);
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleGroupInsert(prisma: PrismaClient, values: OmitId<DataTypes['group']> | OmitId<DataTypes['group']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGroupInsert = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ function handleGroupInsert(prisma, values) {
6
+ if (Array.isArray(values)) {
7
+ return prisma.group
8
+ .createMany({
9
+ data: values.map(transformers_1.GroupTransformer.to),
10
+ })
11
+ .then(() => true)
12
+ .catch(() => false);
13
+ }
14
+ return prisma.group
15
+ .create({
16
+ data: transformers_1.GroupTransformer.to(values),
17
+ })
18
+ .then((v) => v.id)
19
+ .catch(() => -1);
20
+ }
21
+ exports.handleGroupInsert = handleGroupInsert;
@@ -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, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchGameInsert(prisma: PrismaClient, values: OmitId<DataTypes['match_game']> | OmitId<DataTypes['match_game']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchGameInsert = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ function getCreationData(value) {
6
+ return {
7
+ ...transformers_1.MatchGameTransformer.to(value),
8
+ opponent1Result: value.opponent1
9
+ ? {
10
+ create: {
11
+ participantId: value.opponent1.id,
12
+ forfeit: value.opponent1.forfeit,
13
+ position: value.opponent1.position,
14
+ score: value.opponent1.score,
15
+ result: value.opponent1.result
16
+ ? transformers_1.MatchResultTransformer.to(value.opponent1.result)
17
+ : undefined,
18
+ },
19
+ }
20
+ : undefined,
21
+ opponent2Result: value.opponent2
22
+ ? {
23
+ create: {
24
+ participantId: value.opponent2.id,
25
+ forfeit: value.opponent2.forfeit,
26
+ position: value.opponent2.position,
27
+ score: value.opponent2.score,
28
+ result: value.opponent2.result
29
+ ? transformers_1.MatchResultTransformer.to(value.opponent2.result)
30
+ : undefined,
31
+ },
32
+ }
33
+ : undefined,
34
+ };
35
+ }
36
+ function handleMatchGameInsert(prisma, values) {
37
+ if (Array.isArray(values)) {
38
+ return prisma.matchGame
39
+ .createMany({
40
+ data: values.map((v) => getCreationData(v)),
41
+ })
42
+ .then(() => true)
43
+ .catch(() => false);
44
+ }
45
+ return prisma.matchGame
46
+ .create({
47
+ data: getCreationData(values),
48
+ })
49
+ .then((v) => v.id)
50
+ .catch(() => -1);
51
+ }
52
+ exports.handleMatchGameInsert = handleMatchGameInsert;
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleMatchInsert(prisma: PrismaClient, values: OmitId<DataTypes['match']> | OmitId<DataTypes['match']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleMatchInsert = void 0;
4
+ const transformers_1 = require("../../transformers");
5
+ function getCreationData(value) {
6
+ return {
7
+ ...transformers_1.MatchTransformer.to(value),
8
+ opponent1Result: value.opponent1
9
+ ? {
10
+ create: {
11
+ participantId: value.opponent1.id,
12
+ forfeit: value.opponent1.forfeit,
13
+ position: value.opponent1.position,
14
+ score: value.opponent1.score,
15
+ result: value.opponent1.result
16
+ ? transformers_1.MatchResultTransformer.to(value.opponent1.result)
17
+ : undefined,
18
+ },
19
+ }
20
+ : undefined,
21
+ opponent2Result: value.opponent2
22
+ ? {
23
+ create: {
24
+ participantId: value.opponent2.id,
25
+ forfeit: value.opponent2.forfeit,
26
+ position: value.opponent2.position,
27
+ score: value.opponent2.score,
28
+ result: value.opponent2.result
29
+ ? transformers_1.MatchResultTransformer.to(value.opponent2.result)
30
+ : undefined,
31
+ },
32
+ }
33
+ : undefined,
34
+ };
35
+ }
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);
44
+ }
45
+ return prisma.match
46
+ .create({
47
+ data: getCreationData(values),
48
+ })
49
+ .then((v) => v.id)
50
+ .catch(() => -1);
51
+ }
52
+ exports.handleMatchInsert = handleMatchInsert;
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleParticipantInsert(prisma: PrismaClient, values: OmitId<DataTypes['participant']> | OmitId<DataTypes['participant']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleParticipantInsert = void 0;
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);
13
+ }
14
+ return prisma.participant
15
+ .create({
16
+ data: transformers_1.ParticipantTransformer.to(values),
17
+ })
18
+ .then((v) => v.id)
19
+ .catch(() => -1);
20
+ }
21
+ exports.handleParticipantInsert = handleParticipantInsert;
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleRoundInsert(prisma: PrismaClient, values: OmitId<DataTypes['round']> | OmitId<DataTypes['round']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleRoundInsert = void 0;
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);
13
+ }
14
+ return prisma.round
15
+ .create({
16
+ data: transformers_1.RoundTransformer.to(values),
17
+ })
18
+ .then((v) => v.id)
19
+ .catch(() => -1);
20
+ }
21
+ exports.handleRoundInsert = handleRoundInsert;
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleStageInsert(prisma: PrismaClient, values: OmitId<DataTypes['stage']> | OmitId<DataTypes['stage']>[]): Promise<number> | Promise<boolean>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleStageInsert = void 0;
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),
11
+ settings: {
12
+ create: {
13
+ ...transformers_1.StageSettingsTransformer.to(v.settings),
14
+ },
15
+ },
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
+ },
30
+ },
31
+ })
32
+ .then((v) => v.id)
33
+ .catch(() => -1);
34
+ }
35
+ exports.handleStageInsert = handleStageInsert;
@@ -0,0 +1,3 @@
1
+ import { DataTypes, OmitId } from 'brackets-manager/dist/types';
2
+ import { PrismaClient } from '@prisma/client';
3
+ export declare function handleInsert<T extends keyof DataTypes>(prisma: PrismaClient, table: T, values: OmitId<DataTypes[T]> | OmitId<DataTypes[T]>[]): Promise<number | boolean>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleInsert = void 0;
4
+ const insert_handlers_1 = require("./insert-handlers");
5
+ async function handleInsert(prisma, table, values) {
6
+ switch (table) {
7
+ case 'participant':
8
+ const participantValues = values;
9
+ return (0, insert_handlers_1.handleParticipantInsert)(prisma, participantValues);
10
+ case 'stage':
11
+ const stageValues = values;
12
+ return (0, insert_handlers_1.handleStageInsert)(prisma, stageValues);
13
+ case 'group':
14
+ const groupValues = values;
15
+ return (0, insert_handlers_1.handleGroupInsert)(prisma, groupValues);
16
+ case 'round':
17
+ const roundValues = values;
18
+ return (0, insert_handlers_1.handleRoundInsert)(prisma, roundValues);
19
+ case 'match':
20
+ const matchValues = values;
21
+ return (0, insert_handlers_1.handleMatchInsert)(prisma, matchValues);
22
+ case 'match_game':
23
+ const matchGameValues = values;
24
+ return (0, insert_handlers_1.handleMatchGameInsert)(prisma, matchGameValues);
25
+ default:
26
+ return false;
27
+ }
28
+ }
29
+ exports.handleInsert = handleInsert;