151 Commits

Author SHA1 Message Date
yohlo
15ed78a9c5 name blurbs, skeleton and link 2025-10-16 15:39:46 -05:00
4b66a4bd13 found a little typo? 2025-10-16 13:00:42 -04:00
a04a78fbf8 Merge branch 'main' into caro/badges-stats 2025-10-16 11:51:12 -05:00
7fa3b06673 last I hope 2025-10-16 12:47:24 -04:00
694c58e449 I need to have a word with my autoformatter 2025-10-16 12:46:10 -04:00
7afe40775e goddammit 2025-10-16 12:44:09 -04:00
4f88fdd43a reverting random styling things? 2025-10-16 12:42:26 -04:00
fa98634402 working but sheet styling is ugly 2025-10-16 12:32:26 -04:00
yohlo
470b4ef99c regionals 2025-10-16 09:12:11 -05:00
yohlo
612f1f28bf skeleton for h2h 2025-10-13 14:18:54 -05:00
yohlo
168ef1b05d restore suspense boundary in stats 2025-10-13 13:00:29 -05:00
yohlo
939d1cee90 remove steps 2025-10-11 15:37:37 -05:00
yohlo
b59c7cd7b6 fix tabs on stats table 2025-10-11 15:34:12 -05:00
yohlo
2ed5ab6026 fix stats table 2025-10-11 15:23:33 -05:00
yohlo
d3379e54a4 player h2h 2025-10-11 14:47:03 -05:00
yohlo
43972b6a06 match h2h 2025-10-11 13:40:12 -05:00
yohlo
14c2eb2c02 try something different for stats scroll 2025-10-11 00:45:05 -05:00
yohlo
46943b6971 try something different for stats scroll 2025-10-11 00:43:28 -05:00
yohlo
f74d2daf9c try something different for stats scroll 2025-10-11 00:40:18 -05:00
yohlo
26c6343a89 no devtools 2025-10-11 00:34:58 -05:00
yohlo
127709bb6c more imporvmentes 2025-10-11 00:33:27 -05:00
yohlo
6a7d119d3e more stats 2025-10-11 00:29:29 -05:00
yohlo
4b534c86cd fixes, improvmeents 2025-10-10 23:44:27 -05:00
yohlo
f96f92c7c9 last activity for players 2025-10-10 16:03:51 -05:00
yohlo
97427718e8 activity for server result errors 2025-10-08 09:20:26 -05:00
yohlo
15bbca8b90 fix stats breaking new player profiles 2025-10-08 09:03:29 -05:00
yohlo
49bbd1611c quick fixes 2025-10-06 13:33:25 -05:00
yohlo
45db283bc5 open graph 2025-10-06 13:10:43 -05:00
yohlo
b673f9e072 open graph 2025-10-06 13:02:52 -05:00
yohlo
34d896947d manifest favicon 2025-10-06 12:53:32 -05:00
yohlo
42bd2542f3 quick fix noop context 2025-10-06 12:34:58 -05:00
yohlo
b2df869111 fix 2025-10-06 12:22:21 -05:00
yohlo
375e0bbfc8 improovments, more badge images 2025-10-06 11:53:39 -05:00
yohlo
147dc4e744 improvements 2025-10-06 09:03:50 -05:00
yohlo
b458872ac1 images in badge popover 2025-10-06 02:23:25 -05:00
yohlo
afd0b692fa Badge images! 2025-10-06 02:13:51 -05:00
yohlo
af0ec85811 remove file proxy logs 2025-10-04 22:42:36 -05:00
yohlo
d18d148d32 fix tournament card size 2025-10-04 22:42:00 -05:00
yohlo
95a50ee7a7 glitch effect avatar 2025-10-04 18:41:46 -05:00
yohlo
1ef786ea79 slide panel button margins 2025-10-03 02:51:27 -05:00
yohlo
47962a8681 fix slide panel 2025-10-03 02:49:06 -05:00
yohlo
2e6d3366e4 fix slide panel 2025-10-03 02:47:52 -05:00
yohlo
fafe5ca3ec improvements 2025-10-03 02:34:45 -05:00
yohlo
b52c79772f activities 2025-10-02 21:58:20 -05:00
yohlo
8579ec36ca bug fixes, new fonts, etc 2025-10-02 14:49:29 -05:00
yohlo
2dfb7c63d3 smoother team form close 2025-10-01 22:29:40 -05:00
yohlo
03b2b54c1f fix logo not updating 2025-10-01 22:27:32 -05:00
yohlo
0910f11228 pb refresh, profile refresh update 2025-10-01 21:34:59 -05:00
yohlo
a376f98fe7 badge redesign again 2025-10-01 21:28:27 -05:00
yohlo
1f4f66f8c5 badge redesign 2025-10-01 17:54:40 -05:00
yohlo
5729dab35f use popover over tooltip for badges 2025-10-01 14:14:03 -05:00
yohlo
c05fd5dc6d pb 2025-10-01 14:02:13 -05:00
yohlo
b9a42b4743 pb 2025-10-01 13:58:51 -05:00
yohlo
74e28cc2ac pb 2025-10-01 13:55:53 -05:00
yohlo
adf304b1e0 pb 2025-10-01 13:46:50 -05:00
yohlo
d18cdce15f pb 2025-10-01 13:46:41 -05:00
yohlo
aa87a9da5b pb 2025-10-01 13:45:33 -05:00
yohlo
6224404aa9 award badges 2025-10-01 13:42:09 -05:00
yohlo
654041b6b6 badges 2025-10-01 13:26:42 -05:00
yohlo
ce29c41bf3 remove bad badge collections 2025-09-30 18:10:51 -05:00
yohlo
63ea515a31 activity logging middleware 2025-09-30 10:47:02 -05:00
yohlo
8b1bbe213d test sse fixes 2025-09-29 21:35:38 -05:00
yohlo
ed538b7373 test sse fixes 2025-09-29 21:35:12 -05:00
yohlo
03e3bbcbc0 test sse fixes 2025-09-29 21:31:00 -05:00
yohlo
baf75eddba test sse fixes 2025-09-29 21:28:22 -05:00
yohlo
5094933302 update admin 2025-09-29 15:49:18 -05:00
yohlo
9564b46d45 quick fix 2025-09-29 15:42:00 -05:00
yohlo
ece5094f13 quick fix 2025-09-29 15:40:41 -05:00
yohlo
cfe1ee7171 passwordless fix 2025-09-29 15:14:41 -05:00
yohlo
3a41609a91 bug fixes, layout fixes 2025-09-29 15:13:41 -05:00
yohlo
732afaf623 changes to twilio 2025-09-29 12:51:33 -05:00
yohlo
48aeaabeea improvements 2025-09-29 11:43:48 -05:00
yohlo
a4b9fe9065 updated bracket 2025-09-29 10:50:18 -05:00
yohlo
31e50af593 team logo compression, play around with style 2025-09-29 10:20:54 -05:00
yohlo
39053cadaa avatr contain 2025-09-26 12:55:04 -05:00
yohlo
ea6656aa33 avatar modal 2025-09-25 21:24:57 -05:00
yohlo
92c4987372 bun 2025-09-25 16:42:55 -05:00
yohlo
b3ebf46afa new typeahead 2025-09-25 16:11:54 -05:00
yohlo
c0ef535001 bug fixes 2025-09-25 15:49:09 -05:00
yohlo
81329e4354 fix refresh issue 2025-09-24 12:20:36 -05:00
yohlo
36f3bb77d4 updates 2025-09-24 11:02:56 -05:00
yohlo
6760ea46f9 update query integration 2025-09-24 08:04:09 -05:00
yohlo
e4164cbc71 attempted upgrade 2025-09-24 00:13:41 -05:00
yohlo
94ea44c66e drawer fixes 2025-09-23 15:04:29 -05:00
yohlo
7441d1ac58 skeletons, tournament stats, polish, bug fixes 2025-09-23 14:48:04 -05:00
yohlo
7ff26229d9 dark mode default, basic tournament stats/podium 2025-09-22 19:33:58 -05:00
yohlo
b93ce38d48 play walkout songs 2025-09-22 17:57:29 -05:00
yohlo
ae934e77f4 manage team data 2025-09-22 17:24:45 -05:00
yohlo
cae5fa1c71 skeletons 2025-09-22 16:45:41 -05:00
yohlo
fc3f626313 minor cleanup 2025-09-21 11:38:10 -05:00
yohlo
1027b49258 free agents 2025-09-20 20:50:44 -05:00
yohlo
5e20b94a1f reactions SSE! 2025-09-19 20:53:05 -05:00
yohlo
f99d6efaf9 reactions, match sse, etc 2025-09-19 14:08:36 -05:00
yohlo
602e6e3473 rules, bracket page 2025-09-18 18:17:56 -05:00
yohlo
285a33c488 enroll team polish? 2025-09-17 20:20:52 -05:00
yohlo
cac42c9b29 reactions 2025-09-17 10:30:10 -05:00
yohlo
498010e3e2 various improvements 2025-09-17 09:02:20 -05:00
yohlo
c170e1e1fe working team update/create (still need enroll) 2025-09-16 13:24:39 -05:00
yohlo
cde74a04d5 work on team enrollment 2025-09-16 09:24:21 -05:00
yohlo
9a105b30c6 stats reorg, upcoming refinement 2025-09-14 23:10:05 -05:00
yohlo
8efc0a7a4b match list 2025-09-14 21:59:15 -05:00
yohlo
d11e50d4ef profile and stats improvements 2025-09-13 23:05:35 -05:00
yohlo
4bc25fb0bc stats table 2025-09-13 15:21:23 -05:00
yohlo
3be2284da9 wip tournament list 2025-09-13 14:59:02 -05:00
yohlo
a35c688a64 wip upcoming tournament page 2025-09-13 14:49:39 -05:00
yohlo
617a94262b redesign stats 2025-09-13 11:36:30 -05:00
yohlo
3fe92be980 player stats in profile 2025-09-13 11:21:05 -05:00
yohlo
7d3c0a3fa4 refresh test 2025-09-13 00:50:41 -05:00
yohlo
a926dcde07 better bracket, player stats in pb 2025-09-12 17:14:33 -05:00
yohlo
e20582897f more spotify, tts 2025-09-12 14:27:59 -05:00
yohlo
cf09014d50 spotify state resume/capture 2025-09-12 11:34:21 -05:00
yohlo
0169468114 spotify controls 2025-09-12 11:08:21 -05:00
yohlo
9d92a8a510 working runner w/o spotify 2025-09-12 10:17:51 -05:00
yohlo
51e3d5141c reset match logic 2025-09-11 16:13:45 -05:00
yohlo
97c8c9e72b i think working bracket runner 2025-09-11 16:04:46 -05:00
yohlo
3ffa6b03c7 i think working bracket runner 2025-09-11 15:59:27 -05:00
yohlo
8dfff139e1 match status 2025-09-11 14:04:05 -05:00
yohlo
22be6682dd some changes 2025-09-11 13:35:33 -05:00
yohlo
c74da09bde upcoming tournament page, minor changes 2025-09-09 23:20:19 -05:00
yohlo
c5d69f1a19 seed tournament done 2025-09-07 11:55:41 -05:00
yohlo
2396464a19 better brackets, info types 2025-09-07 00:52:28 -05:00
yohlo
cb83ea06fa preview bracket 2025-09-06 18:38:05 -05:00
d2e6849bca more bracket work 2025-09-04 11:37:33 -05:00
yohlo
2f6950ee9e restarting brackets 2025-09-03 21:57:47 -05:00
1a21171ae8 updated bracket type 2025-09-03 15:48:34 -05:00
0439e4c8b9 fix login bug 2025-09-03 14:30:19 -05:00
07388e30da refresh progress 2025-08-31 10:23:18 -05:00
b7d14be590 add exclude option to navlink active indicator 2025-08-31 10:02:17 -05:00
d2e4f0ca3f init matches, tournament runner 2025-08-30 23:58:50 -05:00
c37e8e8eb7 debug for st sessions 2025-08-30 15:41:07 -05:00
yohlo
f0f5bb786e restore link to tsr issue 2025-08-30 15:29:43 -05:00
052f53444e significant refactor 2025-08-30 01:42:23 -05:00
yohlo
7136f646a3 wip query/mutation hooks 2025-08-29 00:29:59 -05:00
yohlo
70c1588e42 admin route config 2025-08-28 23:08:21 -05:00
yohlo
381ddc8f34 several 2025-08-28 18:09:09 -05:00
yohlo
8eea99b125 types 2025-08-27 11:09:15 -05:00
yohlo
b7de2e7af3 more optimizations 2025-08-27 11:04:04 -05:00
yohlo
e5f3bbe095 optimize swipeable tabs 2025-08-27 09:58:55 -05:00
yohlo
1eb621dd34 several changes 2025-08-27 09:29:42 -05:00
yohlo
75479be334 router config changes 2025-08-26 22:47:25 -05:00
yohlo
fcdb33a4b6 admin progress 2025-08-26 21:50:56 -05:00
yohlo
7226fb33f4 refactor swipeable tabs 2025-08-25 23:50:36 -05:00
yohlo
f5e4e5b214 umami 2025-08-25 23:39:40 -05:00
yohlo
7b0153e04f umami 2025-08-25 23:32:23 -05:00
yohlo
38fb060b78 better admin page/list link 2025-08-25 22:49:19 -05:00
yohlo
555d79b6db update nav links 2025-08-25 22:38:08 -05:00
yohlo
c9df4947bd swipeable tabs use url 2025-08-25 22:22:33 -05:00
yohlo
44417d063b basic team profile 2025-08-25 22:08:43 -05:00
yohlo
d845254c3d fix key error in skeleton loaders 2025-08-25 19:38:21 -05:00
yohlo
4faa853c4c fix hydration warning 2025-08-25 19:36:47 -05:00
yohlo
ce63c02d8e fix appshell height 2025-08-25 19:33:47 -05:00
367 changed files with 32233 additions and 3316 deletions

