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.
- package/README.md +53 -19
- package/dist/prisma-id.d.ts +10 -0
- package/dist/prisma-id.js +32 -0
- package/dist/storage-handlers/delete-handlers/group.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/group.js +24 -15
- package/dist/storage-handlers/delete-handlers/match-game.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/match-game.js +25 -16
- package/dist/storage-handlers/delete-handlers/match.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/match.js +26 -17
- package/dist/storage-handlers/delete-handlers/participant.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/participant.js +24 -15
- package/dist/storage-handlers/delete-handlers/round.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/round.js +25 -16
- package/dist/storage-handlers/delete-handlers/stage.d.ts +1 -1
- package/dist/storage-handlers/delete-handlers/stage.js +32 -29
- package/dist/storage-handlers/delete.d.ts +1 -1
- package/dist/storage-handlers/delete.js +1 -2
- package/dist/storage-handlers/insert-handlers/group.d.ts +2 -2
- package/dist/storage-handlers/insert-handlers/group.js +16 -16
- package/dist/storage-handlers/insert-handlers/match-game.d.ts +3 -2
- package/dist/storage-handlers/insert-handlers/match-game.js +20 -18
- package/dist/storage-handlers/insert-handlers/match.d.ts +3 -2
- package/dist/storage-handlers/insert-handlers/match.js +20 -18
- package/dist/storage-handlers/insert-handlers/participant.d.ts +2 -2
- package/dist/storage-handlers/insert-handlers/participant.js +20 -16
- package/dist/storage-handlers/insert-handlers/round.d.ts +2 -2
- package/dist/storage-handlers/insert-handlers/round.js +16 -16
- package/dist/storage-handlers/insert-handlers/stage.d.ts +2 -2
- package/dist/storage-handlers/insert-handlers/stage.js +26 -26
- package/dist/storage-handlers/insert.d.ts +1 -1
- package/dist/storage-handlers/insert.js +1 -2
- package/dist/storage-handlers/select-handlers/group.d.ts +2 -2
- package/dist/storage-handlers/select-handlers/group.js +34 -27
- package/dist/storage-handlers/select-handlers/match-game.d.ts +3 -2
- package/dist/storage-handlers/select-handlers/match-game.js +49 -44
- package/dist/storage-handlers/select-handlers/match.d.ts +3 -2
- package/dist/storage-handlers/select-handlers/match.js +59 -53
- package/dist/storage-handlers/select-handlers/participant.d.ts +2 -2
- package/dist/storage-handlers/select-handlers/participant.js +31 -24
- package/dist/storage-handlers/select-handlers/round.d.ts +2 -2
- package/dist/storage-handlers/select-handlers/round.js +35 -28
- package/dist/storage-handlers/select-handlers/stage.d.ts +2 -2
- package/dist/storage-handlers/select-handlers/stage.js +54 -47
- package/dist/storage-handlers/select.d.ts +2 -2
- package/dist/storage-handlers/select.js +1 -2
- package/dist/storage-handlers/update-handlers/group.d.ts +2 -2
- package/dist/storage-handlers/update-handlers/group.js +31 -25
- package/dist/storage-handlers/update-handlers/match-game.d.ts +3 -2
- package/dist/storage-handlers/update-handlers/match-game.js +47 -31
- package/dist/storage-handlers/update-handlers/match.d.ts +3 -2
- package/dist/storage-handlers/update-handlers/match.js +49 -33
- package/dist/storage-handlers/update-handlers/participant.d.ts +2 -2
- package/dist/storage-handlers/update-handlers/participant.js +34 -25
- package/dist/storage-handlers/update-handlers/round.d.ts +2 -2
- package/dist/storage-handlers/update-handlers/round.js +34 -28
- package/dist/storage-handlers/update-handlers/stage.d.ts +2 -2
- package/dist/storage-handlers/update-handlers/stage.js +46 -43
- package/dist/storage-handlers/update.d.ts +2 -2
- package/dist/storage-handlers/update.js +1 -2
- package/dist/storage.d.ts +3 -4
- package/dist/transformers/enum/grand-final-type.js +17 -7
- package/dist/transformers/enum/match-result.js +17 -7
- package/dist/transformers/enum/match-status.d.ts +1 -1
- package/dist/transformers/enum/match-status.js +21 -7
- package/dist/transformers/enum/round-robin-mode.js +17 -7
- package/dist/transformers/enum/seed-ordering.js +17 -7
- package/dist/transformers/enum/stage-type.js +17 -7
- package/dist/transformers/model/group.d.ts +1 -1
- package/dist/transformers/model/group.js +2 -1
- package/dist/transformers/model/match-game.d.ts +20 -20
- package/dist/transformers/model/match-game.js +64 -2
- package/dist/transformers/model/match.d.ts +22 -24
- package/dist/transformers/model/match.js +67 -3
- package/dist/transformers/model/participant-result.d.ts +1 -1
- package/dist/transformers/model/participant.d.ts +6 -2
- package/dist/transformers/model/participant.js +22 -2
- package/dist/transformers/model/round.d.ts +1 -1
- package/dist/transformers/model/round.js +3 -2
- package/dist/transformers/model/stage-settings.d.ts +2 -2
- package/dist/transformers/model/stage.d.ts +2 -2
- package/dist/transformers/model/stage.js +2 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.js +2 -0
- package/package.json +5 -5
|
@@ -1,38 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleParticipantSelect =
|
|
3
|
+
exports.handleParticipantSelect = handleParticipantSelect;
|
|
4
4
|
const transformers_1 = require("../../transformers");
|
|
5
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
5
6
|
async function handleParticipantSelect(prisma, filter) {
|
|
6
7
|
if (filter === undefined) {
|
|
7
8
|
// Query all entries of table
|
|
8
|
-
|
|
9
|
-
.findMany()
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
try {
|
|
10
|
+
const values = await prisma.participant.findMany();
|
|
11
|
+
return values.map(transformers_1.ParticipantTransformer.from);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
12
16
|
}
|
|
13
|
-
if (
|
|
17
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
14
18
|
// Find by Id
|
|
15
|
-
|
|
16
|
-
.findFirst({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.then((value) => {
|
|
19
|
+
try {
|
|
20
|
+
const value = await prisma.participant.findFirst({
|
|
21
|
+
where: { id: (0, prisma_id_1.toPrismaId)(filter) },
|
|
22
|
+
});
|
|
20
23
|
if (value === null) {
|
|
21
24
|
return null;
|
|
22
25
|
}
|
|
23
26
|
return transformers_1.ParticipantTransformer.from(value);
|
|
24
|
-
}
|
|
25
|
-
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const values = await prisma.participant.findMany({
|
|
34
|
+
where: {
|
|
35
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
36
|
+
name: filter.name,
|
|
37
|
+
tournamentId: (0, prisma_id_1.toPrismaId)(filter.tournament_id),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
return values.map(transformers_1.ParticipantTransformer.from);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return [];
|
|
26
44
|
}
|
|
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
45
|
}
|
|
38
|
-
exports.handleParticipantSelect = handleParticipantSelect;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-
|
|
1
|
+
import { DataTypes, Id } from 'brackets-model';
|
|
2
2
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
export declare function handleRoundSelect(prisma: PrismaClient, filter?: Partial<DataTypes['round']> |
|
|
3
|
+
export declare function handleRoundSelect(prisma: PrismaClient, filter?: Partial<DataTypes['round']> | Id): Promise<DataTypes['round'][] | DataTypes['round'] | null>;
|
|
@@ -1,42 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleRoundSelect =
|
|
3
|
+
exports.handleRoundSelect = handleRoundSelect;
|
|
4
4
|
const transformers_1 = require("../../transformers");
|
|
5
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
5
6
|
async function handleRoundSelect(prisma, filter) {
|
|
6
7
|
if (filter === undefined) {
|
|
7
8
|
// Query all entries of table
|
|
8
|
-
|
|
9
|
-
.findMany({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
try {
|
|
10
|
+
const values = await prisma.round.findMany({
|
|
11
|
+
orderBy: [{ number: 'asc' }],
|
|
12
|
+
});
|
|
13
|
+
return values.map(transformers_1.RoundTransformer.from);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
14
18
|
}
|
|
15
|
-
if (
|
|
19
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
16
20
|
// Find by Id
|
|
17
|
-
|
|
18
|
-
.findFirst({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.then((value) => {
|
|
21
|
+
try {
|
|
22
|
+
const value = await prisma.round.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.RoundTransformer.from(value);
|
|
26
|
-
}
|
|
27
|
-
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const values = await prisma.round.findMany({
|
|
36
|
+
where: {
|
|
37
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
38
|
+
stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
|
|
39
|
+
groupId: (0, prisma_id_1.toPrismaId)(filter.group_id),
|
|
40
|
+
number: filter.number,
|
|
41
|
+
},
|
|
42
|
+
orderBy: [{ number: 'asc' }],
|
|
43
|
+
});
|
|
44
|
+
return values.map(transformers_1.RoundTransformer.from);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return [];
|
|
28
48
|
}
|
|
29
|
-
return prisma.round
|
|
30
|
-
.findMany({
|
|
31
|
-
where: {
|
|
32
|
-
id: filter.id,
|
|
33
|
-
stageId: filter.stage_id,
|
|
34
|
-
groupId: filter.group_id,
|
|
35
|
-
number: filter.number,
|
|
36
|
-
},
|
|
37
|
-
orderBy: [{ number: 'asc' }],
|
|
38
|
-
})
|
|
39
|
-
.then((values) => values.map(transformers_1.RoundTransformer.from))
|
|
40
|
-
.catch(() => []);
|
|
41
49
|
}
|
|
42
|
-
exports.handleRoundSelect = handleRoundSelect;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-
|
|
1
|
+
import { DataTypes, Id } from 'brackets-model';
|
|
2
2
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
export declare function handleStageSelect(prisma: PrismaClient, filter?: Partial<DataTypes['stage']> |
|
|
3
|
+
export declare function handleStageSelect(prisma: PrismaClient, filter?: Partial<DataTypes['stage']> | Id): Promise<DataTypes['stage'][] | DataTypes['stage'] | null>;
|
|
@@ -1,67 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleStageSelect =
|
|
3
|
+
exports.handleStageSelect = handleStageSelect;
|
|
4
4
|
const transformers_1 = require("../../transformers");
|
|
5
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
5
6
|
async function handleStageSelect(prisma, filter) {
|
|
6
7
|
if (filter === undefined) {
|
|
7
8
|
// Query all entries of table
|
|
8
|
-
|
|
9
|
-
.findMany({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
try {
|
|
10
|
+
const values = await prisma.stage.findMany({
|
|
11
|
+
include: {
|
|
12
|
+
settings: true,
|
|
13
|
+
},
|
|
14
|
+
orderBy: [{ number: 'asc' }],
|
|
15
|
+
});
|
|
16
|
+
return values.map((value) => {
|
|
17
|
+
if (value.settings === null) {
|
|
18
|
+
throw Error(`Stage didn't have a Settings Relation attached.`);
|
|
19
|
+
}
|
|
20
|
+
return transformers_1.StageTransformer.from(value);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
28
|
+
// Find by Id
|
|
29
|
+
try {
|
|
30
|
+
const value = await prisma.stage.findFirst({
|
|
31
|
+
where: { id: (0, prisma_id_1.toPrismaId)(filter) },
|
|
32
|
+
include: {
|
|
33
|
+
settings: true,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
if (value === null) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
16
39
|
if (value.settings === null) {
|
|
17
40
|
throw Error(`Stage didn't have a Settings Relation attached.`);
|
|
18
41
|
}
|
|
19
42
|
return transformers_1.StageTransformer.from(value);
|
|
20
|
-
}
|
|
21
|
-
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
22
47
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
48
|
+
try {
|
|
49
|
+
const values = await prisma.stage.findMany({
|
|
50
|
+
where: {
|
|
51
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
52
|
+
name: filter.name,
|
|
53
|
+
tournamentId: (0, prisma_id_1.toPrismaId)(filter.tournament_id),
|
|
54
|
+
number: filter.number,
|
|
55
|
+
type: filter.type
|
|
56
|
+
? transformers_1.StageTypeTransformer.to(filter.type)
|
|
57
|
+
: undefined,
|
|
58
|
+
},
|
|
28
59
|
include: {
|
|
29
60
|
settings: true,
|
|
30
61
|
},
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
62
|
+
orderBy: [{ number: 'asc' }],
|
|
63
|
+
});
|
|
64
|
+
return values.map((value) => {
|
|
36
65
|
if (value.settings === null) {
|
|
37
66
|
throw Error(`Stage didn't have a Settings Relation attached.`);
|
|
38
67
|
}
|
|
39
68
|
return transformers_1.StageTransformer.from(value);
|
|
40
|
-
})
|
|
41
|
-
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return [];
|
|
42
73
|
}
|
|
43
|
-
return prisma.stage
|
|
44
|
-
.findMany({
|
|
45
|
-
where: {
|
|
46
|
-
id: filter.id,
|
|
47
|
-
name: filter.name,
|
|
48
|
-
tournamentId: filter.tournament_id,
|
|
49
|
-
number: filter.number,
|
|
50
|
-
type: filter.type
|
|
51
|
-
? transformers_1.StageTypeTransformer.to(filter.type)
|
|
52
|
-
: undefined,
|
|
53
|
-
},
|
|
54
|
-
include: {
|
|
55
|
-
settings: true,
|
|
56
|
-
},
|
|
57
|
-
orderBy: [{ number: 'asc' }],
|
|
58
|
-
})
|
|
59
|
-
.then((values) => values.map((value) => {
|
|
60
|
-
if (value.settings === null) {
|
|
61
|
-
throw Error(`Stage didn't have a Settings Relation attached.`);
|
|
62
|
-
}
|
|
63
|
-
return transformers_1.StageTransformer.from(value);
|
|
64
|
-
}))
|
|
65
|
-
.catch(() => []);
|
|
66
74
|
}
|
|
67
|
-
exports.handleStageSelect = handleStageSelect;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-
|
|
1
|
+
import { DataTypes, Id } from 'brackets-model';
|
|
2
2
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
export declare function handleSelect<T extends keyof DataTypes>(prisma: PrismaClient, table: T, filter?: Partial<DataTypes[T]> |
|
|
3
|
+
export declare function handleSelect<T extends keyof DataTypes>(prisma: PrismaClient, table: T, filter?: Partial<DataTypes[T]> | Id): Promise<DataTypes[T][] | DataTypes[T] | null>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleSelect =
|
|
3
|
+
exports.handleSelect = handleSelect;
|
|
4
4
|
const select_handlers_1 = require("./select-handlers");
|
|
5
5
|
async function handleSelect(prisma, table, filter) {
|
|
6
6
|
switch (table) {
|
|
@@ -20,4 +20,3 @@ async function handleSelect(prisma, table, filter) {
|
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
exports.handleSelect = handleSelect;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-
|
|
1
|
+
import { DataTypes, Id } from 'brackets-model';
|
|
2
2
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
export declare function handleGroupUpdate(prisma: PrismaClient, filter: Partial<DataTypes['group']> |
|
|
3
|
+
export declare function handleGroupUpdate(prisma: PrismaClient, filter: Partial<DataTypes['group']> | Id, value: Partial<DataTypes['group']> | DataTypes['group']): Promise<boolean>;
|
|
@@ -1,36 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleGroupUpdate =
|
|
3
|
+
exports.handleGroupUpdate = handleGroupUpdate;
|
|
4
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
4
5
|
async function handleGroupUpdate(prisma, filter, value) {
|
|
5
|
-
if (
|
|
6
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
6
7
|
// Update by Id
|
|
7
|
-
|
|
8
|
-
.update({
|
|
8
|
+
try {
|
|
9
|
+
await prisma.group.update({
|
|
10
|
+
where: {
|
|
11
|
+
id: (0, prisma_id_1.toPrismaId)(filter),
|
|
12
|
+
},
|
|
13
|
+
data: {
|
|
14
|
+
number: value.number,
|
|
15
|
+
stageId: (0, prisma_id_1.toPrismaId)(value.stage_id),
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Update by filter
|
|
25
|
+
try {
|
|
26
|
+
await prisma.group.updateMany({
|
|
9
27
|
where: {
|
|
10
|
-
id: filter,
|
|
28
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
29
|
+
number: filter.number,
|
|
30
|
+
stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
|
|
11
31
|
},
|
|
12
32
|
data: {
|
|
13
33
|
number: value.number,
|
|
14
|
-
stageId: value.stage_id,
|
|
34
|
+
stageId: (0, prisma_id_1.toPrismaId)(value.stage_id),
|
|
15
35
|
},
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
|
|
36
|
+
});
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
19
41
|
}
|
|
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
42
|
}
|
|
36
|
-
exports.handleGroupUpdate = handleGroupUpdate;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-manager/dist/types';
|
|
2
1
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
|
|
2
|
+
import { Id } from 'brackets-model';
|
|
3
|
+
import type { MatchGameWithExtra } from '../../types';
|
|
4
|
+
export declare function handleMatchGameUpdate(prisma: PrismaClient, filter: Partial<MatchGameWithExtra> | Id, value: Partial<MatchGameWithExtra> | MatchGameWithExtra): Promise<boolean>;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleMatchGameUpdate =
|
|
3
|
+
exports.handleMatchGameUpdate = handleMatchGameUpdate;
|
|
4
4
|
const transformers_1 = require("../../transformers");
|
|
5
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
5
6
|
function getParticipantResultUpsertData(value) {
|
|
6
7
|
return {
|
|
7
8
|
upsert: {
|
|
8
9
|
update: {
|
|
9
|
-
participantId: value.id,
|
|
10
|
+
participantId: (0, prisma_id_1.toPrismaId)(value.id),
|
|
10
11
|
forfeit: value.forfeit,
|
|
11
12
|
position: value.position,
|
|
12
13
|
score: value.score,
|
|
@@ -15,7 +16,7 @@ function getParticipantResultUpsertData(value) {
|
|
|
15
16
|
: undefined,
|
|
16
17
|
},
|
|
17
18
|
create: {
|
|
18
|
-
participantId: value.id,
|
|
19
|
+
participantId: (0, prisma_id_1.toPrismaId)(value.id),
|
|
19
20
|
forfeit: value.forfeit,
|
|
20
21
|
position: value.position,
|
|
21
22
|
score: value.score,
|
|
@@ -26,10 +27,12 @@ function getParticipantResultUpsertData(value) {
|
|
|
26
27
|
},
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
|
-
function getUpdateData(value) {
|
|
30
|
+
function getUpdateData(value, previousExtra) {
|
|
31
|
+
const extrasInput = value;
|
|
32
|
+
const extra = (0, transformers_1.matchGameExtraFromInput)(extrasInput, previousExtra);
|
|
30
33
|
return {
|
|
31
|
-
stageId: value.stage_id,
|
|
32
|
-
matchId: value.parent_id,
|
|
34
|
+
stageId: (0, prisma_id_1.toPrismaId)(value.stage_id),
|
|
35
|
+
matchId: (0, prisma_id_1.toPrismaId)(value.parent_id),
|
|
33
36
|
number: value.number,
|
|
34
37
|
status: value.status
|
|
35
38
|
? transformers_1.MatchStatusTransformer.to(value.status)
|
|
@@ -40,39 +43,52 @@ function getUpdateData(value) {
|
|
|
40
43
|
opponent2Result: value.opponent2
|
|
41
44
|
? getParticipantResultUpsertData(value.opponent2)
|
|
42
45
|
: undefined,
|
|
46
|
+
extra: extra ?? undefined
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
|
-
function updateById(prisma, id, value) {
|
|
49
|
+
async function updateById(prisma, id, value, previousExtra) {
|
|
50
|
+
let extraSource = previousExtra ?? null;
|
|
51
|
+
if (previousExtra === undefined) {
|
|
52
|
+
const existing = await prisma.matchGame.findUnique({
|
|
53
|
+
where: { id: (0, prisma_id_1.toPrismaId)(id) },
|
|
54
|
+
select: { extra: true },
|
|
55
|
+
});
|
|
56
|
+
extraSource = existing?.extra ?? null;
|
|
57
|
+
}
|
|
46
58
|
return prisma.matchGame.update({
|
|
47
59
|
where: {
|
|
48
|
-
id,
|
|
60
|
+
id: (0, prisma_id_1.toPrismaId)(id),
|
|
49
61
|
},
|
|
50
|
-
data: getUpdateData(value),
|
|
62
|
+
data: getUpdateData(value, extraSource),
|
|
51
63
|
});
|
|
52
64
|
}
|
|
53
65
|
async function handleMatchGameUpdate(prisma, filter, value) {
|
|
54
|
-
if (
|
|
66
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
55
67
|
// Update by Id
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
68
|
+
try {
|
|
69
|
+
await updateById(prisma, filter, value);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const games = await prisma.matchGame.findMany({
|
|
78
|
+
where: {
|
|
79
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
80
|
+
number: filter.number,
|
|
81
|
+
stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
|
|
82
|
+
matchId: (0, prisma_id_1.toPrismaId)(filter.parent_id),
|
|
83
|
+
status: filter.status
|
|
84
|
+
? transformers_1.MatchStatusTransformer.to(filter.status)
|
|
85
|
+
: undefined,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
await Promise.all(games.map((game) => updateById(prisma, game.id, value, game.extra ?? null)));
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return false;
|
|
59
93
|
}
|
|
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(games.map((game) => updateById(prisma, game.id, value)));
|
|
74
|
-
})
|
|
75
|
-
.then(() => true)
|
|
76
|
-
.catch(() => false);
|
|
77
94
|
}
|
|
78
|
-
exports.handleMatchGameUpdate = handleMatchGameUpdate;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-manager/dist/types';
|
|
2
1
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
|
|
2
|
+
import { Id } from 'brackets-model';
|
|
3
|
+
import type { MatchWithExtra } from '../../types';
|
|
4
|
+
export declare function handleMatchUpdate(prisma: PrismaClient, filter: Partial<MatchWithExtra> | Id, value: Partial<MatchWithExtra> | MatchWithExtra): Promise<boolean>;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleMatchUpdate =
|
|
3
|
+
exports.handleMatchUpdate = handleMatchUpdate;
|
|
4
4
|
const transformers_1 = require("../../transformers");
|
|
5
|
+
const prisma_id_1 = require("../../prisma-id");
|
|
5
6
|
function getParticipantResultUpsertData(value) {
|
|
6
7
|
return {
|
|
7
8
|
upsert: {
|
|
8
9
|
update: {
|
|
9
|
-
participantId: value.id,
|
|
10
|
+
participantId: (0, prisma_id_1.toPrismaId)(value.id),
|
|
10
11
|
forfeit: value.forfeit,
|
|
11
12
|
position: value.position,
|
|
12
13
|
score: value.score,
|
|
@@ -15,7 +16,7 @@ function getParticipantResultUpsertData(value) {
|
|
|
15
16
|
: undefined,
|
|
16
17
|
},
|
|
17
18
|
create: {
|
|
18
|
-
participantId: value.id,
|
|
19
|
+
participantId: (0, prisma_id_1.toPrismaId)(value.id),
|
|
19
20
|
forfeit: value.forfeit,
|
|
20
21
|
position: value.position,
|
|
21
22
|
score: value.score,
|
|
@@ -26,11 +27,13 @@ function getParticipantResultUpsertData(value) {
|
|
|
26
27
|
},
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
|
-
function getUpdateData(value) {
|
|
30
|
+
function getUpdateData(value, previousExtra) {
|
|
31
|
+
const extrasInput = value;
|
|
32
|
+
const extra = (0, transformers_1.matchExtraFromInput)(extrasInput, previousExtra);
|
|
30
33
|
return {
|
|
31
|
-
stageId: value.stage_id,
|
|
32
|
-
groupId: value.group_id,
|
|
33
|
-
roundId: value.round_id,
|
|
34
|
+
stageId: (0, prisma_id_1.toPrismaId)(value.stage_id),
|
|
35
|
+
groupId: (0, prisma_id_1.toPrismaId)(value.group_id),
|
|
36
|
+
roundId: (0, prisma_id_1.toPrismaId)(value.round_id),
|
|
34
37
|
childCount: value.child_count,
|
|
35
38
|
number: value.number,
|
|
36
39
|
status: value.status
|
|
@@ -42,40 +45,53 @@ function getUpdateData(value) {
|
|
|
42
45
|
opponent2Result: value.opponent2
|
|
43
46
|
? getParticipantResultUpsertData(value.opponent2)
|
|
44
47
|
: undefined,
|
|
48
|
+
extra: extra ?? undefined,
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
|
-
function updateById(prisma, id, value) {
|
|
51
|
+
async function updateById(prisma, id, value, previousExtra) {
|
|
52
|
+
let extraSource = previousExtra ?? null;
|
|
53
|
+
if (previousExtra === undefined) {
|
|
54
|
+
const existing = await prisma.match.findUnique({
|
|
55
|
+
where: { id: (0, prisma_id_1.toPrismaId)(id) },
|
|
56
|
+
select: { extra: true },
|
|
57
|
+
});
|
|
58
|
+
extraSource = existing?.extra ?? null;
|
|
59
|
+
}
|
|
48
60
|
return prisma.match.update({
|
|
49
61
|
where: {
|
|
50
|
-
id,
|
|
62
|
+
id: (0, prisma_id_1.toPrismaId)(id),
|
|
51
63
|
},
|
|
52
|
-
data: getUpdateData(value),
|
|
64
|
+
data: getUpdateData(value, extraSource),
|
|
53
65
|
});
|
|
54
66
|
}
|
|
55
67
|
async function handleMatchUpdate(prisma, filter, value) {
|
|
56
|
-
if (
|
|
68
|
+
if ((0, prisma_id_1.isModelId)(filter)) {
|
|
57
69
|
// Update by Id
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
70
|
+
try {
|
|
71
|
+
await updateById(prisma, filter, value);
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const matches = await prisma.match.findMany({
|
|
80
|
+
where: {
|
|
81
|
+
id: (0, prisma_id_1.toPrismaId)(filter.id),
|
|
82
|
+
number: filter.number,
|
|
83
|
+
stageId: (0, prisma_id_1.toPrismaId)(filter.stage_id),
|
|
84
|
+
groupId: (0, prisma_id_1.toPrismaId)(filter.group_id),
|
|
85
|
+
roundId: (0, prisma_id_1.toPrismaId)(filter.round_id),
|
|
86
|
+
status: filter.status
|
|
87
|
+
? transformers_1.MatchStatusTransformer.to(filter.status)
|
|
88
|
+
: undefined,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
await Promise.all(matches.map((match) => updateById(prisma, match.id, value, match.extra ?? null)));
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
61
96
|
}
|
|
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(matches.map((match) => updateById(prisma, match.id, value)));
|
|
77
|
-
})
|
|
78
|
-
.then(() => true)
|
|
79
|
-
.catch(() => false);
|
|
80
97
|
}
|
|
81
|
-
exports.handleMatchUpdate = handleMatchUpdate;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from 'brackets-
|
|
1
|
+
import { DataTypes, Id } from 'brackets-model';
|
|
2
2
|
import { PrismaClient } from '@prisma/client';
|
|
3
|
-
export declare function handleParticipantUpdate(prisma: PrismaClient, filter: Partial<DataTypes['participant']> |
|
|
3
|
+
export declare function handleParticipantUpdate(prisma: PrismaClient, filter: Partial<DataTypes['participant']> | Id, value: Partial<DataTypes['participant']> | DataTypes['participant']): Promise<boolean>;
|