brackets-drizzle-db 2.1.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 (139) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +136 -0
  3. package/dist/db/index.d.ts +7 -0
  4. package/dist/db/index.js +48 -0
  5. package/dist/db/schema/enums.d.ts +12 -0
  6. package/dist/db/schema/enums.js +41 -0
  7. package/dist/db/schema/group.d.ts +65 -0
  8. package/dist/db/schema/group.js +26 -0
  9. package/dist/db/schema/index.d.ts +8 -0
  10. package/dist/db/schema/index.js +26 -0
  11. package/dist/db/schema/match-game.d.ts +267 -0
  12. package/dist/db/schema/match-game.js +81 -0
  13. package/dist/db/schema/match.d.ts +303 -0
  14. package/dist/db/schema/match.js +94 -0
  15. package/dist/db/schema/participant.d.ts +82 -0
  16. package/dist/db/schema/participant.js +27 -0
  17. package/dist/db/schema/round.d.ts +82 -0
  18. package/dist/db/schema/round.js +33 -0
  19. package/dist/db/schema/stage.d.ts +344 -0
  20. package/dist/db/schema/stage.js +72 -0
  21. package/dist/db/schema/tournament.d.ts +115 -0
  22. package/dist/db/schema/tournament.js +25 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.js +19 -0
  25. package/dist/storage-handlers/delete-handlers/group.d.ts +3 -0
  26. package/dist/storage-handlers/delete-handlers/group.js +27 -0
  27. package/dist/storage-handlers/delete-handlers/index.d.ts +7 -0
  28. package/dist/storage-handlers/delete-handlers/index.js +23 -0
  29. package/dist/storage-handlers/delete-handlers/match-game.d.ts +3 -0
  30. package/dist/storage-handlers/delete-handlers/match-game.js +43 -0
  31. package/dist/storage-handlers/delete-handlers/match.d.ts +3 -0
  32. package/dist/storage-handlers/delete-handlers/match.js +45 -0
  33. package/dist/storage-handlers/delete-handlers/participant.d.ts +3 -0
  34. package/dist/storage-handlers/delete-handlers/participant.js +27 -0
  35. package/dist/storage-handlers/delete-handlers/round.d.ts +3 -0
  36. package/dist/storage-handlers/delete-handlers/round.js +29 -0
  37. package/dist/storage-handlers/delete-handlers/stage.d.ts +3 -0
  38. package/dist/storage-handlers/delete-handlers/stage.js +48 -0
  39. package/dist/storage-handlers/delete-handlers/tournament.d.ts +3 -0
  40. package/dist/storage-handlers/delete-handlers/tournament.js +25 -0
  41. package/dist/storage-handlers/delete.d.ts +3 -0
  42. package/dist/storage-handlers/delete.js +24 -0
  43. package/dist/storage-handlers/index.d.ts +4 -0
  44. package/dist/storage-handlers/index.js +20 -0
  45. package/dist/storage-handlers/insert-handlers/group.d.ts +5 -0
  46. package/dist/storage-handlers/insert-handlers/group.js +21 -0
  47. package/dist/storage-handlers/insert-handlers/index.d.ts +7 -0
  48. package/dist/storage-handlers/insert-handlers/index.js +23 -0
  49. package/dist/storage-handlers/insert-handlers/match-game.d.ts +5 -0
  50. package/dist/storage-handlers/insert-handlers/match-game.js +66 -0
  51. package/dist/storage-handlers/insert-handlers/match.d.ts +5 -0
  52. package/dist/storage-handlers/insert-handlers/match.js +66 -0
  53. package/dist/storage-handlers/insert-handlers/participant.d.ts +5 -0
  54. package/dist/storage-handlers/insert-handlers/participant.js +25 -0
  55. package/dist/storage-handlers/insert-handlers/round.d.ts +5 -0
  56. package/dist/storage-handlers/insert-handlers/round.js +21 -0
  57. package/dist/storage-handlers/insert-handlers/stage.d.ts +5 -0
  58. package/dist/storage-handlers/insert-handlers/stage.js +44 -0
  59. package/dist/storage-handlers/insert-handlers/tournament.d.ts +5 -0
  60. package/dist/storage-handlers/insert-handlers/tournament.js +25 -0
  61. package/dist/storage-handlers/insert.d.ts +3 -0
  62. package/dist/storage-handlers/insert.js +25 -0
  63. package/dist/storage-handlers/select-handlers/group.d.ts +3 -0
  64. package/dist/storage-handlers/select-handlers/group.js +44 -0
  65. package/dist/storage-handlers/select-handlers/index.d.ts +7 -0
  66. package/dist/storage-handlers/select-handlers/index.js +23 -0
  67. package/dist/storage-handlers/select-handlers/match-game.d.ts +3 -0
  68. package/dist/storage-handlers/select-handlers/match-game.js +80 -0
  69. package/dist/storage-handlers/select-handlers/match.d.ts +3 -0
  70. package/dist/storage-handlers/select-handlers/match.js +86 -0
  71. package/dist/storage-handlers/select-handlers/participant.d.ts +3 -0
  72. package/dist/storage-handlers/select-handlers/participant.js +40 -0
  73. package/dist/storage-handlers/select-handlers/round.d.ts +3 -0
  74. package/dist/storage-handlers/select-handlers/round.js +46 -0
  75. package/dist/storage-handlers/select-handlers/stage.d.ts +3 -0
  76. package/dist/storage-handlers/select-handlers/stage.js +60 -0
  77. package/dist/storage-handlers/select-handlers/tournament.d.ts +3 -0
  78. package/dist/storage-handlers/select-handlers/tournament.js +38 -0
  79. package/dist/storage-handlers/select.d.ts +3 -0
  80. package/dist/storage-handlers/select.js +24 -0
  81. package/dist/storage-handlers/update-handlers/group.d.ts +3 -0
  82. package/dist/storage-handlers/update-handlers/group.js +33 -0
  83. package/dist/storage-handlers/update-handlers/index.d.ts +7 -0
  84. package/dist/storage-handlers/update-handlers/index.js +23 -0
  85. package/dist/storage-handlers/update-handlers/match-game.d.ts +3 -0
  86. package/dist/storage-handlers/update-handlers/match-game.js +99 -0
  87. package/dist/storage-handlers/update-handlers/match.d.ts +3 -0
  88. package/dist/storage-handlers/update-handlers/match.js +105 -0
  89. package/dist/storage-handlers/update-handlers/participant.d.ts +3 -0
  90. package/dist/storage-handlers/update-handlers/participant.js +40 -0
  91. package/dist/storage-handlers/update-handlers/round.d.ts +3 -0
  92. package/dist/storage-handlers/update-handlers/round.js +37 -0
  93. package/dist/storage-handlers/update-handlers/stage.d.ts +3 -0
  94. package/dist/storage-handlers/update-handlers/stage.js +61 -0
  95. package/dist/storage-handlers/update-handlers/tournament.d.ts +3 -0
  96. package/dist/storage-handlers/update-handlers/tournament.js +40 -0
  97. package/dist/storage-handlers/update.d.ts +3 -0
  98. package/dist/storage-handlers/update.js +24 -0
  99. package/dist/storage.d.ts +18 -0
  100. package/dist/storage.js +25 -0
  101. package/dist/transformers/enum/grand-final-type.d.ts +6 -0
  102. package/dist/transformers/enum/grand-final-type.js +25 -0
  103. package/dist/transformers/enum/index.d.ts +6 -0
  104. package/dist/transformers/enum/index.js +22 -0
  105. package/dist/transformers/enum/match-result.d.ts +6 -0
  106. package/dist/transformers/enum/match-result.js +25 -0
  107. package/dist/transformers/enum/match-status.d.ts +6 -0
  108. package/dist/transformers/enum/match-status.js +38 -0
  109. package/dist/transformers/enum/round-robin-mode.d.ts +6 -0
  110. package/dist/transformers/enum/round-robin-mode.js +21 -0
  111. package/dist/transformers/enum/seed-ordering.d.ts +6 -0
  112. package/dist/transformers/enum/seed-ordering.js +49 -0
  113. package/dist/transformers/enum/stage-type.d.ts +6 -0
  114. package/dist/transformers/enum/stage-type.js +25 -0
  115. package/dist/transformers/index.d.ts +2 -0
  116. package/dist/transformers/index.js +18 -0
  117. package/dist/transformers/model/group.d.ts +15 -0
  118. package/dist/transformers/model/group.js +18 -0
  119. package/dist/transformers/model/index.d.ts +9 -0
  120. package/dist/transformers/model/index.js +25 -0
  121. package/dist/transformers/model/match-game.d.ts +21 -0
  122. package/dist/transformers/model/match-game.js +90 -0
  123. package/dist/transformers/model/match.d.ts +23 -0
  124. package/dist/transformers/model/match.js +96 -0
  125. package/dist/transformers/model/participant-result.d.ts +21 -0
  126. package/dist/transformers/model/participant-result.js +26 -0
  127. package/dist/transformers/model/participant.d.ts +19 -0
  128. package/dist/transformers/model/participant.js +47 -0
  129. package/dist/transformers/model/round.d.ts +17 -0
  130. package/dist/transformers/model/round.js +20 -0
  131. package/dist/transformers/model/stage-settings.d.ts +18 -0
  132. package/dist/transformers/model/stage-settings.js +46 -0
  133. package/dist/transformers/model/stage.d.ts +22 -0
  134. package/dist/transformers/model/stage.js +26 -0
  135. package/dist/transformers/model/tournament.d.ts +30 -0
  136. package/dist/transformers/model/tournament.js +39 -0
  137. package/dist/types.d.ts +15 -0
  138. package/dist/types.js +2 -0
  139. package/package.json +45 -0