View File

@@ -1,6 +0,0 @@
-- Note: It's highly recommended to use more secure passwords
-- create db/user for application data/drizzle orm
CREATE USER app_svc WITH PASSWORD 'password';
CREATE DATABASE app_db;
GRANT ALL PRIVILEGES ON DATABASE app_db TO app_svc;

3
.gitignore vendored
View File

@@ -19,4 +19,5 @@ yarn.lock
/playwright/.cache/ /playwright/.cache/
/scripts/ /scripts/
/pb_data/ /pb_data/
/.tanstack/ /.tanstack/
/dist/

16
.nitro/types/nitro-config.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
// Generated by nitro
// App Config
import type { Defu } from 'defu'
type UserAppConfig = Defu<{}, []>
declare module "nitropack/types" {
interface AppConfig extends UserAppConfig {}
interface NitroRuntimeConfig {
}
}
export {}

1
.nitro/types/nitro-imports.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
export {}

8
.nitro/types/nitro-routes.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
// Generated by nitro
import type { Serialize, Simplify } from "nitropack/types";
declare module "nitropack/types" {
type Awaited<T> = T extends PromiseLike<infer U> ? Awaited<U> : T
interface InternalApi {
}
}
export {}

3
.nitro/types/nitro.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
/// <reference path="./nitro-routes.d.ts" />
/// <reference path="./nitro-config.d.ts" />
/// <reference path="./nitro-imports.d.ts" />

BIN
Teams-2.xlsx Normal file

Binary file not shown.

317
brackets/10.json Normal file
View File

@@ -0,0 +1,317 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
}
],
[
{
"lid": 8,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 5,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 6,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 18,
"round": 2,
"order": 11,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 2,
"order": 12,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 23,
"round": 3,
"order": 16,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 25,
"round": 4,
"order": 18,
"bye": false,
"home_from_lid": 23,
"home_from_loser": false,
"away_from_lid": 24,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 5,
"order": 19,
"bye": false,
"home_from_lid": 25,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 20,
"round": 2,
"order": 13,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 16,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 2,
"order": 14,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 22,
"round": 3,
"order": 15,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 4,
"order": 17,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 22,
"away_from_loser": false,
"reset": false
}
]
]
}

323
brackets/11.json Normal file
View File

@@ -0,0 +1,323 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 7,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 5,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 7,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 18,
"round": 2,
"order": 13,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 2,
"order": 14,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 23,
"round": 3,
"order": 16,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 25,
"round": 4,
"order": 18,
"bye": false,
"home_from_lid": 23,
"home_from_loser": false,
"away_from_lid": 24,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 5,
"order": 19,
"bye": false,
"home_from_lid": 25,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": 10,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 15,
"round": 0,
"order": 9,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": 14,
"home_from_loser": false,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 20,
"round": 2,
"order": 13,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 16,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 2,
"order": 14,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 22,
"round": 3,
"order": 15,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 4,
"order": 17,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 22,
"away_from_loser": false,
"reset": false
}
]
]
}

375
brackets/12.json Normal file
View File

@@ -0,0 +1,375 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 3,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 7,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 28,
"round": 2,
"order": 17,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 29,
"round": 2,
"order": 18,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 34,
"round": 3,
"order": 23,
"bye": false,
"home_from_lid": 28,
"home_from_loser": false,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 37,
"round": 4,
"order": 26,
"bye": false,
"home_from_lid": 34,
"home_from_loser": false,
"away_from_lid": 36,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 38,
"round": 5,
"order": 27,
"bye": false,
"home_from_lid": 37,
"home_from_loser": false,
"away_from_lid": 37,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 20,
"round": 0,
"order": 9,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 21,
"round": 0,
"order": 10,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 22,
"round": 0,
"order": 11,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 23,
"round": 0,
"order": 12,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 24,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 25,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 26,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 27,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 30,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 24,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
},
{
"lid": 31,
"round": 2,
"order": 20,
"bye": false,
"home_from_lid": 26,
"home_from_loser": false,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 32,
"round": 3,
"order": 21,
"bye": false,
"home_from_lid": 28,
"home_from_loser": true,
"away_from_lid": 30,
"away_from_loser": false,
"reset": false
},
{
"lid": 33,
"round": 3,
"order": 22,
"bye": false,
"home_from_lid": 29,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 35,
"round": 4,
"order": 24,
"bye": false,
"home_from_lid": 32,
"home_from_loser": false,
"away_from_lid": 33,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 36,
"round": 5,
"order": 25,
"bye": false,
"home_from_lid": 34,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
}
]
]
}

401
brackets/13.json Normal file
View File

@@ -0,0 +1,401 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 7,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 2,
"order": 16,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 25,
"round": 2,
"order": 17,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 30,
"round": 3,
"order": 22,
"bye": false,
"home_from_lid": 24,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 33,
"round": 4,
"order": 25,
"bye": false,
"home_from_lid": 30,
"home_from_loser": false,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 34,
"round": 5,
"order": 26,
"bye": false,
"home_from_lid": 33,
"home_from_loser": false,
"away_from_lid": 33,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 11,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": 11,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 16,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 17,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 5,
"home_from_loser": true
},
{
"lid": 18,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
},
{
"lid": 19,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 7,
"home_from_loser": true
}
],
[
{
"lid": 20,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 26,
"round": 2,
"order": 18,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 27,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 28,
"round": 3,
"order": 20,
"bye": false,
"home_from_lid": 24,
"home_from_loser": true,
"away_from_lid": 26,
"away_from_loser": false,
"reset": false
},
{
"lid": 29,
"round": 3,
"order": 21,
"bye": false,
"home_from_lid": 25,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 31,
"round": 4,
"order": 23,
"bye": false,
"home_from_lid": 28,
"home_from_loser": false,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 32,
"round": 5,
"order": 24,
"bye": false,
"home_from_lid": 30,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
]
]
}

407
brackets/14.json Normal file
View File

@@ -0,0 +1,407 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 14,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 7,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": 6,
"home_from_loser": false,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 25,
"round": 2,
"order": 20,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 30,
"round": 3,
"order": 25,
"bye": false,
"home_from_lid": 24,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 33,
"round": 4,
"order": 28,
"bye": false,
"home_from_lid": 30,
"home_from_loser": false,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 34,
"round": 5,
"order": 29,
"bye": false,
"home_from_lid": 33,
"home_from_loser": false,
"away_from_lid": 33,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 11,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": 13,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 16,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 17,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 5,
"home_from_loser": true
},
{
"lid": 18,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
},
{
"lid": 19,
"round": 0,
"order": 14,
"bye": false,
"home_from_lid": 6,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 20,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 2,
"order": 21,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 27,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 28,
"round": 3,
"order": 23,
"bye": false,
"home_from_lid": 24,
"home_from_loser": true,
"away_from_lid": 26,
"away_from_loser": false,
"reset": false
},
{
"lid": 29,
"round": 3,
"order": 24,
"bye": false,
"home_from_lid": 25,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 31,
"round": 4,
"order": 26,
"bye": false,
"home_from_lid": 28,
"home_from_loser": false,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 32,
"round": 5,
"order": 27,
"bye": false,
"home_from_lid": 30,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
]
]
}

413
brackets/15.json Normal file
View File

@@ -0,0 +1,413 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_seed": 15,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 5,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 14,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 7,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 4,
"home_from_loser": false,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 6,
"home_from_loser": false,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 25,
"round": 2,
"order": 23,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 30,
"round": 3,
"order": 28,
"bye": false,
"home_from_lid": 24,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 33,
"round": 4,
"order": 31,
"bye": false,
"home_from_lid": 30,
"home_from_loser": false,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 34,
"round": 5,
"order": 32,
"bye": false,
"home_from_lid": 33,
"home_from_loser": false,
"away_from_lid": 33,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 11,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": 15,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 16,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 17,
"round": 0,
"order": 16,
"bye": false,
"home_from_lid": 4,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 18,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
},
{
"lid": 19,
"round": 0,
"order": 17,
"bye": false,
"home_from_lid": 6,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 20,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 19,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 20,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 21,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 2,
"order": 24,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 27,
"round": 2,
"order": 25,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 28,
"round": 3,
"order": 26,
"bye": false,
"home_from_lid": 24,
"home_from_loser": true,
"away_from_lid": 26,
"away_from_loser": false,
"reset": false
},
{
"lid": 29,
"round": 3,
"order": 27,
"bye": false,
"home_from_lid": 25,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 31,
"round": 4,
"order": 29,
"bye": false,
"home_from_lid": 28,
"home_from_loser": false,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 32,
"round": 5,
"order": 30,
"bye": false,
"home_from_lid": 30,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
]
]
}

419
brackets/16.json Normal file
View File

@@ -0,0 +1,419 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_seed": 16,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 1,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_seed": 15,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 5,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 14,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 7,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 8,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 0,
"home_from_loser": false,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 4,
"home_from_loser": false,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 6,
"home_from_loser": false,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 2,
"order": 25,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 25,
"round": 2,
"order": 26,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 30,
"round": 3,
"order": 31,
"bye": false,
"home_from_lid": 24,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 33,
"round": 4,
"order": 34,
"bye": false,
"home_from_lid": 30,
"home_from_loser": false,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 34,
"round": 5,
"order": 35,
"bye": false,
"home_from_lid": 33,
"home_from_loser": false,
"away_from_lid": 33,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 11,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": 17,
"bye": false,
"home_from_lid": 0,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": 18,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 16,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 17,
"round": 0,
"order": 19,
"bye": false,
"home_from_lid": 4,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 18,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
},
{
"lid": 19,
"round": 0,
"order": 20,
"bye": false,
"home_from_lid": 6,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 20,
"round": 1,
"order": 21,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 22,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 23,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 24,
"bye": false,
"home_from_lid": 8,
"home_from_loser": true,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 2,
"order": 27,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 27,
"round": 2,
"order": 28,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 28,
"round": 3,
"order": 29,
"bye": false,
"home_from_lid": 24,
"home_from_loser": true,
"away_from_lid": 26,
"away_from_loser": false,
"reset": false
},
{
"lid": 29,
"round": 3,
"order": 30,
"bye": false,
"home_from_lid": 25,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 31,
"round": 4,
"order": 32,
"bye": false,
"home_from_lid": 28,
"home_from_loser": false,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 32,
"round": 5,
"order": 33,
"bye": false,
"home_from_lid": 30,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
]
]
}

605
brackets/17.json Normal file
View File

@@ -0,0 +1,605 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_seed": 15,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 14,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 36,
"round": 2,
"order": 15,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 37,
"round": 2,
"order": 16,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 38,
"round": 2,
"order": 17,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 39,
"round": 2,
"order": 18,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 46,
"round": 3,
"order": 25,
"bye": false,
"home_from_lid": 36,
"home_from_loser": false,
"away_from_lid": 37,
"away_from_loser": false,
"reset": false
},
{
"lid": 47,
"round": 3,
"order": 26,
"bye": false,
"home_from_lid": 38,
"home_from_loser": false,
"away_from_lid": 39,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 51,
"round": 4,
"order": 30,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 53,
"round": 5,
"order": 32,
"bye": false,
"home_from_lid": 51,
"home_from_loser": false,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 54,
"round": 6,
"order": 33,
"bye": false,
"home_from_lid": 53,
"home_from_loser": false,
"away_from_lid": 53,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": 10,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 19,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 17,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
}
],
[
{
"lid": 32,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
},
{
"lid": 33,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 20,
"away_from_loser": true,
"reset": false
},
{
"lid": 34,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 18,
"away_from_loser": true,
"reset": false
},
{
"lid": 35,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 16,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 40,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 37,
"home_from_loser": true,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
},
{
"lid": 41,
"round": 2,
"order": 20,
"bye": false,
"home_from_lid": 36,
"home_from_loser": true,
"away_from_lid": 33,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 2,
"order": 21,
"bye": false,
"home_from_lid": 39,
"home_from_loser": true,
"away_from_lid": 34,
"away_from_loser": false,
"reset": false
},
{
"lid": 43,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 38,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 44,
"round": 3,
"order": 23,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 45,
"round": 3,
"order": 24,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 4,
"order": 27,
"bye": false,
"home_from_lid": 46,
"home_from_loser": true,
"away_from_lid": 44,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 4,
"order": 28,
"bye": false,
"home_from_lid": 47,
"home_from_loser": true,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 50,
"round": 5,
"order": 29,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 52,
"round": 6,
"order": 31,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 50,
"away_from_loser": false,
"reset": false
}
]
]
}

611
brackets/18.json Normal file
View File

@@ -0,0 +1,611 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 14,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 36,
"round": 2,
"order": 17,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 37,
"round": 2,
"order": 18,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 38,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 39,
"round": 2,
"order": 20,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 46,
"round": 3,
"order": 27,
"bye": false,
"home_from_lid": 36,
"home_from_loser": false,
"away_from_lid": 37,
"away_from_loser": false,
"reset": false
},
{
"lid": 47,
"round": 3,
"order": 28,
"bye": false,
"home_from_lid": 38,
"home_from_loser": false,
"away_from_lid": 39,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 51,
"round": 4,
"order": 32,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 53,
"round": 5,
"order": 34,
"bye": false,
"home_from_lid": 51,
"home_from_loser": false,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 54,
"round": 6,
"order": 35,
"bye": false,
"home_from_lid": 53,
"home_from_loser": false,
"away_from_lid": 53,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": 11,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": 12,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 17,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
}
],
[
{
"lid": 32,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
},
{
"lid": 33,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 20,
"away_from_loser": true,
"reset": false
},
{
"lid": 34,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
},
{
"lid": 35,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 16,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 40,
"round": 2,
"order": 21,
"bye": false,
"home_from_lid": 37,
"home_from_loser": true,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
},
{
"lid": 41,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 36,
"home_from_loser": true,
"away_from_lid": 33,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 2,
"order": 23,
"bye": false,
"home_from_lid": 39,
"home_from_loser": true,
"away_from_lid": 34,
"away_from_loser": false,
"reset": false
},
{
"lid": 43,
"round": 2,
"order": 24,
"bye": false,
"home_from_lid": 38,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 44,
"round": 3,
"order": 25,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 45,
"round": 3,
"order": 26,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 4,
"order": 29,
"bye": false,
"home_from_lid": 46,
"home_from_loser": true,
"away_from_lid": 44,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 4,
"order": 30,
"bye": false,
"home_from_lid": 47,
"home_from_loser": true,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 50,
"round": 5,
"order": 31,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 52,
"round": 6,
"order": 33,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 50,
"away_from_loser": false,
"reset": false
}
]
]
}

617
brackets/19.json Normal file
View File

@@ -0,0 +1,617 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 13,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 36,
"round": 2,
"order": 19,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 37,
"round": 2,
"order": 20,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 38,
"round": 2,
"order": 21,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 39,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 46,
"round": 3,
"order": 29,
"bye": false,
"home_from_lid": 36,
"home_from_loser": false,
"away_from_lid": 37,
"away_from_loser": false,
"reset": false
},
{
"lid": 47,
"round": 3,
"order": 30,
"bye": false,
"home_from_lid": 38,
"home_from_loser": false,
"away_from_lid": 39,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 51,
"round": 4,
"order": 34,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 53,
"round": 5,
"order": 36,
"bye": false,
"home_from_lid": 51,
"home_from_loser": false,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 54,
"round": 6,
"order": 37,
"bye": false,
"home_from_lid": 53,
"home_from_loser": false,
"away_from_lid": 53,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": 12,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": 13,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": 14,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 32,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
},
{
"lid": 33,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 20,
"away_from_loser": true,
"reset": false
},
{
"lid": 34,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
},
{
"lid": 35,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 40,
"round": 2,
"order": 23,
"bye": false,
"home_from_lid": 37,
"home_from_loser": true,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
},
{
"lid": 41,
"round": 2,
"order": 24,
"bye": false,
"home_from_lid": 36,
"home_from_loser": true,
"away_from_lid": 33,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 2,
"order": 25,
"bye": false,
"home_from_lid": 39,
"home_from_loser": true,
"away_from_lid": 34,
"away_from_loser": false,
"reset": false
},
{
"lid": 43,
"round": 2,
"order": 26,
"bye": false,
"home_from_lid": 38,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 44,
"round": 3,
"order": 27,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 45,
"round": 3,
"order": 28,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 4,
"order": 31,
"bye": false,
"home_from_lid": 46,
"home_from_loser": true,
"away_from_lid": 44,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 4,
"order": 32,
"bye": false,
"home_from_lid": 47,
"home_from_loser": true,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 50,
"round": 5,
"order": 33,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 52,
"round": 6,
"order": 35,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 50,
"away_from_loser": false,
"reset": false
}
]
]
}

623
brackets/20.json Normal file
View File

@@ -0,0 +1,623 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13,
"away_seed": 20,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_seed": 12,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 10,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 11,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 36,
"round": 2,
"order": 21,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 37,
"round": 2,
"order": 22,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 38,
"round": 2,
"order": 23,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 39,
"round": 2,
"order": 24,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 46,
"round": 3,
"order": 31,
"bye": false,
"home_from_lid": 36,
"home_from_loser": false,
"away_from_lid": 37,
"away_from_loser": false,
"reset": false
},
{
"lid": 47,
"round": 3,
"order": 32,
"bye": false,
"home_from_lid": 38,
"home_from_loser": false,
"away_from_lid": 39,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 51,
"round": 4,
"order": 36,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 53,
"round": 5,
"order": 38,
"bye": false,
"home_from_lid": 51,
"home_from_loser": false,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 54,
"round": 6,
"order": 39,
"bye": false,
"home_from_lid": 53,
"home_from_loser": false,
"away_from_lid": 53,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": 13,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": 14,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": 15,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": 16,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 32,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 25,
"away_from_loser": false,
"reset": false
},
{
"lid": 33,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
},
{
"lid": 34,
"round": 1,
"order": 19,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 29,
"away_from_loser": false,
"reset": false
},
{
"lid": 35,
"round": 1,
"order": 20,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 31,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 40,
"round": 2,
"order": 25,
"bye": false,
"home_from_lid": 37,
"home_from_loser": true,
"away_from_lid": 32,
"away_from_loser": false,
"reset": false
},
{
"lid": 41,
"round": 2,
"order": 26,
"bye": false,
"home_from_lid": 36,
"home_from_loser": true,
"away_from_lid": 33,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 2,
"order": 27,
"bye": false,
"home_from_lid": 39,
"home_from_loser": true,
"away_from_lid": 34,
"away_from_loser": false,
"reset": false
},
{
"lid": 43,
"round": 2,
"order": 28,
"bye": false,
"home_from_lid": 38,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 44,
"round": 3,
"order": 29,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 45,
"round": 3,
"order": 30,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 4,
"order": 33,
"bye": false,
"home_from_lid": 46,
"home_from_loser": true,
"away_from_lid": 44,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 4,
"order": 34,
"bye": false,
"home_from_lid": 47,
"home_from_loser": true,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 50,
"round": 5,
"order": 35,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 52,
"round": 6,
"order": 37,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 50,
"away_from_loser": false,
"reset": false
}
]
]
}

737
brackets/24.json Normal file
View File

@@ -0,0 +1,737 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8
},
{
"lid": 3,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9,
"away_seed": 24,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13,
"away_seed": 20,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12,
"away_seed": 21,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10,
"away_seed": 23,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11,
"away_seed": 22,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 56,
"round": 2,
"order": 33,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 57,
"round": 2,
"order": 34,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 58,
"round": 2,
"order": 35,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 59,
"round": 2,
"order": 36,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 68,
"round": 3,
"order": 45,
"bye": false,
"home_from_lid": 56,
"home_from_loser": false,
"away_from_lid": 57,
"away_from_loser": false,
"reset": false
},
{
"lid": 69,
"round": 3,
"order": 46,
"bye": false,
"home_from_lid": 58,
"home_from_loser": false,
"away_from_lid": 59,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 74,
"round": 4,
"order": 51,
"bye": false,
"home_from_lid": 68,
"home_from_loser": false,
"away_from_lid": 69,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 77,
"round": 5,
"order": 54,
"bye": false,
"home_from_lid": 74,
"home_from_loser": false,
"away_from_lid": 76,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 78,
"round": 6,
"order": 55,
"bye": false,
"home_from_lid": 77,
"home_from_loser": false,
"away_from_lid": 77,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 40,
"round": 0,
"order": 17,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 41,
"round": 0,
"order": 18,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 42,
"round": 0,
"order": 19,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 43,
"round": 0,
"order": 20,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
},
{
"lid": 44,
"round": 0,
"order": 21,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 45,
"round": 0,
"order": 22,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 11,
"away_from_loser": true,
"reset": false
},
{
"lid": 46,
"round": 0,
"order": 23,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
},
{
"lid": 47,
"round": 0,
"order": 24,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 48,
"round": 1,
"order": 25,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 49,
"round": 1,
"order": 26,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 50,
"round": 1,
"order": 27,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 51,
"round": 1,
"order": 28,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
},
{
"lid": 52,
"round": 1,
"order": 29,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 53,
"round": 1,
"order": 30,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 11,
"away_from_loser": true,
"reset": false
},
{
"lid": 54,
"round": 1,
"order": 31,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
},
{
"lid": 55,
"round": 1,
"order": 32,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 60,
"round": 2,
"order": 37,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
},
{
"lid": 61,
"round": 2,
"order": 38,
"bye": false,
"home_from_lid": 50,
"home_from_loser": false,
"away_from_lid": 51,
"away_from_loser": false,
"reset": false
},
{
"lid": 62,
"round": 2,
"order": 39,
"bye": false,
"home_from_lid": 52,
"home_from_loser": false,
"away_from_lid": 53,
"away_from_loser": false,
"reset": false
},
{
"lid": 63,
"round": 2,
"order": 40,
"bye": false,
"home_from_lid": 54,
"home_from_loser": false,
"away_from_lid": 55,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 64,
"round": 3,
"order": 41,
"bye": false,
"home_from_lid": 57,
"home_from_loser": true,
"away_from_lid": 60,
"away_from_loser": false,
"reset": false
},
{
"lid": 65,
"round": 3,
"order": 42,
"bye": false,
"home_from_lid": 56,
"home_from_loser": true,
"away_from_lid": 61,
"away_from_loser": false,
"reset": false
},
{
"lid": 66,
"round": 3,
"order": 43,
"bye": false,
"home_from_lid": 59,
"home_from_loser": true,
"away_from_lid": 62,
"away_from_loser": false,
"reset": false
},
{
"lid": 67,
"round": 3,
"order": 44,
"bye": false,
"home_from_lid": 58,
"home_from_loser": true,
"away_from_lid": 63,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 70,
"round": 4,
"order": 47,
"bye": false,
"home_from_lid": 64,
"home_from_loser": false,
"away_from_lid": 65,
"away_from_loser": false,
"reset": false
},
{
"lid": 71,
"round": 4,
"order": 48,
"bye": false,
"home_from_lid": 66,
"home_from_loser": false,
"away_from_lid": 67,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 72,
"round": 5,
"order": 49,
"bye": false,
"home_from_lid": 68,
"home_from_loser": true,
"away_from_lid": 70,
"away_from_loser": false,
"reset": false
},
{
"lid": 73,
"round": 5,
"order": 50,
"bye": false,
"home_from_lid": 69,
"home_from_loser": true,
"away_from_lid": 71,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 75,
"round": 6,
"order": 52,
"bye": false,
"home_from_lid": 72,
"home_from_loser": false,
"away_from_lid": 73,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 76,
"round": 7,
"order": 53,
"bye": false,
"home_from_lid": 74,
"home_from_loser": true,
"away_from_lid": 75,
"away_from_loser": false,
"reset": false
}
]
]
}