@@ -0,0 +1,22 @@
1
+ import { Stage, StageType } from 'brackets-model';
2
+ import { OmitId } from 'brackets-manager';
3
+ import type { Stage as DrizzleStage, StageSettings as DrizzleStageSettings } from '../../db/schema';
4
+ type DrizzleStageWithSettings = DrizzleStage & {
5
+ settings: DrizzleStageSettings | null;
6
+ };
7
+ type StageInput = {
8
+ name: string;
9
+ tournament_id: number | string;
10
+ number: number;
11
+ type: StageType;
12
+ };
13
+ export declare const StageTransformer: {
14
+ to(input: Omit<OmitId<Stage>, "settings"> | StageInput): {
15
+ name: string;
16
+ tournamentId: string;
17
+ number: number;
18
+ type: "ROUND_ROBIN" | "SINGLE_ELIMINATION" | "DOUBLE_ELIMINATION";
19
+ };
20
+ from(output: DrizzleStageWithSettings): Stage;
21
+ };
22
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StageTransformer = void 0;
4
+ const __1 = require("..");
5
+ exports.StageTransformer = {
6
+ to(input) {
7
+ return {
8
+ name: input.name,
9
+ tournamentId: String(input.tournament_id),
10
+ number: input.number,
11
+ type: __1.StageTypeTransformer.to(input.type),
12
+ };
13
+ },
14
+ from(output) {
15
+ return {
16
+ id: output.id,
17
+ name: output.name,
18
+ tournament_id: output.tournamentId,
19
+ number: output.number,
20
+ type: __1.StageTypeTransformer.from(output.type),
21
+ settings: output.settings
22
+ ? __1.StageSettingsTransformer.from(output.settings)
23
+ : {},
24
+ };
25
+ },
26
+ };
@@ -0,0 +1,30 @@
1
+ import type { Tournament as DrizzleTournament } from '../../db/schema';
2
+ import type { JsonValue } from '../../types';
3
+ export type Tournament = {
4
+ id: string;
5
+ name: string;
6
+ description: string | null;
7
+ start_date: Date | null;
8
+ end_date: Date | null;
9
+ extra?: Record<string, unknown>;
10
+ };
11
+ type TournamentInput = {
12
+ name: string;
13
+ description?: string | null;
14
+ start_date?: Date | string | null;
15
+ end_date?: Date | string | null;
16
+ extra?: Record<string, unknown>;
17
+ };
18
+ export declare const TournamentTransformer: {
19
+ to(input: TournamentInput): {
20
+ name: string;
21
+ description: string | null;
22
+ startDate: Date | null;
23
+ endDate: Date | null;
24
+ extra: string | number | boolean | JsonValue[] | {
25
+ [key: string]: JsonValue;
26
+ } | null;
27
+ };
28
+ from(output: DrizzleTournament): Tournament;
29
+ };
30
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TournamentTransformer = void 0;
4
+ function parseDate(value) {
5
+ if (value === null || value === undefined)
6
+ return null;
7
+ if (value instanceof Date)
8
+ return value;
9
+ return new Date(value);
10
+ }
11
+ function normalizeExtra(extra) {
12
+ if (typeof extra === 'object' &&
13
+ extra !== null &&
14
+ !Array.isArray(extra)) {
15
+ return extra;
16
+ }
17
+ return undefined;
18
+ }
19
+ exports.TournamentTransformer = {
20
+ to(input) {
21
+ return {
22
+ name: input.name,
23
+ description: input.description ?? null,
24
+ startDate: parseDate(input.start_date),
25
+ endDate: parseDate(input.end_date),
26
+ extra: input.extra ?? null,
27
+ };
28
+ },
29
+ from(output) {
30
+ return {
31
+ id: output.id,
32
+ name: output.name,
33
+ description: output.description,
34
+ start_date: output.startDate,
35
+ end_date: output.endDate,
36
+ extra: normalizeExtra(output.extra),
37
+ };
38
+ },
39
+ };
@@ -0,0 +1,15 @@
1
+ import { DataTypes } from 'brackets-manager/dist/types';
2
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
3
+ [key: string]: JsonValue;
4
+ };
5
+ export type JsonObject = {
6
+ [key: string]: JsonValue;
7
+ };
8
+ export type MatchWithExtra = DataTypes['match'] & {
9
+ extra?: JsonValue | null;
10
+ };
11
+ export type MatchExtrasInput = Partial<MatchWithExtra> & Record<string, unknown>;
12
+ export type MatchGameWithExtra = DataTypes['match_game'] & {
13
+ extra?: JsonValue | null;
14
+ };
15
+ export type MatchGameExtrasInput = Partial<MatchGameWithExtra> & Record<string, unknown>;
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "brackets-drizzle-db",
3
+ "version": "2.1.0",
4
+ "description": "A SQL database with Drizzle ORM for brackets-manager.js",
5
+ "author": "Tandashi",
6
+ "license": "ISC",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/Drarig29/brackets-storage.git"
10
+ },
11
+ "bugs": {
12
+ "url": "https://github.com/Drarig29/brackets-storage/issues"
13
+ },
14
+ "homepage": "https://github.com/Drarig29/brackets-storage#readme",
15
+ "main": "dist/index.js",
16
+ "types": "dist/index.d.ts",
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "keywords": [
21
+ "types",
22
+ "model",
23
+ "brackets",
24
+ "tournament",
25
+ "manager",
26
+ "storage",
27
+ "drizzle",
28
+ "sql"
29
+ ],
30
+ "dependencies": {
31
+ "brackets-model": "^1.6.0",
32
+ "drizzle-orm": "^0.38.3",
33
+ "postgres": "^3.4.5",
34
+ "typescript": "^5.1.3"
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^20.3.0"
38
+ },
39
+ "peerDependencies": {
40
+ "brackets-manager": "1.x"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc"
44
+ }
45
+ }