783
brackets/25.json Normal file
View File

@@ -0,0 +1,783 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 25,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9,
"away_seed": 24,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13,
"away_seed": 20,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12,
"away_seed": 21,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 11,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10,
"away_seed": 23,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11,
"away_seed": 22,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 12,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 2,
"order": 28,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 2,
"order": 29,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 50,
"round": 2,
"order": 30,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 51,
"round": 2,
"order": 31,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 60,
"round": 3,
"order": 40,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
},
{
"lid": 61,
"round": 3,
"order": 41,
"bye": false,
"home_from_lid": 50,
"home_from_loser": false,
"away_from_lid": 51,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 66,
"round": 4,
"order": 46,
"bye": false,
"home_from_lid": 60,
"home_from_loser": false,
"away_from_lid": 61,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 69,
"round": 5,
"order": 49,
"bye": false,
"home_from_lid": 66,
"home_from_loser": false,
"away_from_lid": 68,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 70,
"round": 6,
"order": 50,
"bye": false,
"home_from_lid": 69,
"home_from_loser": false,
"away_from_lid": 69,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 23,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": 19,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 5,
"home_from_loser": true
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 7,
"home_from_loser": true
},
{
"lid": 32,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 19,
"home_from_loser": true
},
{
"lid": 33,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 34,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 35,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 11,
"home_from_loser": true
},
{
"lid": 36,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 17,
"home_from_loser": true
},
{
"lid": 37,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 13,
"home_from_loser": true
},
{
"lid": 38,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
},
{
"lid": 39,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 15,
"home_from_loser": true
}
],
[
{
"lid": 40,
"round": 1,
"order": 20,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 41,
"round": 1,
"order": 21,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 1,
"order": 22,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 43,
"round": 1,
"order": 23,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
},
{
"lid": 44,
"round": 1,
"order": 24,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 45,
"round": 1,
"order": 25,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 11,
"away_from_loser": true,
"reset": false
},
{
"lid": 46,
"round": 1,
"order": 26,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
},
{
"lid": 47,
"round": 1,
"order": 27,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 52,
"round": 2,
"order": 32,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 53,
"round": 2,
"order": 33,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
},
{
"lid": 54,
"round": 2,
"order": 34,
"bye": false,
"home_from_lid": 44,
"home_from_loser": false,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
},
{
"lid": 55,
"round": 2,
"order": 35,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 56,
"round": 3,
"order": 36,
"bye": false,
"home_from_lid": 49,
"home_from_loser": true,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
},
{
"lid": 57,
"round": 3,
"order": 37,
"bye": false,
"home_from_lid": 48,
"home_from_loser": true,
"away_from_lid": 53,
"away_from_loser": false,
"reset": false
},
{
"lid": 58,
"round": 3,
"order": 38,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 54,
"away_from_loser": false,
"reset": false
},
{
"lid": 59,
"round": 3,
"order": 39,
"bye": false,
"home_from_lid": 50,
"home_from_loser": true,
"away_from_lid": 55,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 62,
"round": 4,
"order": 42,
"bye": false,
"home_from_lid": 56,
"home_from_loser": false,
"away_from_lid": 57,
"away_from_loser": false,
"reset": false
},
{
"lid": 63,
"round": 4,
"order": 43,
"bye": false,
"home_from_lid": 58,
"home_from_loser": false,
"away_from_lid": 59,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 64,
"round": 5,
"order": 44,
"bye": false,
"home_from_lid": 60,
"home_from_loser": true,
"away_from_lid": 62,
"away_from_loser": false,
"reset": false
},
{
"lid": 65,
"round": 5,
"order": 45,
"bye": false,
"home_from_lid": 61,
"home_from_loser": true,
"away_from_lid": 63,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 67,
"round": 6,
"order": 47,
"bye": false,
"home_from_lid": 64,
"home_from_loser": false,
"away_from_lid": 65,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 68,
"round": 7,
"order": 48,
"bye": false,
"home_from_lid": 66,
"home_from_loser": true,
"away_from_lid": 67,
"away_from_loser": false,
"reset": false
}
]
]
}

789
brackets/26.json Normal file
View File

@@ -0,0 +1,789 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 25,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9,
"away_seed": 24,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13,
"away_seed": 20,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12,
"away_seed": 21,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 26,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 11,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10,
"away_seed": 23,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
},
{
"lid": 15,
"round": 0,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11,
"away_seed": 22,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 13,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 14,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 19,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 20,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 2,
"order": 31,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 2,
"order": 32,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 50,
"round": 2,
"order": 33,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 51,
"round": 2,
"order": 34,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 60,
"round": 3,
"order": 43,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
},
{
"lid": 61,
"round": 3,
"order": 44,
"bye": false,
"home_from_lid": 50,
"home_from_loser": false,
"away_from_lid": 51,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 66,
"round": 4,
"order": 49,
"bye": false,
"home_from_lid": 60,
"home_from_loser": false,
"away_from_lid": 61,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 69,
"round": 5,
"order": 52,
"bye": false,
"home_from_lid": 66,
"home_from_loser": false,
"away_from_lid": 68,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 70,
"round": 6,
"order": 53,
"bye": false,
"home_from_lid": 69,
"home_from_loser": false,
"away_from_lid": 69,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 23,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": 21,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 5,
"home_from_loser": true
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 7,
"home_from_loser": true
},
{
"lid": 32,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 19,
"home_from_loser": true
},
{
"lid": 33,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 34,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 35,
"round": 0,
"order": 22,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 11,
"away_from_loser": true,
"reset": false
},
{
"lid": 36,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 17,
"home_from_loser": true
},
{
"lid": 37,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 13,
"home_from_loser": true
},
{
"lid": 38,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
},
{
"lid": 39,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 15,
"home_from_loser": true
}
],
[
{
"lid": 40,
"round": 1,
"order": 23,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 41,
"round": 1,
"order": 24,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 1,
"order": 25,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 43,
"round": 1,
"order": 26,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
},
{
"lid": 44,
"round": 1,
"order": 27,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 45,
"round": 1,
"order": 28,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
},
{
"lid": 46,
"round": 1,
"order": 29,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
},
{
"lid": 47,
"round": 1,
"order": 30,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 52,
"round": 2,
"order": 35,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 53,
"round": 2,
"order": 36,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
},
{
"lid": 54,
"round": 2,
"order": 37,
"bye": false,
"home_from_lid": 44,
"home_from_loser": false,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
},
{
"lid": 55,
"round": 2,
"order": 38,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 56,
"round": 3,
"order": 39,
"bye": false,
"home_from_lid": 49,
"home_from_loser": true,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
},
{
"lid": 57,
"round": 3,
"order": 40,
"bye": false,
"home_from_lid": 48,
"home_from_loser": true,
"away_from_lid": 53,
"away_from_loser": false,
"reset": false
},
{
"lid": 58,
"round": 3,
"order": 41,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 54,
"away_from_loser": false,
"reset": false
},
{
"lid": 59,
"round": 3,
"order": 42,
"bye": false,
"home_from_lid": 50,
"home_from_loser": true,
"away_from_lid": 55,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 62,
"round": 4,
"order": 45,
"bye": false,
"home_from_lid": 56,
"home_from_loser": false,
"away_from_lid": 57,
"away_from_loser": false,
"reset": false
},
{
"lid": 63,
"round": 4,
"order": 46,
"bye": false,
"home_from_lid": 58,
"home_from_loser": false,
"away_from_lid": 59,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 64,
"round": 5,
"order": 47,
"bye": false,
"home_from_lid": 60,
"home_from_loser": true,
"away_from_lid": 62,
"away_from_loser": false,
"reset": false
},
{
"lid": 65,
"round": 5,
"order": 48,
"bye": false,
"home_from_lid": 61,
"home_from_loser": true,
"away_from_lid": 63,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 67,
"round": 6,
"order": 50,
"bye": false,
"home_from_lid": 64,
"home_from_loser": false,
"away_from_lid": 65,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 68,
"round": 7,
"order": 51,
"bye": false,
"home_from_lid": 66,
"home_from_loser": true,
"away_from_lid": 67,
"away_from_loser": false,
"reset": false
}
]
]
}

795
brackets/27.json Normal file
View File

@@ -0,0 +1,795 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 16,
"away_seed": 17,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 25,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 3,
"round": 0,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 9,
"away_seed": 24,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 5,
"round": 0,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 13,
"away_seed": 20,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 7,
"round": 0,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 12,
"away_seed": 21,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 8,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 9,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 15,
"away_seed": 18,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 0,
"order": 7,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7,
"away_seed": 26,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 11,
"round": 0,
"order": 8,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 10,
"away_seed": 23,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 13,
"round": 0,
"order": 9,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 14,
"away_seed": 19,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": 10,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6,
"away_seed": 27,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 15,
"round": 0,
"order": 11,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 11,
"away_seed": 22,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 16,
"round": 1,
"order": 15,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 16,
"bye": false,
"home_from_lid": 2,
"home_from_loser": false,
"away_from_lid": 3,
"away_from_loser": false,
"reset": false
},
{
"lid": 18,
"round": 1,
"order": 17,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_from_lid": 5,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 1,
"order": 18,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5,
"away_from_lid": 7,
"away_from_loser": false,
"reset": false
},
{
"lid": 20,
"round": 1,
"order": 19,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 1,
"order": 20,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
},
{
"lid": 22,
"round": 1,
"order": 21,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 23,
"round": 1,
"order": 22,
"bye": false,
"home_from_lid": 14,
"home_from_loser": false,
"away_from_lid": 15,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 48,
"round": 2,
"order": 34,
"bye": false,
"home_from_lid": 16,
"home_from_loser": false,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
},
{
"lid": 49,
"round": 2,
"order": 35,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
},
{
"lid": 50,
"round": 2,
"order": 36,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
},
{
"lid": 51,
"round": 2,
"order": 37,
"bye": false,
"home_from_lid": 22,
"home_from_loser": false,
"away_from_lid": 23,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 60,
"round": 3,
"order": 46,
"bye": false,
"home_from_lid": 48,
"home_from_loser": false,
"away_from_lid": 49,
"away_from_loser": false,
"reset": false
},
{
"lid": 61,
"round": 3,
"order": 47,
"bye": false,
"home_from_lid": 50,
"home_from_loser": false,
"away_from_lid": 51,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 66,
"round": 4,
"order": 52,
"bye": false,
"home_from_lid": 60,
"home_from_loser": false,
"away_from_lid": 61,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 69,
"round": 5,
"order": 55,
"bye": false,
"home_from_lid": 66,
"home_from_loser": false,
"away_from_lid": 68,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 70,
"round": 6,
"order": 56,
"bye": false,
"home_from_lid": 69,
"home_from_loser": false,
"away_from_lid": 69,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 24,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 23,
"home_from_loser": true
},
{
"lid": 25,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 1,
"home_from_loser": true
},
{
"lid": 26,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 22,
"home_from_loser": true
},
{
"lid": 27,
"round": 0,
"order": 23,
"bye": false,
"home_from_lid": 2,
"home_from_loser": true,
"away_from_lid": 3,
"away_from_loser": true,
"reset": false
},
{
"lid": 28,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 21,
"home_from_loser": true
},
{
"lid": 29,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 5,
"home_from_loser": true
},
{
"lid": 30,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 20,
"home_from_loser": true
},
{
"lid": 31,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 7,
"home_from_loser": true
},
{
"lid": 32,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 19,
"home_from_loser": true
},
{
"lid": 33,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 34,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 18,
"home_from_loser": true
},
{
"lid": 35,
"round": 0,
"order": 24,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 11,
"away_from_loser": true,
"reset": false
},
{
"lid": 36,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 17,
"home_from_loser": true
},
{
"lid": 37,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 13,
"home_from_loser": true
},
{
"lid": 38,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 16,
"home_from_loser": true
},
{
"lid": 39,
"round": 0,
"order": 25,
"bye": false,
"home_from_lid": 14,
"home_from_loser": true,
"away_from_lid": 15,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 40,
"round": 1,
"order": 26,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 41,
"round": 1,
"order": 27,
"bye": false,
"home_from_lid": 22,
"home_from_loser": true,
"away_from_lid": 27,
"away_from_loser": false,
"reset": false
},
{
"lid": 42,
"round": 1,
"order": 28,
"bye": false,
"home_from_lid": 21,
"home_from_loser": true,
"away_from_lid": 5,
"away_from_loser": true,
"reset": false
},
{
"lid": 43,
"round": 1,
"order": 29,
"bye": false,
"home_from_lid": 20,
"home_from_loser": true,
"away_from_lid": 7,
"away_from_loser": true,
"reset": false
},
{
"lid": 44,
"round": 1,
"order": 30,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 9,
"away_from_loser": true,
"reset": false
},
{
"lid": 45,
"round": 1,
"order": 31,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 35,
"away_from_loser": false,
"reset": false
},
{
"lid": 46,
"round": 1,
"order": 32,
"bye": false,
"home_from_lid": 17,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": true,
"reset": false
},
{
"lid": 47,
"round": 1,
"order": 33,
"bye": false,
"home_from_lid": 16,
"home_from_loser": true,
"away_from_lid": 39,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 52,
"round": 2,
"order": 38,
"bye": false,
"home_from_lid": 40,
"home_from_loser": false,
"away_from_lid": 41,
"away_from_loser": false,
"reset": false
},
{
"lid": 53,
"round": 2,
"order": 39,
"bye": false,
"home_from_lid": 42,
"home_from_loser": false,
"away_from_lid": 43,
"away_from_loser": false,
"reset": false
},
{
"lid": 54,
"round": 2,
"order": 40,
"bye": false,
"home_from_lid": 44,
"home_from_loser": false,
"away_from_lid": 45,
"away_from_loser": false,
"reset": false
},
{
"lid": 55,
"round": 2,
"order": 41,
"bye": false,
"home_from_lid": 46,
"home_from_loser": false,
"away_from_lid": 47,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 56,
"round": 3,
"order": 42,
"bye": false,
"home_from_lid": 49,
"home_from_loser": true,
"away_from_lid": 52,
"away_from_loser": false,
"reset": false
},
{
"lid": 57,
"round": 3,
"order": 43,
"bye": false,
"home_from_lid": 48,
"home_from_loser": true,
"away_from_lid": 53,
"away_from_loser": false,
"reset": false
},
{
"lid": 58,
"round": 3,
"order": 44,
"bye": false,
"home_from_lid": 51,
"home_from_loser": true,
"away_from_lid": 54,
"away_from_loser": false,
"reset": false
},
{
"lid": 59,
"round": 3,
"order": 45,
"bye": false,
"home_from_lid": 50,
"home_from_loser": true,
"away_from_lid": 55,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 62,
"round": 4,
"order": 48,
"bye": false,
"home_from_lid": 56,
"home_from_loser": false,
"away_from_lid": 57,
"away_from_loser": false,
"reset": false
},
{
"lid": 63,
"round": 4,
"order": 49,
"bye": false,
"home_from_lid": 58,
"home_from_loser": false,
"away_from_lid": 59,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 64,
"round": 5,
"order": 50,
"bye": false,
"home_from_lid": 60,
"home_from_loser": true,
"away_from_lid": 62,
"away_from_loser": false,
"reset": false
},
{
"lid": 65,
"round": 5,
"order": 51,
"bye": false,
"home_from_lid": 61,
"home_from_loser": true,
"away_from_lid": 63,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 67,
"round": 6,
"order": 53,
"bye": false,
"home_from_lid": 64,
"home_from_loser": false,
"away_from_lid": 65,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 68,
"round": 7,
"order": 54,
"bye": false,
"home_from_lid": 66,
"home_from_loser": true,
"away_from_lid": 67,
"away_from_loser": false,
"reset": false
}
]
]
}

311
brackets/9.json Normal file
View File

@@ -0,0 +1,311 @@
{
"winners": [
[
{
"lid": 0,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1
},
{
"lid": 1,
"round": 0,
"order": 1,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 8,
"away_seed": 9,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 2,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4
},
{
"lid": 3,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 5
},
{
"lid": 4,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2
},
{
"lid": 5,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 7
},
{
"lid": 6,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3
},
{
"lid": 7,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 6
}
],
[
{
"lid": 8,
"round": 1,
"order": 5,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 1,
"away_from_lid": 1,
"away_from_loser": false,
"reset": false
},
{
"lid": 9,
"round": 1,
"order": 2,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 4,
"away_seed": 5,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 10,
"round": 1,
"order": 3,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 2,
"away_seed": 7,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
},
{
"lid": 11,
"round": 1,
"order": 4,
"bye": false,
"home_from_lid": null,
"home_from_loser": null,
"home_seed": 3,
"away_seed": 6,
"away_from_lid": null,
"away_from_loser": null,
"reset": false
}
],
[
{
"lid": 18,
"round": 2,
"order": 9,
"bye": false,
"home_from_lid": 8,
"home_from_loser": false,
"away_from_lid": 9,
"away_from_loser": false,
"reset": false
},
{
"lid": 19,
"round": 2,
"order": 10,
"bye": false,
"home_from_lid": 10,
"home_from_loser": false,
"away_from_lid": 11,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 23,
"round": 3,
"order": 14,
"bye": false,
"home_from_lid": 18,
"home_from_loser": false,
"away_from_lid": 19,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 25,
"round": 4,
"order": 16,
"bye": false,
"home_from_lid": 23,
"home_from_loser": false,
"away_from_lid": 24,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 26,
"round": 5,
"order": 17,
"bye": false,
"home_from_lid": 25,
"home_from_loser": false,
"away_from_lid": 25,
"away_from_loser": true,
"reset": true
}
]
],
"losers": [
[
{
"lid": 12,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 10,
"home_from_loser": true
},
{
"lid": 13,
"round": 0,
"order": 6,
"bye": false,
"home_from_lid": 11,
"home_from_loser": true,
"away_from_lid": 1,
"away_from_loser": true,
"reset": false
},
{
"lid": 14,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 9,
"home_from_loser": true
},
{
"lid": 15,
"round": 0,
"order": null,
"bye": true,
"home_from_lid": 8,
"home_from_loser": true
}
],
[
{
"lid": 16,
"round": 1,
"order": 7,
"bye": false,
"home_from_lid": 10,
"home_from_loser": true,
"away_from_lid": 13,
"away_from_loser": false,
"reset": false
},
{
"lid": 17,
"round": 1,
"order": 8,
"bye": false,
"home_from_lid": 9,
"home_from_loser": true,
"away_from_lid": 8,
"away_from_loser": true,
"reset": false
}
],
[
{
"lid": 20,
"round": 2,
"order": 11,
"bye": false,
"home_from_lid": 18,
"home_from_loser": true,
"away_from_lid": 16,
"away_from_loser": false,
"reset": false
},
{
"lid": 21,
"round": 2,
"order": 12,
"bye": false,
"home_from_lid": 19,
"home_from_loser": true,
"away_from_lid": 17,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 22,
"round": 3,
"order": 13,
"bye": false,
"home_from_lid": 20,
"home_from_loser": false,
"away_from_lid": 21,
"away_from_loser": false,
"reset": false
}
],
[
{
"lid": 24,
"round": 4,
"order": 15,
"bye": false,
"home_from_lid": 23,
"home_from_loser": true,
"away_from_lid": 22,
"away_from_loser": false,
"reset": false
}
]
]
}

1288
bun.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -32,17 +32,17 @@ services:
- app-network - app-network
restart: unless-stopped restart: unless-stopped
redis: #redis:
image: redis:7-alpine # image: redis:7-alpine
container_name: redis-cache # container_name: redis-cache
ports: # ports:
- "6379:6379" # - "6379:6379"
command: redis-server --appendonly yes # command: redis-server --appendonly yes
volumes: # volumes:
- redis-data:/data # - redis-data:/data
networks: # networks:
- app-network # - app-network
restart: unless-stopped # restart: unless-stopped
supertokens: supertokens:
image: registry.supertokens.io/supertokens/supertokens-postgresql image: registry.supertokens.io/supertokens/supertokens-postgresql
@@ -51,6 +51,7 @@ services:
- postgres - postgres
environment: environment:
POSTGRESQL_CONNECTION_URI: postgresql://supertokens:password@postgres:5432/supertokens POSTGRESQL_CONNECTION_URI: postgresql://supertokens:password@postgres:5432/supertokens
ACCESS_TOKEN_VALIDITY: 360000
ports: ports:
- "3567:3567" - "3567:3567"
env_file: env_file:

View File

@@ -1,10 +0,0 @@
import { defineConfig } from "drizzle-kit";
export default defineConfig({
schema: "./src/lib/drizzle/schema",
out: "./src/lib/drizzle/migrations",
dialect: "postgresql",
dbCredentials: {
url: process.env.VITE_DATABASE_URL ?? "",
},
});

View File

@@ -6,10 +6,8 @@
"scripts": { "scripts": {
"dev": "vite dev --host 0.0.0.0", "dev": "vite dev --host 0.0.0.0",
"build": "vite build && tsc --noEmit", "build": "vite build && tsc --noEmit",
"start": "vite start", "start": "bun run .output/server/index.mjs",
"db:generate": "npx drizzle-kit generate --config drizzle.config.ts", "start:node": "node .output/server/index.mjs"
"db:push": "npx drizzle-kit push",
"db:studio": "npx drizzle-kit studio"
}, },
"dependencies": { "dependencies": {
"@hello-pangea/dnd": "^18.0.1", "@hello-pangea/dnd": "^18.0.1",
@@ -19,16 +17,24 @@
"@mantine/dates": "^8.2.4", "@mantine/dates": "^8.2.4",
"@mantine/form": "^8.2.4", "@mantine/form": "^8.2.4",
"@mantine/hooks": "^8.2.4", "@mantine/hooks": "^8.2.4",
"@mantine/tiptap": "^8.2.4",
"@phosphor-icons/react": "^2.1.10", "@phosphor-icons/react": "^2.1.10",
"@svgmoji/noto": "^3.2.0",
"@tanstack/react-devtools": "^0.7.6",
"@tanstack/react-query": "^5.66.0", "@tanstack/react-query": "^5.66.0",
"@tanstack/react-query-devtools": "^5.66.0", "@tanstack/react-query-devtools": "^5.66.0",
"@tanstack/react-router": "^1.130.12", "@tanstack/react-router": "^1.130.12",
"@tanstack/react-router-devtools": "^1.130.13", "@tanstack/react-router-devtools": "^1.130.13",
"@tanstack/react-router-with-query": "^1.130.12", "@tanstack/react-router-with-query": "^1.130.12",
"@tanstack/react-start": "^1.130.15", "@tanstack/react-start": "^1.132.2",
"@tanstack/react-virtual": "^3.13.12",
"@tiptap/pm": "^3.4.3",
"@tiptap/react": "^3.4.3",
"@tiptap/starter-kit": "^3.4.3",
"@types/bun": "^1.2.22",
"@types/ioredis": "^4.28.10", "@types/ioredis": "^4.28.10",
"drizzle-orm": "^0.44.4", "browser-image-compression": "^2.0.2",
"drizzle-zod": "^0.8.3", "dotenv": "^17.2.2",
"embla-carousel-react": "^8.6.0", "embla-carousel-react": "^8.6.0",
"framer-motion": "^12.23.12", "framer-motion": "^12.23.12",
"ioredis": "^5.7.0", "ioredis": "^5.7.0",
@@ -37,6 +43,7 @@
"react": "^19.0.0", "react": "^19.0.0",
"react-dom": "^19.0.0", "react-dom": "^19.0.0",
"react-imask": "^7.6.1", "react-imask": "^7.6.1",
"react-scan": "^0.4.3",
"react-use-draggable-scroll": "^0.4.7", "react-use-draggable-scroll": "^0.4.7",
"recharts": "^3.1.2", "recharts": "^3.1.2",
"redaxios": "^0.5.1", "redaxios": "^0.5.1",
@@ -45,10 +52,13 @@
"supertokens-web-js": "^0.15.0", "supertokens-web-js": "^0.15.0",
"twilio": "^5.8.0", "twilio": "^5.8.0",
"vaul": "^1.1.2", "vaul": "^1.1.2",
"xlsx": "^0.18.5",
"zod": "^4.0.15", "zod": "^4.0.15",
"zustand": "^5.0.7" "zustand": "^5.0.7"
}, },
"devDependencies": { "devDependencies": {
"@tanstack/react-router-ssr-query": "^1.132.2",
"@tanstack/router-plugin": "^1.132.2",
"@types/node": "^22.5.4", "@types/node": "^22.5.4",
"@types/pg": "^8.15.5", "@types/pg": "^8.15.5",
"@types/react": "^19.0.8", "@types/react": "^19.0.8",
@@ -56,13 +66,12 @@
"@vitejs/plugin-react": "^5.0.0", "@vitejs/plugin-react": "^5.0.0",
"autoprefixer": "^10.4.20", "autoprefixer": "^10.4.20",
"dotenv-cli": "^10.0.0", "dotenv-cli": "^10.0.0",
"drizzle-kit": "^0.31.4",
"postcss": "^8.5.1", "postcss": "^8.5.1",
"postcss-preset-mantine": "^1.18.0", "postcss-preset-mantine": "^1.18.0",
"postcss-simple-vars": "^7.0.1", "postcss-simple-vars": "^7.0.1",
"tsx": "^4.20.3", "tsx": "^4.20.3",
"typescript": "^5.7.2", "typescript": "^5.7.2",
"vite": "^6.3.5", "vite": "^7.1.7",
"vite-tsconfig-paths": "^5.1.4" "vite-tsconfig-paths": "^5.1.4"
} }
} }

View File

@@ -0,0 +1,247 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"hidden": false,
"id": "number4113142680",
"max": null,
"min": null,
"name": "order",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number1080860409",
"max": null,
"min": null,
"name": "lid",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "bool1352515405",
"name": "reset",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "number2650326517",
"max": null,
"min": null,
"name": "home_cups",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number766636452",
"max": null,
"min": null,
"name": "away_cups",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number3404566555",
"max": null,
"min": null,
"name": "ot_count",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "date1345189255",
"max": "",
"min": "",
"name": "start_time",
"presentable": false,
"required": false,
"system": false,
"type": "date"
},
{
"hidden": false,
"id": "date1096160257",
"max": "",
"min": "",
"name": "end_time",
"presentable": false,
"required": false,
"system": false,
"type": "date"
},
{
"hidden": false,
"id": "bool2000130356",
"name": "bye",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "number3642169398",
"max": null,
"min": null,
"name": "home_from_lid",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number1662941821",
"max": null,
"min": null,
"name": "away_from_lid",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "bool1093314320",
"name": "home_from_loser",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "bool4045114275",
"name": "away_from_loser",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "bool1628031220",
"name": "is_losers_bracket",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"cascadeDelete": false,
"collectionId": "pbc_340646327",
"hidden": false,
"id": "relation3177167065",
"maxSelect": 1,
"minSelect": 0,
"name": "tournament",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation1909853392",
"maxSelect": 1,
"minSelect": 0,
"name": "home",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation2791285457",
"maxSelect": 1,
"minSelect": 0,
"name": "away",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_2541054544",
"indexes": [],
"listRule": null,
"name": "matches",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544");
return app.delete(collection);
})

View File

@@ -0,0 +1,44 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// add field
collection.fields.addAt(18, new Field({
"hidden": false,
"id": "number1705071305",
"max": null,
"min": null,
"name": "home_seed",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
// add field
collection.fields.addAt(19, new Field({
"hidden": false,
"id": "number3588777624",
"max": null,
"min": null,
"name": "away_seed",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// remove field
collection.fields.removeById("number1705071305")
// remove field
collection.fields.removeById("number3588777624")
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(10, new Field({
"cascadeDelete": false,
"collectionId": "pbc_2541054544",
"hidden": false,
"id": "relation103159226",
"maxSelect": 999,
"minSelect": 0,
"name": "matches",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("relation103159226")
return app.save(collection)
})

View File

@@ -0,0 +1,27 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// add field
collection.fields.addAt(20, new Field({
"hidden": false,
"id": "number3320769076",
"max": null,
"min": null,
"name": "round",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// remove field
collection.fields.removeById("number3320769076")
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,31 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// add field
collection.fields.addAt(21, new Field({
"hidden": false,
"id": "select2063623452",
"maxSelect": 1,
"name": "status",
"presentable": false,
"required": false,
"system": false,
"type": "select",
"values": [
"tbd",
"ready",
"started",
"ended"
]
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2541054544")
// remove field
collection.fields.removeById("select2063623452")
return app.save(collection)
})

View File

@@ -0,0 +1,235 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2582050271",
"maxSelect": 1,
"minSelect": 0,
"name": "player_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "json4231605813",
"maxSize": 1,
"name": "player_name",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_976G",
"max": 0,
"min": 0,
"name": "first_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_njLe",
"max": 0,
"min": 0,
"name": "last_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_ZNMy",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_340646327",
"hidden": false,
"id": "relation869376999",
"maxSelect": 1,
"minSelect": 0,
"name": "tournament_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_nxTv",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1062535948",
"maxSize": 1,
"name": "total_cups_won_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json4249694556",
"maxSize": 1,
"name": "total_cups_lost_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_135889471",
"indexes": [],
"listRule": null,
"name": "player_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "\n SELECT\n (p.id || '_' || t.id || '_' || tour.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n p.first_name,\n p.last_name,\n t.id as team_id,\n t.name as team_name,\n tour.id as tournament_id,\n tour.name as tournament_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END) as margin_of_victory,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END) as margin_of_loss,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_won_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_lost_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against\n FROM players p\n JOIN teams t ON json_extract(t.players, '$[*]') LIKE '%' || p.id || '%'\n JOIN matches m ON (m.home = t.id OR m.away = t.id)\n JOIN tournaments tour ON m.tournament = tour.id\n WHERE m.status = 'ended'\n GROUP BY p.id, t.id, tour.id",
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471");
return app.delete(collection);
})

View File

@@ -0,0 +1,194 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471")
// update collection data
unmarshal({
"viewQuery": "SELECT\n (p.id || '_' || t.id || '_' || tour.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n t.id as team_id,\n t.name as team_name,\n tour.id as tournament_id,\n tour.name as tournament_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id, t.id, tour.id"
}, collection)
// remove field
collection.fields.removeById("_clone_976G")
// remove field
collection.fields.removeById("_clone_njLe")
// remove field
collection.fields.removeById("_clone_ZNMy")
// remove field
collection.fields.removeById("_clone_nxTv")
// remove field
collection.fields.removeById("json3041953980")
// remove field
collection.fields.removeById("json1531431708")
// remove field
collection.fields.removeById("json1062535948")
// remove field
collection.fields.removeById("json4249694556")
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_YqC8",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(6, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_jZTo",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471")
// update collection data
unmarshal({
"viewQuery": "\n SELECT\n (p.id || '_' || t.id || '_' || tour.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n p.first_name,\n p.last_name,\n t.id as team_id,\n t.name as team_name,\n tour.id as tournament_id,\n tour.name as tournament_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END) as margin_of_victory,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END) as margin_of_loss,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_won_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_lost_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against\n FROM players p\n JOIN teams t ON json_extract(t.players, '$[*]') LIKE '%' || p.id || '%'\n JOIN matches m ON (m.home = t.id OR m.away = t.id)\n JOIN tournaments tour ON m.tournament = tour.id\n WHERE m.status = 'ended'\n GROUP BY p.id, t.id, tour.id"
}, collection)
// add field
collection.fields.addAt(3, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_976G",
"max": 0,
"min": 0,
"name": "first_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_njLe",
"max": 0,
"min": 0,
"name": "last_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(6, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_ZNMy",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(8, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_nxTv",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(12, new Field({
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}))
// add field
collection.fields.addAt(13, new Field({
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}))
// add field
collection.fields.addAt(14, new Field({
"hidden": false,
"id": "json1062535948",
"maxSize": 1,
"name": "total_cups_won_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}))
// add field
collection.fields.addAt(15, new Field({
"hidden": false,
"id": "json4249694556",
"maxSize": 1,
"name": "total_cups_lost_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}))
// remove field
collection.fields.removeById("_clone_YqC8")
// remove field
collection.fields.removeById("_clone_jZTo")
return app.save(collection)
})

View File

@@ -0,0 +1,96 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471")
// update collection data
unmarshal({
"name": "player_stats_per_tournament"
}, collection)
// remove field
collection.fields.removeById("_clone_YqC8")
// remove field
collection.fields.removeById("_clone_jZTo")
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_XGbN",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(6, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_uud6",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471")
// update collection data
unmarshal({
"name": "player_stats"
}, collection)
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_YqC8",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(6, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_jZTo",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// remove field
collection.fields.removeById("_clone_XGbN")
// remove field
collection.fields.removeById("_clone_uud6")
return app.save(collection)
})

View File

@@ -0,0 +1,180 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2582050271",
"maxSelect": 1,
"minSelect": 0,
"name": "player_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "json4231605813",
"maxSize": 1,
"name": "player_name",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_fQu1",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json2379943496",
"maxSize": 1,
"name": "win_percentage",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3165107022",
"maxSize": 1,
"name": "avg_cups_per_match",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_1358894712",
"indexes": [],
"listRule": null,
"name": "player_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "SELECT\n (p.id || '_' || t.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n t.id as team_id,\n t.name as team_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Additional calculated stats\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin calculations\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END) as margin_of_victory,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id, t.id",
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1358894712");
return app.delete(collection);
})

View File

@@ -0,0 +1,57 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1358894712")
// update collection data
unmarshal({
"viewQuery": "SELECT\n p.id as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Win percentage\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n -- Average cups per match\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin of Victory\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END), 2) as margin_of_victory,\n -- Margin of Loss\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END), 2) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id"
}, collection)
// remove field
collection.fields.removeById("relation694999214")
// remove field
collection.fields.removeById("_clone_fQu1")
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1358894712")
// update collection data
unmarshal({
"viewQuery": "SELECT\n (p.id || '_' || t.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n t.id as team_id,\n t.name as team_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Additional calculated stats\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin calculations\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END) as margin_of_victory,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id, t.id"
}, collection)
// add field
collection.fields.addAt(3, new Field({
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_fQu1",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
return app.save(collection)
})

View File

@@ -0,0 +1,211 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_ZNMy",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1062535948",
"maxSize": 1,
"name": "total_cups_won_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json4249694556",
"maxSize": 1,
"name": "total_cups_lost_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_135889472",
"indexes": [],
"listRule": null,
"name": "team_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": `
SELECT
t.id as id,
t.id as team_id,
t.name as team_name,
COUNT(m.id) as matches,
SUM(CASE
WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR
(m.away = t.id AND m.away_cups > m.home_cups)
THEN 1 ELSE 0
END) as wins,
SUM(CASE
WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR
(m.away = t.id AND m.away_cups < m.home_cups)
THEN 1 ELSE 0
END) as losses,
AVG(CASE
WHEN m.home = t.id AND m.home_cups > m.away_cups
THEN m.home_cups - m.away_cups
WHEN m.away = t.id AND m.away_cups > m.home_cups
THEN m.away_cups - m.home_cups
ELSE NULL
END) as margin_of_victory,
AVG(CASE
WHEN m.home = t.id AND m.home_cups < m.away_cups
THEN m.away_cups - m.home_cups
WHEN m.away = t.id AND m.away_cups < m.home_cups
THEN m.home_cups - m.away_cups
ELSE NULL
END) as margin_of_loss,
SUM(CASE
WHEN m.home = t.id THEN m.home_cups
WHEN m.away = t.id THEN m.away_cups
ELSE 0
END) as total_cups_won_by,
SUM(CASE
WHEN m.home = t.id THEN m.away_cups
WHEN m.away = t.id THEN m.home_cups
ELSE 0
END) as total_cups_lost_by,
SUM(CASE
WHEN m.home = t.id THEN m.home_cups
WHEN m.away = t.id THEN m.away_cups
ELSE 0
END) as total_cups_made,
SUM(CASE
WHEN m.home = t.id THEN m.away_cups
WHEN m.away = t.id THEN m.home_cups
ELSE 0
END) as total_cups_against
FROM teams t
JOIN matches m ON (m.home = t.id OR m.away = t.id)
JOIN tournaments tour ON m.tournament = tour.id
WHERE m.status = 'ended'
GROUP BY t.id`,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_135889472");
return app.delete(collection);
})

View File

@@ -0,0 +1,167 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_135889471");
return app.delete(collection);
}, (app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2582050271",
"maxSelect": 1,
"minSelect": 0,
"name": "player_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "json4231605813",
"maxSize": 1,
"name": "player_name",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_XGbN",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_340646327",
"hidden": false,
"id": "relation869376999",
"maxSelect": 1,
"minSelect": 0,
"name": "tournament_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_uud6",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_135889471",
"indexes": [],
"listRule": null,
"name": "player_stats_per_tournament",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "SELECT\n (p.id || '_' || t.id || '_' || tour.id) as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n t.id as team_id,\n t.name as team_name,\n tour.id as tournament_id,\n tour.name as tournament_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id, t.id, tour.id",
"viewRule": null
});
return app.save(collection);
})

View File

@@ -0,0 +1,96 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_135889472")
// update collection data
unmarshal({
"name": "team_stats_per_tournament"
}, collection)
// remove field
collection.fields.removeById("_clone_2Mic")
// remove field
collection.fields.removeById("_clone_C8ev")
// add field
collection.fields.addAt(2, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_QmWG",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_1o7N",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_135889472")
// update collection data
unmarshal({
"name": "team_stats"
}, collection)
// add field
collection.fields.addAt(2, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_2Mic",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// add field
collection.fields.addAt(4, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_C8ev",
"max": 0,
"min": 0,
"name": "tournament_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
}))
// remove field
collection.fields.removeById("_clone_QmWG")
// remove field
collection.fields.removeById("_clone_1o7N")
return app.save(collection)
})

View File

@@ -0,0 +1,157 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1568971955",
"hidden": false,
"id": "relation694999214",
"maxSelect": 1,
"minSelect": 0,
"name": "team_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "_clone_nYJn",
"max": 0,
"min": 0,
"name": "team_name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1062535948",
"maxSize": 1,
"name": "total_cups_won_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json4249694556",
"maxSize": 1,
"name": "total_cups_lost_by",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_1582517110",
"indexes": [],
"listRule": null,
"name": "team_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "\n SELECT\n t.id as id,\n t.id as team_id,\n t.name as team_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END) as margin_of_victory,\n AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END) as margin_of_loss,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_won_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_lost_by,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against\n FROM teams t\n JOIN matches m ON (m.home = t.id OR m.away = t.id)\n WHERE m.status = 'ended'\n GROUP BY t.id",
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1582517110");
return app.delete(collection);
})

View File

@@ -0,0 +1,55 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// remove field
collection.fields.removeById("number3356599746")
// update field
collection.fields.addAt(9, new Field({
"hidden": false,
"id": "number1329349942",
"max": null,
"min": null,
"name": "song_end",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// add field
collection.fields.addAt(8, new Field({
"hidden": false,
"id": "number3356599746",
"max": null,
"min": null,
"name": "song_year",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
// update field
collection.fields.addAt(10, new Field({
"hidden": false,
"id": "number1329349942",
"max": null,
"min": null,
"name": "song_duration",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
})

View File

@@ -0,0 +1,37 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1358894712")
// update collection data
unmarshal({
"viewQuery": "SELECT\n p.id as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n COUNT(m.id) as matches,\n COUNT(DISTINCT m.tournament) as tournaments,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Win percentage\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n -- Average cups per match\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin of Victory\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END), 2) as margin_of_victory,\n -- Margin of Loss\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END), 2) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id"
}, collection)
// add field
collection.fields.addAt(4, new Field({
"hidden": false,
"id": "number3837590211",
"max": null,
"min": null,
"name": "tournaments",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1358894712")
// update collection data
unmarshal({
"viewQuery": "SELECT\n p.id as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n COUNT(m.id) as matches,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Win percentage\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n -- Average cups per match\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin of Victory\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END), 2) as margin_of_victory,\n -- Margin of Loss\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END), 2) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended'\n GROUP BY p.id"
}, collection)
// remove field
collection.fields.removeById("number3837590211")
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(11, new Field({
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation1584152981",
"maxSelect": 999,
"minSelect": 0,
"name": "free_agents",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("relation1584152981")
return app.save(collection)
})

View File

@@ -0,0 +1,84 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3058431538",
"max": 0,
"min": 0,
"name": "emoji",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2551806565",
"maxSelect": 1,
"minSelect": 0,
"name": "player",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1549310251",
"indexes": [],
"listRule": null,
"name": "reactions",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1549310251");
return app.delete(collection);
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1549310251")
// add field
collection.fields.addAt(3, new Field({
"cascadeDelete": false,
"collectionId": "pbc_2541054544",
"hidden": false,
"id": "relation2052834565",
"maxSelect": 1,
"minSelect": 0,
"name": "match",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1549310251")
// remove field
collection.fields.removeById("relation2052834565")
return app.save(collection)
})

View File

@@ -0,0 +1,85 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1579384326",
"max": 0,
"min": 0,
"name": "name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1843675174",
"max": 0,
"min": 0,
"name": "description",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1340419796",
"indexes": [],
"listRule": null,
"name": "badges",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1340419796");
return app.delete(collection);
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// add field
collection.fields.addAt(5, new Field({
"cascadeDelete": false,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation2029409178",
"maxSelect": 999,
"minSelect": 0,
"name": "badges",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// remove field
collection.fields.removeById("relation2029409178")
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// add field
collection.fields.addAt(6, new Field({
"cascadeDelete": false,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation2813965191",
"maxSelect": 1,
"minSelect": 0,
"name": "featured_badge",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// remove field
collection.fields.removeById("relation2813965191")
return app.save(collection)
})

View File

@@ -0,0 +1,84 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2551806565",
"maxSelect": 1,
"minSelect": 0,
"name": "player",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1146066909",
"max": 0,
"min": 0,
"name": "phone",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_2929550049",
"indexes": [],
"listRule": null,
"name": "free_agents",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049");
return app.delete(collection);
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// add field
collection.fields.addAt(3, new Field({
"cascadeDelete": false,
"collectionId": "pbc_340646327",
"hidden": false,
"id": "relation3177167065",
"maxSelect": 1,
"minSelect": 0,
"name": "tournament",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// remove field
collection.fields.removeById("relation3177167065")
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("relation1584152981")
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(11, new Field({
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation1584152981",
"maxSelect": 999,
"minSelect": 0,
"name": "free_agents",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,28 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// update collection data
unmarshal({
"createRule": null,
"deleteRule": null,
"listRule": null,
"updateRule": null,
"viewRule": null
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_2929550049")
// update collection data
unmarshal({
"createRule": "",
"deleteRule": "",
"listRule": "",
"updateRule": "",
"viewRule": ""
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,108 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1579384326",
"max": 0,
"min": 0,
"name": "name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "json4225120046",
"maxSize": 0,
"name": "arguments",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2551806565",
"maxSelect": 1,
"minSelect": 0,
"name": "player",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3293145029",
"max": 0,
"min": 0,
"name": "user_agent",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1262591861",
"indexes": [],
"listRule": null,
"name": "activities",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1262591861");
return app.delete(collection);
})

View File

@@ -0,0 +1,27 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1262591861")
// add field
collection.fields.addAt(5, new Field({
"hidden": false,
"id": "number2254405824",
"max": null,
"min": null,
"name": "duration",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1262591861")
// remove field
collection.fields.removeById("number2254405824")
return app.save(collection)
})

View File

@@ -0,0 +1,43 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1262591861")
// add field
collection.fields.addAt(6, new Field({
"hidden": false,
"id": "bool1862328242",
"name": "success",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
}))
// add field
collection.fields.addAt(7, new Field({
"autogeneratePattern": "",
"hidden": false,
"id": "text1574812785",
"max": 0,
"min": 0,
"name": "error",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1262591861")
// remove field
collection.fields.removeById("bool1862328242")
// remove field
collection.fields.removeById("text1574812785")
return app.save(collection)
})

View File

@@ -0,0 +1,27 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1340419796")
// add field
collection.fields.addAt(7, new Field({
"hidden": false,
"id": "number4113142680",
"max": null,
"min": null,
"name": "order",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1340419796")
// remove field
collection.fields.removeById("number4113142680")
return app.save(collection)
})

View File

@@ -0,0 +1,46 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// remove field
collection.fields.removeById("relation2029409178")
// remove field
collection.fields.removeById("relation2813965191")
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// add field
collection.fields.addAt(5, new Field({
"cascadeDelete": false,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation2029409178",
"maxSelect": 999,
"minSelect": 0,
"name": "badges",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
// add field
collection.fields.addAt(6, new Field({
"cascadeDelete": false,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation2813965191",
"maxSelect": 1,
"minSelect": 0,
"name": "featured_badge",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
}))
return app.save(collection)
})

View File

@@ -0,0 +1,129 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_4251874343");
return app.delete(collection);
}, (app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": true,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2847519201",
"maxSelect": 1,
"minSelect": 1,
"name": "player_id",
"presentable": false,
"required": true,
"system": false,
"type": "relation"
},
{
"cascadeDelete": true,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation3948571039",
"maxSelect": 1,
"minSelect": 1,
"name": "badge_id",
"presentable": false,
"required": true,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "number1847293057",
"max": null,
"min": 0,
"name": "current_progress",
"onlyInt": false,
"presentable": false,
"required": true,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number2948571040",
"max": null,
"min": 1,
"name": "target_progress",
"onlyInt": false,
"presentable": false,
"required": true,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "bool3049672141",
"name": "is_earned",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "date1150773242",
"max": "",
"min": "",
"name": "earned_at",
"presentable": false,
"required": false,
"system": false,
"type": "date"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_4251874343",
"indexes": [
"CREATE UNIQUE INDEX `idx_unique_player_badge` ON `player_badge_progress` (`player_id`, `badge_id`)"
],
"listRule": null,
"name": "player_badge_progress",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
})

View File

@@ -0,0 +1,173 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1340419796");
return app.delete(collection);
}, (app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1579384326",
"max": 0,
"min": 0,
"name": "name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1843675174",
"max": 0,
"min": 0,
"name": "description",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": true,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "select4029814376",
"maxSelect": 1,
"name": "type",
"presentable": false,
"required": true,
"system": false,
"type": "select",
"values": [
"tournament_participation",
"tournament_placement",
"performance",
"overtime",
"match_milestone"
]
},
{
"hidden": false,
"id": "json1578432567",
"maxSize": 2000000,
"name": "criteria",
"presentable": false,
"required": true,
"system": false,
"type": "json"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3928475610",
"max": 50,
"min": 0,
"name": "icon",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1847293056",
"max": 50,
"min": 0,
"name": "color",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "number4113142680",
"max": null,
"min": null,
"name": "order",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "bool2847519203",
"name": "is_progressive",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "number2948571038",
"max": null,
"min": null,
"name": "progress_target",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1340419796",
"indexes": [],
"listRule": null,
"name": "badges",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
})

View File

@@ -0,0 +1,145 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1579384326",
"max": 0,
"min": 0,
"name": "name",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text2324736937",
"max": 0,
"min": 0,
"name": "key",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"autogeneratePattern": "",
"hidden": false,
"id": "text1843675174",
"max": 0,
"min": 0,
"name": "description",
"pattern": "",
"presentable": false,
"primaryKey": false,
"required": false,
"system": false,
"type": "text"
},
{
"hidden": false,
"id": "json3055524737",
"maxSize": 0,
"name": "criteria",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "select2363381545",
"maxSelect": 1,
"name": "type",
"presentable": false,
"required": false,
"system": false,
"type": "select",
"values": [
"manual",
"match",
"tournament"
]
},
{
"hidden": false,
"id": "bool3646955747",
"name": "progressive",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "number4113142680",
"max": null,
"min": null,
"name": "order",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1340419796",
"indexes": [],
"listRule": null,
"name": "badges",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1340419796");
return app.delete(collection);
})

View File

@@ -0,0 +1,104 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "[a-z0-9]{15}",
"hidden": false,
"id": "text3208210256",
"max": 15,
"min": 15,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_1340419796",
"hidden": false,
"id": "relation4277159965",
"maxSelect": 1,
"minSelect": 0,
"name": "badge",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2551806565",
"maxSelect": 1,
"minSelect": 0,
"name": "player",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "number570552902",
"max": null,
"min": null,
"name": "progress",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "bool2625885481",
"name": "earned",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
},
{
"hidden": false,
"id": "autodate2990389176",
"name": "created",
"onCreate": true,
"onUpdate": false,
"presentable": false,
"system": false,
"type": "autodate"
},
{
"hidden": false,
"id": "autodate3332085495",
"name": "updated",
"onCreate": true,
"onUpdate": true,
"presentable": false,
"system": false,
"type": "autodate"
}
],
"id": "pbc_1063824264",
"indexes": [],
"listRule": null,
"name": "player_badge_progress",
"system": false,
"type": "base",
"updateRule": null,
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1063824264");
return app.delete(collection);
})

View File

@@ -0,0 +1,20 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1063824264")
// update collection data
unmarshal({
"name": "badge_progress"
}, collection)
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1063824264")
// update collection data
unmarshal({
"name": "player_badge_progress"
}, collection)
return app.save(collection)
})

View File

@@ -0,0 +1,29 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(10, new Field({
"hidden": false,
"id": "file538556518",
"maxSelect": 1,
"maxSize": 0,
"mimeTypes": [],
"name": "glitch_logo",
"presentable": false,
"protected": false,
"required": false,
"system": false,
"thumbs": [],
"type": "file"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("file538556518")
return app.save(collection)
})

View File

@@ -0,0 +1,42 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update field
collection.fields.addAt(10, new Field({
"hidden": false,
"id": "file538556518",
"maxSelect": 1,
"maxSize": 6000000,
"mimeTypes": [],
"name": "glitch_logo",
"presentable": false,
"protected": false,
"required": false,
"system": false,
"thumbs": [],
"type": "file"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update field
collection.fields.addAt(10, new Field({
"hidden": false,
"id": "file538556518",
"maxSelect": 1,
"maxSize": 0,
"mimeTypes": [],
"name": "glitch_logo",
"presentable": false,
"protected": false,
"required": false,
"system": false,
"thumbs": [],
"type": "file"
}))
return app.save(collection)
})

View File

@@ -0,0 +1,26 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// add field
collection.fields.addAt(5, new Field({
"hidden": false,
"id": "date3558165700",
"max": "",
"min": "",
"name": "last_activity",
"presentable": false,
"required": false,
"system": false,
"type": "date"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_3072146508")
// remove field
collection.fields.removeById("date3558165700")
return app.save(collection)
})

View File

@@ -0,0 +1,24 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// add field
collection.fields.addAt(14, new Field({
"hidden": false,
"id": "bool3523658193",
"name": "private",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_1568971955")
// remove field
collection.fields.removeById("bool3523658193")
return app.save(collection)
})

View File

@@ -0,0 +1,24 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(12, new Field({
"hidden": false,
"id": "bool3403970290",
"name": "regional",
"presentable": false,
"required": false,
"system": false,
"type": "bool"
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("bool3403970290")
return app.save(collection)
})

View File

@@ -0,0 +1,31 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// add field
collection.fields.addAt(13, new Field({
"hidden": false,
"id": "select3736761055",
"maxSelect": 1,
"name": "format",
"presentable": false,
"required": false,
"system": false,
"type": "select",
"values": [
"single_elim",
"double_elim",
"groups",
"swiss"
]
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// remove field
collection.fields.removeById("select3736761055")
return app.save(collection)
})

View File

@@ -0,0 +1,165 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2582050271",
"maxSelect": 1,
"minSelect": 0,
"name": "player_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "json4231605813",
"maxSize": 1,
"name": "player_name",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number3837590211",
"max": null,
"min": null,
"name": "tournaments",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json2379943496",
"maxSize": 1,
"name": "win_percentage",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3165107022",
"maxSize": 1,
"name": "avg_cups_per_match",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_4086490894",
"indexes": [],
"listRule": null,
"name": "player_regional_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "SELECT\n p.id as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n COUNT(m.id) as matches,\n COUNT(DISTINCT m.tournament) as tournaments,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Win percentage\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n -- Average cups per match\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin of Victory\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END), 2) as margin_of_victory,\n -- Margin of Loss\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END), 2) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended' AND\n tour.regional = true\n GROUP BY p.id",
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_4086490894");
return app.delete(collection);
})

View File

@@ -0,0 +1,165 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = new Collection({
"createRule": null,
"deleteRule": null,
"fields": [
{
"autogeneratePattern": "",
"hidden": false,
"id": "text3208210256",
"max": 0,
"min": 0,
"name": "id",
"pattern": "^[a-z0-9]+$",
"presentable": false,
"primaryKey": true,
"required": true,
"system": true,
"type": "text"
},
{
"cascadeDelete": false,
"collectionId": "pbc_3072146508",
"hidden": false,
"id": "relation2582050271",
"maxSelect": 1,
"minSelect": 0,
"name": "player_id",
"presentable": false,
"required": false,
"system": false,
"type": "relation"
},
{
"hidden": false,
"id": "json4231605813",
"maxSize": 1,
"name": "player_name",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "number103159226",
"max": null,
"min": null,
"name": "matches",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "number3837590211",
"max": null,
"min": null,
"name": "tournaments",
"onlyInt": false,
"presentable": false,
"required": false,
"system": false,
"type": "number"
},
{
"hidden": false,
"id": "json2732118329",
"maxSize": 1,
"name": "wins",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json724428801",
"maxSize": 1,
"name": "losses",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3154249934",
"maxSize": 1,
"name": "total_cups_made",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3227208027",
"maxSize": 1,
"name": "total_cups_against",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json2379943496",
"maxSize": 1,
"name": "win_percentage",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3165107022",
"maxSize": 1,
"name": "avg_cups_per_match",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json3041953980",
"maxSize": 1,
"name": "margin_of_victory",
"presentable": false,
"required": false,
"system": false,
"type": "json"
},
{
"hidden": false,
"id": "json1531431708",
"maxSize": 1,
"name": "margin_of_loss",
"presentable": false,
"required": false,
"system": false,
"type": "json"
}
],
"id": "pbc_15286826",
"indexes": [],
"listRule": null,
"name": "player_mainline_stats",
"system": false,
"type": "view",
"updateRule": null,
"viewQuery": "SELECT\n p.id as id,\n p.id as player_id,\n (p.first_name || ' ' || p.last_name) as player_name,\n COUNT(m.id) as matches,\n COUNT(DISTINCT m.tournament) as tournaments,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) as wins,\n SUM(CASE\n WHEN (m.home = t.id AND m.home_cups < m.away_cups) OR\n (m.away = t.id AND m.away_cups < m.home_cups)\n THEN 1 ELSE 0\n END) as losses,\n SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) as total_cups_made,\n SUM(CASE\n WHEN m.home = t.id THEN m.away_cups\n WHEN m.away = t.id THEN m.home_cups\n ELSE 0\n END) as total_cups_against,\n -- Win percentage\n ROUND((CAST(SUM(CASE\n WHEN (m.home = t.id AND m.home_cups > m.away_cups) OR\n (m.away = t.id AND m.away_cups > m.home_cups)\n THEN 1 ELSE 0\n END) AS REAL) / COUNT(m.id)) * 100, 2) as win_percentage,\n -- Average cups per match\n ROUND(CAST(SUM(CASE\n WHEN m.home = t.id THEN m.home_cups\n WHEN m.away = t.id THEN m.away_cups\n ELSE 0\n END) AS REAL) / COUNT(m.id), 2) as avg_cups_per_match,\n -- Margin of Victory\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups > m.away_cups\n THEN m.home_cups - m.away_cups\n WHEN m.away = t.id AND m.away_cups > m.home_cups\n THEN m.away_cups - m.home_cups\n ELSE NULL\n END), 2) as margin_of_victory,\n -- Margin of Loss\n ROUND(AVG(CASE\n WHEN m.home = t.id AND m.home_cups < m.away_cups\n THEN m.away_cups - m.home_cups\n WHEN m.away = t.id AND m.away_cups < m.home_cups\n THEN m.home_cups - m.away_cups\n ELSE NULL\n END), 2) as margin_of_loss\n FROM players p, teams t, matches m, tournaments tour\n WHERE\n t.players LIKE '%\"' || p.id || '\"%' AND\n (m.home = t.id OR m.away = t.id) AND\n m.tournament = tour.id AND\n m.status = 'ended' AND\n (tour.regional = false OR tour.regional IS NULL)\n GROUP BY p.id",
"viewRule": null
});
return app.save(collection);
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_15286826");
return app.delete(collection);
})

View File

@@ -0,0 +1,48 @@
/// <reference path="../pb_data/types.d.ts" />
migrate((app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update field
collection.fields.addAt(13, new Field({
"hidden": false,
"id": "select3736761055",
"maxSelect": 1,
"name": "format",
"presentable": false,
"required": false,
"system": false,
"type": "select",
"values": [
"single_elim",
"double_elim",
"groups",
"swiss",
"swiss_bracket",
"round_robin"
]
}))
return app.save(collection)
}, (app) => {
const collection = app.findCollectionByNameOrId("pbc_340646327")
// update field
collection.fields.addAt(13, new Field({
"hidden": false,
"id": "select3736761055",
"maxSelect": 1,
"name": "format",
"presentable": false,
"required": false,
"system": false,
"type": "select",
"values": [
"single_elim",
"double_elim",
"groups",
"swiss"
]
}))
return app.save(collection)
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -1,14 +1,14 @@
{ {
"name": "", "name": "FLXN IX",
"short_name": "", "short_name": "FLXN",
"icons": [ "icons": [
{ {
"src": "/android-chrome-192x192.png", "src": "/favicon.png",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png" "type": "image/png"
}, },
{ {
"src": "/android-chrome-512x512.png", "src": "/favicon.png",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png" "type": "image/png"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Some files were not shown because too many files have changed in this diff Show More