mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-12-06 06:36:25 +00:00
Compare commits
3473 Commits
v1.0.0
...
a99f29074c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a99f29074c | ||
|
|
f449a0878a | ||
|
|
097985ab6d | ||
| 11c300ecf7 | |||
| 1e975ce238 | |||
| b39fa4262d | |||
| d7699389bc | |||
|
|
1036e9f3f3 | ||
|
|
b4749f3ed3 | ||
|
|
a20c61206f | ||
|
|
0644a43cb1 | ||
| af4742ae0b | |||
|
|
e401ca98c0 | ||
|
|
a756c875fd | ||
|
|
2ef26e5d02 | ||
|
|
e7d9002156 | ||
|
|
28d2e193aa | ||
| ce5bee11c0 | |||
| 60d59d7f7b | |||
| 464d720ef9 | |||
| 8fc279d2ed | |||
| a45e992339 | |||
| 5f8ddd435a | |||
| d822463fe0 | |||
|
|
3a0cbf786d | ||
|
|
dfb4777a5d | ||
|
|
eea32c47e9 | ||
|
|
6bcd03b18e | ||
|
|
87a3df6897 | ||
|
|
7f7a16e9b5 | ||
|
|
b95dd9056b | ||
|
|
5044f941b1 | ||
| c56f9ea791 | |||
| eb56dd70d6 | |||
| a4f5ef33ff | |||
| 20ab1dae6c | |||
| 7ebc0fe504 | |||
| 019aceb8d9 | |||
| f59cb5d671 | |||
| d4deafe1dc | |||
| 7b2f1c7a82 | |||
| c5fa3ecb01 | |||
| 3602905e86 | |||
| 1f7844b8a5 | |||
|
|
3b76fb2647 | ||
|
|
9a00d5036f | ||
|
|
7c315602cd | ||
|
|
19e0e402da | ||
|
|
ef38468178 | ||
| 2cbbb450c2 | |||
| 9f466ff702 | |||
| 05f7fabb3c | |||
| 5bc6a06b91 | |||
| f7e801e574 | |||
|
|
c663189df1 | ||
| 37ec32b52d | |||
| 188ce3f67d | |||
| 18b2ae2c5f | |||
| a115c83cba | |||
| 27d25f4829 | |||
|
|
d1d6fa9556 | ||
|
|
7878673d8d | ||
| 34761b43ae | |||
|
|
536b03b1ef | ||
|
|
6f37c128ef | ||
|
|
8e3a582f75 | ||
|
|
b5720dca06 | ||
|
|
df26dbca63 | ||
|
|
851ae9eb9d | ||
|
|
8aaf786400 | ||
| 3e40842c84 | |||
| 8ab4146241 | |||
| 0fa25eaeca | |||
| 2194831d86 | |||
| 7124a3d3c6 | |||
| 55a22f1c9e | |||
| 6d58164a6d | |||
| fea9c16515 | |||
| 01883d08cc | |||
|
|
03792487c3 | ||
|
|
87a0fa39f7 | ||
|
|
64dae6ddce | ||
|
|
efec489c96 | ||
|
|
5837b9875d | ||
| 1e1a6a1159 | |||
| 5e63b57440 | |||
|
|
befc0fc84f | ||
|
|
9bbdb3d7f0 | ||
|
|
58690eb428 | ||
|
|
7d47b7642c | ||
|
|
2f3682c226 | ||
|
|
d952444919 | ||
|
|
86cb391425 | ||
|
|
ed6623293b | ||
|
|
7a756dd67c | ||
|
|
e71640a636 | ||
|
|
f4b1ab5fa0 | ||
|
|
90475e47b1 | ||
|
|
c32b58e974 | ||
|
|
211f75f71a | ||
|
|
f0b9f3afdc | ||
|
|
6bc041723e | ||
|
|
82ea4fbe0b | ||
|
|
1749dc814b | ||
|
|
dfc886127a | ||
|
|
4943c94182 | ||
|
|
238702f81c | ||
|
|
c60abb26f9 | ||
|
|
2fb393bb45 | ||
|
|
6bab124331 | ||
|
|
9c57e01426 | ||
|
|
66dedaee29 | ||
|
|
eb31c0d8e6 | ||
|
|
cd65632527 | ||
|
|
a563d8f8ba | ||
|
|
60082ee799 | ||
|
|
6065b73d13 | ||
|
|
32a9dfc11c | ||
|
|
57c135c86b | ||
|
|
5064111a93 | ||
|
|
de718b6a46 | ||
|
|
d7748eb83e | ||
|
|
d730b5f3f4 | ||
|
|
5d17f8f0f9 | ||
|
|
864ee3efa2 | ||
|
|
a14a0145a9 | ||
|
|
a86c361825 | ||
|
|
e17e969bfe | ||
|
|
4708186f5c | ||
|
|
6238c8d9a0 | ||
|
|
7a34bbedae | ||
|
|
e59477eddd | ||
|
|
7368af7266 | ||
|
|
9c03f99524 | ||
|
|
54d4965a9a | ||
|
|
dc7d6919da | ||
|
|
aa180bfcea | ||
|
|
5ab28622d9 | ||
|
|
7f97ea6e90 | ||
|
|
869b0206b8 | ||
|
|
159a4cc77a | ||
|
|
571590a40d | ||
|
|
0943401d03 | ||
|
|
ababb67b1a | ||
|
|
5bf4d70623 | ||
|
|
c495589927 | ||
|
|
5e20257202 | ||
|
|
e8154c31ce | ||
|
|
b1d8d00a9b | ||
|
|
c5c0de5493 | ||
|
|
cfafe12c82 | ||
|
|
594e0233ca | ||
|
|
63c5b40123 | ||
| 1caff13adc | |||
| b4c85f3f28 | |||
| a95bbcb6eb | |||
| 61b38d5b03 | |||
| 563ae85db1 | |||
| 8f0fb42b47 | |||
| 40c13e7ddf | |||
| 0a862c3782 | |||
| b1723c2f2c | |||
|
|
84fcbbbb42 | ||
|
|
93b5b50ba1 | ||
| 4f9d340ef4 | |||
| 5142e2bc25 | |||
| 8f7f388403 | |||
| 5a37327e63 | |||
| d42062679a | |||
| 6bb905b388 | |||
| 39cfd501ac | |||
| 079cc6b4f9 | |||
| 951ae955ed | |||
| 61708857af | |||
| d3c69876d4 | |||
| ebaf6d2177 | |||
| 9bc30ab62d | |||
|
|
f71a65d134 | ||
|
|
ca0722b55c | ||
|
|
22cf24fd8c | ||
|
|
19e3619a42 | ||
| 1db4dea56f | |||
| 03bb51661a | |||
| 01177c2489 | |||
| a86cd969a3 | |||
| bc6c93c9c7 | |||
| 572ddc69ad | |||
| c1b243df9c | |||
| 31500dc3c5 | |||
| 509e7c08cd | |||
| 165d9e8f31 | |||
| 04171af3e3 | |||
| f1ddc7e7b9 | |||
| 5827cc32e8 | |||
| 4dc34641ec | |||
|
|
14c8f25499 | ||
|
|
d98ac3b452 | ||
| 3e7b27342c | |||
| dd9e611bef | |||
|
|
0905e4424e | ||
|
|
64c43a7833 | ||
| 648a03e3ea | |||
|
|
eb6887d189 | ||
|
|
c6133d85ff | ||
|
|
8a1b90f035 | ||
|
|
8348e185fc | ||
|
|
1d78b26a37 | ||
| a8b2e575d5 | |||
| c132afe163 | |||
| ebad8f32a4 | |||
| fb74ed30f8 | |||
| a0be0555e0 | |||
| 002b9e4b35 | |||
| 996ad52159 | |||
| 3b8c21c20f | |||
| b3b58f7a1e | |||
| 7739908a19 | |||
| a3f29c73ec | |||
| 5fdc96db64 | |||
| 9206a30182 | |||
| 1d81981c3f | |||
| a15f28e541 | |||
| 23832929e9 | |||
| 3590963206 | |||
| 5ca1ae938f | |||
| dfdeca35f3 | |||
| 70ff2285d5 | |||
| c5f237771c | |||
| 8fea8b1fe7 | |||
| 816ee8de14 | |||
| a7d5f94dfb | |||
| b7c6ba1e85 | |||
| e348464261 | |||
| 5031cc7163 | |||
| ebfb486363 | |||
| 6cb1ae5fa1 | |||
| ad41c09055 | |||
| 5b320974df | |||
| e01c67b1ef | |||
| da5823deb2 | |||
| 7085a68733 | |||
| 84a855602e | |||
| 57779f02b1 | |||
| becc550add | |||
| 9343bb524c | |||
| fc9695a2dc | |||
| a310ceaed5 | |||
| 4d8806fc7f | |||
| d70b45d1fd | |||
| 5eb067639b | |||
| c364d3a67e | |||
| 666ad9279f | |||
| 02c77d2f32 | |||
| ebbed77650 | |||
| 578dc4bbc9 | |||
| e3ae961b68 | |||
| c33ba01e54 | |||
| 787bfc1151 | |||
| f12718d67f | |||
| df3e0d1ed7 | |||
| 8ffed25580 | |||
| a0739e57f2 | |||
|
|
da79d235be | ||
|
|
ae20682c92 | ||
|
|
99d4a21c12 | ||
|
|
17040e9775 | ||
|
|
f92f93f960 | ||
|
|
1eb832f00d | ||
|
|
b14ada8f48 | ||
|
|
f5f7a187c4 | ||
|
|
938f7ca047 | ||
|
|
b0c1df2827 | ||
|
|
be0b5d1523 | ||
|
|
fbee956876 | ||
|
|
db1c1a5e92 | ||
|
|
b4f9552048 | ||
|
|
1a5b93e5aa | ||
|
|
216a58af24 | ||
|
|
eff7a32b09 | ||
|
|
bd041c1a4e | ||
|
|
48876494f7 | ||
|
|
e4d92ff364 | ||
|
|
d35ab8c894 | ||
| 64f38517e2 | |||
|
|
6b82053aec | ||
|
|
5e91766d15 | ||
|
|
65dc31c88a | ||
|
|
7ad78bd759 | ||
|
|
0befab278e | ||
|
|
8ea88f4301 | ||
|
|
07fdf5e0b9 | ||
|
|
de9559d1a2 | ||
|
|
640bcad39f | ||
|
|
19edd54e37 | ||
|
|
e9a9ecb157 | ||
|
|
36605a9b85 | ||
|
|
432b6681c7 | ||
|
|
34525168bb | ||
|
|
336a925591 | ||
|
|
2f6b946e71 | ||
|
|
47218e289b | ||
|
|
8f1813168b | ||
|
|
7ececfaf6a | ||
|
|
3f994ddd6f | ||
|
|
4e051e7ead | ||
|
|
b48a0fc0e0 | ||
|
|
3fbfc3c289 | ||
|
|
0baaed5973 | ||
|
|
7f2c1fa5af | ||
|
|
89d44078f3 | ||
|
|
ba0311ca29 | ||
|
|
c249397b23 | ||
|
|
52022c1660 | ||
|
|
df2b5a0b1d | ||
|
|
b062222238 | ||
|
|
0432fb59d4 | ||
|
|
7da6b7c488 | ||
|
|
f7701986bd | ||
|
|
9af26df40e | ||
|
|
a4ee343101 | ||
|
|
a11eae6094 | ||
|
|
84941ceb63 | ||
|
|
4a889890e3 | ||
|
|
794c10e590 | ||
|
|
897564337c | ||
|
|
e49e202677 | ||
|
|
b85febeaa4 | ||
|
|
c0bbb973c4 | ||
|
|
a57b2696de | ||
|
|
952a0dbc2f | ||
|
|
6919a310b8 | ||
|
|
76ea0ce2ce | ||
|
|
611490e786 | ||
|
|
725c1dc2e6 | ||
|
|
d77156e5d0 | ||
|
|
8f9190c176 | ||
|
|
90780eae4b | ||
|
|
691d63e15f | ||
|
|
6054e8cb18 | ||
|
|
385130aa05 | ||
|
|
b0daddca17 | ||
|
|
fb049d4c05 | ||
|
|
774ff21b6b | ||
|
|
f899445e13 | ||
|
|
ecb4dae801 | ||
|
|
03d3a1b386 | ||
|
|
bfff409142 | ||
|
|
e9a34967f1 | ||
|
|
fc726f96fe | ||
|
|
dcb551afbe | ||
|
|
1cdf765fec | ||
| d5a747f40d | |||
| 335b003b7c | |||
| e0d5754519 | |||
| 28702b9cdb | |||
| f99a144bc4 | |||
| dc0c412eda | |||
| fcac650322 | |||
| 5379536db2 | |||
| 8c8a974054 | |||
| 616c7140d3 | |||
| 7939cc1c79 | |||
| ec204d04e1 | |||
| 460e4596f7 | |||
| c340a9b559 | |||
| 5d414bea16 | |||
| 46f313d735 | |||
| 30dd1e0b96 | |||
| 61b6eb0c6e | |||
| 8caff21114 | |||
| c90d0e7ffc | |||
| 4188e7bcd3 | |||
|
|
fbfe9dda8a | ||
|
|
2ef8f07a72 | ||
| 8a9cf9fa1a | |||
| ff4155de5e | |||
| 5ed43c85de | |||
| 666e4e2e6b | |||
| 8513cc057b | |||
| 42cce837e4 | |||
| d5c7ee40bc | |||
| dbf63e1b22 | |||
| 4b6f56a293 | |||
|
|
f5cc3e0717 | ||
|
|
5c05531449 | ||
|
|
74a2f50012 | ||
| f6a41fdd63 | |||
|
|
46736b9100 | ||
|
|
cb16a51b38 | ||
| aea2535cc6 | |||
| 287b5350ff | |||
| 015b909a91 | |||
|
|
d5197f563c | ||
|
|
b82ebc90e8 | ||
|
|
c924e330b8 | ||
| 1ea83848f3 | |||
| 4c1ad4da5b | |||
| 7b3f3cc1c1 | |||
| bbe1ad4ef1 | |||
| 4a98b5ff27 | |||
| 8f80d6c96d | |||
| e1059aceed | |||
| 9d8e2e25e2 | |||
| 69838493bc | |||
| 512b378702 | |||
|
|
6986b54d98 | ||
|
|
c8b3c0d806 | ||
|
|
5f94bd144d | ||
|
|
2aadfb1319 | ||
| 3f1c027019 | |||
| 0d4e8d5a62 | |||
| bf1997facd | |||
| 977398c851 | |||
| a697ffb524 | |||
| aa342cfbd3 | |||
| c7103410dc | |||
|
|
549b44ad89 | ||
| 26410734fc | |||
| 985a13c1e4 | |||
| dfe0d52b1e | |||
| 552926d2cb | |||
| 0ad9c86756 | |||
| 1673da0004 | |||
| 4d96ab5451 | |||
| aa5ba7f2a9 | |||
| 16f6399c4f | |||
| 4ff0a1fe09 | |||
| e63e3605c6 | |||
| 886b33d5a7 | |||
| 2f0e077fa1 | |||
| 713f3ca96f | |||
| 69c4e4e6d8 | |||
| 9498dea3fd | |||
| 6823642e33 | |||
| 6c243b8961 | |||
| 43cf343841 | |||
| 3a9cb262f8 | |||
| 36abadc2cc | |||
|
|
5d7cdfdad8 | ||
|
|
ecfb063bc7 | ||
|
|
d100018291 | ||
|
|
405fbb49a0 | ||
|
|
9b015da29c | ||
|
|
4d57278062 | ||
|
|
2b832ab05c | ||
|
|
5454665337 | ||
|
|
76564736bd | ||
|
|
f8adc3cf0c | ||
|
|
3317f6a3b8 | ||
|
|
a83ea2f370 | ||
| 8de7f20ac9 | |||
| 9fbddd7b58 | |||
| 651475876b | |||
| 9d2edc8d06 | |||
| 50b6af78f4 | |||
| d6c5e5281d | |||
|
|
4029f4bb43 | ||
|
|
64f7e7c8be | ||
|
|
f37f95e6f4 | ||
|
|
ab49263b0c | ||
|
|
01002f2975 | ||
|
|
df9622f57b | ||
|
|
09ec19626e | ||
|
|
c56192244e | ||
|
|
e78c4cbf5f | ||
| 5e37a946ac | |||
| f0a0b40b3e | |||
| 1fdabaa63a | |||
| f8aae2f701 | |||
| bb62a2844f | |||
| 317e795d6f | |||
| 3f82f04f65 | |||
| 829497300e | |||
| 14cf634815 | |||
| 96a38e0c65 | |||
| 1685800ce8 | |||
| 9ba853f52c | |||
| c172767843 | |||
| f41be77632 | |||
| 16d6c65eba | |||
| b1f6fdc30f | |||
| 474a0a546b | |||
| e3bde0cd57 | |||
| 11712d3e4e | |||
| be54eb11fe | |||
| 31c183ecf1 | |||
| 23f42f247d | |||
| 8c40e2230d | |||
| 6584983535 | |||
| 071b365a9b | |||
| 4b239db229 | |||
| f2bc916483 | |||
| 6cfeba6c62 | |||
| b4144e61d3 | |||
| b4f303e0fb | |||
| 176d76b246 | |||
| 7ee6c2e666 | |||
| ea7cb8b4d1 | |||
| 0a8553653c | |||
| f76b2732a1 | |||
| 7211699e87 | |||
| 5d6bb63ba2 | |||
| c1e3a67a4e | |||
| 4a3d033562 | |||
| cbc00729cc | |||
| 7a4e203cdd | |||
| 32ecf25321 | |||
| d53d4a26e9 | |||
| c84985766e | |||
| 6a229a090a | |||
| 25e9cec3c3 | |||
| b9354537e1 | |||
| 0e01b7c564 | |||
| 9b89b00b9f | |||
| 32c826e65d | |||
| b22e89423a | |||
| b602185237 | |||
| 2f6943cd6f | |||
| 489336c77a | |||
| 6e2743a4be | |||
| 3e69ea9c8b | |||
| d9d411b377 | |||
| be4b4f016b | |||
| 107e581801 | |||
| 9b68110cf6 | |||
| 505427f0ff | |||
| 9e3a9af0ef | |||
| af97c52e48 | |||
| 953ac5ffa8 | |||
| 791bbf275a | |||
| d1bf1f3339 | |||
| 62e0a123aa | |||
| 55d1551cd3 | |||
| a22edc11ce | |||
| af566150f5 | |||
| 4828fa08cf | |||
| e5b1842432 | |||
| 7857b14a14 | |||
| 12d9ad3183 | |||
| df23cf54d7 | |||
| 9c451a865e | |||
| 5b2ccba175 | |||
| ae0f55ae9b | |||
| c9fcbc8e8f | |||
| 1747454845 | |||
| 095d309bb6 | |||
| 10e200ea5a | |||
| af75985a14 | |||
| 34c891128e | |||
| cafc40d5f2 | |||
| d13fa1bdf1 | |||
| 90b6e2264d | |||
| a9b7d18a6e | |||
| 2fc696dde9 | |||
| f3310e23f3 | |||
| ebda81db97 | |||
| d6d71421fd | |||
| d873c74545 | |||
| 07972b0773 | |||
| e2f02a279d | |||
| 444249dfc4 | |||
| 6d70870ef3 | |||
| 0839f5afb7 | |||
| 9eae11d3b5 | |||
| cd874e382f | |||
| 0cafe1ef40 | |||
| d666cda744 | |||
| 19f346ffb6 | |||
| a29dff1014 | |||
| 45a1198f30 | |||
| 1e65053c37 | |||
| b0dad090ae | |||
| 53867792f3 | |||
| 21435da93f | |||
| 2bf9464c18 | |||
| f5f4ad439c | |||
| d1e38c9e1c | |||
| 249019d6f5 | |||
| 608e0cf12e | |||
| f1f7dde507 | |||
| 058f7a67a1 | |||
| 38d4b20092 | |||
| 37271cc855 | |||
| 481af6bfd3 | |||
| e4e7caf738 | |||
| fa8f43c9bb | |||
| 3537722d44 | |||
| d8906cfe06 | |||
| d32711845b | |||
| cb7edde64c | |||
| 4353b5e911 | |||
| b6ed8f0684 | |||
| b28f00aa22 | |||
| 70be095131 | |||
| fb2a9cf9f1 | |||
| 7beff1eeaf | |||
| f8612fed96 | |||
| 9c98e284f0 | |||
| b3a13882c1 | |||
| e3a04c0e0f | |||
| 4eed03a566 | |||
| ed7e9cd159 | |||
| 11d0461d55 | |||
| 8dd43653cc | |||
| 2d7ff3bc58 | |||
| f740448229 | |||
| d92482d0b7 | |||
| ab5d2ad4e8 | |||
| 7ff794742d | |||
| 4480757df5 | |||
| 87fa87298e | |||
| 51f583965a | |||
| 60d1105280 | |||
| aba86601cd | |||
| 9f330f6683 | |||
| eb2b2a95a0 | |||
| 943d2ac10b | |||
| 6324901d3b | |||
| b3d8ffc89d | |||
| ae9bfcfd41 | |||
|
|
37e0fc3f0e | ||
|
|
533ca0aed0 | ||
|
|
5897899d71 | ||
|
|
3f96da2c7c | ||
|
|
c31c82a3e4 | ||
|
|
1c3314d8a5 | ||
|
|
63df1baead | ||
|
|
4f63f09566 | ||
|
|
bd9f51d260 | ||
|
|
17181cec0e | ||
|
|
7455e79f61 | ||
|
|
67cd8bea9c | ||
|
|
05c2118f1f | ||
|
|
21b7a5cec6 | ||
|
|
6e5b9852c7 | ||
|
|
1d70864e89 | ||
|
|
dfce460153 | ||
|
|
7d31de50c3 | ||
|
|
77ffc2e061 | ||
|
|
1b3f6d41ba | ||
|
|
fa0bb985a7 | ||
|
|
d9a6d052bc | ||
|
|
18b0c34165 | ||
|
|
1f573a2553 | ||
|
|
ce63da1448 | ||
|
|
f6a67341b6 | ||
|
|
4a0e1aa72c | ||
|
|
27a4fc328e | ||
|
|
e45883230b | ||
|
|
8f121d20e3 | ||
|
|
665d614921 | ||
|
|
aa42d807b2 | ||
|
|
4c0f20a33e | ||
|
|
f729ef06a7 | ||
|
|
ebec864187 | ||
|
|
d9e0ca1edd | ||
|
|
d23a24943e | ||
| ebd95c7b0c | |||
| a96813fe30 | |||
| 4df171386b | |||
| 46d98e038d | |||
| 205dda652a | |||
| e26bc931f5 | |||
| 45e769828b | |||
| 466b67afe5 | |||
| 379765b28f | |||
| 71b3ee61af | |||
| 7203155747 | |||
| 9cb9301a35 | |||
| 6a5862ddd2 | |||
| 060c4d74b4 | |||
| 07a41bb175 | |||
| d2bb37b3a7 | |||
| ce66dba0c8 | |||
| 6194d806cc | |||
| 1fca8957a2 | |||
| 39dcfb4418 | |||
| 1369da1845 | |||
| 621c9cec82 | |||
| c504cbbff5 | |||
| 0aa2c9c086 | |||
|
|
099032c165 | ||
|
|
a16d09d692 | ||
|
|
949a367d0d | ||
|
|
0b3d46cc67 | ||
|
|
7d04da2eae | ||
|
|
454855b299 | ||
|
|
265386f289 | ||
|
|
cf7bc456e8 | ||
|
|
0493265b1d | ||
|
|
58cc688a02 | ||
|
|
1a61b18b2d | ||
|
|
0fe423869a | ||
|
|
7193b5a2a2 | ||
|
|
79ee70a1a2 | ||
|
|
73e2eaaf70 | ||
|
|
02c2a2db52 | ||
|
|
a39baa1b50 | ||
|
|
5ebbd2b565 | ||
|
|
35437500ed | ||
|
|
94fe79bcd1 | ||
|
|
5ced62aab3 | ||
| f2294ac97e | |||
|
|
1c8cbab989 | ||
|
|
f2caf1a975 | ||
| b1509f4001 | |||
|
|
4475964eb2 | ||
| 092128add1 | |||
| e68217dbce | |||
|
|
9945d49be9 | ||
| fb908c95ef | |||
| 667249bc81 | |||
| dcbbb6352a | |||
|
|
d0a1ee848f | ||
| e8acb31834 | |||
| a72ecdb21b | |||
| 85186a74c8 | |||
| 822a7029ef | |||
|
|
634c8808a1 | ||
|
|
099d893da9 | ||
| 1d1ea295c0 | |||
|
|
b38adc558d | ||
|
|
893d2b7081 | ||
|
|
e962887569 | ||
|
|
5af6078e67 | ||
|
|
5e3c8c5f6f | ||
|
|
91e08dd5a9 | ||
| cf8814a5fd | |||
|
|
a7760f4e41 | ||
| 8785d5af4d | |||
|
|
0d6219aca7 | ||
| cad5dee882 | |||
|
|
cb831888ee | ||
| c6ad4266ec | |||
|
|
1b1e49f089 | ||
| b6fafa6d68 | |||
|
|
111d216dcd | ||
| 3b9d9f592e | |||
|
|
4b79ec7fae | ||
| d7388d3504 | |||
| 3c681fca65 | |||
| 29f38e42ae | |||
| c0596eb3ab | |||
|
|
5941fc3ee7 | ||
|
|
f121b718a9 | ||
|
|
eaa09aba3b | ||
|
|
31a38d0861 | ||
|
|
9416c06a0d | ||
|
|
60410481c1 | ||
|
|
4be2812780 | ||
|
|
26b839fc4a | ||
|
|
bc7920fad3 | ||
|
|
50e18ee99d | ||
|
|
6b751e11f3 | ||
|
|
28fe8bd9bc | ||
|
|
7c0424fcda | ||
|
|
b96ce5d46f | ||
|
|
e73aa83c83 | ||
|
|
e403c35741 | ||
|
|
a23293c0b7 | ||
|
|
6fa4bd889f | ||
|
|
81cc6d752b | ||
|
|
88fff8ff24 | ||
|
|
8f2b487fb4 | ||
|
|
196f5678df | ||
|
|
db15a5649a | ||
|
|
beb0946802 | ||
|
|
a1cd3ba752 | ||
|
|
7de11919ad | ||
| 60764f6c06 | |||
| 7bd1de3df6 | |||
| 20f8640790 | |||
| e1b428e8ce | |||
| 144e08a99c | |||
| d6d3540b16 | |||
| 09dd78b272 | |||
| 67d7643261 | |||
| d8566355bb | |||
| 68270c1343 | |||
| c8742605ff | |||
| 9991da4fe1 | |||
| 4cf67c3247 | |||
| 69006478cb | |||
| c0e00c0fd4 | |||
| e32fc229f8 | |||
| c48815a71a | |||
| e2fa3af1e8 | |||
| fef9e844a1 | |||
| 4ba7750012 | |||
| df7d109c34 | |||
| 880a85ff8d | |||
| 572e763a61 | |||
| 080da9bc27 | |||
| db0b244286 | |||
| 59533e5f0c | |||
| b3edf31afc | |||
| bf361a79d1 | |||
| 83d8462003 | |||
| 3f5af4b7fa | |||
| 18eb1b02a3 | |||
| 4b0100c52d | |||
| a7f355531d | |||
| aa9476680c | |||
| b4e8fbdd26 | |||
|
|
d7dc92a8ca | ||
| 148fd6b2e5 | |||
|
|
c9f93c5ab3 | ||
| a83fa90482 | |||
|
|
427376524f | ||
|
|
d38d2b7006 | ||
|
|
008dcc6e64 | ||
| 341322d625 | |||
| 5994b8bc02 | |||
| 5a6e29e57a | |||
| 74ee45244b | |||
| c3abd7c61b | |||
| 11e1c59698 | |||
| 22754442ad | |||
| 54131b6762 | |||
| 1943eca52b | |||
| be35a4f0d9 | |||
| 32cc6e7910 | |||
| e489d0c445 | |||
| 31a749b5ed | |||
| be2e5e5ccf | |||
| 6ecaec2dee | |||
| 781a6a8196 | |||
| e9db7b6285 | |||
| 29704e2f26 | |||
| 026ad817bc | |||
| dcbe817d60 | |||
| 0aab4cd84c | |||
| 49f700ca6e | |||
| 8110f7de66 | |||
| 31d545530b | |||
| dbe8e319c8 | |||
| a903d88a66 | |||
| d4fbba8aeb | |||
| d88160218b | |||
| 6d8697cd9d | |||
| c5a676b2a5 | |||
| 431055ec49 | |||
| 8ef4fe5e55 | |||
| 92753b72d3 | |||
| 411f6dcfba | |||
| 076d5a0dbd | |||
| b81c94f2da | |||
| f53e71afff | |||
| 8fe50ad00b | |||
| 65a7f62fd1 | |||
| d0d12cc5f6 | |||
| 4dbb41f008 | |||
|
|
a84ecfcae0 | ||
| 2f85253ae4 | |||
|
|
f522ee6481 | ||
| f14301f9ac | |||
|
|
10e5700904 | ||
| 6d09c3354c | |||
| 0e81c11f75 | |||
| 1f8652e06c | |||
| bcded031e2 | |||
| 161e4943a1 | |||
| 9dc1087273 | |||
| 6391a99bb9 | |||
| 068b19c936 | |||
| 50549f20de | |||
| 825619b11d | |||
| e6e2f8ce91 | |||
| 61151478e4 | |||
| 4cf5adda9a | |||
| 204344955e | |||
| 92b0076bef | |||
| 7ec940a8dc | |||
| b94a6a652e | |||
| 23adc6033e | |||
| 631967567f | |||
| 808ee3a8c2 | |||
|
|
aec2b0d9bf | ||
|
|
c08e233bfd | ||
|
|
b8986d17e4 | ||
| 02ad247468 | |||
|
|
8214deaeb2 | ||
| ecee7255ed | |||
|
|
0ce178595e | ||
| 792e8d5974 | |||
|
|
c61ca4021c | ||
| 15019152d3 | |||
|
|
7cd53ca867 | ||
|
|
b3bfc97469 | ||
| d34ab4f0f0 | |||
|
|
3777908d57 | ||
|
|
1e0618e4be | ||
|
|
f0cabb4f5d | ||
| b77aa39770 | |||
| 4ce8ce7f6d | |||
| 27c5b34c5a | |||
| 6ff00a1133 | |||
| 7d3413a3d5 | |||
| 9905587c83 | |||
| 47554590a9 | |||
| c114af0856 | |||
| 5da13f8f41 | |||
| 51558db1b2 | |||
| 0a729ccf75 | |||
| f11e1b56db | |||
| 71b57c50e7 | |||
| 6e642db7db | |||
| 9ef114b91a | |||
| 71b8cbca4a | |||
| 67511a3aa8 | |||
| 1a11bc3492 | |||
| 82d8a00eb4 | |||
|
|
7deb31aea5 | ||
| e75321879c | |||
|
|
8f98e75534 | ||
| 8ecb036ec3 | |||
|
|
5431d50005 | ||
| 7fcae39567 | |||
|
|
f2e05e21eb | ||
|
|
998cdcb80a | ||
|
|
58951b1a20 | ||
|
|
f7ee8a0a15 | ||
|
|
f894a5db21 | ||
|
|
26c3b093b3 | ||
| 31bfd58160 | |||
|
|
53ecb31470 | ||
| d08febf803 | |||
|
|
aface8f326 | ||
|
|
9983f0c48a | ||
| 27aff3cf8f | |||
|
|
6b4bab7905 | ||
| 5ae04c6dac | |||
| 458eb2c387 | |||
| f6b10738da | |||
| 2cebdcd63e | |||
| 6dec212a2c | |||
| 621d4752ba | |||
| 878d72f3a4 | |||
| 8687cf8de0 | |||
| dfaf5480ad | |||
| e3a537896a | |||
| 25f042fbd7 | |||
| 43a128ebe8 | |||
| 46833ac06f | |||
| 039880d812 | |||
| 18532b80b1 | |||
| cba47ca346 | |||
| 7e6592fa2e | |||
| 8d7d5f3e7e | |||
| bcec4c31d1 | |||
| 06458adc31 | |||
| b093df96ec | |||
| e0ad458d73 | |||
| 4b46963eff | |||
| 34926dab51 | |||
| d61573668b | |||
| aab38f6a89 | |||
| f9ff6c00d7 | |||
| fc60fcc7c4 | |||
| c161d680e3 | |||
| 3f77a1bda5 | |||
| fd57f506c1 | |||
| cca0da4bf6 | |||
| 16fb638231 | |||
| ac7b589d76 | |||
| 3f188e27a1 | |||
| 74f2229dcd | |||
| 67dc251489 | |||
| b69cb05088 | |||
| 6b0e3e7577 | |||
| 74a509ec03 | |||
| 0e4f678e2c | |||
| 269003c25d | |||
| bbbf7b32e0 | |||
| 54ee704ab9 | |||
| c58cb3ef78 | |||
| 194428ecfe | |||
| dcf26b94cd | |||
| d9e3b3a94b | |||
| e8ffe31330 | |||
| fd2f3be663 | |||
| e86ab9c081 | |||
| 66fadb2b20 | |||
| 70d0d480f6 | |||
| 477fb24036 | |||
| 0558222150 | |||
|
|
a430819d22 | ||
|
|
4e24d01b3f | ||
|
|
85a5fd0846 | ||
|
|
6781428791 | ||
| 250c9c8ff9 | |||
| cdf4ab4941 | |||
| 750434465d | |||
| 6cf8947c80 | |||
| 2aada33a6a | |||
| bf16231350 | |||
| 44658ce6b0 | |||
| 03d071acb4 | |||
| 7492bff7c8 | |||
| ff5fc69d41 | |||
| 4d9547952e | |||
| 6d2c9958f9 | |||
| 97a9a406bb | |||
| adaa892a26 | |||
| 2301e48321 | |||
| 710675180c | |||
| 1cc26c5985 | |||
| 31d95d7fd7 | |||
| 12faca5fb5 | |||
| e32c83180e | |||
| 73250f2bba | |||
| 648fb6825a | |||
| 4f73e76a34 | |||
| 68d4958e3a | |||
| 9ff62ef050 | |||
| 9f974de245 | |||
| d53947265f | |||
| 662400da13 | |||
| f143511e14 | |||
| cc221c560d | |||
| 24f44de7c0 | |||
| 9b1bd69eae | |||
| 019be569dd | |||
| 98c6263036 | |||
| 4538d9ce98 | |||
| e8c9dfce56 | |||
| fc9afa5ede | |||
| dbfe836ce3 | |||
| 5535507469 | |||
| 01183df4e9 | |||
| 43465834c3 | |||
| 0a1ca61dfb | |||
| 6402b3cae6 | |||
| c96365fe0a | |||
| 84d9ccb8bb | |||
| 655f677e91 | |||
| 5483e34c5e | |||
| b5460682c9 | |||
| 6a30173628 | |||
| 9aa7815f57 | |||
| 4ee6493eb8 | |||
| fb7635ef56 | |||
| 5e0ba7f630 | |||
| caeef0417c | |||
| b70f66960d | |||
| 89914f6c95 | |||
| 1476505262 | |||
| 29696c378a | |||
| a5483b4ca1 | |||
| c70e11d36a | |||
| c730d47cd9 | |||
|
|
200ea580f0 | ||
|
|
a90af3be49 | ||
|
|
bcdf99576c | ||
| 9b526461c6 | |||
| 1bca9f47dd | |||
| 3f09ca93a3 | |||
| a370048a12 | |||
| b18ab07e3e | |||
| 7fb23bb490 | |||
|
|
1c8571e406 | ||
|
|
40949e1edb | ||
|
|
0f0fac26db | ||
|
|
d6e2d34710 | ||
|
|
c9f854c562 | ||
|
|
f5edea5c30 | ||
|
|
0a137e06f9 | ||
|
|
1398b3112c | ||
|
|
17c4aee408 | ||
|
|
0874c019a2 | ||
|
|
208149963c | ||
|
|
3fec5a1a71 | ||
|
|
e5ccfba4f1 | ||
|
|
fd1e841150 | ||
|
|
bc98bb2d60 | ||
|
|
284db713b3 | ||
|
|
319c65a859 | ||
|
|
d374108b37 | ||
|
|
bd89f4ac32 | ||
| 1b94d783d9 | |||
| b6dff90ccd | |||
| b16c2374c4 | |||
| 30bf2d9207 | |||
| 4424e9b40a | |||
| 32a1e89b27 | |||
| 5d8d5721af | |||
| f9554bd128 | |||
| b1df97f767 | |||
| cf59695e09 | |||
| 1a2ab48c73 | |||
| 015f58226a | |||
| 740bf7adaa | |||
| 7906374553 | |||
| e9c7cfe832 | |||
| b0637aeb6a | |||
| b262aeed5d | |||
| f2c1982afa | |||
| e5bb462e36 | |||
| fabf6b6863 | |||
| 2588eef23b | |||
| a216fd0d67 | |||
| 8d6121d8b0 | |||
| 2510420cea | |||
| 0939289e2c | |||
| 5ca0ef08d4 | |||
| 962672e4ed | |||
| 470a8deae9 | |||
| ec3d48ac79 | |||
| b9c022f614 | |||
| d4257c1d02 | |||
|
|
b3b9ec17a7 | ||
|
|
b9ab977253 | ||
| 404855b637 | |||
| e2d34a993b | |||
| 7868731922 | |||
| bb2630431a | |||
| a6ac5dfb75 | |||
| 9f929eeb7a | |||
| 9f06353f60 | |||
| 9abe7f191a | |||
| 5bf30af564 | |||
| 1634624701 | |||
| 1e2fd919ff | |||
| ce81caaf14 | |||
| 426665c9d9 | |||
| 1c0fdf6f89 | |||
| eaec881594 | |||
| 59aca6d520 | |||
| 988b705a30 | |||
| a51de86c95 | |||
| 23dc0a2f88 | |||
| 26470136af | |||
| f756c001e5 | |||
| e80440d413 | |||
| 6800c90ebf | |||
| f522a42560 | |||
| 401f1b5bc4 | |||
|
|
346264f49a | ||
|
|
c721e2918f | ||
|
|
8ed850469d | ||
|
|
451642c107 | ||
|
|
e937f44ba6 | ||
|
|
5c00c2b0c8 | ||
|
|
7d468eb64d | ||
|
|
ce03f39c25 | ||
|
|
11d0601ae7 | ||
|
|
1e44112444 | ||
|
|
fb36a62104 | ||
|
|
66f2c523cf | ||
|
|
36877596ed | ||
|
|
360ee3e5a2 | ||
| 87314a0e96 | |||
| ce242bf1b4 | |||
| a8fb84daf0 | |||
| 02d1197f6b | |||
| 956ab51e1b | |||
| 02ddd1401b | |||
| a734a40668 | |||
| a558f47558 | |||
| 7047304ae5 | |||
| 9fc5f8a706 | |||
| 7fcaf6490d | |||
| f3f69a0def | |||
| 5ca1b19148 | |||
| 7cc6e7e2d4 | |||
| 4d0a6e5223 | |||
| d1609ddfbf | |||
| 1cdb372079 | |||
| b6f996139f | |||
| 46570410ea | |||
| b9da57fd88 | |||
| 9a54266967 | |||
| 8b7e109be3 | |||
| 86d37514dc | |||
|
|
f490faa796 | ||
|
|
67ea86a955 | ||
|
|
2afccaa813 | ||
|
|
0e230114a7 | ||
|
|
57ae120d4d | ||
|
|
420d5238b2 | ||
|
|
8f60a97043 | ||
| 3aee4bd3e2 | |||
| fe6f4fd43b | |||
| 3547799079 | |||
| c71650d386 | |||
| e78f28ea71 | |||
| 0555fcb9a5 | |||
| 81958f6c3b | |||
| 6e293efc2b | |||
| 371d9148f4 | |||
| 1389abb946 | |||
| 641ce4237e | |||
| 879d2959d5 | |||
| 50002907e3 | |||
| 482ad0dda2 | |||
| 0499be4194 | |||
| 3d6912b60d | |||
| efbec85b67 | |||
| c14d4e0911 | |||
| c71da66bb6 | |||
| 8531049716 | |||
| e960307172 | |||
| e20e327286 | |||
| 81b7d5558e | |||
| df41694811 | |||
| 05d5ac5a75 | |||
| 2fd6b85d7e | |||
| 587dc4f970 | |||
| a4853cb186 | |||
| 3a7a12bfd3 | |||
| 43ae26679a | |||
| eea0f688a0 | |||
| 9e1afca9ec | |||
| c263dd770e | |||
| 0b77072b04 | |||
| 0c0628529c | |||
| cdceb1a734 | |||
| c8c6cccf6a | |||
| caa394e0da | |||
| 5e1e2fb6e2 | |||
| 24035c15bf | |||
| 5d24dcafd5 | |||
| cfe2cabfa4 | |||
| 55b3f1cc8c | |||
| 3d20f063e9 | |||
| c20aa862a9 | |||
| 92ee0b2e7f | |||
| 8253554304 | |||
| 31b7c0e035 | |||
| 30d5d65755 | |||
| 1309749e46 | |||
| b63391d744 | |||
| b47c38ca76 | |||
| 361c07ce53 | |||
| b8b536632d | |||
| 0edf216618 | |||
| 887431a335 | |||
| 7ca441aaae | |||
| c5972bd15f | |||
| b0dac24eea | |||
| cfe6ce9c7e | |||
| 97d9abca62 | |||
| 02ebb6b3f6 | |||
| d6cae5ace1 | |||
| 47729d8373 | |||
| 2a9ea5ecbf | |||
| 4a9a768488 | |||
| 0b0ae9abd3 | |||
| ed19413576 | |||
| 34e145ab23 | |||
| ffa42de4f3 | |||
| 84ce544f4d | |||
| 29d11720a5 | |||
| 7071e07ef4 | |||
| eb2d2009f7 | |||
| c5a502ec32 | |||
| 89952185a9 | |||
| 039c19f61c | |||
| 372c1f6875 | |||
| 3f97ba729d | |||
| 143ac6c721 | |||
| 0759d6c2c4 | |||
| e2e04b88f4 | |||
| d3fc3894bc | |||
| 8d01a87b6c | |||
| a37c4fe723 | |||
| 78e84cf960 | |||
| 4f74ffc5ce | |||
| f53e8e3611 | |||
| 00774230af | |||
| 6f71b98209 | |||
| e7ed36caff | |||
| 6d13f0610b | |||
| 6327e911ad | |||
| 4c7a02b443 | |||
| ed5d677ae1 | |||
| 908e06c88f | |||
| 4c91462b05 | |||
| c40f086244 | |||
| da3a5181df | |||
| 8acb1750b6 | |||
| 96a8ae3de7 | |||
| e0704458ee | |||
| bbc52e58b4 | |||
| 7eaf1e1729 | |||
| ad8673a46f | |||
| 9e4076e1ea | |||
| f59dd37825 | |||
| dcd7e8fad8 | |||
| 72f821f9f2 | |||
|
|
eef868d407 | ||
| 303178b220 | |||
|
|
3fddc0eae5 | ||
|
|
b88e40802e | ||
|
|
e26c830b35 | ||
| b1ebbfe7af | |||
|
|
92b0cc3ef1 | ||
|
|
f918a3bc4b | ||
| 147e0eef36 | |||
| 45698e1d18 | |||
|
|
727f548a80 | ||
|
|
8b4a4f6dde | ||
|
|
874c825706 | ||
| dd24b4258e | |||
| 3182cc8d07 | |||
| 9be48de1fd | |||
|
|
1c3519730b | ||
|
|
2ee313d5f6 | ||
| cd89e757c1 | |||
|
|
aadf300e5e | ||
|
|
2d982b7539 | ||
| c427d080c7 | |||
| c86c838b93 | |||
| 778f9fd9eb | |||
| 257ef354c6 | |||
| 0e12ccd6bb | |||
|
|
b2255651af | ||
|
|
7cd0f07432 | ||
|
|
fbe15f413f | ||
| f27e2344e5 | |||
|
|
b140e091bc | ||
|
|
d075610195 | ||
| f8b587a7b1 | |||
| e4f7c1215b | |||
| 4db01dd910 | |||
| 46543d1f74 | |||
|
|
6992de5e2f | ||
|
|
8f4aecb236 | ||
|
|
d39694ae24 | ||
|
|
04a628e195 | ||
|
|
35a78264b8 | ||
|
|
352013c260 | ||
|
|
c93aa2438b | ||
|
|
b4e22538fc | ||
|
|
34255444bf | ||
|
|
3bb3a508f0 | ||
|
|
b1fb2a0038 | ||
|
|
6151a61c68 | ||
|
|
d142189be2 | ||
|
|
8655c2c0a5 | ||
|
|
b8faaaf4eb | ||
|
|
d90f4f3526 | ||
|
|
d418e0ffb3 | ||
|
|
ae5c41c35b | ||
|
|
52f5989b5a | ||
|
|
1a2b922c16 | ||
|
|
fbb0d7b581 | ||
|
|
9b00782e10 | ||
|
|
64f67e7ef7 | ||
|
|
296305f8f6 | ||
|
|
cf728739b3 | ||
|
|
8dcd4df750 | ||
|
|
124e45261a | ||
|
|
d22a1ad5f0 | ||
|
|
81ef228c7f | ||
|
|
32e71c14b1 | ||
|
|
694dff0f97 | ||
|
|
0b95ca2173 | ||
|
|
58c6b71e33 | ||
|
|
98e3c111b6 | ||
|
|
03992e1b2b | ||
|
|
6ee047695a | ||
|
|
c4ed84f52a | ||
| 6e3086097b | |||
| c54be64769 | |||
|
|
0e0f77ccbf | ||
|
|
750b7d294d | ||
|
|
92b6072584 | ||
|
|
b80b5aa241 | ||
|
|
9d43a39b98 | ||
|
|
c610edc819 | ||
|
|
9034d60565 | ||
|
|
d69567df7b | ||
|
|
2e266a2ad7 | ||
|
|
663190425d | ||
| 02a5733cbf | |||
| 85378091ce | |||
|
|
aabc8fcac9 | ||
| 124eb90fa0 | |||
| 7e2dfea5e7 | |||
|
|
ddc8c2014a | ||
|
|
7d1f227531 | ||
|
|
b79ab3cf4e | ||
|
|
64ee06bac3 | ||
|
|
924a1169d4 | ||
|
|
7e9f7fff56 | ||
|
|
aa47be34de | ||
|
|
3af4308dcf | ||
|
|
3165f9310e | ||
|
|
c90fe218cb | ||
|
|
447c047b42 | ||
|
|
8312c66e07 | ||
|
|
049f4b0c7c | ||
|
|
22b541ca48 | ||
|
|
51c1d7b4d8 | ||
| e2c9a90fa8 | |||
|
|
d0ea0994c1 | ||
|
|
23cb8a3b49 | ||
|
|
cee6993ed0 | ||
| 4acd2be626 | |||
|
|
4681a141e2 | ||
|
|
c3677b7689 | ||
|
|
e29822b57c | ||
|
|
0cf10aec8d | ||
|
|
c95ddbce78 | ||
|
|
b51d478f35 | ||
|
|
1ff5c25d63 | ||
|
|
0c7c9ba2a6 | ||
|
|
b7d6e9406a | ||
|
|
02e29210d3 | ||
|
|
87e45b68ce | ||
| 899e90deaf | |||
|
|
c9de1263d7 | ||
| 5c91f8a637 | |||
|
|
adf534b58e | ||
|
|
d308ac575f | ||
| 55515ccc52 | |||
|
|
2f3e636501 | ||
|
|
492631034f | ||
|
|
4cb1c43f65 | ||
| 3b438e1f91 | |||
| eb27f7a2ce | |||
|
|
8efbff3eae | ||
|
|
a9a8ab38a8 | ||
|
|
74456d9915 | ||
|
|
fa375f4d48 | ||
| 1b5216072d | |||
| c3b4f64941 | |||
| 8fd57da294 | |||
| 719d1609a8 | |||
| 0d82a1349f | |||
| e706f8974f | |||
| 49fc88667a | |||
| 79b685ea8a | |||
| a2df0ae305 | |||
| 200087f2f6 | |||
| 2b493e6d16 | |||
| 662457d0f1 | |||
| 8b1cf61209 | |||
| 10d8c121b3 | |||
| 9b2f6eadc7 | |||
| 1b192c7d05 | |||
| 3c73196f87 | |||
| caa4cf4c8d | |||
| e197062f64 | |||
| 95da0184a0 | |||
| 7b08afde06 | |||
| b340958348 | |||
| 4685f76cad | |||
| dd1580b819 | |||
| dc41880ca7 | |||
| 0c64d9b15d | |||
| cf1e7497e2 | |||
| 8a2fb36cb0 | |||
| 306dbbd024 | |||
| dfc411e5f6 | |||
| d285603716 | |||
| db08bb12c8 | |||
| b20c6c30ff | |||
| d820a1b149 | |||
| 6b55ae6395 | |||
| 606332ba6f | |||
| 629660bb79 | |||
| 73e3c6c64b | |||
|
|
362b4105c8 | ||
| 6f57c4427b | |||
| 7eed5ca957 | |||
|
|
a33fbe5896 | ||
| 3c22637f06 | |||
|
|
426e29c9a7 | ||
| 368c9af655 | |||
|
|
87fecc14cb | ||
|
|
c6c4be0431 | ||
| 24b8e09801 | |||
|
|
97d5312bb5 | ||
| 209e61f490 | |||
|
|
9758639d2f | ||
| 0831c1eb07 | |||
|
|
a30ce584fe | ||
|
|
8ef02ac7e4 | ||
|
|
fcbd9c2601 | ||
|
|
d36d7f06ac | ||
| 1a28103e7b | |||
|
|
ebb87ef2bb | ||
|
|
7c61ba39bc | ||
|
|
6c9f544500 | ||
|
|
88f997011e | ||
| 1902ab0d81 | |||
|
|
1f822413ef | ||
|
|
9ed4e7570d | ||
|
|
861bea46f7 | ||
|
|
9fab7b4df4 | ||
|
|
77794fa6f6 | ||
|
|
37fe57fdf4 | ||
|
|
5ea78f0817 | ||
|
|
df07e75737 | ||
| 42b9e07dbf | |||
| 633a02af06 | |||
| 92100c7c43 | |||
| c78e2ed9e8 | |||
| c7d70e1eec | |||
|
|
c065aa8572 | ||
| 925331383d | |||
|
|
e260414dab | ||
| 76dcdee761 | |||
|
|
c15a849bc6 | ||
| 4b06a46356 | |||
| a62cc600dc | |||
| d11030326b | |||
| b50501907c | |||
| 45d17fdd2c | |||
| 16f01257e3 | |||
|
|
5c8260bcbd | ||
| 4176bd0f0a | |||
| da29d9753d | |||
| ae2cdab9f1 | |||
| 6d702e3786 | |||
| 63e7aac754 | |||
| e7c9eca524 | |||
| b49eb3bffa | |||
| 22dd3c65d2 | |||
| 809bfc49cd | |||
|
|
da21984290 | ||
|
|
7441a3a3b1 | ||
|
|
7bba4fc0d8 | ||
|
|
8e61244e7b | ||
|
|
839548cb44 | ||
|
|
b6c5261499 | ||
|
|
9c98f9e03f | ||
|
|
464bdf201e | ||
|
|
db7c77383d | ||
|
|
cdd2c3c457 | ||
|
|
f9a0063f8d | ||
| a5094e9656 | |||
|
|
ad8dbc3c1a | ||
|
|
c2bb307a25 | ||
|
|
5f5de45be6 | ||
|
|
3e864999b9 | ||
|
|
dc4aa237fb | ||
|
|
e96a592173 | ||
|
|
9657648e0d | ||
| 0bc103386a | |||
|
|
35003b16f8 | ||
| 195ed11c62 | |||
| d9685acbbf | |||
| 18a473b987 | |||
| 2f835acd2d | |||
| 660175f4ed | |||
| e6f4f51aea | |||
| 5108649bf0 | |||
| 58c6815dc3 | |||
| 37b1ffe0ca | |||
| c5024eb79d | |||
| 1612019c7f | |||
| b0f1dc7721 | |||
| fda0fc9dc1 | |||
| 0b3ed7faaa | |||
| 27d769cd07 | |||
|
|
7a827139b7 | ||
| 848819c8cd | |||
| ab86cfca3a | |||
| 4e79f38d1e | |||
| 2618650d27 | |||
| 6aac9d1f26 | |||
|
|
f9623089a2 | ||
|
|
d187c63704 | ||
|
|
4f8a316da3 | ||
|
|
d526c23974 | ||
| fdf9163d7d | |||
| e623818585 | |||
| 70147e4fe8 | |||
| eeaf919121 | |||
| 26314265c9 | |||
| 231f63c1b7 | |||
| aba3b68eea | |||
| 475813c42c | |||
| 8d0e362951 | |||
| ca6b581c85 | |||
| c3ef7bc0e1 | |||
| 286f9f7ea8 | |||
| fa6609eea9 | |||
| 67f6ce308b | |||
| b14ac6ec02 | |||
| fa03d835ed | |||
| 7d3c73a1e9 | |||
| c0f8f22e6a | |||
| 8c038b42df | |||
| 5874e86185 | |||
| 7d617a5d28 | |||
| c84afc8e4c | |||
| 14ec227266 | |||
| 6a431a5bb4 | |||
| 6208fd2b8d | |||
| 37f866456c | |||
| 6ab12b48b0 | |||
| 7f30c187b7 | |||
| 4e4f93bf28 | |||
| a112ecb8e9 | |||
| cc3b6f268a | |||
| 59010797a8 | |||
| e3fdf0af45 | |||
| cc45bb4656 | |||
| 5991916227 | |||
| a75bd48ccf | |||
| 3ea2004267 | |||
| e91e0151ba | |||
| 5e026449cc | |||
| 5047364ad3 | |||
| c5047babca | |||
| f16fa9686c | |||
| 0f091618b7 | |||
| 9f7607cb87 | |||
| 5854c731a3 | |||
|
|
605756a794 | ||
|
|
ddc3e8f61a | ||
|
|
7bc07baf47 | ||
|
|
7f144e8cc3 | ||
|
|
67e1dadfab | ||
| def4aa38d6 | |||
|
|
dadb463042 | ||
| 80a978de5b | |||
|
|
a00b5bf432 | ||
|
|
8592a7a0a3 | ||
|
|
43a189e5ff | ||
|
|
8d2bf0a3a2 | ||
| 1897b1cb51 | |||
| d43549816e | |||
| 99411e0ce3 | |||
|
|
671c3006f4 | ||
| 948c862a70 | |||
| aa3a48f69e | |||
|
|
f11511940c | ||
|
|
990a16cfda | ||
| ba41c40f81 | |||
|
|
84dd2550a1 | ||
|
|
e7df151f14 | ||
|
|
c39260e926 | ||
|
|
79d586dfca | ||
| 7209b7d0a6 | |||
|
|
1f7443336e | ||
|
|
3657493073 | ||
|
|
d983199969 | ||
|
|
b13affb84b | ||
|
|
31ee4bfd55 | ||
| ff4edf7694 | |||
|
|
bfd9c79de8 | ||
|
|
dcb2b8b2ee | ||
|
|
e58b356378 | ||
|
|
1f7050ea6e | ||
|
|
923b1b92cc | ||
|
|
3a1cfcaea3 | ||
| 9e373a3444 | |||
|
|
8e4bf1e1cd | ||
|
|
3cfd3ef3b0 | ||
|
|
4a3a5bfa8d | ||
|
|
79c7dc0ad0 | ||
|
|
ccdd6a8709 | ||
|
|
dfa9d9d233 | ||
|
|
c8fa35b0c4 | ||
|
|
2fd50585ac | ||
| dd34425ee4 | |||
|
|
e9403a8572 | ||
| a15649b9df | |||
|
|
f4135df502 | ||
|
|
28b130540b | ||
|
|
f58c997870 | ||
|
|
141e683d02 | ||
|
|
427c0fbce5 | ||
|
|
11a3e71705 | ||
|
|
d06abca25d | ||
|
|
47774351a3 | ||
|
|
3a4c07dd1e | ||
|
|
53321ee53c | ||
|
|
4b6bc0014a | ||
|
|
ac3438a96d | ||
|
|
777984a1fb | ||
|
|
8b90ae4398 | ||
|
|
257679a19c | ||
|
|
6c9f4c7ec4 | ||
|
|
6c76b772b0 | ||
|
|
07e500e6e2 | ||
|
|
4cac395d9f | ||
|
|
085f2c27a0 | ||
|
|
2b144174a8 | ||
| df8b5658a7 | |||
|
|
5b8cebfc21 | ||
|
|
51d88270e9 | ||
|
|
65d3d3919b | ||
| e47c6500f3 | |||
| 8d6b699f11 | |||
| c707e76bd6 | |||
|
|
3f238fb0cb | ||
|
|
8575bc2151 | ||
|
|
1a394e48c5 | ||
|
|
9baee99729 | ||
|
|
9dcbcce137 | ||
|
|
1c010c92db | ||
| 92d58f036c | |||
| d7cb6f3c96 | |||
| 7e3a1743c0 | |||
| 40f02760ab | |||
| c11e1cc8f0 | |||
| 32ccc54310 | |||
| e5e98f7fc8 | |||
|
|
ed69bff645 | ||
| 317feed931 | |||
|
|
dce3c5f576 | ||
|
|
6f5513f11c | ||
|
|
f5faf06f81 | ||
|
|
eafd5f593d | ||
|
|
0b3f70e48e | ||
|
|
881188c689 | ||
|
|
654faae847 | ||
|
|
243768e019 | ||
|
|
4810db554e | ||
|
|
20963c021b | ||
|
|
b8db1fb151 | ||
|
|
2bf4b93b50 | ||
| 12f3808579 | |||
| 233a498f6b | |||
|
|
f22ba144c7 | ||
| fa839c0201 | |||
|
|
d683943eb3 | ||
|
|
505c51923f | ||
|
|
19871e28ba | ||
|
|
084ef0d68f | ||
|
|
34573359cb | ||
|
|
7725d2534b | ||
|
|
9b8fb7596f | ||
| abffdedf3e | |||
|
|
fec468401f | ||
|
|
ac38f2d6eb | ||
|
|
e7099c9c19 | ||
|
|
71b5a04027 | ||
|
|
053b8dbef0 | ||
|
|
622f49c5ad | ||
|
|
e47df32173 | ||
| 9ed662c8c8 | |||
|
|
3088a8fc88 | ||
| 25fc182bad | |||
| d744235141 | |||
|
|
b28df77237 | ||
| 6e9a4a7ec4 | |||
|
|
78c2916286 | ||
|
|
9ec74446a1 | ||
| cdfe1d0c94 | |||
| af66b31e35 | |||
| c203fa8eea | |||
| 45fb4f0db2 | |||
| 4c4421f243 | |||
| a87c6d1a09 | |||
| cb96e87ad7 | |||
| 13309bce20 | |||
| 26a3c2c984 | |||
| 6458f419aa | |||
| c08134bf08 | |||
| 2ee71f8d8f | |||
| ef0260f3f5 | |||
| 21e1fa6376 | |||
| e015882834 | |||
| a9a74ddc14 | |||
| defa902184 | |||
| cc3f6f611e | |||
| d178b78e86 | |||
| cdf482ac4a | |||
| 97e3257aee | |||
| db2204258a | |||
|
|
c35e41aebe | ||
| 654cc3b2a0 | |||
| 361fedd9bb | |||
| 4cc36f4690 | |||
| 95086777af | |||
|
|
cc50444384 | ||
| cad81b70b6 | |||
| 6336074544 | |||
| 75a05296f7 | |||
| 12742162ff | |||
| 61e25f8b95 | |||
| ad80fd3bde | |||
| 261c97f97b | |||
| f005f2022c | |||
| 27b0c753bb | |||
|
|
aec23ae749 | ||
| a37ace7d46 | |||
| 5393f1bf97 | |||
| 7b45b205a5 | |||
| bb14d9944a | |||
| f3fb96504a | |||
| 2a1b805a7f | |||
| 393c58b10a | |||
| 2756397898 | |||
| 444de0af26 | |||
| 9f8b2da76e | |||
| 9061b2e8d9 | |||
| c8cc2fc057 | |||
| ed200907a5 | |||
| 5049ad25b5 | |||
| f0b5b55b13 | |||
| 9048927c89 | |||
| da13535e3e | |||
| 150a9dbd53 | |||
| 0124275d8c | |||
| e0935d7faa | |||
| a937e445de | |||
| 513f10c629 | |||
| b453fb180c | |||
| 7adb1cd504 | |||
| ec60dccb7b | |||
| a711f74063 | |||
|
|
55ba86bd5f | ||
|
|
76fc857457 | ||
|
|
4ac66686a0 | ||
| 26394ecb7f | |||
| b2b09c58db | |||
| 299b3e2328 | |||
| c249816808 | |||
| 3ce8a49282 | |||
| e02912119b | |||
| 47f364840b | |||
| 13e7d87134 | |||
| d0a7d5766e | |||
| 6af791ca72 | |||
| 95a2766aee | |||
| fee6faceaa | |||
| 7577d757f8 | |||
| 8c6b99e31b | |||
| 497ba48f1b | |||
| d08a86a724 | |||
| 5f61f4d3a3 | |||
| a29cfc0123 | |||
| c96a544021 | |||
| 3d2e837022 | |||
| 740703a845 | |||
| dde38381e2 | |||
| a6b6067b0b | |||
| 1c483fa14f | |||
| 465562b563 | |||
| a44b66caa9 | |||
|
|
b6e0b5b328 | ||
| 9919f69720 | |||
| a346800724 | |||
| b228fbb35c | |||
| f8c6602604 | |||
| ca7dd81452 | |||
| 710e3cf10b | |||
| c8402780f3 | |||
| f1e1fe3e34 | |||
|
|
4488ee3a6f | ||
|
|
83ede9328e | ||
|
|
06525a78e0 | ||
|
|
fbd47b8ea6 | ||
|
|
b93cf56607 | ||
|
|
366d71d869 | ||
| f4895f8e59 | |||
|
|
67c4bdc09c | ||
|
|
2db7ca822a | ||
| b532bb31d1 | |||
|
|
324afc8022 | ||
|
|
8a2343e76b | ||
|
|
9222b2e2d3 | ||
|
|
be0bd81107 | ||
| a978e99e8a | |||
| afa57df5c2 | |||
| 2472df4a3a | |||
| fa7229f6f9 | |||
| fb0af0855c | |||
| 833775fede | |||
| e1169d1d26 | |||
| a0a5788683 | |||
| 516af3ee9b | |||
| 8c1bb7cc1e | |||
| fe38cd65b8 | |||
| d5d15eaea6 | |||
| bbe88382e5 | |||
| 83b1c6b398 | |||
| cd46050c94 | |||
| 0b4f40190d | |||
| 7e10a9162c | |||
| 5de584d6e3 | |||
| 764fff7677 | |||
| 69a2821477 | |||
| 55f55db030 | |||
| 7e95370ce0 | |||
| 30e2a5c867 | |||
| 14f2f8cb8c | |||
| 491150c261 | |||
| b0f9be17de | |||
| bd71be580d | |||
| 871aaa032d | |||
| 1572bd26c5 | |||
| 6c880b0909 | |||
| 9a81da0154 | |||
| 629acf4855 | |||
| 5364359788 | |||
|
|
c7521b4af0 | ||
| 9de087a92e | |||
| 6b37ee8100 | |||
| 8e9aff9a25 | |||
| 2303baf15b | |||
| 4130601856 | |||
| b07f164ace | |||
| 3725ed89db | |||
| bc75576e4b | |||
| 9d00aa6d2f | |||
| 13ade4dc44 | |||
| f7c4e49426 | |||
| efd2ac179d | |||
| 3521d577c1 | |||
| 21414d6c2f | |||
| c1ed16b871 | |||
| d63ad87971 | |||
| 6925c6b225 | |||
| 57842ea31c | |||
| 6076e3af87 | |||
| e9c5e5e627 | |||
| 997cc054d4 | |||
|
|
b45069137c | ||
| 4602f4ee65 | |||
| 36f6cd5631 | |||
| c52d818a1d | |||
| c07d5ca5b9 | |||
| 8303df35cc | |||
| 0d5957c3f8 | |||
| 21841604a3 | |||
| cd18ec1747 | |||
| d617d8c32a | |||
| 4c31e8cd70 | |||
| e0923807c6 | |||
| f67a7b4fd4 | |||
| 8ee280de87 | |||
| 316e5dd208 | |||
| e1f1106c8d | |||
| 5f20d9102f | |||
| 3665070b97 | |||
|
|
af79670292 | ||
| a8eb1c52b6 | |||
| 7824a78e85 | |||
| a8b25b9ef6 | |||
| 111e8f7943 | |||
| 0489ae6917 | |||
| cc1cff8033 | |||
| 8ada5c9da2 | |||
| 2e122d9cd7 | |||
| 7daa10ef8d | |||
| 8308bce42d | |||
| 9e089b21ed | |||
| fccc5b6ad9 | |||
| d9d7fd5000 | |||
|
|
08bb1ccbf2 | ||
|
|
f431e7930d | ||
| 8b1524c155 | |||
| 9445b71c5c | |||
| cd7bde944e | |||
| 67cbf674b1 | |||
| 283ba04f5e | |||
| cbe4fbf082 | |||
| 53d483f34d | |||
| 04d4b7ab1d | |||
| b30c83751d | |||
| 4ffc112196 | |||
| edf482de03 | |||
| ba7931e205 | |||
| 6eb21b7ca3 | |||
| 5a4575a93d | |||
| 2eecb5174c | |||
| da0f415ecf | |||
| 59e1832c3e | |||
| f871f4e1bf | |||
| a2a58422a0 | |||
| 580109666f | |||
| 2641a36352 | |||
| 733817216f | |||
| 9ee35534bd | |||
| 58f0f3d74b | |||
| 7c3f4d3c20 | |||
| e898f49402 | |||
| 9b486c0c55 | |||
| 92ec734276 | |||
| d51ffa6848 | |||
| 7d354249d4 | |||
| 7c79c37d8c | |||
| b2c30ee059 | |||
| 12aa73376a | |||
| 525da02fce | |||
| 2273e99074 | |||
| 526ac1b8ab | |||
| 5c6bcee763 | |||
| 274d2987d2 | |||
| 4688868f04 | |||
| 5a6da7441f | |||
|
|
3e5007de75 | ||
| 41130cab1c | |||
| 996209d205 | |||
| 9e38c3f333 | |||
| aca7c815a0 | |||
| d5d0a6bda9 | |||
| 1e73998aa9 | |||
| c4b42c9961 | |||
| 00cd94d624 | |||
| e846a1cc18 | |||
| d36a20ce5e | |||
| 8b256e4c60 | |||
| e9b29dd814 | |||
| b904f25d33 | |||
| d872e66f7d | |||
| ac3b593b8b | |||
| bfbc66cdc0 | |||
| c576babde8 | |||
| f15b92aae1 | |||
| fb4424fb6b | |||
| d46e6eda64 | |||
| e1c04bef51 | |||
| 5b4dc1e9b0 | |||
| 1d553daeaf | |||
| 69e8340c95 | |||
| dc5fd8f5a3 | |||
| 8a816b587f | |||
| d34d87957e | |||
|
|
76a1b5c38f | ||
| c2a519923a | |||
|
|
c46385d467 | ||
|
|
2e568abc45 | ||
| 9163cef0f0 | |||
| ec88da2434 | |||
| 9255695af2 | |||
| 0c66363920 | |||
| c4cd4ead44 | |||
| e39337f8f1 | |||
| 7140d308fd | |||
| 5a9b846f7c | |||
| c1ecdad916 | |||
| 8392c6ad47 | |||
| dcda8c9072 | |||
|
|
097cbe6cf5 | ||
|
|
f08ea4b8dd | ||
|
|
f1899aef55 | ||
|
|
0e685de325 | ||
|
|
98c02176a4 | ||
| 1252016fff | |||
| 9c1908ecea | |||
| cff4553108 | |||
| 81557741b2 | |||
| 18b56724bb | |||
| 0f3f33a9e6 | |||
| d0901c7267 | |||
| a085650a2e | |||
| e4403cc17c | |||
| 8d8e984669 | |||
| 27dfb71838 | |||
| 3bb0565f18 | |||
| 8da6085df0 | |||
| 52380bcb29 | |||
| a18fa7ebad | |||
| e284f771df | |||
| 00c41fb704 | |||
|
|
9b3d8a390d | ||
| 686239ac7d | |||
| 762b8047da | |||
|
|
57246cade1 | ||
|
|
3fa0cd04d1 | ||
|
|
c078d7a82e | ||
|
|
0ce7e74614 | ||
|
|
1bfaf7b142 | ||
|
|
2c71809f0d | ||
| 0e906b5d86 | |||
|
|
152916b543 | ||
| 1e82c1d0f3 | |||
|
|
8adca4f4ca | ||
| a2624f85dd | |||
|
|
04850b2982 | ||
|
|
9d83f02c8b | ||
|
|
9ffc1d6d92 | ||
|
|
ed3c58da12 | ||
| e2ff1d07a0 | |||
|
|
bd723a07cd | ||
| e07523f612 | |||
| 939aaed64d | |||
| 55ddbf72d9 | |||
|
|
ecbccc5fb6 | ||
|
|
32a7f2cb1f | ||
| 8aa4d3f7d0 | |||
| dde3af188d | |||
| e04093df48 | |||
| 37ed58b201 | |||
| 1217ee3e54 | |||
| a8c7ecc865 | |||
| 0f42775282 | |||
| 7c9bb11d14 | |||
| 3abdb0a4c4 | |||
| 17a4e418a2 | |||
| 25be3d77a5 | |||
| 8758c7447e | |||
| 8a639a3aee | |||
| 7ee28f4557 | |||
| 1b4d1ef45e | |||
| de2308f319 | |||
| f64cf161ab | |||
| 436cbee752 | |||
| 9bd1e50de3 | |||
| 13ad35a9ac | |||
| 266caa3f02 | |||
| ea98598399 | |||
| 83110374f8 | |||
| 1f16271354 | |||
| 0c387fc19a | |||
| 7d423bb049 | |||
| c3bebdec01 | |||
| d26934b602 | |||
| e16fdc1036 | |||
| 0008aa95c2 | |||
| a8d29b5b26 | |||
| 61a8b07f4b | |||
| d3ec0cab9b | |||
| 5e054e12f7 | |||
| e8896b7787 | |||
| 0cf7b1369b | |||
| 7428147100 | |||
| 88f3f7a9ae | |||
| 2ff507f641 | |||
| 3de751c880 | |||
| 9a9e43269d | |||
| 12276ed034 | |||
| 22b68f4dc7 | |||
| 80e928ee43 | |||
| bb3e57ff2a | |||
| 78247acba7 | |||
| e4f00d34bc | |||
| 81d4a13735 | |||
| 5d430f8ee8 | |||
| aba6c873df | |||
| d140a6e392 | |||
| f7603db588 | |||
| 87754ae928 | |||
| ecbf1f5db5 | |||
| 8ddf22d661 | |||
| 13df17544c | |||
| 39ce601344 | |||
| db6670f699 | |||
| bd7991942a | |||
| da594d6df1 | |||
| f6bb77a6a5 | |||
| ea979d9663 | |||
| 646df0f393 | |||
| d24d18ea8e | |||
| 9740a5d0d4 | |||
| 034a554bf4 | |||
| fb1c006cd9 | |||
| 928bfe7876 | |||
| 6485c733bb | |||
| b44bdb8a75 | |||
| 71f56699c8 | |||
| 66fa07f341 | |||
| 2c8467090e | |||
| a18d5d0532 | |||
| c5b0a76982 | |||
| f352085f62 | |||
| 5374666ac9 | |||
| 411bbef65c | |||
| f798f2c025 | |||
| 44c88a885f | |||
| b08bfeceb6 | |||
| be8bf53cc6 | |||
| fee6032e78 | |||
| 64eb70d292 | |||
| dc7f7feab1 | |||
| 8afbc63b85 | |||
| c942794b89 | |||
| e58b5a063f | |||
| dee3af3016 | |||
| 9f42c29714 | |||
| 95bc5b9f7c | |||
| 1cd3704bc3 | |||
| 8bbccd42d5 | |||
| f89ce7a965 | |||
| 7905edaf24 | |||
| 851baa030c | |||
| 567d2ac686 | |||
| 71bf334ac4 | |||
| 2df874e786 | |||
| fe9aa865f9 | |||
| 1e8316e16d | |||
| 380c80bbaf | |||
| a8fe8e2e13 | |||
| 22d0d064f7 | |||
| a5c7aef3b8 | |||
| e1f889f862 | |||
| c6f12ab2a8 | |||
| 31d8dcd6a8 | |||
| 1f3a985d3a | |||
| 6937a982d4 | |||
| 44bb88910f | |||
| 115b9fa4b3 | |||
| b6f9c050e1 | |||
| cbb05ac977 | |||
| f1d72cb480 | |||
| 3a5d6ed2cd | |||
| c15dcb02ec | |||
| 0d91001376 | |||
| 6143125f7a | |||
| ee0f703120 | |||
| 34393bf050 | |||
| 5a461bca7d | |||
| 5fedce71a0 | |||
| c9663ff14f | |||
| 18e301f26a | |||
| 35e37bbe76 | |||
| 5997921eb9 | |||
| e7bedd6a29 | |||
| 7194dcb2c7 | |||
| d62bdfc637 | |||
| ec6b90b33c | |||
| 0c0037416a | |||
| ad9d1ee430 | |||
| d7e5b8b916 | |||
| 3e44d38a90 | |||
| 9493531eaa | |||
| 64031668c1 | |||
| b6d122e449 | |||
| 19f26c6d91 | |||
| 4108434788 | |||
| 01d7f62c36 | |||
| 5cffeea4fd | |||
| e0fb29bd80 | |||
| ad9a59f894 | |||
| ddad768cd8 | |||
| 8ee4446b30 | |||
| 5f936d36b1 | |||
| 08f3e9c06b | |||
| 25b7903c37 | |||
| c6dd7203bb | |||
| 08c7ca99b6 | |||
| 8f7320c298 | |||
| 92bfbf662b | |||
| 44e7323720 | |||
| 78a3ae8aeb | |||
| 041abb732d | |||
| 9ee07794a8 | |||
| 7adfef9f36 | |||
| a3ec224cf0 | |||
| 6d4a6ee52a | |||
| 0add402434 | |||
| 6933aecfa4 | |||
| 93decb02af | |||
| c0acf1c1a0 | |||
| a6c3ab33b1 | |||
| 079a2cdbe3 | |||
| d9022fde9f | |||
| 830a518b86 | |||
| fef04409af | |||
| 4bc54d350b | |||
| e3cc80d32a | |||
| 411e05e998 | |||
| c319f6117a | |||
| a7fd96800a | |||
| a09e229711 | |||
| 7abb66b86f | |||
| f1707db5fb | |||
| 35e1cc7253 | |||
| e8b4a26eda | |||
| 93f93f0186 | |||
| 7c5de3c131 | |||
| a2a3134523 | |||
| 3821950e49 | |||
| d52cc045e0 | |||
| 158058b720 | |||
| df6f9ea71d | |||
| f4464578c0 | |||
| c48ee975c6 | |||
| e60e2306b7 | |||
| af422e62e1 | |||
| 952beccafc | |||
| 06171ae638 | |||
| b3a341847e | |||
| 0d325f2c73 | |||
| 577f3f768d | |||
| 15d479f1eb | |||
| 2b93076146 | |||
| 68c83d8a5d | |||
| 239ad9a4dc | |||
| 5f8d0d1b99 | |||
| 5827a18866 | |||
| 633db89031 | |||
| 1335ae13e8 | |||
| 115d52977d | |||
| 3bb36f5e78 | |||
| 98e9ba0fa7 | |||
| 35a69edfa2 | |||
| 7df1a295f3 | |||
| 85fbd37434 | |||
| 07f0862219 | |||
| bc99408652 | |||
| 461dad2724 | |||
| 6cf76f6535 | |||
| 33a5893da1 | |||
| c14c0a6af5 | |||
| fc7926c2cc | |||
| faf8832572 | |||
| d047e5d48a | |||
| 7baa586738 | |||
| 4c7e335ef4 | |||
| df8a1d3b26 | |||
| 6a1fff227e | |||
| 4810d6cc5c | |||
| 1b73beccf1 | |||
| ff8a791a51 | |||
| 98ead6ac69 | |||
| 8b6741641c | |||
| b035ad07ec | |||
| 25fc5d5835 | |||
| c1cdcddf41 | |||
| 9a5142ced3 | |||
| 586b7900bb | |||
| 0ccb03f004 | |||
| 90676ff8a4 | |||
| 2cacd94f41 | |||
| de3013eebf | |||
| 1c71258984 | |||
| 00831fdb61 | |||
| f5c629cb8a | |||
| 9531795066 | |||
| 71fe10efaf | |||
| b042b4cf60 | |||
| f4980cefde | |||
| 25901cef45 | |||
| d71cd625d0 | |||
| 43350ee1fd | |||
| ae1dee9d51 | |||
| ff2d077a7f | |||
| a383de971a | |||
| 800fa13071 | |||
| 490c68a9f5 | |||
| 1ba03ba909 | |||
| 346750931d | |||
| e612869027 | |||
| 2673ddaf13 | |||
| a3172c7918 | |||
| 8269d80620 | |||
| d1158cab05 | |||
| 09430e56b8 | |||
| 51d3684fcc | |||
| 2968ca3562 | |||
| ee3d8916ed | |||
| acedb77c07 | |||
| 32b1681573 | |||
| 5389e1b783 | |||
| f54a876636 | |||
| 2afed432f7 | |||
| b687d8ea95 | |||
| 2594afc60f | |||
| f5be4a8b99 | |||
| a8b0eeb973 | |||
| ff5ecb474f | |||
| 0a0939fa3d | |||
| 19485a110a | |||
| 79dc4e5f33 | |||
| 7f6721147a | |||
| 20bf6851c0 | |||
| 7adbb5d299 | |||
| 2a3d5de54b | |||
| 18ff6fe71b | |||
| a278e3a565 | |||
| 9f003189e9 | |||
| 050b420f9a | |||
| 2b59a35bf3 | |||
| 7f20a3f36a | |||
| 784289a792 | |||
| d79a73d311 | |||
| 13c0430c93 | |||
| 1e4081a03f | |||
| 275cc70e96 | |||
| 3fccbae676 | |||
| 1fb3088f0e | |||
| 81131edf2d | |||
| 973685ec08 | |||
| 6139deb175 | |||
| 93daed8ec8 | |||
| 08c34a18f2 | |||
| 682dd1093f | |||
| 6806d1f242 | |||
| 394fe4871f | |||
| edc1619962 | |||
| 970d613285 | |||
| 4167704f85 | |||
| 1e0ff4a950 | |||
| 4993d34835 | |||
| 3f9446d46f | |||
| 030a4e0e86 | |||
| d27cf2afc8 | |||
| 5b27eab680 | |||
| 345eabafb2 | |||
| c635fc00c3 | |||
| 2877083ebe | |||
| bb29b7e7f7 | |||
| 7aca2b2d6d | |||
| fe5ba9a84a | |||
| 2067a58c70 | |||
| 8b2c0f732f | |||
| fbd76594ea | |||
| a055dfac5b | |||
| e772a798f7 | |||
| ed9c4ebb68 | |||
| 0439e1f37a | |||
| eb4f88bc60 | |||
| 666477e448 | |||
| 6787400056 | |||
| 2ecda09ee4 | |||
| 0bd497279d | |||
| 1023cf0120 | |||
| f4dc4c315d | |||
| 8b92d0525f | |||
| 530811b699 | |||
| cee7ca2ca0 | |||
| c26a95ed60 | |||
| b43b6d6f75 | |||
| c969908ff5 | |||
| a5638203a6 | |||
| 042cc018cb | |||
| 42d2b8009c | |||
| 5264214eb3 | |||
| bba1fd964d | |||
| 5821a79af9 | |||
| 9dde2475fc | |||
| f90d2d2f04 | |||
| b4ba255afc | |||
| 1abee46f6d | |||
| 0fbfd5731d | |||
| 6265f9bc2c | |||
| 8c910fa532 | |||
| 08d2bb2fd5 | |||
| 885b784f92 | |||
| 7c56ec8285 | |||
| b21fc9db25 | |||
| e06989f2ae | |||
| fab2784e16 | |||
| b323736774 | |||
| a0c1fdbd74 | |||
| 2db6255fae | |||
| 898e7b272e | |||
| f0e6ee5835 | |||
| a01ce5c11c | |||
| c7e6114480 | |||
| e3908da7a9 | |||
| 93608c9549 | |||
| ecc2b70e43 | |||
| 92a3c2945c | |||
| 0be1bf4f15 | |||
| 65b0b22b01 | |||
| 7b4b572802 | |||
| 049474e4bd | |||
| 5c11372543 | |||
| de0eb0b4e9 | |||
| e60a1e5a25 | |||
| 27ae6b512b | |||
| 5f89c6e498 | |||
| b760287ca2 | |||
| e80543e0a2 | |||
| af6436c3d8 | |||
| f65e4bc417 | |||
| 68c28ed358 | |||
| fed94eab1b | |||
| 1dbee1d79f | |||
| 09b146928c | |||
| 983b558510 | |||
| 9fd7ca35f1 | |||
| e886fbcc5f | |||
| 853bfd5f9b | |||
| 6ba0786608 | |||
| b33b428d3b | |||
| 19c5efaed0 | |||
|
|
53285059c5 | ||
| a8e4b74fba | |||
| 2374c2d22e | |||
| 1df8d6589a | |||
| 90498eb117 | |||
| 0cc6274894 | |||
| 085d337fb7 | |||
| a56c06ca33 | |||
| d026f9b418 | |||
| 7803f8f11a | |||
| ec90862262 | |||
| 5efcfb8b61 | |||
| 7193a599b7 | |||
| 6ec387e724 | |||
| c3e8f87562 | |||
| ac846ad351 | |||
| 647a4c3782 | |||
| 1901c908ff | |||
| 797ea13982 | |||
| 6b006e78e5 | |||
| 733d6c8c7b | |||
| d3d59443fa | |||
| a74fbce48e | |||
| cecf7b0f74 | |||
| 8a862c86a5 | |||
| e6a9e2c7da | |||
| b147ee8850 | |||
| 2d8bd207ed | |||
| 3a125263b7 | |||
| a6a26cdf8d | |||
| ec1184d5c9 | |||
| ae518cafe5 | |||
| 3ae167bd16 | |||
| 82c342c7db | |||
| 0e10f29cd2 | |||
| 9c03bac804 | |||
| 6ff41c55fe | |||
| 992b64df8a | |||
| 53ac4a2050 | |||
|
|
d9f4a6ff8d | ||
| 521a68b4c7 | |||
| 8e74413e18 | |||
|
|
5f7ef2a18e | ||
|
|
fa969fa702 | ||
|
|
4aaba75c18 | ||
|
|
b98df08f44 | ||
|
|
4332bfee9b | ||
|
|
4430450431 | ||
|
|
aea6253094 | ||
|
|
37acfa1eec | ||
|
|
0955da489c | ||
|
|
2544f8f333 | ||
|
|
409a613e43 | ||
| 14da738cc8 | |||
| 7a8cc242ae | |||
| c0e6012d70 | |||
| b6df0ba2b1 | |||
| b9c1c766d6 | |||
| 802a872880 | |||
| 415b5b45b9 | |||
| dd9e0b4fc7 | |||
| 6c9a0ea576 | |||
| 995f50cc21 | |||
| 2a491ded00 | |||
| 0517f85d76 | |||
| f1c3844bd3 | |||
| 7309a435c5 | |||
| 2c26072560 | |||
| 425de0b315 | |||
| 30cb171612 | |||
| 43ba1bb449 | |||
| d630f29753 | |||
| 7b13733c9e | |||
| ca6ec6a8ed | |||
| efe07e39c2 | |||
| c738e5bda3 | |||
| 9d7e520168 | |||
| bc61c2e0ff | |||
| f82e720aeb | |||
| afacf61fbc | |||
| 677cab6a57 | |||
| 9df5eb4758 | |||
| 892060334c | |||
| f04d1dcf1e | |||
| 6bb23d7acd | |||
| aef30fecaa | |||
| 5f33172297 | |||
| 23feea4acc | |||
| e9738c2bc1 | |||
| e5954712e2 | |||
| 5d47a28ba6 | |||
| 95b1caeb26 | |||
| 049965cdc9 | |||
| 88406c6ee5 | |||
| 80d1b1af0f | |||
| d3a1c57111 | |||
| 8f824654e0 | |||
| 2d36c6ad6e | |||
| 4193b6b391 | |||
| b312403201 | |||
| a6076eb856 | |||
| 1cb54f44b1 | |||
| 1c2049f918 | |||
| 5c83162a29 | |||
| 45091da5ac | |||
| b0c0ca0e0f | |||
| 46cf60a3b9 | |||
| 68304af99e | |||
| 8805f0f804 | |||
| 570f08755d | |||
| 512aae252c | |||
| e53a90a75d | |||
| b2a0dfa702 | |||
| 439407ea59 | |||
| aa26fd7d54 | |||
| ca35611925 | |||
| c3dae2c704 | |||
| 9fe24cd115 | |||
| b97942b10f | |||
| c528d4dd78 | |||
| ab6e8962e4 | |||
| 6407579dd6 | |||
| da4b877b0d | |||
| 65a254d808 | |||
| 08d9b9d950 | |||
| a374e23821 | |||
| 329b6fc67e | |||
| b4281188d4 | |||
| 1d6d27c0ee | |||
| 721d9937e0 | |||
| c5c527ec10 | |||
| ff154b03f3 | |||
| 8e861faa24 | |||
| fabafcb78b | |||
| e668cdd89c | |||
| 656dc493b8 | |||
| 3d697fbcd0 | |||
| 0b55bd7dbb | |||
| b180429505 | |||
| 472718c595 | |||
| 6e6098b03a | |||
| e1b555781c | |||
| f9d6a816b0 | |||
| d10eb66542 | |||
| 8318a87d5d | |||
| 1b140661ba | |||
| 813d998bfb | |||
| a270edbde4 | |||
| e034d51ae0 | |||
| f110509ea0 | |||
| 5f787bedfe | |||
| b552ca7c51 | |||
| b3ddac60f6 | |||
| 91c88e7f43 | |||
| 5d7fc1ca0c | |||
| d063bd479c | |||
| 47e6c5f978 | |||
| df7b6ae71d | |||
| 80a6ac0c80 | |||
|
|
1dd5c6b9f4 | ||
|
|
fdd3b72e52 | ||
|
|
5664465df5 | ||
|
|
9a55262856 | ||
|
|
df451f56b1 | ||
| 9bee5df036 | |||
| e843b73472 | |||
| 7a99bae541 | |||
| 650ed8056e | |||
| 5ae386bac3 | |||
| 9963bf6179 | |||
| c7061c8c75 | |||
| 2919e07606 | |||
| b406ea6088 | |||
| 7f6da9d79e | |||
| e921095226 | |||
| 2b005d6ea5 | |||
| d4ab42d98f | |||
| a8ab835365 | |||
| c0c39ab4d0 | |||
| 55a246d806 | |||
| 85ba643bcc | |||
| 022cd239d5 | |||
| 4a035327ef | |||
| 78e30cd516 | |||
| 14540081be | |||
| 883f39e4b5 | |||
| 213d5b74b5 | |||
| c0cf11ee79 | |||
| 2e0a0e5eb0 | |||
| 7b035411c0 | |||
| fb04daff9f | |||
| 71d29a303f | |||
| f1cc396bfc | |||
| a483955763 | |||
| 3a2e5f5eb1 | |||
| b51c77dfa7 | |||
| 2603c1b29d | |||
| dd62f8f8ac | |||
| e176664bb4 | |||
| e8bd663ad7 | |||
| c67a11b8b6 | |||
| 10924e2410 | |||
| 8b0faf8a0b | |||
| 0fc23e2c86 | |||
| 0f7a8bd4f3 | |||
| 8640fefc8b | |||
| 21c4a7c577 | |||
| c453422317 | |||
| 60977f3631 | |||
| 57b4463c01 | |||
| fbc8e14125 | |||
| e13f2a7e42 | |||
| d593eb3134 | |||
| 6f81eeef7e | |||
| 991e5004d7 | |||
| 91498f45cd | |||
| 3d53693e68 | |||
| 1c7c4d3ab2 | |||
| 7451452088 | |||
| 7403be6519 | |||
| 7de920154c | |||
| cdccc9bc8b | |||
| dab297413f | |||
| 257ead2415 | |||
| 445f193dbb | |||
| bf68f6b52c | |||
| 7895b535fa | |||
| 545e729f2e | |||
| dfe061e611 | |||
| 21dffc846e | |||
| e3824fc740 | |||
| ac55a56e4a | |||
| 5e95516190 | |||
| 9304c7ad2f | |||
| 0272b82166 | |||
| d5a839b3c6 | |||
| 5d26dd1945 | |||
| a6eb744cc9 | |||
| 6e530786b9 | |||
| ce17229985 | |||
| 869c6fac12 | |||
| 2c465d5249 | |||
| a27b4072be | |||
| 25e4978583 | |||
| 457a3c6709 | |||
|
|
ddb9b2926d | ||
|
|
1e5ef4003a | ||
|
|
f246b6ce32 | ||
|
|
b246f43c70 | ||
|
|
fbf660d532 | ||
|
|
db3f03dc6c | ||
|
|
ba16d7873f | ||
|
|
ee33c71dfe | ||
|
|
1eadcb6521 | ||
|
|
b3a9c9dae8 | ||
|
|
c475691939 | ||
|
|
e6ac7e502c | ||
|
|
30581a4ee1 | ||
| a54311c53f | |||
| 0c9711baea | |||
| bffd71fea5 | |||
| 7e6e56a366 | |||
| baa78b9417 | |||
| b28bf5803d | |||
|
|
ee3eed6c23 | ||
| bf831dba45 | |||
| a43d54ee1d | |||
| f536713f04 | |||
| f438e80d3a | |||
| 38cb4c4f28 | |||
| 1178e8fd6c | |||
| e2414f94f3 | |||
| c87001d91e | |||
| 4cf9609153 | |||
| 83877d8dab | |||
| bab97fba5f | |||
| c289161400 | |||
| 7810f626c6 | |||
| 0294f538eb | |||
| ce07cece06 | |||
| 74013cf113 | |||
| 1eb7198e6f | |||
| c24c8914bf | |||
| e5dde472c9 | |||
| 7ccfab4d8b | |||
| 0bc6512bcc | |||
| e70174cb24 | |||
| fe155898bb | |||
| bd48032a50 | |||
| e124113d41 | |||
| 6974ef0163 | |||
| 015bfe983c | |||
| 275a892ee1 | |||
| 0ac4a1daa0 | |||
| 7bf3ba2443 | |||
| cfa12b0fed | |||
| 2f309440cc | |||
| db3d7f1f2e | |||
| d1febd13fd | |||
| 6fbd00a38f | |||
| 948c98f95b | |||
| 4139362677 | |||
| b9932383c6 | |||
| aa4ea2134a | |||
| 48f77c2f7a | |||
| 6567e78c8c | |||
| 32050bcdcd | |||
| 2aa10c9b1f | |||
| 4f9c06c7bd | |||
| b6bb190e69 | |||
| 4135fc5703 | |||
| c1ba51b903 | |||
| a218271001 | |||
| f4442fad0c | |||
| 87fdc1a444 | |||
| eed764c6e0 | |||
| f9a2185748 | |||
| 4f7c449ea7 | |||
| 7dab3fd094 | |||
| 49d225532c | |||
| b2c67e7df4 | |||
| 07259a7635 | |||
| d63c601812 | |||
| ecd1b55fc6 | |||
| 4c955e4115 | |||
| 14319a5c89 | |||
| 0ac388f3eb | |||
| fbf43fb10f | |||
| e0f41be887 | |||
| bd84989454 | |||
| e0b2e8e937 | |||
| f2ebc5659e | |||
| b72553aa11 | |||
| 0ed35e0354 | |||
| 29d846a944 | |||
| 9609fb150a | |||
| 9a5c4ab087 | |||
| f59f9a7ba0 | |||
| 8a925b35dd | |||
| 3e31c51f65 | |||
| 3c959ff532 | |||
| fa6deb7f82 | |||
| b7f5ede7cd | |||
| b2e0363594 | |||
| 73f4187087 | |||
| 1f63991ca0 | |||
| 8ea8d3ff57 | |||
| 070a94d87d | |||
| 22348e1554 | |||
| 0e2950ab69 | |||
| 2b0f6837a8 | |||
| ee4cc6706e | |||
| 948f8694f2 | |||
| 29314d473f | |||
| 5f177e9338 | |||
| d7dd2bd138 | |||
| ba37786038 | |||
| 179b79c926 | |||
| 411054afe9 | |||
| 067eafbbe4 | |||
| 253e256458 | |||
| 238fdf5d40 | |||
| 13ddeaaf0a | |||
| 07afbdaa4b | |||
| 0ff74d331f | |||
| 3eff6228be | |||
| edc6d11824 | |||
| e9aaa184cf | |||
| e8351e960d | |||
| 0ff03fb413 | |||
| ba83edd26c | |||
| eed058c891 | |||
| 48f82a6f13 | |||
| 177391a74c | |||
| 9ea177e2f6 | |||
| ca6a4d8ab5 | |||
| c5a2a05af6 | |||
| 0034f93caa | |||
| d01ef02389 | |||
| e8f2a72516 | |||
| bc66d35497 | |||
| e1d0d2c186 | |||
| e7c878b30a | |||
| 8fb46099d4 | |||
| 72628519a5 | |||
| f7375428b6 | |||
| ead8a44fe0 | |||
| a1aa71e271 | |||
| a72691a81f | |||
| 3be409ec70 | |||
| 9409197766 | |||
| 1a92094eaf | |||
| fa47ccfd85 | |||
| 6b4468bf7d | |||
| b0927b8388 | |||
| 593dc3ca55 | |||
| a124a1a71f | |||
| 0e71242fd3 | |||
| 556b2a2317 | |||
| 4bfd7c348d | |||
| 972007f9e5 | |||
| 9bfd1a78bd | |||
| 05d8332358 | |||
| dd62611588 | |||
| f0d6402529 | |||
| d73a37fbed | |||
| 9084a78420 | |||
| 1769aa45c9 | |||
| 3386263fbe | |||
| 0eb7a58494 | |||
| b995b86cee | |||
| a825912ad3 | |||
| e788dea8a4 | |||
| 7622420f06 | |||
| 66fff153e1 | |||
| a33171ba87 | |||
| 4bb7b4b6c4 | |||
| f8e887c1f2 | |||
| 47dc244a15 | |||
| f872deffb8 | |||
| 5489f601d2 | |||
| d77813d82f | |||
| b0f9d7906a | |||
| eec08d4a3e | |||
| 320c45096b | |||
| 68a83c31be | |||
| 88eb325079 | |||
| b2f4933a5f | |||
| e12a1d369d | |||
| c4f1e420f8 | |||
| 15a4280a36 | |||
| 3e39ef1705 | |||
| 0dd3a6190e | |||
| f03fbd42df | |||
| dfc86e4b96 | |||
| 167e2853f0 | |||
| 1698de332c | |||
| 377d85c7f1 | |||
| 68a3af0b52 | |||
| 5b7bfa79f9 | |||
| d7dee62e97 | |||
| 4368f0cbe5 | |||
| 12f35fefc4 | |||
| 49a1dad51e | |||
| 40c0403962 | |||
| 068e153ae9 | |||
| 42869cb28f | |||
| 56a96540b4 | |||
| 5a6bb57fd5 | |||
| 44521d0d5f | |||
| 43a4a0e6ee | |||
| 1373d0ce26 | |||
| c9c1ac5126 | |||
| d136b98411 | |||
| 7e0e359f46 | |||
| 86427cf6ef | |||
| c7db07f7ba | |||
| d3fbec1a9d | |||
| c621c45695 | |||
| bb456738f0 | |||
| 0112acdd2f | |||
| ae6121f3aa | |||
| 9b606cf9ac | |||
| 234d3c9c7c | |||
| ce4663d512 | |||
| 97de98b89a | |||
| 76d0c53cc1 | |||
| 8b102b083f | |||
| e13f9c6aa8 | |||
| e8b929d4ca | |||
| 034f048883 | |||
| aceb6ee14c | |||
| 7698a1490e | |||
| 59a25fbee9 | |||
| fc598838c4 | |||
| 11712b5b13 | |||
| d2799adad0 | |||
| 872639dab9 | |||
| e4562648ba | |||
| 941137ff51 | |||
| eaec736676 | |||
| 9ba7cb1ba5 | |||
| 2ce8e7f866 | |||
| 5a618a8db2 | |||
| d21e4ffba2 | |||
| 28855046b8 | |||
| eb351f9bed | |||
| 0e0bb17ad9 | |||
| e95f001dd2 | |||
| 0d4b9fe488 | |||
| 4be4fa2c4f | |||
| 8d4da63855 | |||
| 3a9941f69f | |||
| 01486dfbec | |||
| fb2280798a | |||
| 29f874e390 | |||
| dc6bdf7715 | |||
| 6022f5b9d2 | |||
| 30b6d4791f | |||
| e5c185627d | |||
| 573852d852 | |||
| 385c580358 | |||
| ec2b0e0f78 | |||
| c3816b709c | |||
| 4b8528af65 | |||
| 69ba636d74 | |||
| 1b035035ce | |||
| 4dc0d6a97c | |||
| 34e4036f66 | |||
| 1dd3e37a37 | |||
| e79e568a4c | |||
| 1641ba2898 | |||
| 31d9507033 | |||
| 67deef897f | |||
| 3b84161ec5 | |||
| a04bffbec9 | |||
| 7ad1383acb | |||
| 4217d471c4 | |||
| 5f6e96333c | |||
| 7962d3a16f | |||
| de6d831498 | |||
| be076616cc | |||
| 0a38fdd8d3 | |||
| 2fa5587fbf | |||
| 4bfffa579f | |||
| 010fab93d7 | |||
| 6f3eefb611 | |||
| 328b378978 | |||
| 1f518c2d33 | |||
| a1a5e665fb | |||
| 70afa7cc9b | |||
| 5f1ea76cad | |||
| 462aa44473 | |||
| dc0f0df92f | |||
| 0ec22766ba | |||
| 3549f8b2d2 | |||
| 8a3a2fecf5 | |||
| 5c8c7b8804 | |||
| e88d4c2ca7 | |||
| 83a91eea97 | |||
| 13ef0ba14a | |||
| 938ccd9215 | |||
| d394c390f7 | |||
| 4c705a4605 | |||
| 105aa7874f | |||
| 27ab3b0b21 | |||
| 03af604e94 | |||
| 05b8f5b400 | |||
| e8654ca181 | |||
| 68b4e71281 | |||
| b89617d125 | |||
| 70466aba7e | |||
| 5ddfe1ddb2 | |||
| 25418071fe | |||
| a9d4fb769d | |||
| 1faf234255 | |||
| c06afcd56d | |||
| 607b973dbd | |||
| 22e136d9fd | |||
| 7b2f44d19a | |||
| 74c31a0f18 | |||
| fd3c2e5f9b | |||
| be3724c6b1 | |||
| b8e6c21538 | |||
| 60afaf6211 | |||
| 090f305f02 | |||
| 0a30e5022b | |||
| 6733fe9c40 | |||
| 76ce4b8058 | |||
| 36f4bbc7e7 | |||
| 30d52c6061 | |||
| 7018915686 | |||
| a1fb4ce8eb | |||
| 5446dbce83 | |||
| 93b36f1bd4 | |||
| ab12de8287 | |||
| 3cdfc91c93 | |||
| a6c8105d8c | |||
| ca99421624 | |||
| 5c270a0362 | |||
| 19ae15f53f | |||
| 386c6bf268 | |||
| e075306363 | |||
| 9591350c3e | |||
| 45b18eb8e6 | |||
| 0f59798e73 | |||
| 7b56924466 | |||
| 3d30d65184 | |||
| 9bb896e84b | |||
| e0ee364929 | |||
| 8e9cd2d2f3 | |||
| f58597379b | |||
| e6f263b6de | |||
| c69864d0f5 | |||
| ae901b257b | |||
| fdc537d69a | |||
| f12c1053ca | |||
| 6435114384 | |||
| c55c3bca72 | |||
| 83b8627717 | |||
| 95ccceb259 | |||
| 31d8f5f7b9 | |||
|
|
f1660bbc74 | ||
|
|
5d72fe44ab | ||
| 714b7d845a | |||
| 066229eb0e | |||
| 0f96f02df5 | |||
| b753fdd2b0 | |||
| f9df0b8a12 | |||
| db41c55230 | |||
| 58b799edb4 | |||
| 94d3b8676f | |||
| de7aa58195 | |||
| 5d4e251251 | |||
| 45baa804e6 | |||
| 2c49848dd7 | |||
| be499b3085 | |||
| 4fde5fb65f | |||
| 4c84f857e7 | |||
| 1e55b7bf50 | |||
| 479d3e9f07 | |||
| dcf14c6e6f | |||
| 96d5ca0f3c | |||
| 32fa639d4a | |||
| 69760dd5f8 | |||
| 1237a9157c | |||
| fee59833f2 | |||
| 12f685010b | |||
| 6ac8af9946 | |||
| e8d4c128da | |||
| d2a5d4b3ec | |||
| 7797a7bf53 | |||
| e5430a7aed | |||
| 88cd4a3ec2 | |||
| 8650c2d4c8 | |||
| 1734e57d43 | |||
| 28d0fc161b | |||
| 8ebc767b76 | |||
| bbe8a19189 | |||
| 4bffd359b9 | |||
| 08bbfd91fe | |||
| 1e3cd64ec9 | |||
| 663de0e720 | |||
| 7cffd75749 | |||
| 327ea4912a | |||
| efa743a714 | |||
| cd44e8e4c3 | |||
| e185625f4a | |||
| 3e140e4f43 | |||
| 47a22b6540 | |||
| 72e74cea32 | |||
| 4993ae50fe | |||
| eeb111dd9e | |||
| 4bb992fc67 | |||
| 58040f8f49 | |||
| 4f2cefb1be | |||
| 2b33191db7 | |||
| 0969d68adc | |||
| 86533153bf | |||
| 6349763abc | |||
| 67693d6c31 | |||
| 31a757a5cd | |||
| 2c59dddca0 | |||
| 206466f9cc | |||
| 039c644453 | |||
| 5d377654aa | |||
| ff163026c7 | |||
| 1d431ecad6 | |||
| 6a4c2c6aea | |||
| 3f928ad507 | |||
| 735edf1529 | |||
| f49882fb0d | |||
| 6f4936f6be | |||
| e8eb36284b | |||
| cec8400145 | |||
| 22d8ea8215 | |||
| e6a6131a14 | |||
| 92b5e33940 | |||
| 63f7a75394 | |||
| dbe85322ea | |||
| 64d4ee9168 | |||
| f7f40be956 | |||
| f42eaeb953 | |||
| 954909fecd | |||
| 95133deeb0 | |||
| 8ba80e93e3 | |||
| 47c7617d24 | |||
| a5fc5b3753 | |||
| 0b2d8a7e2e | |||
| 5ee0a0044a | |||
| 6e39690d7a | |||
| ca4e9e0052 | |||
| f76ce5dae1 | |||
| 4e4a90b2d2 | |||
| 98f6fda99f | |||
| 9a125e0359 | |||
| 3778b2148c | |||
| 3ab76006af | |||
| c96db3a3dc | |||
| ea52ce1c65 | |||
| f80289aef1 | |||
| 5cdcff0cd0 | |||
| 4c523d56f5 | |||
| 67e4764a72 | |||
| e7ace4d497 | |||
| c6edf4e2cb | |||
| 2939ea0787 | |||
| 64adc63920 | |||
| 33d212bd84 | |||
| 5543bc4c9d | |||
| d106988fd7 | |||
| bc6fdec360 | |||
| a7d8863998 | |||
| a3b2b80c1e | |||
| 0b614ec4b6 | |||
| 0e2c029249 | |||
| deade0010b | |||
| e94fae1d85 | |||
| 259ca2e14e | |||
| e9f9ae5154 | |||
| 3b98263fbc | |||
| ca1d2dd16f | |||
| 9e254e6813 | |||
| 9e250e6129 | |||
| 8f22785d2f | |||
| bb716ab6b6 | |||
| 5acd231292 | |||
| 7ebe0adace | |||
| 9e3337e9c5 | |||
| 298dc9af27 | |||
| 840b0c07ff | |||
| 592c92785f | |||
| d0db4815f1 | |||
| 8cf105a550 | |||
| 9c6055a52e | |||
| a554b7681f | |||
| cbcc2f30b7 | |||
| 565125da67 | |||
| ec8782ad81 | |||
| 7388719cad | |||
| 75fb4b5809 | |||
| 408873b844 | |||
| 31a349704b | |||
| c3b8595cd7 | |||
| 2334afb3eb | |||
| ce9dc48d81 | |||
| 20f7f87072 | |||
| a9ce596381 | |||
| 8ac5f02d93 | |||
| 10b291b4aa | |||
| c894f33c11 | |||
| 1167cfa3a4 | |||
| 541a7c9e2b | |||
| 8b2dd048d3 | |||
| d4d223dbf0 | |||
| 6b9842c9d3 | |||
| e2387158dc | |||
| 89fbb3a3cf | |||
| 55da64a702 | |||
| edff93917e | |||
| 424390417a | |||
| 7427de1bb4 | |||
| 42adf023d9 | |||
| 02214a127c | |||
| 9e98bf3532 | |||
| 86955cf0cb | |||
| bf281820b9 | |||
| 4d0dd674ad | |||
| 973f9cfdc2 | |||
| 13d79c5338 | |||
| dca91feff8 | |||
| 505ebb48bc | |||
| eaa4060f2a | |||
| 5e87a669de | |||
| 9ce8043667 | |||
| edf2941e01 | |||
| da0c1087e9 | |||
| a4f9d5b461 | |||
| ebb3b962a8 | |||
| 38040ba1d3 | |||
| e17b4c6e23 | |||
| 03bd5b4c78 | |||
| ebe2da0309 | |||
| 201892ea7f | |||
| e12ac9b3a4 | |||
| 2b86a469a9 | |||
| dae11994c2 | |||
| 3e53b28a10 | |||
| 4c4e22a0e0 | |||
| b5f8799d0a | |||
| 875c6eaa5e | |||
| a56af56009 | |||
| eee51216b9 | |||
| 73578736bc | |||
| 33db01cbbf | |||
| a716fd1e22 | |||
| 19c3f44d9a | |||
| ae095b3e2c | |||
| eb92eed532 | |||
| 2652e558d2 | |||
| 262a26e3df | |||
|
|
4af4119561 | ||
|
|
04eae360a7 | ||
|
|
a6c645c33f | ||
| 4b7f59e2e9 | |||
| da17fc3e6d | |||
| b62af8d2ae | |||
| ef3e4dc39b | |||
| fbe624ca6d | |||
| 67112a37da | |||
| c0c263c4d7 | |||
| e32c09f48f | |||
| 91aa673dcb | |||
| 95257771a5 | |||
| fa6bb695f3 | |||
| 9f5b5282b1 | |||
| ea53eb9b24 | |||
| 98a0466761 | |||
| e3be74d519 | |||
| fdc6a88317 | |||
| d67bd62393 | |||
|
|
ea986917af | ||
|
|
ffbf4be19e | ||
|
|
2b87aacc58 | ||
|
|
b62b272492 | ||
|
|
e5027cf00d | ||
|
|
e7b4c01f93 | ||
|
|
304951e463 | ||
|
|
e9622edee9 | ||
|
|
80be960f29 | ||
|
|
d2d736a7ec | ||
|
|
341d799207 | ||
|
|
91289c8588 | ||
|
|
bc878a2e90 | ||
|
|
bb4e7b7712 | ||
|
|
dad0a7d30a | ||
|
|
b0ea38b047 | ||
|
|
9c35801196 | ||
|
|
f5338fc8a8 | ||
|
|
aa38b34191 | ||
|
|
01eae3f680 | ||
|
|
6a098b6317 | ||
|
|
e242867ddb | ||
|
|
e11af205f8 | ||
|
|
9dc9431170 | ||
|
|
1e182e0d75 | ||
|
|
a501c8e571 | ||
|
|
95eb703788 | ||
|
|
942f4f1c75 | ||
|
|
8ca120aa6f | ||
|
|
1f33d52429 | ||
|
|
257e78dcaa | ||
|
|
b88cd583d3 | ||
|
|
67da1563be | ||
|
|
4b92b8a38e | ||
|
|
39ae631cf1 | ||
|
|
84b4c998a7 | ||
|
|
e741b5aa6d | ||
|
|
162891ba1d | ||
|
|
1139a726c9 | ||
|
|
b0eb8c3b42 | ||
|
|
7315d5f5a1 | ||
|
|
7a1bde1b73 | ||
|
|
b1b8772717 | ||
|
|
856eaffda6 | ||
|
|
2c16fdad19 | ||
|
|
c79a991024 | ||
|
|
7b8d916685 | ||
|
|
3c447f5708 | ||
|
|
4f5023f745 | ||
|
|
2c5d37083b | ||
|
|
4f6024a473 | ||
|
|
2ac4c434f5 | ||
|
|
eabf5e1faf | ||
|
|
1ee955fbfe | ||
|
|
de06c7f81f | ||
|
|
4347df0b9b | ||
|
|
b951ef5ce4 | ||
|
|
a12f78761d | ||
|
|
894cbb3c9d | ||
|
|
26f9cf646b | ||
|
|
8c28df9517 | ||
|
|
1b76bbf6c2 | ||
|
|
e5b236f51c | ||
|
|
a213c39445 | ||
|
|
be6551888e | ||
|
|
3b29e1a87a | ||
|
|
bb63340555 | ||
|
|
24dddc3075 | ||
|
|
47ca25fe1c | ||
|
|
1cd418991c | ||
|
|
d15c3ed047 | ||
|
|
26e5ce6852 | ||
|
|
f834e08273 | ||
|
|
26e40adb21 | ||
|
|
43ed65bc76 | ||
|
|
1f049952cc | ||
|
|
869c1fbe51 | ||
|
|
5b78146db9 | ||
|
|
fff73ed2b8 | ||
|
|
71a506443f | ||
|
|
2e50be6254 | ||
|
|
ceaafc495d | ||
|
|
67de27578e | ||
|
|
e82e515a23 | ||
|
|
20c740ce07 | ||
|
|
9a9538d14d | ||
|
|
ca50b53bae | ||
|
|
d420c7d0a9 | ||
|
|
4195371efb | ||
|
|
27e309f04d | ||
|
|
b20a4fa149 | ||
|
|
2c4bcb9c39 | ||
|
|
07b41716e8 | ||
|
|
e92e7758e7 | ||
|
|
c64c34a9fb | ||
|
|
a221e6358e | ||
|
|
f40122d5b2 | ||
|
|
a065205ea0 | ||
|
|
856f42ce27 | ||
|
|
016d50e383 | ||
|
|
1507b279f7 | ||
|
|
000f7cbfe1 | ||
|
|
cbbd04efb6 | ||
|
|
3488aeb03b | ||
|
|
d7dc66301e | ||
|
|
2c06924792 | ||
|
|
6bcff8d9a2 | ||
|
|
6534f3bd25 | ||
|
|
6e4f5feb7c | ||
|
|
edc33f3c37 | ||
|
|
0652ffef68 | ||
|
|
07e8504cea | ||
|
|
6eccb2cede | ||
|
|
9b62cb8a93 | ||
|
|
251b80b152 | ||
|
|
5dfd65c16f | ||
|
|
3edec54fbb | ||
|
|
9a09572722 | ||
|
|
88b1c04367 | ||
|
|
5f73f86787 | ||
|
|
506a16e10a | ||
|
|
9f455b8065 | ||
|
|
03b05dfc87 | ||
|
|
ca41ddb271 | ||
|
|
a776278caf | ||
|
|
649eee099e | ||
|
|
aeef6bd44d | ||
|
|
9f6cdcdf91 | ||
|
|
0ba5a97d2e | ||
|
|
23cc667692 | ||
|
|
f95d8b565e | ||
|
|
6cd976e057 | ||
|
|
608bc15e1f | ||
|
|
9b80b340e3 | ||
|
|
dfe6fa7cda | ||
|
|
090d613266 | ||
|
|
50507a1379 | ||
|
|
fb436fd0f5 | ||
|
|
a3bdb8953c | ||
|
|
92ff8f71eb | ||
|
|
86639629ee | ||
|
|
56d0f1edd8 | ||
|
|
dd86e2aae4 | ||
|
|
68e908fb4d | ||
|
|
b6daaf6aaa | ||
|
|
54caa2956d | ||
|
|
25ceac2ef4 | ||
|
|
f6557e6bbc | ||
|
|
9dd783fd2f | ||
|
|
54ed8df2d8 | ||
|
|
5eddacb7d9 | ||
|
|
dc8152dfaf | ||
|
|
fc67a19915 | ||
|
|
f13046681a | ||
|
|
ee20ab496f | ||
|
|
6db43bb19a | ||
|
|
f226b4c8b2 | ||
|
|
8bfea04c6a | ||
|
|
f233ae8c66 | ||
|
|
7a8964c336 | ||
|
|
b322b514fc | ||
|
|
b5821b0d02 | ||
|
|
d257901c64 | ||
|
|
14d23af0fd | ||
|
|
ad57df45d7 | ||
|
|
aa673e1acc | ||
|
|
9468346617 | ||
|
|
673cb48b75 | ||
|
|
1a534d2325 | ||
|
|
3962c0eb7a | ||
|
|
425c80237b | ||
|
|
341d20883d | ||
|
|
fcf56c205a | ||
|
|
a84a9fed85 | ||
|
|
4644fc522a | ||
|
|
48ae67168b | ||
|
|
6348ae9aa6 | ||
|
|
a71c22db92 | ||
|
|
22c600bd09 | ||
|
|
b01198c110 | ||
|
|
76a57459af | ||
|
|
0f06033b42 | ||
|
|
34b06bd2fb |
@@ -1,8 +0,0 @@
|
||||
.git
|
||||
**/build
|
||||
**/dist
|
||||
src/Kyoo.WebApp/Front/nodes_modules
|
||||
**/bin
|
||||
**/obj
|
||||
docs
|
||||
tests
|
||||
@@ -9,85 +9,6 @@ indent_style = tab
|
||||
indent_size = tab
|
||||
smart_tab = true
|
||||
|
||||
[{*.yaml,*.yml}]
|
||||
[{*.yaml,*.yml,*.nix}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.cs]
|
||||
# Sort using and Import directives with System.* appearing first
|
||||
dotnet_sort_system_directives_first = true
|
||||
csharp_using_directive_placement = outside_namespace:warning
|
||||
# Avoid "this." if not necessary
|
||||
dotnet_style_qualification_for_field = false:suggestion
|
||||
dotnet_style_qualification_for_property = false:suggestion
|
||||
dotnet_style_qualification_for_method = false:suggestion
|
||||
dotnet_style_qualification_for_event = false:suggestion
|
||||
# Use language keywords instead of framework type names for type references
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
||||
dotnet_style_predefined_type_for_member_access = true:suggestion
|
||||
# Suggest more modern language features when available
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion
|
||||
csharp_style_conditional_delegate_call = true:suggestion
|
||||
dotnet_style_prefer_auto_properties = true
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true
|
||||
dotnet_style_prefer_conditional_expression_over_return = true
|
||||
# Disable strange throw.
|
||||
csharp_style_throw_expression = false:suggestion
|
||||
# Forbid "var" everywhere
|
||||
csharp_style_var_for_built_in_types = false:warning
|
||||
csharp_style_var_when_type_is_apparent = false:warning
|
||||
csharp_style_var_elsewhere = false:warning
|
||||
# Prefer method-like constructs to have a block body
|
||||
csharp_style_expression_bodied_methods = false:none
|
||||
csharp_style_expression_bodied_constructors = false:none
|
||||
csharp_style_expression_bodied_operators = false:none
|
||||
# Prefer property-like constructs to have an expression-body
|
||||
csharp_style_expression_bodied_properties = true:none
|
||||
csharp_style_expression_bodied_indexers = true:none
|
||||
csharp_style_expression_bodied_accessors = true:none
|
||||
# Newline settings
|
||||
csharp_new_line_before_open_brace = all
|
||||
csharp_new_line_before_else = true
|
||||
csharp_new_line_before_catch = true
|
||||
csharp_new_line_before_finally = true
|
||||
csharp_new_line_before_members_in_object_initializers = false
|
||||
csharp_new_line_before_members_in_anonymous_types = true
|
||||
# Indentation settings
|
||||
csharp_indent_case_contents = true
|
||||
csharp_indent_switch_labels = true
|
||||
# Modifiers
|
||||
dotnet_style_readonly_field = true:suggestion
|
||||
csharp_preferred_modifier_order = public, private, protected, internal, new, abstract, virtual, sealed, override, static, readonly, extern, unsafe, volatile, async:suggestion
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
|
||||
# Naming style
|
||||
dotnet_naming_symbols.privates.applicable_kinds = property,method,event,delegate
|
||||
dotnet_naming_symbols.privates.applicable_accessibilities = private
|
||||
dotnet_naming_style.underscore_pascal.capitalization = pascal_case
|
||||
dotnet_naming_style.underscore_pascal.required_prefix = _
|
||||
dotnet_naming_rule.privates_with_underscore.symbols = privates
|
||||
dotnet_naming_rule.privates_with_underscore.style = underscore_pascal
|
||||
dotnet_naming_rule.privates_with_underscore.severity = warning
|
||||
dotnet_diagnostic.IDE1006.severity = warning
|
||||
# ReSharper properties
|
||||
resharper_align_multiline_binary_expressions_chain = false
|
||||
resharper_csharp_empty_block_style = together_same_line
|
||||
resharper_indent_nested_foreach_stmt = true
|
||||
resharper_indent_nested_for_stmt = true
|
||||
resharper_indent_nested_while_stmt = true
|
||||
resharper_keep_existing_embedded_arrangement = false
|
||||
resharper_place_accessorholder_attribute_on_same_line = true
|
||||
resharper_place_simple_embedded_statement_on_same_line = false
|
||||
resharper_wrap_before_arrow_with_expressions = true
|
||||
resharper_xmldoc_attribute_indent = align_by_first_attribute
|
||||
resharper_xmldoc_indent_child_elements = RemoveIndent
|
||||
resharper_xmldoc_indent_text = RemoveIndent
|
||||
|
||||
# Waiting for https://github.com/dotnet/roslyn/issues/44596 to get fixed.
|
||||
# file_header_template = Kyoo - A portable and vast media library solution.\nCopyright (c) Kyoo.\n\nSee AUTHORS.md and LICENSE file in the project root for full license information.\n\nKyoo is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\nany later version.\n\nKyoo is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Kyoo. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
81
.env.example
Normal file
81
.env.example
Normal file
@@ -0,0 +1,81 @@
|
||||
# vi: ft=sh
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
# THIS IS V5 .ENV ; IF YOU ARE ON V4 PLEASE LOOK AT THE .ENV HERE: https://github.com/zoriya/Kyoo/blob/v4.7.1/.env.example
|
||||
|
||||
# Useful config options
|
||||
|
||||
# Library root can either be an absolute path or a relative path to your docker-compose.yml file.
|
||||
LIBRARY_ROOT=./video
|
||||
# You should set this to a path where kyoo can write large amount of data, this is used as a cache by the transcoder.
|
||||
# It will automatically be cleaned up on kyoo's startup/shutdown/runtime.
|
||||
CACHE_ROOT=/tmp/kyoo_cache
|
||||
# Where to store downloaded images of the shows
|
||||
IMAGES_PATH="./images";
|
||||
# A pattern (regex) to ignore files.
|
||||
LIBRARY_IGNORE_PATTERN=".*/[dD]ownloads?/.*"
|
||||
|
||||
# Hardware transcoding (equivalent of --profile docker compose option).
|
||||
COMPOSE_PROFILES=cpu # cpu (no hardware acceleration) or vaapi or qsv or nvidia
|
||||
# the preset used during transcode. faster means worst quality, you can probably use a slower preset with hwaccels
|
||||
# warning: using vaapi hwaccel disable presets (they are not supported).
|
||||
GOCODER_PRESET=fast
|
||||
|
||||
|
||||
# Keep those empty to use kyoo's default api key. You can also specify a custom API key if you want.
|
||||
# go to https://www.themoviedb.org/settings/api and copy the read access token (not the api key)
|
||||
THEMOVIEDB_API_ACCESS_TOKEN=""
|
||||
# go to https://thetvdb.com/api-information/signup and copy the api key
|
||||
TVDB_APIKEY=
|
||||
# you can also input your subscriber's pin to support TVDB
|
||||
TVDB_PIN=
|
||||
|
||||
|
||||
# The url you can use to reach your kyoo instance. This is used during oidc to redirect users to your instance.
|
||||
PUBLIC_URL=http://localhost:8901
|
||||
|
||||
# Default permissions of new users. They are able to browse & play videos.
|
||||
# Set `verified` to true if you don't wanna manually verify users.
|
||||
EXTRA_CLAIMS='{"permissions": ["core.read", "core.play"], "verified": false}'
|
||||
# This is the permissions of the first user (aka the first user is admin)
|
||||
FIRST_USER_CLAIMS='{"permissions": ["users.read", "users.write", "users.delete", "apikeys.read", "apikeys.write", "core.read", "core.write", "core.play", "scanner.trigger"], "verified": true}'
|
||||
|
||||
# Guest (meaning unlogged in users) can be:
|
||||
# unauthorized (they need to connect before doing anything)
|
||||
# GUEST_CLAIMS=""
|
||||
# able to browse & see what you have but not able to play
|
||||
GUEST_CLAIMS='{"permissions": ["core.read"], "verified": true}'
|
||||
# or have browse & play permissions
|
||||
GUEST_CLAIMS='{"permissions": ["core.read", "core.play"], "verified": true}'
|
||||
|
||||
# DO NOT change this.
|
||||
PROTECTED_CLAIMS="permissions,verified"
|
||||
|
||||
|
||||
# You can create apikeys at runtime via POST /keys but you can also have some defined in the env.
|
||||
# Replace $YOURNAME with the name of the key you want (only alpha are valid)
|
||||
# The value will be the apikey (max 128 bytes)
|
||||
KEIBI_APIKEY_SCANNER=EJqUB8robwKwLNt37SuHqdcsNGrtwpfYxeExfiAbokpxZVd4WctWr7gnSZ
|
||||
KEIBI_APIKEY_SCANNER_CLAIMS='{"permissions": ["core.read", "core.write"]}'
|
||||
|
||||
# To debug the front end, you can set the following to an external backend
|
||||
KYOO_URL=
|
||||
|
||||
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
|
||||
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
|
||||
|
||||
# It is recommended to use the below PG environment variables when possible.
|
||||
# POSTGRES_URL=postgres://user:password@hostname:port/dbname?sslmode=verify-full&sslrootcert=/path/to/server.crt&sslcert=/path/to/client.crt&sslkey=/path/to/client.key
|
||||
# The behavior of the below variables match what is documented here:
|
||||
# https://www.postgresql.org/docs/current/libpq-envars.html
|
||||
PGUSER=kyoo
|
||||
PGPASSWORD=password
|
||||
PGDATABASE=kyoo
|
||||
PGHOST=postgres
|
||||
PGPORT=5432
|
||||
# PGOPTIONS=-c search_path=kyoo,public
|
||||
# PGPASSFILE=/my/password # Takes precedence over PGPASSWORD. New line characters are not trimmed.
|
||||
# PGSSLMODE=verify-full
|
||||
# PGSSLROOTCERT=/my/serving.crt
|
||||
# PGSSLCERT=/my/client.crt
|
||||
# PGSSLKEY=/my/client.key=password
|
||||
63
.gitattributes
vendored
63
.gitattributes
vendored
@@ -1,63 +0,0 @@
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
||||
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
||||
chart/ @acelinkio
|
||||
20
.github/ISSUE_TEMPLATE/bug-report.md
vendored
20
.github/ISSUE_TEMPLATE/bug-report.md
vendored
@@ -1,20 +0,0 @@
|
||||
---
|
||||
name: Bug Report
|
||||
about: Create a bug report to help improve Kyoo
|
||||
title: "[BUG] "
|
||||
labels: bug
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1.
|
||||
|
||||
**Expected Behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Environment:**
|
||||
- Platform [e.g. Windows / Linux]
|
||||
- Action Version [e.g. v0.0.1 or a git commit's SHA]
|
||||
11
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
11
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
name: Bug Report
|
||||
description: Create a bug report to help improve Kyoo
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: "Kyoo's version"
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: Also tell us, what did you expect to happen?
|
||||
18
.github/ISSUE_TEMPLATE/feature-request.md
vendored
18
.github/ISSUE_TEMPLATE/feature-request.md
vendored
@@ -1,18 +0,0 @@
|
||||
---
|
||||
name: Feature Request
|
||||
about: Suggest a new feature for Kyoo (don't forget to check projects first)
|
||||
title: "[FEATURE] "
|
||||
labels: enhancement
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? If yes, please describe.**
|
||||
A clear and concise description of what the problem is.
|
||||
|
||||
**Describe the feature you'd like**
|
||||
A clear and concise description of what you want Kyoo to have.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
7
.github/ISSUE_TEMPLATE/feature-request.yml
vendored
Normal file
7
.github/ISSUE_TEMPLATE/feature-request.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature for Kyoo (don't forget to check projects first)
|
||||
labels: [enhancement]
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Feature description
|
||||
20
.github/PULL_REQUEST_TEMPLATE.md
vendored
20
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,20 +0,0 @@
|
||||
## Proposed changes
|
||||
|
||||
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
|
||||
If it fixes a bug or resolves a feature request, be sure to link to that issue.
|
||||
|
||||
## Information
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] New public API added
|
||||
- [ ] Non-breaking changes
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] I have added tests that prove my fix is effective or that my feature works
|
||||
- [ ] I have added necessary documentation (if appropriate)
|
||||
|
||||
## Further comments
|
||||
|
||||
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did
|
||||
and what alternatives you considered, etc...
|
||||
|
||||
65
.github/workflows/analysis.yml
vendored
65
.github/workflows/analysis.yml
vendored
@@ -1,65 +0,0 @@
|
||||
name: Analysis
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
analysis:
|
||||
name: Static Analysis
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
|
||||
- name: Cache SonarCloud packages
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/sonar/cache
|
||||
key: ${{ runner.os }}-sonar
|
||||
restore-keys: ${{ runner.os }}-sonar
|
||||
- name: Cache SonarCloud scanner
|
||||
id: cache-sonar-scanner
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ./.sonar/scanner
|
||||
key: ${{ runner.os }}-sonar-scanner
|
||||
restore-keys: ${{ runner.os }}-sonar-scanner
|
||||
- name: Install SonarCloud scanner
|
||||
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p ./.sonar/scanner
|
||||
dotnet tool update dotnet-sonarscanner --tool-path ./.sonar/scanner
|
||||
- name: Wait for tests to run
|
||||
uses: lewagon/wait-on-check-action@master
|
||||
with:
|
||||
ref: ${{github.ref}}
|
||||
check-name: tests
|
||||
repo-token: ${{secrets.GITHUB_TOKEN}}
|
||||
running-workflow-name: analysis
|
||||
allowed-conclusions: success,skipped,cancelled,neutral,failure
|
||||
- name: Download coverage report
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
commit: ${{env.COMMIT_SHA}}
|
||||
workflow: tests.yml
|
||||
github_token: ${{secrets.GITHUB_TOKEN}}
|
||||
- name: Build and analyze
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
shell: bash
|
||||
run: |
|
||||
find . -name 'coverage.opencover.xml'
|
||||
dotnet build-server shutdown
|
||||
|
||||
./.sonar/scanner/dotnet-sonarscanner begin \
|
||||
-k:"AnonymusRaccoon_Kyoo" \
|
||||
-o:"anonymus-raccoon" \
|
||||
-d:sonar.login="${{ secrets.SONAR_TOKEN }}" \
|
||||
-d:sonar.host.url="https://sonarcloud.io" \
|
||||
-d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml" \
|
||||
-d:sonar.cs.vstest.reportsPaths="**/TestOutputResults.xml"
|
||||
|
||||
dotnet build --no-incremental '-p:SkipTranscoder=true;SkipWebApp=true'
|
||||
|
||||
./.sonar/scanner/dotnet-sonarscanner end -d:sonar.login="${{ secrets.SONAR_TOKEN }}"
|
||||
41
.github/workflows/api-test.yml
vendored
Normal file
41
.github/workflows/api-test.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: Tests
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test api
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15
|
||||
ports:
|
||||
- "5432:5432"
|
||||
env:
|
||||
POSTGRES_USER: kyoo
|
||||
POSTGRES_PASSWORD: password
|
||||
POSTGRES_DB: kyoo_test
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: oven-sh/setup-bun@v2
|
||||
|
||||
- name: Install dependencies
|
||||
working-directory: ./api
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
- name: Test
|
||||
working-directory: ./api
|
||||
run: bun test
|
||||
env:
|
||||
PGHOST: localhost
|
||||
IMAGES_PATH: ./images
|
||||
64
.github/workflows/auth-hurl.yml
vendored
Normal file
64
.github/workflows/auth-hurl.yml
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
name: HurlTests
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
pull_request:
|
||||
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Hurl tests Auth
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15
|
||||
ports:
|
||||
- "5432:5432"
|
||||
env:
|
||||
POSTGRES_USER: kyoo
|
||||
POSTGRES_PASSWORD: password
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: gacts/install-hurl@v1
|
||||
|
||||
- uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: '^1.22.5'
|
||||
cache-dependency-path: ./auth/go.sum
|
||||
|
||||
- name: Install dependencies
|
||||
working-directory: ./auth
|
||||
run: |
|
||||
go mod download
|
||||
|
||||
- name: Build
|
||||
working-directory: ./auth
|
||||
run: |
|
||||
go build -o ./keibi
|
||||
|
||||
- name: Run hurl tests
|
||||
working-directory: ./auth
|
||||
run: |
|
||||
./keibi > logs &
|
||||
wget --retry-connrefused --retry-on-http-error=502 http://localhost:4568/auth/health
|
||||
hurl --error-format long --variable host=http://localhost:4568/auth tests/*
|
||||
env:
|
||||
PGHOST: localhost
|
||||
FIRST_USER_CLAIMS: '{"permissions": ["users.read"]}'
|
||||
KEIBI_APIKEY_HURL: 1234apikey
|
||||
KEIBI_APIKEY_HURL_CLAIMS: '{"permissions": ["apikeys.write", "apikeys.read"]}'
|
||||
|
||||
|
||||
- name: Show logs
|
||||
if: failure()
|
||||
working-directory: ./auth
|
||||
run: cat logs
|
||||
|
||||
170
.github/workflows/build.yml
vendored
170
.github/workflows/build.yml
vendored
@@ -1,170 +0,0 @@
|
||||
name: Build
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: "${{matrix.artifact}}'s Build"
|
||||
runs-on: ${{matrix.os}}
|
||||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
runtime: linux-x64
|
||||
artifact: linux
|
||||
- os: windows-latest
|
||||
runtime: win-x64
|
||||
artifact: windows
|
||||
- os: macOS-latest
|
||||
runtime: osx-x64
|
||||
artifact: macos
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 5.0.x
|
||||
- name: Install ffmpeg
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "${{runner.os}}" == "Windows" ]]; then
|
||||
choco install ffmpeg-shared
|
||||
elif [[ "${{runner.os}}" == "macOS" ]]; then
|
||||
brew install ffmpeg
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libavutil-dev libavcodec-dev libavformat-dev
|
||||
fi
|
||||
- name: Enabling windows compilations tools
|
||||
if: matrix.artifact == 'windows'
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
- name: Select the project to build
|
||||
shell: bash
|
||||
run: |
|
||||
echo "PROJECT=$([ "${{runner.os}}" == "Windows" ] \
|
||||
&& echo " -p:IncludeConsole=true -p:CheckCodingStyle=false src/Kyoo.Host.WindowsTrait" \
|
||||
|| echo " -p:CheckCodingStyle=false src/Kyoo.Host.Console")" >> $GITHUB_ENV
|
||||
- name: Build the app
|
||||
env:
|
||||
INCLUDE: ${{env.INCLUDE}};C:\Program Files\FFmpeg\include
|
||||
LIB: ${{env.LIB}};C:\Program Files\FFmpeg\lib
|
||||
LIBPATH: ${{env.LIBPATH}};C:\Program Files\FFmpeg\lib
|
||||
CFLAGS: -I/usr/local/include
|
||||
LDFLAGS: -L/usr/local/lib
|
||||
run: dotnet publish -r ${{matrix.runtime}} -c Release -o dist ${{env.PROJECT}}
|
||||
- name: Compression output
|
||||
shell: bash
|
||||
run: |
|
||||
assets=kyoo_${{matrix.artifact}}
|
||||
if [[ "${{runner.os}}" == "Windows" ]]; then
|
||||
cd dist
|
||||
cp -r "/C/Program Files/FFmpeg/bin/." .
|
||||
7z a "../$assets.zip"
|
||||
else
|
||||
rootgrp=$([ "${{runner.os}}" == "macOS" ] && echo wheel || echo root)
|
||||
sudo chown -R root:$rootgrp dist
|
||||
tar -C dist -czf "$assets.tar.gz" .
|
||||
fi
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kyoo_${{matrix.artifact}}
|
||||
path: |
|
||||
*.zip
|
||||
*.tar.gz
|
||||
|
||||
windows_release:
|
||||
name: Create windows release
|
||||
runs-on: windows-latest
|
||||
needs: build
|
||||
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'tags') }}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Download windows build
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: kyoo_windows
|
||||
path: artifact
|
||||
- name: Unzip windows files
|
||||
run: mkdir dist_win && 7z x artifact/kyoo_windows.zip -odist_win
|
||||
- name: Install Inno Setup
|
||||
shell: cmd
|
||||
run: |
|
||||
curl -L https://jrsoftware.org/download.php/is.exe > innosetup.exe
|
||||
innosetup.exe /VERYSILENT /SUPPRESSMSGBOXES /Log=log.txt || (cat log.txt && exit 1)
|
||||
- name: Create windows installer
|
||||
shell: bash
|
||||
run: iscc -Dkyoo=$(realpath dist_win) -O./ -Fkyoo-windows deployment/kyoo-windows.iss
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kyoo_windows_installer
|
||||
path: ./kyoo-windows.exe
|
||||
|
||||
release:
|
||||
name: Create debian, rpm & arch releases
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: ${{ github.ref == 'refs/heads/master' || contains(github.ref, 'tags') }}
|
||||
env:
|
||||
description: "A media browser"
|
||||
version: v0.0.1 #${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Download linux build
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: kyoo_linux
|
||||
path: artifact
|
||||
- name: Unzip the published files.
|
||||
run: mkdir dist && tar -C dist -xzf artifact/kyoo_linux.tar.gz
|
||||
- name: Create the package structure
|
||||
run: |
|
||||
sudo mkdir -p pkg/usr/lib/
|
||||
sudo cp -r --no-preserve ownership dist pkg/usr/lib/kyoo
|
||||
sudo install -Dm 644 deployment/kyoo.service -t pkg/usr/lib/systemd/system/
|
||||
sudo install -Dm 644 deployment/kyoo.sysusers pkg/usr/lib/sysusers.d/kyoo.conf
|
||||
sudo install -Dm 644 deployment/kyoo.tmpfiles pkg/usr/lib/tmpfiles.d/kyoo.conf
|
||||
- name: Build debian package
|
||||
uses: jiro4989/build-deb-action@v2
|
||||
with:
|
||||
package: kyoo
|
||||
package_root: pkg
|
||||
maintainer: Zoe Roux <zoe.roux@sdg.moe>
|
||||
version: ${{env.version}}
|
||||
depends: "libavutil-dev, libavcodec-dev, libavformat-dev"
|
||||
arch: amd64
|
||||
desc: ${{env.description}}
|
||||
- name: Build rpm package
|
||||
run: |
|
||||
mkdir out
|
||||
sudo rm -rf pkg/DEBIAN
|
||||
rpmbuild -bb --buildroot $(pwd)/out --build-in-place --define "_rpmdir $(pwd)/rpm" deployment/kyoo.spec
|
||||
- name: Prepare arch package
|
||||
run: |
|
||||
mkdir deployment/output
|
||||
mv deployment/PKGBUILD.github deployment/PKGBUILD
|
||||
cp -a pkg/usr deployment/output/usr
|
||||
- uses: edlanglois/pkgbuild-action@v1
|
||||
id: makepkg
|
||||
with:
|
||||
pkgdir: deployment
|
||||
namcapDisable: true
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kyoo_rpm
|
||||
path: ./rpm/x86_64/*.rpm
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kyoo_debian
|
||||
path: ./*.deb
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: kyoo_arch
|
||||
path: ${{steps.makepkg.outputs.pkgfile0}}
|
||||
|
||||
# new-version:
|
||||
# if: startsWith(github.ref, 'refs/tags/v')
|
||||
# runs-on: ubuntu-latest
|
||||
|
||||
74
.github/workflows/coding-style.yml
vendored
74
.github/workflows/coding-style.yml
vendored
@@ -1,15 +1,71 @@
|
||||
name: CodingStyle
|
||||
name: Coding Style
|
||||
on: [pull_request, workflow_dispatch]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: "Coding style check"
|
||||
api:
|
||||
name: "Lint api"
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./api
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Biome
|
||||
uses: biomejs/setup-biome@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Run Biome
|
||||
run: biome ci .
|
||||
|
||||
front:
|
||||
name: "Lint Front"
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./front
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Biome
|
||||
uses: biomejs/setup-biome@v2
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Run Biome
|
||||
run: biome ci .
|
||||
|
||||
scanner:
|
||||
name: "Lint scanner/autosync"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: chartboost/ruff-action@v1
|
||||
with:
|
||||
dotnet-version: 5.0.x
|
||||
- name: Build the app
|
||||
run: dotnet build -p:CheckCodingStyle=true -p:TreatWarningsAsErrors=true '-p:SkipTranscoder=true;SkipWebApp=true'
|
||||
args: format --check
|
||||
|
||||
transcoder:
|
||||
name: "Lint transcoder"
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./transcoder
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Run go fmt
|
||||
run: if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi
|
||||
|
||||
auth:
|
||||
name: "Lint auth"
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./auth
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Run go fmt
|
||||
run: if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi
|
||||
|
||||
119
.github/workflows/docker.yml
vendored
119
.github/workflows/docker.yml
vendored
@@ -1,36 +1,125 @@
|
||||
name: Docker
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
tags:
|
||||
- v*
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- context: ./api
|
||||
dockerfile: Dockerfile
|
||||
label: api
|
||||
image: ${{ github.repository_owner }}/kyoo_api
|
||||
|
||||
- context: ./front
|
||||
dockerfile: Dockerfile
|
||||
label: front
|
||||
image: ${{ github.repository_owner }}/kyoo_front
|
||||
|
||||
- context: ./scanner
|
||||
dockerfile: Dockerfile
|
||||
label: scanner
|
||||
image: ${{ github.repository_owner }}/kyoo_scanner
|
||||
|
||||
- context: ./autosync
|
||||
dockerfile: Dockerfile
|
||||
label: autosync
|
||||
image: ${{ github.repository_owner }}/kyoo_autosync
|
||||
|
||||
- context: ./transcoder
|
||||
dockerfile: Dockerfile
|
||||
label: transcoder
|
||||
image: ${{ github.repository_owner }}/kyoo_transcoder
|
||||
|
||||
- context: ./auth
|
||||
dockerfile: Dockerfile
|
||||
label: auth
|
||||
image: ${{ github.repository_owner }}/kyoo_auth
|
||||
env:
|
||||
DOCKERHUB_ENABLED: ${{ secrets.DOCKER_USERNAME && secrets.DOCKER_PASSWORD && 'true' || 'false' }}
|
||||
name: Build ${{matrix.label}}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
submodules: recursive
|
||||
filters: |
|
||||
should_run:
|
||||
- '${{matrix.context}}/**'
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: crazy-max/ghaction-docker-meta@v2
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/Kyoo
|
||||
images: |
|
||||
docker.io/${{matrix.image}},enable=${{ env.DOCKERHUB_ENABLED }}
|
||||
ghcr.io/${{matrix.image}}
|
||||
tags: |
|
||||
type=ref,event=tag
|
||||
type=edge
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
|
||||
- name: Check if a package should be pushed
|
||||
run: |
|
||||
echo "SHOULD_PUSH=$([ "${GITHUB_REF##*/}" == "master" ] || [ "${GITHUB_REF##*/}" == "next" ] || [ "${GITHUB_REF_TYPE}" == "tag" ] && echo "true" || echo "false")" >> $GITHUB_ENV
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
if: env.SHOULD_PUSH == 'true' && env.DOCKERHUB_ENABLED == 'true'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
if: env.SHOULD_PUSH == 'true'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{github.repository_owner}}
|
||||
password: ${{secrets.GITHUB_TOKEN}}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
uses: docker/build-push-action@v6
|
||||
if: steps.filter.outputs.should_run == 'true' || github.event_name == 'workflow_dispatch' || startsWith(github.event.ref, 'refs/tags/v')
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
context: ${{matrix.context}}
|
||||
file: ${{matrix.context}}/${{matrix.dockerfile}}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
build-args: |
|
||||
VERSION=0.0.0
|
||||
push: ${{env.SHOULD_PUSH}}
|
||||
tags: ${{steps.meta.outputs.tags}}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
- name: Sync README.MD
|
||||
if: env.SHOULD_PUSH == 'true' && env.DOCKERHUB_ENABLED == 'true'
|
||||
uses: ms-jpq/sync-dockerhub-readme@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
repository: ${{ matrix.image }}
|
||||
readme: "./README.md"
|
||||
|
||||
32
.github/workflows/documentation.yml
vendored
32
.github/workflows/documentation.yml
vendored
@@ -1,32 +0,0 @@
|
||||
name: Update the documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
Building:
|
||||
runs-on: [ubuntu-latest]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: nikeee/docfx-action@v1.0.0
|
||||
name: Build Documentation
|
||||
with:
|
||||
args: docs/docfx.json
|
||||
- name: Update the docs
|
||||
run: |
|
||||
cd docs/_site
|
||||
sudo chown $(whoami):$(whoami) . -R
|
||||
echo -n docs.kyoo.moe > CNAME
|
||||
git config --global user.email "${GITHUB_ACTOR}@github.com"
|
||||
git config --global user.name "${GITHUB_ACTOR}"
|
||||
git init
|
||||
git add -A
|
||||
git commit -m "Deploying the documentation"
|
||||
git remote add origin https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@${GITHUB_REPO}
|
||||
git checkout -b gh-pages
|
||||
git push --force origin gh-pages
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPO: "github.com/AnonymusRaccoon/Kyoo"
|
||||
54
.github/workflows/helm-release-chart.yml
vendored
Normal file
54
.github/workflows/helm-release-chart.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
name: Release Helm Chart
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
channel:
|
||||
description: 'Release channel (master, edge, or leave blank for tag-based)'
|
||||
required: false
|
||||
default: 'master'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
||||
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
|
||||
|
||||
- name: Log in to GHCR
|
||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update Helm Dependencies
|
||||
run: helm dependency update ./chart
|
||||
|
||||
- name: Determine Chart Version
|
||||
id: version
|
||||
run: |
|
||||
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
||||
TAG="${{ github.event.inputs.channel }}"
|
||||
else
|
||||
TAG=$(echo ${GITHUB_REF#refs/tags/} | sed 's/^v//')
|
||||
fi
|
||||
echo "TAG=$TAG" >> "${GITHUB_ENV}"
|
||||
echo "Using chart version: $TAG"
|
||||
|
||||
- name: Package Helm Chart
|
||||
run: helm package ./chart --version $TAG --app-version $TAG
|
||||
|
||||
- name: Build Helm-safe repo name
|
||||
run: |
|
||||
REPO_NAME="$(echo "oci://ghcr.io/${GITHUB_REPOSITORY_OWNER}/helm-charts" | tr '[:upper:]' '[:lower:]')"
|
||||
echo "REPO_NAME=${REPO_NAME}" >> "${GITHUB_ENV}"
|
||||
|
||||
- name: Push Helm Chart to GHCR
|
||||
run: helm push kyoo-*.tgz "${REPO_NAME}"
|
||||
45
.github/workflows/helm-test-chart.yml
vendored
Normal file
45
.github/workflows/helm-test-chart.yml
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
name: Test Helm Chart
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- next
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test-helm-chart:
|
||||
name: Test Helm Chart
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Helm
|
||||
uses: azure/setup-helm@v4
|
||||
|
||||
- name: Lint the Helm chart
|
||||
run: |
|
||||
helm lint ./chart
|
||||
|
||||
- name: Create Kind cluster
|
||||
uses: helm/kind-action@v1
|
||||
|
||||
- name: Install Helm chart in Kind cluster (Dry Run)
|
||||
run: |
|
||||
helm dependency update ./chart
|
||||
helm install test-release ./chart --dry-run --debug
|
||||
|
||||
- name: Deploy Helm chart to Kind cluster
|
||||
run: |
|
||||
helm install test-release ./chart
|
||||
|
||||
- name: Verify Helm release
|
||||
run: |
|
||||
kubectl get all
|
||||
|
||||
- name: Cleanup Kind cluster
|
||||
run: |
|
||||
kind delete cluster
|
||||
75
.github/workflows/native-build.yml
vendored
Normal file
75
.github/workflows/native-build.yml
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
name: Native build
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
update:
|
||||
name: Expo Build
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./front
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
# This is required because GHA doesn't support secrets in the `if` condition
|
||||
- name: Check if Expo build is enabled
|
||||
env:
|
||||
IS_SECRET_SET: ${{ env.IS_EXPO_ENABLED == 'true' && 'true' || 'false' }}
|
||||
run: echo "IS_EXPO_ENABLED=${IS_SECRET_SET}" >> "${GITHUB_ENV}"
|
||||
|
||||
- name: Log if Expo build is disabled due to fork
|
||||
if: env.IS_EXPO_ENABLED != 'true'
|
||||
run: |
|
||||
echo "Expo build is disabled for forks. To enable it, add an EXPO_TOKEN secret to this repository. See https://docs.expo.dev/eas-update/github-actions/ for more information."
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v6
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
with:
|
||||
node-version: 24.x
|
||||
cache: yarn
|
||||
cache-dependency-path: front/yarn.lock
|
||||
|
||||
- name: Setup Expo
|
||||
uses: expo/expo-github-action@v8
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
with:
|
||||
expo-version: latest
|
||||
eas-version: latest
|
||||
token: ${{ secrets.EXPO_TOKEN }}
|
||||
|
||||
- name: Install dependencies
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build Mobile Release
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: yarn build:mobile:apk | tee log.txt
|
||||
|
||||
- name: Parse Asset URL
|
||||
id: url
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: |
|
||||
ASSET_URL=$(cat log.txt | jq '.[0].artifacts.buildUrl' -r)
|
||||
echo The android url is $ASSET_URL
|
||||
echo "assetUrl=$ASSET_URL" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Download APK Asset
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: wget -O kyoo.apk ${{ steps.url.outputs.assetUrl }}
|
||||
|
||||
- uses: actions/upload-artifact@v5
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
with:
|
||||
name: kyoo.apk
|
||||
path: ./front/kyoo.apk
|
||||
|
||||
- name: Upload release artifacts
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: env.IS_EXPO_ENABLED == 'true' && startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
files: ./front/kyoo.apk
|
||||
51
.github/workflows/native-update.yml
vendored
Normal file
51
.github/workflows/native-update.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
name: Native update
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
update:
|
||||
name: Expo Update
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./front
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
# This is required because GHA doesn't support secrets in the `if` condition
|
||||
- name: Check if Expo build is enabled
|
||||
env:
|
||||
IS_SECRET_SET: ${{ env.IS_EXPO_ENABLED == 'true' && 'true' || 'false' }}
|
||||
run: echo "IS_EXPO_ENABLED=${IS_SECRET_SET}" >> "${GITHUB_ENV}"
|
||||
|
||||
- name: Log if Expo build is disabled due to fork
|
||||
if: env.IS_EXPO_ENABLED != 'true'
|
||||
run: |
|
||||
echo "Expo build is disabled for forks. To enable it, add an EXPO_TOKEN secret to this repository. See https://docs.expo.dev/eas-update/github-actions/ for more information."
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v6
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
with:
|
||||
node-version: 24.x
|
||||
cache: yarn
|
||||
cache-dependency-path: front/yarn.lock
|
||||
|
||||
- name: Setup Expo
|
||||
uses: expo/expo-github-action@v8
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
with:
|
||||
expo-version: latest
|
||||
eas-version: latest
|
||||
token: ${{ secrets.EXPO_TOKEN }}
|
||||
|
||||
- name: Install dependencies
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Publish update
|
||||
if: env.IS_EXPO_ENABLED == 'true'
|
||||
run: yarn update
|
||||
53
.github/workflows/release.yml
vendored
53
.github/workflows/release.yml
vendored
@@ -1,44 +1,27 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
workflow_dispatch:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
release:
|
||||
update:
|
||||
name: Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set commit environment
|
||||
run: echo "COMMIT_SHA=$(git rev-list -n 1 ${{github.ref}})" >> $GITHUB_ENV
|
||||
- name: Wait for builds & tests to finish
|
||||
uses: lewagon/wait-on-check-action@master
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set correct versions
|
||||
run: |
|
||||
VERSION=${{ github.ref_name }}
|
||||
VERSION=${VERSION:1} # Remove v prefix
|
||||
VERSION=${VERSION%.*} # Remove minor version
|
||||
sed "s/edge/$VERSION/" -i docker-compose.yml
|
||||
|
||||
- name: Upload release artifacts
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
ref: ${{github.ref}}
|
||||
repo-token: ${{secrets.GITHUB_TOKEN}}
|
||||
running-workflow-name: release
|
||||
allowed-conclusions: success,skipped,cancelled,neutral
|
||||
- name: Download artifacts
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
commit: ${{env.COMMIT_SHA}}
|
||||
workflow: build.yml
|
||||
path: ./artifacts
|
||||
github_token: ${{secrets.GITHUB_TOKEN}}
|
||||
# - name: Public the abstractions to nuget
|
||||
# id: publish_nuget
|
||||
# uses: rohith/publish-nuget@v2
|
||||
# with:
|
||||
# PROJECT_FILE_PATH: Kyoo.Abstractions/Kyoo.Abstractions.csproj
|
||||
# PACKAGE_NAME: Kyoo.Abstractions
|
||||
# VERSION_REGEX: ^\s*<PackageVersion>(.*)<\/PackageVersion>\s*$
|
||||
# NUGET_KEY: ${{secrets.NUGET_API_KEY}}
|
||||
# INCLUDE_SYMBOLS: true
|
||||
- name: Create Release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
generateReleaseNotes: true
|
||||
artifacts: ./artifacts/**/*
|
||||
token: ${{secrets.GITHUB_TOKEN}}
|
||||
files: |
|
||||
./docker-compose.yml
|
||||
./.env.example
|
||||
|
||||
48
.github/workflows/tests.yml
vendored
48
.github/workflows/tests.yml
vendored
@@ -1,48 +0,0 @@
|
||||
name: Testing
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
||||
container: mcr.microsoft.com/dotnet/sdk:5.0
|
||||
services:
|
||||
postgres:
|
||||
image: postgres
|
||||
env:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: |
|
||||
dotnet build --no-restore '-p:SkipWebApp=true;SkipTranscoder=true' -p:CopyLocalLockFileAssemblies=true
|
||||
cp ./src/Kyoo.Abstractions/bin/Debug/net5.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll ./tests/Kyoo.Tests/bin/Debug/net5.0/
|
||||
- name: Test
|
||||
run: dotnet test --no-build '-p:CollectCoverage=true;CoverletOutputFormat=opencover' --logger "trx;LogFileName=TestOutputResults.xml"
|
||||
env:
|
||||
POSTGRES_HOST: postgres
|
||||
POSTGRES_USERNAME: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
- name: Sanitize coverage output
|
||||
if: ${{ always() }}
|
||||
run: sed -i "s'$(pwd)'.'" tests/Kyoo.Tests/coverage.opencover.xml
|
||||
- name: Upload tests results
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: results.xml
|
||||
path: "**/TestOutputResults.xml"
|
||||
- name: Upload coverage report
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: coverage.xml
|
||||
path: "**/coverage.opencover.xml"
|
||||
365
.gitignore
vendored
365
.gitignore
vendored
@@ -1,353 +1,12 @@
|
||||
## PROJECT CUSTOM IGNORES
|
||||
# Transcoder build (auto generated from Kyoo.Transcoder sub-project)
|
||||
Kyoo/Transcoder/Kyoo.Transcoder.dll
|
||||
Kyoo/Transcoder/Kyoo.Transcoder.ilk
|
||||
Kyoo/Transcoder/Kyoo.Transcoder.lib
|
||||
Kyoo/Transcoder/Kyoo.Transcoder.pdb
|
||||
Kyoo/Transcoder/Kyoo.Transcoder.exp
|
||||
|
||||
libtranscoder.so
|
||||
libtranscoder.dylib
|
||||
transcoder.dll
|
||||
|
||||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
##
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# Visual Studio 2017 auto generated files
|
||||
Generated\ Files/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# Benchmark Results
|
||||
BenchmarkDotNet.Artifacts/
|
||||
|
||||
# .NET Core
|
||||
project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
# Files built by Visual Studio
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_h.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.iobj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.ipdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
*.VC.db
|
||||
*.VC.VC.opendb
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# Visual Studio Trace Files
|
||||
*.e2e
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# AxoCover is a Code Coverage Tool
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||
# in these scripts will be unencrypted
|
||||
PublishScripts/
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/[Pp]ackages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/[Pp]ackages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/[Pp]ackages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignorable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Windows Store app package directories and files
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!?*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.jfm
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
orleans.codegen.cs
|
||||
|
||||
# Including strong name files can present a security risk
|
||||
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||
#*.snk
|
||||
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||
#bower_components/
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
ServiceFabricBackup/
|
||||
*.rptproj.bak
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
*.ndf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- Backup*.rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
node_modules/
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
paket-files/
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
# Python Tools for Visual Studio (PTVS)
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# Cake - Uncomment if you are using it
|
||||
# tools/**
|
||||
# !tools/packages.config
|
||||
|
||||
# Tabs Studio
|
||||
*.tss
|
||||
|
||||
# Telerik's JustMock configuration file
|
||||
*.jmconfig
|
||||
|
||||
# BizTalk build output
|
||||
*.btp.cs
|
||||
*.btm.cs
|
||||
*.odx.cs
|
||||
*.xsd.cs
|
||||
|
||||
# OpenCover UI analysis results
|
||||
OpenCover/
|
||||
|
||||
# Azure Stream Analytics local run output
|
||||
ASALocalRun/
|
||||
|
||||
# MSBuild Binary and Structured Log
|
||||
*.binlog
|
||||
|
||||
# NVidia Nsight GPU debugger configuration file
|
||||
*.nvuser
|
||||
|
||||
# MFractors (Xamarin productivity tool) working folder
|
||||
.mfractor/
|
||||
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
/Kyoo/TheTVDB-Credentials.json
|
||||
/video
|
||||
.devspace/
|
||||
.env
|
||||
.venv
|
||||
.idea
|
||||
.vscode
|
||||
log.html
|
||||
output.xml
|
||||
report.html
|
||||
chart/charts
|
||||
chart/Chart.lock
|
||||
tmp
|
||||
|
||||
4
.gitmodules
vendored
4
.gitmodules
vendored
@@ -1,4 +0,0 @@
|
||||
[submodule "transcoder"]
|
||||
path = src/Kyoo.Transcoder
|
||||
url = ../Kyoo.Transcoder.git
|
||||
branch = master
|
||||
7
.pg_format
Normal file
7
.pg_format
Normal file
@@ -0,0 +1,7 @@
|
||||
tabs=1
|
||||
function-case=1 #lowercase
|
||||
keyword-case=1
|
||||
type-case=1
|
||||
no-space-function=1
|
||||
keep-newline=1
|
||||
nogrouping=1
|
||||
@@ -1,4 +0,0 @@
|
||||
# Authors
|
||||
Ordered by the date of the first commit.
|
||||
|
||||
* Zoe Roux ([@AnonymusRaccoon](http://github.com/AnonymusRaccoon))
|
||||
@@ -3,21 +3,19 @@
|
||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
||||
|
||||
Contributions to this project are [released](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)
|
||||
to the public under the [GPL-3.0 License](https://github.com/AnonymusRaccoon/Kyoo/blob/master/LICENSE).
|
||||
to the public under the [GPL-3.0 License](https://github.com/zoriya/Kyoo/blob/master/LICENSE).
|
||||
|
||||
## Submitting a pull request
|
||||
|
||||
1. [Fork](https://github.com/AnonymusRaccoon/Kyoo/fork) and clone the repository
|
||||
2. Install the toolstack and/or download precompiled binaries for the transcoder (see [Development & Build](https://github.com/AnonymusRaccoon/Kyoo#development--build))
|
||||
3. Create a new branch: `git checkout -b my-branch-name`
|
||||
4. Make your changes (Please try to follow the same coding style as what has already been made - indent with tabs, align with spaces etc)
|
||||
5. Make sure the tests pass: `dotnet tests`
|
||||
6. Push to your fork and [submit a pull request](https://github.com/AnonymusRaccoon/Kyoo/compare)
|
||||
7. Pat your self on the back and wait for your pull request to be reviewed and merged.
|
||||
1. [Fork](https://github.com/zoriya/Kyoo/fork) and clone the repository
|
||||
2. Create a new branch: `git checkout -b my-branch-name`
|
||||
3. Make your changes (Please try to follow the same coding style as what has already been made - indent with tabs, align with spaces etc).
|
||||
Don't forget to run the auto-formatter.
|
||||
4. Push to your fork and [submit a pull request](https://github.com/zoriya/Kyoo/compare)
|
||||
5. Pat your self on the back and wait for your pull request to be reviewed and merged.
|
||||
|
||||
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
|
||||
|
||||
- Write tests.
|
||||
- Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
|
||||
- We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
|
||||
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
|
||||
|
||||
249
DIAGRAMS.md
Normal file
249
DIAGRAMS.md
Normal file
@@ -0,0 +1,249 @@
|
||||
# Diagrams
|
||||
These diagrams are created with Mermaid and rendered locally. For the best experience, please use a browser.
|
||||
|
||||
# Project Structure
|
||||
Kyoo is a monorepo that consists of several projects each in their own directory. Diagram below shows an outline of kyoo, projects, and artifacts.
|
||||
|
||||
```mermaid
|
||||
block
|
||||
columns 1
|
||||
block:proj1:1
|
||||
proj_name["Kyoo"]:1
|
||||
end
|
||||
block:proj2:1
|
||||
dir_1["api/"]
|
||||
dir_2["auth/"]
|
||||
dir_3["front/"]
|
||||
dir_4["transcoder/"]
|
||||
dir_5["scanner/"]
|
||||
end
|
||||
block:proj3:1
|
||||
%% columns auto (default)
|
||||
block:api_b:1
|
||||
autosync_i1("kyoo_api")
|
||||
end
|
||||
block:auth_b:1
|
||||
columns 1
|
||||
back_i1("kyoo_auth")
|
||||
end
|
||||
block:front_b:1
|
||||
front_i1("kyoo_front")
|
||||
end
|
||||
block:transcoder_b:1
|
||||
transcoder_i1("kyoo_transcoder")
|
||||
end
|
||||
block:scanner_b:1
|
||||
columns 1
|
||||
scanner_i1("kyoo_scanner")
|
||||
end
|
||||
end
|
||||
|
||||
style proj_name fill:transparent,stroke-width:0px
|
||||
style proj1 fill:#1168bd,stroke-width:0px
|
||||
style proj2 fill:#1168bd,stroke-width:0px
|
||||
style proj3 fill:#1168bd,stroke-width:0px
|
||||
|
||||
style dir_1 fill:#438dd5,stroke-width:0px
|
||||
style dir_2 fill:#438dd5,stroke-width:0px
|
||||
style dir_3 fill:#438dd5,stroke-width:0px
|
||||
style dir_4 fill:#438dd5,stroke-width:0px
|
||||
style dir_5 fill:#438dd5,stroke-width:0px
|
||||
|
||||
style api_b fill:#438dd5,stroke-width:0px
|
||||
style auth_b fill:#438dd5,stroke-width:0px
|
||||
style front_b fill:#438dd5,stroke-width:0px
|
||||
style transcoder_b fill:#438dd5,stroke-width:0px
|
||||
style scanner_b fill:#438dd5,stroke-width:0px
|
||||
|
||||
style autosync_i1 fill:#85bbf0,stroke-width:0px
|
||||
style back_i1 fill:#85bbf0,stroke-width:0px
|
||||
style front_i1 fill:#85bbf0,stroke-width:0px
|
||||
style transcoder_i1 fill:#85bbf0,stroke-width:0px
|
||||
style scanner_i1 fill:#85bbf0,stroke-width:0px
|
||||
```
|
||||
|
||||
# C4 Diagrams
|
||||
Diagrams that focus on capturing project from a high level point of view. Context, Container, Component, Code
|
||||
|
||||
## Context
|
||||
```mermaid
|
||||
C4Context
|
||||
UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="2")
|
||||
|
||||
title Context Diagram for Kyoo
|
||||
|
||||
Person(user, "User")
|
||||
System(kyoo, "Kyoo", "")
|
||||
System_Ext(media, "MediaLibrary", "")
|
||||
System_Ext(content, "ContentDatabase", "")
|
||||
System_Ext(tracker, "ActivityTracker", "")
|
||||
|
||||
Rel(user, kyoo, "")
|
||||
Rel(kyoo, content, "")
|
||||
Rel(kyoo, media, "")
|
||||
Rel(kyoo, tracker, "")
|
||||
```
|
||||
|
||||
## Container
|
||||
Kyoo leverages the [API Gateway](https://learn.microsoft.com/en-us/azure/architecture/microservices/design/gateway) approach to microservices and [offloads](https://learn.microsoft.com/en-us/azure/architecture/patterns/gateway-offloading) authentication at the gateway.
|
||||
|
||||
```mermaid
|
||||
C4Container
|
||||
UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")
|
||||
|
||||
title Container diagram for Kyoo System
|
||||
|
||||
Person(user, "User")
|
||||
Container(apigateway, "API Gateway")
|
||||
Container(auth, "auth")
|
||||
Container(transcoder, "transcoder")
|
||||
Container(scanner, "scanner")
|
||||
Container(frontend, "front")
|
||||
System_Ext(media, "MediaLibrary", "")
|
||||
System_Ext(content, "ContentDatabase", "")
|
||||
Container(api, "api")
|
||||
System_Ext(tracker, "ActivityTracker", "")
|
||||
|
||||
|
||||
Rel(user, apigateway, "")
|
||||
Rel(apigateway, frontend, "")
|
||||
Rel(apigateway, scanner, "")
|
||||
Rel(apigateway, transcoder, "")
|
||||
Rel(apigateway, api, "")
|
||||
Rel(apigateway, auth, "")
|
||||
Rel(frontend, api, "")
|
||||
Rel(api, tracker, "")
|
||||
Rel(api, content, "")
|
||||
Rel(scanner, api, "")
|
||||
Rel(scanner, media, "")
|
||||
Rel(scanner, content, "")
|
||||
Rel(transcoder, media, "")
|
||||
```
|
||||
## Component
|
||||
#### Auth
|
||||
Auth microservice is implicitly used by each other microservice for both end user authentication and microservice to microservice communications. Auth microservice will not be directly represented in the other component diagrams. Instead in their relationsihp will specify "auth via middleware".
|
||||
|
||||
```mermaid
|
||||
C4Component
|
||||
UpdateLayoutConfig($c4ShapeInRow="5", $c4BoundaryInRow="2")
|
||||
|
||||
title Auth Component Diagram
|
||||
|
||||
Container_Boundary(auth, "auth") {
|
||||
Component(auth_c1, "kyoo_auth", "Go", "")
|
||||
ComponentDb(auth_db1, "kelbi", "Postgres", "")
|
||||
}
|
||||
Rel(auth_c1, auth_db1, "")
|
||||
```
|
||||
|
||||
#### Api
|
||||
```mermaid
|
||||
C4Component
|
||||
UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="2")
|
||||
|
||||
title Api Component Diagram
|
||||
|
||||
Person(user, "User")
|
||||
Container_Boundary(api, "api") {
|
||||
ComponentDb(api_db1, "kyoo", "Postgres", "")
|
||||
Component(api_c1, "kyoo_api", "TypeScript", "")
|
||||
Component(api_c2, "ApiMetadata", "S3/Volume", "Persistent. Distributed Metadata")
|
||||
}
|
||||
Container_Boundary(scanner, "scanner") {
|
||||
Component(scanner_c1, "kyoo_scanner", "Python", "")
|
||||
}
|
||||
|
||||
System_Boundary(external, "") {
|
||||
System_Ext(tracker, "ActivityTracker", "")
|
||||
System_Ext(content, "ContentDatabase", "")
|
||||
}
|
||||
|
||||
Container_Boundary(front, "front") {
|
||||
Component(front_c1, "kyoo_front", "TypeScript", "")
|
||||
}
|
||||
|
||||
Rel(user, api_c1, "auth via middleware")
|
||||
Rel(api_c1, api_db1, "")
|
||||
Rel(api_c1, api_c2, "")
|
||||
Rel(api_c1, content, "http(s) <br/> retries media images")
|
||||
Rel(api_c1, tracker, "")
|
||||
Rel(scanner_c1, api_c1, "auth via middleware")
|
||||
Rel(front_c1, api_c1, "http(s) SSR <br/> auth via middleware")
|
||||
```
|
||||
|
||||
#### Front
|
||||
```mermaid
|
||||
C4Component
|
||||
UpdateLayoutConfig($c4ShapeInRow="5", $c4BoundaryInRow="2")
|
||||
|
||||
title Front Component Diagram
|
||||
|
||||
Person(user, "User")
|
||||
Container_Boundary(front, "front") {
|
||||
Component(front_c1, "kyoo_front", "TypeScript", "")
|
||||
}
|
||||
|
||||
Container_Boundary(api, "api") {
|
||||
Component(api_c1, "kyoo_api", "TypeScript", "")
|
||||
}
|
||||
Rel(user, front_c1, "")
|
||||
Rel(front_c1, api_c1, "http(s) SSR <br/> auth via middleware")
|
||||
```
|
||||
|
||||
|
||||
#### Transcoder
|
||||
```mermaid
|
||||
C4Component
|
||||
UpdateLayoutConfig($c4ShapeInRow="2", $c4BoundaryInRow="1")
|
||||
|
||||
title Transcoder Component Diagram
|
||||
|
||||
Person(user, "User")
|
||||
|
||||
Container_Boundary(transcoder, "transcoder") {
|
||||
ComponentDb(transcoder_db1, "gocoder", "Postgres", "")
|
||||
Component(transcoder_c1, "kyoo_transcoder", "Go", "")
|
||||
Component(transcoder_c2, "TranscodeMetadata", "S3/Volume", "Persistent. Distributed Metadata")
|
||||
Component(transcoder_c3, "TranscodeCache", "Volume", "Volatile. Local cache")
|
||||
}
|
||||
|
||||
System_Boundary(external, "") {
|
||||
System_Ext(media, "MediaLibrary", "")
|
||||
}
|
||||
|
||||
Rel(user, transcoder_c1, "auth via middleware")
|
||||
Rel(transcoder_c1, media, "mounted to filesystem <br/> reads")
|
||||
Rel(transcoder_c1, transcoder_db1, "")
|
||||
Rel(transcoder_c1, transcoder_c2, "")
|
||||
Rel(transcoder_c1, transcoder_c3, "")
|
||||
```
|
||||
|
||||
|
||||
#### Scanner
|
||||
```mermaid
|
||||
C4Component
|
||||
UpdateLayoutConfig($c4ShapeInRow="5", $c4BoundaryInRow="2")
|
||||
|
||||
title Scanner Component Diagram
|
||||
|
||||
Person(user, "User")
|
||||
|
||||
Container_Boundary(api, "api") {
|
||||
Component(api_c1, "kyoo_api", "TypeScript", "")
|
||||
}
|
||||
|
||||
Container_Boundary(scanner, "scanner") {
|
||||
Component(scanner_c1, "kyoo_scanner", "Python", "")
|
||||
ComponentDb(scanner_db1, "scanner", "Postgres", "")
|
||||
}
|
||||
System_Boundary(external, "") {
|
||||
System_Ext(content, "ContentDatabase", "")
|
||||
System_Ext(media, "MediaLibrary", "")
|
||||
}
|
||||
|
||||
Rel(user, scanner_c1, "http(s) <br/> auth via middleware")
|
||||
Rel(scanner_c1, api_c1, "http(s) <br/> auth via middleware")
|
||||
Rel(scanner_c1, scanner_db1, "")
|
||||
Rel(scanner_c1, content, "http(s) <br/> gathers media metadata")
|
||||
Rel(scanner_c1, media, "mounted to filesystem <br/> watches")
|
||||
```
|
||||
25
Dockerfile
25
Dockerfile
@@ -1,25 +0,0 @@
|
||||
FROM gcc:latest as transcoder
|
||||
RUN apt-get update && apt-get install -y cmake make libavutil-dev libavcodec-dev libavformat-dev
|
||||
WORKDIR /transcoder
|
||||
COPY src/Kyoo.Transcoder .
|
||||
RUN cmake . && make -j
|
||||
|
||||
FROM node:14-alpine as webapp
|
||||
WORKDIR /webapp
|
||||
COPY front .
|
||||
RUN npm install -g @angular/cli
|
||||
RUN yarn install --frozen-lockfile
|
||||
RUN yarn run build --configuration production
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:5.0 as builder
|
||||
COPY . .
|
||||
RUN dotnet publish -c Release -o /opt/kyoo '-p:SkipWebApp=true;SkipTranscoder=true;CheckCodingStyle=false' src/Kyoo.Host.Console
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:5.0
|
||||
RUN apt-get update && apt-get install -y libavutil-dev libavcodec-dev libavformat-dev
|
||||
EXPOSE 5000
|
||||
COPY --from=builder /opt/kyoo /usr/lib/kyoo
|
||||
COPY --from=transcoder /transcoder/libtranscoder.so /usr/lib/kyoo
|
||||
COPY --from=webapp /webapp/dist/* /usr/lib/kyoo/wwwroot/
|
||||
CMD ["/usr/lib/kyoo/Kyoo.Host.Console"]
|
||||
|
||||
137
INSTALLING.md
Normal file
137
INSTALLING.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# Installing TLDR
|
||||
|
||||
1. Install docker & docker-compose
|
||||
2. Download the
|
||||
[`docker-compose.yml`](https://github.com/zoriya/kyoo/releases/latest/download/docker-compose.yml) and
|
||||
[`.env`](https://github.com/zoriya/kyoo/releases/latest/download/env.example) files
|
||||
3. Fill the `.env` file with your configuration options. Ensure it's named `.env` (nothing before the dot)
|
||||
4. Look at [Hardware Acceleration section](#Hardware-Acceleration) if you need it
|
||||
5. Look at [FAQ](#FAQ) if you need it,
|
||||
6. Run `docker compose up -d` and see kyoo at `http://localhost:8901`
|
||||
|
||||
# Installing
|
||||
|
||||
To install Kyoo, you need docker and docker-compose. Those can be installed from here for
|
||||
[Linux](https://docs.docker.com/engine/install/)
|
||||
[Mac](https://docs.docker.com/desktop/install/mac-install/)
|
||||
or [Windows](https://docs.docker.com/desktop/install/windows-install/). Docker is used to run each services of Kyoo in
|
||||
an isolated environment with all the dependencies they need.
|
||||
|
||||
Kyoo also needs 2 files to work properly. The first should be downloaded from the latest release artifact, the other needs to be filled in with your configurations.
|
||||
Those files can be put in any directory of your choice.
|
||||
|
||||
Those files are:
|
||||
|
||||
- A `docker-compose.yml` (simply download docker-compose.yml from [the latest release](https://github.com/zoriya/kyoo/releases/latest/download/docker-compose.yml)).
|
||||
- A `.env` file that you will need to **fill**. Look at the example [.env.example](https://github.com/zoriya/kyoo/releases/latest/download/env.example). It's name NEEDS to be `.env` (nothing before the dot)
|
||||
|
||||
> If you want an explanation of what are those files, you can read the following:
|
||||
> The `docker-compose.yml` file describes the different services of Kyoo, where they should be downloaded and their start order. \
|
||||
> The `.env` file contains all the configuration options that the services in `docker-compose.yml` will read.
|
||||
|
||||
If you need hardware acceleration, look at [Hardware Acceleration section](#Hardware-Acceleration).
|
||||
If you need custom volumes (because video directories are on different disks and you can't use raid, because you use network drives or another custom volume type), look at [Custom Volumes](#Custom-Volumes).
|
||||
|
||||
The next and last step is actually starting Kyoo. To do that, open a terminal in the same directory as the 3 configurations files
|
||||
and run `docker compose up -d`.
|
||||
|
||||
Congratulation, everything is now ready to use Kyoo. You can navigate to `http://localhost:8901` on a web browser to see your instance of Kyoo.
|
||||
|
||||
# Updating
|
||||
|
||||
Updating Kyoo is exactly the same as installing it. Get an updated version of the `docker-compose.yml` file and
|
||||
unsure that your `.env` contains all the options specified in the updated `.env.example` file.
|
||||
|
||||
After that, you will need to update Kyoo's services. For that, open a terminal in the configuration's directory and run
|
||||
the command `docker compose pull`. You are now ready to restart Kyoo, you can run `docker compose up -d`.
|
||||
|
||||
# Uninstalling
|
||||
|
||||
To uninstall Kyoo, you need to open a terminal in the configuration's directory and run `docker compose down`. This will
|
||||
stop Kyoo's services. You can then remove the configuration files.
|
||||
|
||||
# Hardware Acceleration
|
||||
|
||||
## VA-API (intel, amd)
|
||||
|
||||
First install necessary drivers on your system, when running `vainfo` you should have something like this:
|
||||
```
|
||||
libva info: VA-API version 1.20.0
|
||||
libva info: Trying to open /run/opengl-driver/lib/dri/iHD_drv_video.so
|
||||
libva info: Found init function __vaDriverInit_1_20
|
||||
libva info: va_openDriver() returns 0
|
||||
vainfo: VA-API version: 1.20 (libva 2.20.1)
|
||||
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.3.5 ()
|
||||
vainfo: Supported profile and entrypoints
|
||||
VAProfileH264Main : VAEntrypointVLD
|
||||
VAProfileH264Main : VAEntrypointEncSlice
|
||||
...Truncated...
|
||||
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
|
||||
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
|
||||
```
|
||||
Kyoo will default to use your primary card (located at `/dev/dri/renderD128`). If you need to specify a secondary one, you
|
||||
can use the `GOCODER_VAAPI_RENDERER` env-var to specify `/dev/dri/renderD129` or another one.
|
||||
|
||||
Then you can simply run kyoo using `docker compose --profile vaapi up -d` (notice the `--profile vaapi` added)
|
||||
You can also add `COMPOSE_PROFILES=vaapi` to your `.env` instead of adding the `--profile` flag.
|
||||
|
||||
## Nvidia
|
||||
|
||||
To enable nvidia hardware acceleration, first install necessary drivers on your system.
|
||||
|
||||
Then, install the [nvidia-container-toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html), you can simply
|
||||
follow the instructions on the official webpage or your distribution wiki.
|
||||
|
||||
To test if everything works, you can run `sudo docker run --rm --gpus all ubuntu nvidia-smi`. If your version of docker is older,
|
||||
you might need to add `--runtime nvidia` like so: `sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi`
|
||||
|
||||
After that, you can now use `docker compose --profile nvidia up -d` to start kyoo with nvidia hardware acceleration (notice the `--profile nvidia` added).
|
||||
You can also add `COMPOSE_PROFILES=nvidia` to your `.env` instead of adding the `--profile` flag.
|
||||
|
||||
Note that most nvidia cards have an artificial limit on the number of encodes. You can confirm your card limit [here](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new).
|
||||
This limit can also be removed by applying an [unofficial patch](https://github.com/keylase/nvidia-patch) to you driver.
|
||||
|
||||
# FAQ
|
||||
|
||||
## Custom volumes
|
||||
|
||||
To customize volumes, you can edit the `docker-compose.yml` manually.
|
||||
|
||||
For example, if your library is split into multiples paths you can edit the `volumes` section of **BOTH the transcoder and the scanner** like so:
|
||||
|
||||
```patch
|
||||
x-transcoder: &transcoder-base
|
||||
image: ghcr.io/zoriya/kyoo_transcoder:edge
|
||||
networks:
|
||||
default:
|
||||
aliases:
|
||||
- transcoder
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ./.env
|
||||
volumes:
|
||||
- - ${LIBRARY_ROOT}:/video:ro
|
||||
+ - /my_path/number1:/video/1:ro
|
||||
+ - /c/Users/Videos/:video/c:ro
|
||||
- ${CACHE_ROOT}:/cache
|
||||
- metadata:/metadata
|
||||
```
|
||||
You can also edit the volume definition to use advanced volume drivers if you need to access smb or network drives. Mounting a drive into your filesystem and binding it in this volume section is also a valid choice (especially for fuse filesystems like cloud drives for example).
|
||||
|
||||
Don't forget to **also edit the scanner's volumes** if you edit the transcoder's volume.
|
||||
|
||||
## Ignoring Directories
|
||||
Kyoo supports excluding specific directories from scanning and monitoring by detecting the presence of a `.ignore` file. When a directory contains a `.ignore` file, Kyoo will recursively exclude that directory and all its contents from processing.
|
||||
|
||||
Example:
|
||||
To exclude `/media/extras/**`, add a `.ignore` file:
|
||||
```bash
|
||||
touch /media/extras/.ignore
|
||||
```
|
||||
Kyoo will skip `/media/extras` and its contents in all future scans and monitoring events.
|
||||
|
||||
# OpenID Connect
|
||||
|
||||
Kyoo supports OpenID Connect (OIDC) for authentication. Please refer to the [OIDC.md](OIDC.md) file for more information.
|
||||
|
||||
<!-- vim: set wrap: -->
|
||||
44
Kyoo.ruleset
44
Kyoo.ruleset
@@ -1,44 +0,0 @@
|
||||
<RuleSet Name="Kyoo" ToolsVersion="10.0">
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.MaintainabilityRules">
|
||||
<Rule Id="SA1413" Action="None" /> <!-- UseTrailingCommasInMultiLineInitializers -->
|
||||
<Rule Id="SA1414" Action="None" /> <!-- UseTrailingCommasInMultiLineInitializers -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.OrderingRules">
|
||||
<Rule Id="SA1201" Action="None" /> <!-- ElementsMustAppearInTheCorrectOrder -->
|
||||
<Rule Id="SA1202" Action="None" /> <!-- ElementsMustBeOrderedByAccess -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.NamingRules">
|
||||
<Rule Id="SA1309" Action="None" /> <!-- FieldNamesMustNotBeginWithUnderscore -->
|
||||
<Rule Id="SX1309" Action="Warning" /> <!-- FieldNamesMustBeginWithUnderscore -->
|
||||
<Rule Id="SA1300" Action="None" /> <!-- ElementMustBeginWithUpperCaseLetter (this conflict with the _ prefix for privates, enforced by an IDE rule) -->
|
||||
<Rule Id="SA1316" Action="None" /> <!-- TupleElementNamesShouldUseCorrectCasing (should be camels when deconstructing but pascal otherwise. -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.ReadabilityRules">
|
||||
<Rule Id="SA1101" Action="None" /> <!-- PrefixLocalCallsWithThis -->
|
||||
<Rule Id="SX1101" Action="Warning" /> <!-- DoNotPrefixLocalMembersWithThis -->
|
||||
<Rule Id="SA1134" Action="None" /> <!-- AttributesMustNotShareLine -->
|
||||
<Rule Id="SA1117" Action="None" /> <!-- ParametersMustBeOnSameLineOrSeparateLines -->
|
||||
<Rule Id="SA1116" Action="None" /> <!-- SplitParametersMustStartOnLineAfterDeclaration -->
|
||||
<Rule Id="SA1111" Action="None" /> <!-- ClosingParenthesisMustBeOnLineOfLastParameter -->
|
||||
<Rule Id="SA1009" Action="None" /> <!-- ClosingParenthesisMustBeSpacedCorrectly (bugged if the parenthesis is on a line by iteself) -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.SpacingRules">
|
||||
<Rule Id="SA1502" Action="None"/> <!-- DocumentationLinesMustBeginWithSingleSpace -->
|
||||
<Rule Id="SA1027" Action="None"/> <!-- UseTabsCorrectly (smarts tabs are broken). TODO find a way to enable smart tabs -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.LayoutRules">
|
||||
<Rule Id="SA1503" Action="None"/> <!-- BracesMustNotBeOmitted -->
|
||||
<Rule Id="SA1520" Action="None"/> <!-- UseBracesConsistently -->
|
||||
<Rule Id="SA1515" Action="None"/> <!-- SingleLineCommentMustBePrecededByBlankLine -->
|
||||
<Rule Id="SA1513" Action="None"/> <!-- ClosingBraceMustBeFollowedByBlankLine -->
|
||||
</Rules>
|
||||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.CSharp.DocumentationRules">
|
||||
<Rule Id="SA1642" Action="None" /> <!-- ConstructorSummaryDocumentationMustBeginWithStandardText -->
|
||||
<Rule Id="SA1643" Action="None" /> <!-- DestructorSummaryDocumentationMustBeginWithStandardText -->
|
||||
<Rule Id="SA1623" Action="None" /> <!-- PropertySummaryDocumentationMustMatchAccessors -->
|
||||
|
||||
|
||||
|
||||
<Rule Id="SA1629" Action="None" /> <!-- DocumentationTextMustEndWithAPeriod TODO remove this, this is only temporary -->
|
||||
</Rules>
|
||||
</RuleSet>
|
||||
116
Kyoo.sln
116
Kyoo.sln
@@ -1,116 +0,0 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kyoo.Core", "src\Kyoo.Core\Kyoo.Core.csproj", "{0F8275B6-C7DD-42DF-A168-755C81B1C329}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Abstractions", "src\Kyoo.Abstractions\Kyoo.Abstractions.csproj", "{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Database", "src\Kyoo.Database\Kyoo.Database.csproj", "{6F91B645-F785-46BB-9C4F-1EFC83E489B6}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Postgresql", "src\Kyoo.Postgresql\Kyoo.Postgresql.csproj", "{3213C96D-0BF3-460B-A8B5-B9977229408A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Authentication", "src\Kyoo.Authentication\Kyoo.Authentication.csproj", "{7A841335-6523-47DB-9717-80AA7BD943FD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.SqLite", "src\Kyoo.SqLite\Kyoo.SqLite.csproj", "{6515380E-1E57-42DA-B6E3-E1C8A848818A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.TheTvdb", "src\Kyoo.TheTvdb\Kyoo.TheTvdb.csproj", "{D06BF829-23F5-40F3-A62D-627D9F4B4D6C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.TheMovieDb", "src\Kyoo.TheMovieDb\Kyoo.TheMovieDb.csproj", "{BAB270D4-E0EA-4329-BA65-512FDAB01001}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Tests", "tests\Kyoo.Tests\Kyoo.Tests.csproj", "{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.WebApp", "src\Kyoo.WebApp\Kyoo.WebApp.csproj", "{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Host.WindowsTrait", "src\Kyoo.Host.WindowsTrait\Kyoo.Host.WindowsTrait.csproj", "{98851001-40DD-46A6-94B3-2F8D90722076}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Host.Console", "src\Kyoo.Host.Console\Kyoo.Host.Console.csproj", "{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Swagger", "src\Kyoo.Swagger\Kyoo.Swagger.csproj", "{7D1A7596-73F6-4D35-842E-A5AD9C620596}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{FEAE1B0E-D797-470F-9030-0EF743575ECC}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Providers", "Providers", "{8D28F5EF-0CD7-4697-A2A7-24EC31A48F21}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Databases", "Databases", "{865461CA-EC06-4B42-91CF-8723B0A9BB67}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hosts", "Hosts", "{C569FF25-7E01-484C-9F72-5B99845AD94B}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Host.Generic", "src\Kyoo.Host.Generic\Kyoo.Host.Generic.csproj", "{0938459E-2E2B-457F-8120-7D8CA93866A6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0F8275B6-C7DD-42DF-A168-755C81B1C329}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F8275B6-C7DD-42DF-A168-755C81B1C329}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F8275B6-C7DD-42DF-A168-755C81B1C329}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F8275B6-C7DD-42DF-A168-755C81B1C329}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6F91B645-F785-46BB-9C4F-1EFC83E489B6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3213C96D-0BF3-460B-A8B5-B9977229408A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3213C96D-0BF3-460B-A8B5-B9977229408A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3213C96D-0BF3-460B-A8B5-B9977229408A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3213C96D-0BF3-460B-A8B5-B9977229408A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7A841335-6523-47DB-9717-80AA7BD943FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7A841335-6523-47DB-9717-80AA7BD943FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7A841335-6523-47DB-9717-80AA7BD943FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7A841335-6523-47DB-9717-80AA7BD943FD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6515380E-1E57-42DA-B6E3-E1C8A848818A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6515380E-1E57-42DA-B6E3-E1C8A848818A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6515380E-1E57-42DA-B6E3-E1C8A848818A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6515380E-1E57-42DA-B6E3-E1C8A848818A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D06BF829-23F5-40F3-A62D-627D9F4B4D6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D06BF829-23F5-40F3-A62D-627D9F4B4D6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D06BF829-23F5-40F3-A62D-627D9F4B4D6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D06BF829-23F5-40F3-A62D-627D9F4B4D6C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BAB270D4-E0EA-4329-BA65-512FDAB01001}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BAB270D4-E0EA-4329-BA65-512FDAB01001}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BAB270D4-E0EA-4329-BA65-512FDAB01001}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BAB270D4-E0EA-4329-BA65-512FDAB01001}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4FF1ECD9-6EEF-4440-B037-A661D78FB04D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{98851001-40DD-46A6-94B3-2F8D90722076}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{98851001-40DD-46A6-94B3-2F8D90722076}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{98851001-40DD-46A6-94B3-2F8D90722076}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{98851001-40DD-46A6-94B3-2F8D90722076}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7D1A7596-73F6-4D35-842E-A5AD9C620596}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7D1A7596-73F6-4D35-842E-A5AD9C620596}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7D1A7596-73F6-4D35-842E-A5AD9C620596}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7D1A7596-73F6-4D35-842E-A5AD9C620596}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0938459E-2E2B-457F-8120-7D8CA93866A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0938459E-2E2B-457F-8120-7D8CA93866A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0938459E-2E2B-457F-8120-7D8CA93866A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0938459E-2E2B-457F-8120-7D8CA93866A6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{0C8AA7EA-E723-4532-852F-35AA4E8AFED5} = {FEAE1B0E-D797-470F-9030-0EF743575ECC}
|
||||
{BAB270D4-E0EA-4329-BA65-512FDAB01001} = {8D28F5EF-0CD7-4697-A2A7-24EC31A48F21}
|
||||
{D06BF829-23F5-40F3-A62D-627D9F4B4D6C} = {8D28F5EF-0CD7-4697-A2A7-24EC31A48F21}
|
||||
{6F91B645-F785-46BB-9C4F-1EFC83E489B6} = {865461CA-EC06-4B42-91CF-8723B0A9BB67}
|
||||
{3213C96D-0BF3-460B-A8B5-B9977229408A} = {865461CA-EC06-4B42-91CF-8723B0A9BB67}
|
||||
{6515380E-1E57-42DA-B6E3-E1C8A848818A} = {865461CA-EC06-4B42-91CF-8723B0A9BB67}
|
||||
{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
|
||||
{98851001-40DD-46A6-94B3-2F8D90722076} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
|
||||
{0938459E-2E2B-457F-8120-7D8CA93866A6} = {C569FF25-7E01-484C-9F72-5B99845AD94B}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
64
OIDC.md
Normal file
64
OIDC.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# OpenID Connect
|
||||
|
||||
Kyoo supports OpenID Connect (OIDC) for authentication. This allows you to use your existing identity provider to authenticate users in Kyoo.
|
||||
|
||||
## Configuration
|
||||
|
||||
To enable OIDC, you need to fill the following environment variables in your `.env` file:
|
||||
|
||||
```env
|
||||
PUBLIC_URL=https://your-kyoo-instance.com
|
||||
OIDC_<name>_NAME=<name>
|
||||
OIDC_<name>_LOGO=https://url-of-your-logo.com
|
||||
OIDC_<name>_CLIENTID=
|
||||
OIDC_<name>_SECRET=
|
||||
OIDC_<name>_AUTHORIZATION=https://url-of-the-authorization-endpoint-of-the-oidc-service.com/auth
|
||||
OIDC_<name>_TOKEN=https://url-of-the-token-endpoint-of-the-oidc-service.com/token
|
||||
OIDC_<name>_PROFILE=https://url-of-the-profile-endpoint-of-the-oidc-service.com/userinfo
|
||||
OIDC_<name>_SCOPE="email openid profile"
|
||||
OIDC_<name>_AUTHMETHOD=ClientSecretBasic
|
||||
```
|
||||
|
||||
- `PUBLIC_URL` is the URL of your Kyoo instance. This is required for OIDC to work.
|
||||
- `<name>` is the name of the OIDC provider. It can be anything you want. This will be the display name of the OIDC provider on the login page.
|
||||
- `OIDC_<name>_LOGO` is the URL of the logo of the OIDC provider. It will be displayed on the login page.
|
||||
- `OIDC_<name>_CLIENTID` is the client ID of the OIDC provider.
|
||||
- `OIDC_<name>_SECRET` is the client secret of the OIDC provider.
|
||||
- `OIDC_<name>_AUTHORIZATION` is the URL of the authorization endpoint of the OIDC provider.
|
||||
- `OIDC_<name>_TOKEN` is the URL of the token endpoint of the OIDC provider.
|
||||
- `OIDC_<name>_PROFILE` is the URL of the profile endpoint of the OIDC provider.
|
||||
- `OIDC_<name>_SCOPE` is the scope of the OIDC provider. This is a space-separated list of scopes.
|
||||
- `OIDC_<name>_AUTHMETHOD` is the authentication method of the OIDC provider. This can be `ClientSecretBasic` or `ClientSecretPost`.
|
||||
|
||||
## Example
|
||||
|
||||
### Google OIDC
|
||||
|
||||
To enable Google OIDC, please follow the instructions from the [Google Developers](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid) to create a new project and get the client ID and secret.
|
||||
|
||||
When creating the Oauth 2.0 Client ID, make sure to add the following redirect URI: `https://your-kyoo-instance.com/api/auth/logged/google`.
|
||||
|
||||
For the authorized JavaScript origins, add `https://your-kyoo-instance.com`.
|
||||
|
||||
Then, fill the following environment variables in your `.env` file:
|
||||
|
||||
```env
|
||||
PUBLIC_URL=https://your-kyoo-instance.com
|
||||
OIDC_GOOGLE_NAME=Google
|
||||
OIDC_GOOGLE_LOGO=https://www.gstatic.com/marketing-cms/assets/images/d5/dc/cfe9ce8b4425b410b49b7f2dd3f3/g.webp=s200
|
||||
OIDC_GOOGLE_CLIENTID=<client-id> # the client ID you got from Google
|
||||
OIDC_GOOGLE_SECRET=<client-secret> # the client secret you got from Google
|
||||
OIDC_GOOGLE_AUTHORIZATION=https://accounts.google.com/o/oauth2/auth
|
||||
OIDC_GOOGLE_TOKEN=https://oauth2.googleapis.com/token
|
||||
OIDC_GOOGLE_PROFILE=https://www.googleapis.com/oauth2/v2/userinfo
|
||||
OIDC_GOOGLE_SCOPE="email openid profile"
|
||||
OIDC_GOOGLE_AUTHMETHOD=ClientSecretPost
|
||||
```
|
||||
|
||||
### Another OIDC providers
|
||||
|
||||
To enable another OIDC provider, just fill the environment variables with the information you got from the provider.
|
||||
|
||||
Remember that when `<name>` is `XYZ`, the environment variables should start with `OIDC_XYZ_`.
|
||||
|
||||
In that case, the callback URL will be `https://your-kyoo-instance.com/api/auth/logged/xyz`.
|
||||
44
PRIVACY.md
Normal file
44
PRIVACY.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# Privacy Policy for Kyoo
|
||||
|
||||
Effective Date: 2023-06-15
|
||||
|
||||
Thank you for using Kyoo. This Privacy Policy outlines how we collect, use, and protect your personal information when you use our service. We are committed to ensuring the privacy and security of your data. Please read this policy carefully to understand our practices regarding your information.
|
||||
|
||||
### 1. Information We Collect:
|
||||
|
||||
We collect and store only the email addresses you provide during the registration process. No other personal information is requested or stored.
|
||||
|
||||
### 2. Use of Personal Information:
|
||||
|
||||
We use your email address solely for the purpose of user authentication and login. We do not use, access, or share your email address with any third parties.
|
||||
|
||||
### 3. Data Storage and Security:
|
||||
|
||||
All personal information, limited to email addresses, is stored securely on our self-hosted servers. We take appropriate technical and organizational measures to protect against unauthorized access, alteration, disclosure, or destruction of your personal information.
|
||||
|
||||
### 4. Data Sharing:
|
||||
|
||||
We do not share any personal information, including email addresses, with any third parties. Your data remains confidential and is used only for the purposes stated in this Privacy Policy.
|
||||
|
||||
### 5. Account Deletion:
|
||||
|
||||
You have the right to delete your Kyoo account at any time. To do so, please click on the `Delete your account` button on the account's menu of the app/website. Upon account deletion, all associated personal information, including your email address, will be permanently and irreversibly removed from our servers.
|
||||
|
||||
### 6. Cookies and Tracking Technologies:
|
||||
|
||||
Kyoo does not use any cookies or tracking technologies to collect or store user information.
|
||||
|
||||
### 7. Legal Basis for Processing:
|
||||
|
||||
Our collection and processing of your email address is based on your consent, as it is necessary for the performance of the contract between you and Kyoo.
|
||||
|
||||
### 8. Changes to this Privacy Policy:
|
||||
|
||||
We may update this Privacy Policy from time to time. Any changes will be posted on this page, and the effective date will be indicated at the top of the policy. Please review this policy periodically for any updates.
|
||||
|
||||
### 9. Contact Us:
|
||||
|
||||
If you have any questions, concerns, or requests regarding this Privacy Policy or the processing of your personal information, please contact us at https://github.com/zoriya/kyoo/issues.
|
||||
|
||||
|
||||
By using Kyoo, you acknowledge and agree to the practices described in this Privacy Policy.
|
||||
179
README.md
179
README.md
@@ -1,96 +1,87 @@
|
||||
# <img width="24px" src="./icons/icon-256x256.png" alt="Kyoo"> Kyoo
|
||||
<p>
|
||||
<a href="https://github.com/AnonymusRaccoon/Kyoo/actions/workflows/build.yml"><img src="https://img.shields.io/github/workflow/status/AnonymusRaccoon/Kyoo/Build?style=flat-square" alt="Build status"></a>
|
||||
<a href="https://github.com/AnonymusRaccoon/Kyoo/actions/workflows/tests.yml"><img src="https://img.shields.io/github/workflow/status/AnonymusRaccoon/Kyoo/Testing?label=tests&style=flat-square" alt="Tests status"></a>
|
||||
<a href="https://github.com/users/AnonymusRaccoon/packages/container/package/kyoo"><img src="https://img.shields.io/github/workflow/status/AnonymusRaccoon/Kyoo/Docker?label=docker&style=flat-square" alt="Docker status"/></a>
|
||||
<a href="https://sonarcloud.io/dashboard?id=AnonymusRaccoon_Kyoo"><img src="https://img.shields.io/sonar/tests/AnonymusRaccoon_Kyoo?compact_message&server=https%3A%2F%2Fsonarcloud.io&style=flat-square" alt="Test report"></a>
|
||||
<a href="https://sonarcloud.io/dashboard?id=AnonymusRaccoon_Kyoo"><img src="https://img.shields.io/sonar/coverage/AnonymusRaccoon_Kyoo?server=https%3A%2F%2Fsonarcloud.io&style=flat-square" alt="Coverage"></a>
|
||||
<a href="./LICENSE"><img src="https://img.shields.io/github/license/AnonymusRaccoon/Kyoo?style=flat-square" alt="License"></a>
|
||||
# <img width="24px" src="./icons/icon-256x256.png" alt=""> Kyoo
|
||||
|
||||
Kyoo is a self-hosted media server focused on video content (Movies, Series & Anime). It is an alternative to Jellyfin or Plex.
|
||||
|
||||
It aims to have a low amount of maintenance needed (no folder structure required nor manual metadata edits). Media not being scanned correctly (even with weird names) is considered a bug.
|
||||
|
||||
Kyoo does not have a plugin system and aim to have every features built-in (see [#Features](#-features) for the list).
|
||||
|
||||

|
||||
|
||||
## 🌐 Getting Started
|
||||
|
||||
- **[Installation](./INSTALLING.md):** Basic installation guidelines, how to start Kyoo, enable OIDC or hardware transcoding.
|
||||
- **[Join the discord](https://discord.gg/E6Apw3aFaA):** Ask questions, talk about the development, feature you might want or bugs you might encounter.
|
||||
- **[API Documentation](https://kyoo.zoriya.dev/api/doc):** The API to integrate Kyoo with other services, if you have any questions, please ask on GitHub or Discord!
|
||||
- **[Contributing](./CONTRIBUTING.md):** Feel free to open issues, submit pull requests, and contribute to making Kyoo even better. We need you!
|
||||
|
||||
[](https://discord.gg/zpA74Qpvj5)
|
||||
|
||||
## 🚀 Features
|
||||
|
||||
- **Dynamic Transcoding:** Transcode your media to any quality, change on the fly with auto quality, and seek instantly without waiting for the transcoder.
|
||||
|
||||
- **Video Preview Thumbnails:** Simply hover the video's progress bar and see a preview of the video.
|
||||
|
||||
- **Meilisearch-Powered Search:** Advanced, typo-resilient search system powered by Meilisearch.
|
||||
|
||||
- **OIDC Connection:** Connect using any OIDC compliant service (Google, Discord, Authelia, you name it).
|
||||
|
||||
- **Watch List Scrubbing Support:** Your watch list is automatically synced to connected services (SIMKL and soon others [#351](https://github.com/zoriya/Kyoo/issues/351), [#352](https://github.com/zoriya/Kyoo/issues/352)). No need to manually mark episodes as watched.
|
||||
|
||||
- **Download and Offline Support:** Download videos to watch them without internet access, your progress will automatically be synced next time your devices goes online.
|
||||
|
||||
- **Enhanced Subtitle Support:** Subtitles are important, Kyoo supports SSA/ASS and uses the video's embedded fonts when available.
|
||||
|
||||
- **Anime Name Parsing**: While there are still some issues (see [#466](https://github.com/zoriya/Kyoo/issues/466), Kyoo will match weird anime names (like `[Some-Stuffs] Jojo's Bizarre Adventure Stone Ocean 24 (1920x1080 Blu-Ray Opus) [2750810F].mkv`) without issue.
|
||||
|
||||
- **Helm Chart:** Deploy Kyoo to your Kubernetes cluster today! There is an official Helm chart. Multiple replicas is a WIP!
|
||||
|
||||
## 📺 Clients
|
||||
|
||||
Kyoo currently supports Web and Android clients, with additional platforms being thought about.
|
||||
|
||||
Don't see your client? Kyoo is focused on adding features, but welcomes contributors! The frontend is built with React-Native and Expo. Come hang and develop with us on Discord.
|
||||
|
||||
Support for Apple devices (iOS, tvOS) is not currently planned due to buying hardware and yearly developer fee (~$100).
|
||||
|
||||
## 📖 Translations
|
||||
|
||||
If Kyoo is not available on your language, you can use [weblate](https://hosted.weblate.org/engage/kyoo/) to add translations easily.
|
||||
|
||||
[](https://hosted.weblate.org/engage/kyoo/)
|
||||
|
||||
## 📜 Why another media-browser?
|
||||
|
||||
From a technical standpoint, both Jellyfin and Plex lean on SQLite and confine everything within a single container, Kyoo takes a different route. We're not afraid to bring in additional containers when it makes sense – whether for specialized features like Meilisearch powering our search system or for scalability, as seen with our transcoder.
|
||||
|
||||
Kyoo embraces the “setup once, forget about it” philosophy. Unlike Plex and Jellyfin, we don't burden you with manual file renaming or specific folder structures. Kyoo seamlessly works with files straight from your download directory, minimizing the maintenance headache for server admins.
|
||||
|
||||
Kyoo narrows its focus to movies, TV shows, and anime streaming. No music, e-books, or games – just pure cinematic delight.
|
||||
|
||||
## 🔗 Live Demo
|
||||
|
||||
Curious to see Kyoo in action? Check out our live demo featuring copyright-free movies at [kyoo.zoriya.dev](https://kyoo.zoriya.dev). Special thanks to the Blender Studio for providing open-source movies available for all.
|
||||
|
||||
## 👀 Screens
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
<p align="center">
|
||||
<img
|
||||
src="https://raw.githubusercontent.com/zoriya/kyoo/screens/android-movie.png"
|
||||
alt="Android Movie"
|
||||
width="350"
|
||||
/>
|
||||
</p>
|
||||
Ready to elevate your streaming experience? Dive into Kyoo now! 🎬🎉
|
||||
|
||||
Kyoo is an open-source media browser which allow you to stream your movies, tv-shows or anime.
|
||||
It is an alternative to Plex, Emby or Jellyfin.
|
||||
|
||||
Kyoo has been created from scratch, it is not a fork. Everything is and always will be free and open-source.
|
||||
|
||||
Feel free to open issues or pull requests, all contribution are welcomed.
|
||||
|
||||
## Getting started
|
||||
|
||||
- [Installation](https://docs.kyoo.moe/start/install.html)
|
||||
- [Setting Up](https://docs.kyoo.moe/start/setting_up.html)
|
||||
- [Api Documentation](https://demo.kyoo.moe/redoc)
|
||||
- [Documentation (work in progress)](https://docs.kyoo.moe)
|
||||
- [Contributing](./CONTRIBUTING.md)
|
||||
|
||||
## Features
|
||||
- Manage your movies, tv-series & anime
|
||||
- Download metadata automatically
|
||||
- Transmux files to make them available on every platform (Transcode coming soon)
|
||||
- Account system with a permission system
|
||||
- Handle subtitles natively with embedded fonts (ass, subrip or vtt)
|
||||
- Entirely free and works without internet (when metadata have already been downloaded)
|
||||
- Works on Linux, Windows, Docker and probably Mac
|
||||
- A powerful plugin system
|
||||
|
||||
## Live Demo
|
||||
|
||||
You can see a live demo with copyright-free movies here: [demo.kyoo.moe](https://demo.kyoo.moe).
|
||||
Thanks to the [blender studio](https://www.blender.org/about/studio/) for providing open-source movies available for all.
|
||||
|
||||
The demo server is simply created using the following docker compose:
|
||||
|
||||
```yml
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
kyoo:
|
||||
image: ghcr.io/anonymusraccoon/kyoo:master
|
||||
restart: on-failure
|
||||
environment:
|
||||
- KYOO_DATADIR=/var/lib/kyoo
|
||||
- BASICS__PUBLICURL=https://demo.kyoo.moe
|
||||
- BASICS__MetadataInShow=false
|
||||
- DATABASE__ENABLED=postgres
|
||||
- DATABASE__CONFIGURATIONS__POSTGRES__SERVER=postgres
|
||||
- DATABASE__CONFIGURATIONS__POSTGRES__USER ID=kyoo
|
||||
- DATABASE__CONFIGURATIONS__POSTGRES__PASSWORD=kyooPassword
|
||||
- TVDB__APIKEY=TheTvDbApiKey
|
||||
- THE-MOVIEDB__APIKEY=TheMovieDbApiKey
|
||||
ports:
|
||||
- "80:5000"
|
||||
depends_on:
|
||||
- postgres
|
||||
volumes:
|
||||
- kyoo:/var/lib/kyoo
|
||||
- video:/video
|
||||
postgres:
|
||||
image: "postgres"
|
||||
restart: on-failure
|
||||
environment:
|
||||
- POSTGRES_USER=kyoo
|
||||
- POSTGRES_PASSWORD=kyooPassword
|
||||
volumes:
|
||||
- db:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
kyoo:
|
||||
video:
|
||||
db:
|
||||
```
|
||||
|
||||
## Screens
|
||||
|
||||

|
||||
- - -
|
||||

|
||||
- - -
|
||||

|
||||
- - -
|
||||

|
||||
- - -
|
||||

|
||||
- - -
|
||||

|
||||
- - -
|
||||

|
||||
<!-- vim: set wrap: -->
|
||||
|
||||
7
api/.dockerignore
Normal file
7
api/.dockerignore
Normal file
@@ -0,0 +1,7 @@
|
||||
**
|
||||
!/package.json
|
||||
!/bun.lock
|
||||
!/tsconfig.json
|
||||
!/patches
|
||||
!/src
|
||||
!/drizzle
|
||||
31
api/.env.example
Normal file
31
api/.env.example
Normal file
@@ -0,0 +1,31 @@
|
||||
# vi: ft=sh
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
# either an hard-coded secret to decode jwts or empty to use keibi's public secret.
|
||||
# this should only be used in tests
|
||||
JWT_SECRET=
|
||||
# used to verify who's making the jwt
|
||||
JWT_ISSUER=$PUBLIC_URL
|
||||
# keibi's server to retrieve the public jwt secret
|
||||
AUTH_SERVER=http://auth:4568
|
||||
|
||||
IMAGES_PATH=./images
|
||||
|
||||
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
|
||||
OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
|
||||
|
||||
# It is recommended to use the below PG environment variables when possible.
|
||||
# POSTGRES_URL=postgres://user:password@hostname:port/dbname?sslmode=verify-full&sslrootcert=/path/to/server.crt&sslcert=/path/to/client.crt&sslkey=/path/to/client.key
|
||||
# The behavior of the below variables match what is documented here:
|
||||
# https://www.postgresql.org/docs/current/libpq-envars.html
|
||||
PGUSER=kyoo
|
||||
PGPASSWORD=password
|
||||
PGDATABASE=kyoo
|
||||
PGHOST=postgres
|
||||
PGPORT=5432
|
||||
# PGOPTIONS=-c search_path=kyoo,public
|
||||
# PGPASSFILE=/my/password # Takes precedence over PGPASSWORD. New line characters are not trimmed.
|
||||
# PGSSLMODE=verify-full
|
||||
# PGSSLROOTCERT=/my/serving.crt
|
||||
# PGSSLCERT=/my/client.crt
|
||||
# PGSSLKEY=/my/client.key
|
||||
3
api/.gitignore
vendored
Normal file
3
api/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/node_modules
|
||||
**/*.bun
|
||||
images
|
||||
30
api/Dockerfile
Normal file
30
api/Dockerfile
Normal file
@@ -0,0 +1,30 @@
|
||||
FROM oven/bun:debian AS builder
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json bun.lock .
|
||||
COPY patches patches
|
||||
RUN bun install --production
|
||||
|
||||
COPY src src
|
||||
COPY drizzle drizzle
|
||||
COPY tsconfig.json .
|
||||
|
||||
ENV NODE_ENV=production
|
||||
RUN bun build \
|
||||
--compile \
|
||||
--minify-whitespace \
|
||||
--minify-syntax \
|
||||
--target bun \
|
||||
--outfile server \
|
||||
./src/index.ts
|
||||
|
||||
FROM debian
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /app/server server
|
||||
COPY --from=builder /app/node_modules/@img /app/node_modules/@img
|
||||
COPY ./drizzle ./drizzle
|
||||
|
||||
ENV NODE_ENV=production
|
||||
EXPOSE 3567
|
||||
CMD ["/app/server"]
|
||||
12
api/Dockerfile.dev
Normal file
12
api/Dockerfile.dev
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM oven/bun AS builder
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json bun.lock .
|
||||
COPY patches patches
|
||||
RUN bun install --production
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 3567
|
||||
CMD ["bun", "dev"]
|
||||
|
||||
164
api/README.md
Normal file
164
api/README.md
Normal file
@@ -0,0 +1,164 @@
|
||||
# Kyoo API
|
||||
|
||||
## Database schema
|
||||
|
||||
The many-to-many relation between entries (episodes/movies) & videos is NOT a mistake. Some video files can contain multiples episodes (like `MyShow 2&3.mvk`). One video file can also contain only a portion of an episode (like `MyShow 2 Part 1.mkv`)
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
shows {
|
||||
guid id PK
|
||||
kind kind "serie|movie|collection"
|
||||
string(128) slug UK
|
||||
genre[] genres
|
||||
int rating "From 0 to 100"
|
||||
status status "NN"
|
||||
datetime added_date
|
||||
date start_air
|
||||
date end_air "null for movies"
|
||||
datetime next_refresh
|
||||
jsonb external_id
|
||||
guid studio_id FK
|
||||
string original_language
|
||||
guid collection_id FK
|
||||
}
|
||||
show_translations {
|
||||
guid id PK, FK
|
||||
string language PK
|
||||
string name "NN"
|
||||
string tagline
|
||||
string[] aliases
|
||||
string description
|
||||
string[] tags
|
||||
string trailerUrl
|
||||
jsonb poster
|
||||
jsonb banner
|
||||
jsonb logo
|
||||
jsonb thumbnail
|
||||
}
|
||||
shows ||--|{ show_translations : has
|
||||
shows |o--|| entries : has
|
||||
shows |o--|| shows : has_collection
|
||||
|
||||
entries {
|
||||
guid id PK
|
||||
string(256) slug UK
|
||||
guid show_id FK, UK
|
||||
%% Order is absolute number.
|
||||
uint order "NN"
|
||||
uint season_number UK
|
||||
uint episode_number UK "NN"
|
||||
type type "episode|movie|special|extra"
|
||||
date air_date
|
||||
uint runtime
|
||||
jsonb thumbnail
|
||||
datetime next_refresh
|
||||
jsonb external_id
|
||||
}
|
||||
entry_translations {
|
||||
guid id PK, FK
|
||||
string language PK
|
||||
string name
|
||||
string description
|
||||
}
|
||||
entries ||--|{ entry_translations : has
|
||||
|
||||
videos {
|
||||
guid id PK
|
||||
string path "NN"
|
||||
uint rendering "dedup for duplicates part1/2"
|
||||
uint part
|
||||
uint version "max version is preferred rendering"
|
||||
}
|
||||
videos }|--|{ entries : for
|
||||
|
||||
seasons {
|
||||
guid id PK
|
||||
string(256) slug UK
|
||||
guid show_id FK
|
||||
uint season_number "NN"
|
||||
datetime added_date
|
||||
date start_air
|
||||
date end_air
|
||||
datetime next_refresh
|
||||
jsonb external_id
|
||||
}
|
||||
|
||||
season_translations {
|
||||
guid id PK,FK
|
||||
string language PK
|
||||
string name
|
||||
string description
|
||||
jsonb poster
|
||||
jsonb banner
|
||||
jsonb logo
|
||||
jsonb thumbnail
|
||||
}
|
||||
seasons ||--|{ season_translations : has
|
||||
seasons ||--o{ entries : has
|
||||
shows ||--|{ seasons : has
|
||||
|
||||
users {
|
||||
guid id PK
|
||||
}
|
||||
|
||||
watchlist {
|
||||
guid show_id PK, FK
|
||||
guid user_id PK, FK
|
||||
status status "completed|watching|rewatching|dropped|planned"
|
||||
uint seen_entry_count "NN"
|
||||
guid next_entry FK
|
||||
}
|
||||
shows ||--|{ watchlist : has
|
||||
users ||--|{ watchlist : has
|
||||
watchlist ||--|o entries : next_entry
|
||||
|
||||
history {
|
||||
int id PK
|
||||
guid entry_id FK
|
||||
guid profile_id FK
|
||||
guid video_id FK
|
||||
jsonb progress "{ percent, time }"
|
||||
datetime played_date
|
||||
}
|
||||
entries ||--|{ history : part_of
|
||||
users ||--|{ history : has
|
||||
videos o|--o{ history : has
|
||||
|
||||
roles {
|
||||
guid show_id PK, FK
|
||||
guid staff_id PK, FK
|
||||
uint order
|
||||
type type "actor|director|writer|producer|music|other"
|
||||
string character_name
|
||||
string character_latin_name
|
||||
jsonb character_image
|
||||
}
|
||||
staff {
|
||||
guid id PK
|
||||
string(256) slug UK
|
||||
string name "NN"
|
||||
string latin_name
|
||||
jsonb image
|
||||
datetime next_refresh
|
||||
jsonb external_id
|
||||
}
|
||||
staff ||--|{ roles : has
|
||||
shows ||--|{ roles : has
|
||||
|
||||
studios {
|
||||
guid id PK
|
||||
string(128) slug UK
|
||||
jsonb logo
|
||||
datetime next_refresh
|
||||
jsonb external_id
|
||||
}
|
||||
|
||||
studio_translations {
|
||||
guid id PK,FK
|
||||
string language PK
|
||||
string name
|
||||
}
|
||||
studios ||--|{ studio_translations : has
|
||||
shows }|--|{ studios : has
|
||||
```
|
||||
3
api/biome.json
Normal file
3
api/biome.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "//"
|
||||
}
|
||||
492
api/bun.lock
Normal file
492
api/bun.lock
Normal file
@@ -0,0 +1,492 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"configVersion": 0,
|
||||
"workspaces": {
|
||||
"": {
|
||||
"name": "api",
|
||||
"dependencies": {
|
||||
"@elysiajs/opentelemetry": "^1.4.8",
|
||||
"@elysiajs/swagger": "zoriya/elysia-swagger#build",
|
||||
"@kubiks/otel-drizzle": "zoriya/drizzle-otel#build",
|
||||
"@types/bun": "^1.3.1",
|
||||
"blurhash": "^2.0.5",
|
||||
"drizzle-kit": "^0.31.5",
|
||||
"drizzle-orm": "0.44.7",
|
||||
"elysia": "^1.4.13",
|
||||
"jose": "^6.1.0",
|
||||
"node-addon-api": "^8.5.0",
|
||||
"parjs": "^1.3.9",
|
||||
"pg": "^8.16.3",
|
||||
"sharp": "^0.34.4",
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.7",
|
||||
"@types/pg": "^8.15.5",
|
||||
},
|
||||
},
|
||||
},
|
||||
"patchedDependencies": {
|
||||
"drizzle-orm@0.44.7": "patches/drizzle-orm@0.44.7.patch",
|
||||
},
|
||||
"packages": {
|
||||
"@biomejs/biome": ["@biomejs/biome@2.3.7", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.7", "@biomejs/cli-darwin-x64": "2.3.7", "@biomejs/cli-linux-arm64": "2.3.7", "@biomejs/cli-linux-arm64-musl": "2.3.7", "@biomejs/cli-linux-x64": "2.3.7", "@biomejs/cli-linux-x64-musl": "2.3.7", "@biomejs/cli-win32-arm64": "2.3.7", "@biomejs/cli-win32-x64": "2.3.7" }, "bin": { "biome": "bin/biome" } }, "sha512-CTbAS/jNAiUc6rcq94BrTB8z83O9+BsgWj2sBCQg9rD6Wkh2gjfR87usjx0Ncx0zGXP1NKgT7JNglay5Zfs9jw=="],
|
||||
|
||||
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-LirkamEwzIUULhXcf2D5b+NatXKeqhOwilM+5eRkbrnr6daKz9rsBL0kNZ16Hcy4b8RFq22SG4tcLwM+yx/wFA=="],
|
||||
|
||||
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-Q4TO633kvrMQkKIV7wmf8HXwF0dhdTD9S458LGE24TYgBjSRbuhvio4D5eOQzirEYg6eqxfs53ga/rbdd8nBKg=="],
|
||||
|
||||
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-inHOTdlstUBzgjDcx0ge71U4SVTbwAljmkfi3MC5WzsYCRhancqfeL+sa4Ke6v2ND53WIwCFD5hGsYExoI3EZQ=="],
|
||||
|
||||
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-/afy8lto4CB8scWfMdt+NoCZtatBUF62Tk3ilWH2w8ENd5spLhM77zKlFZEvsKJv9AFNHknMl03zO67CiklL2Q=="],
|
||||
|
||||
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.7", "", { "os": "linux", "cpu": "x64" }, "sha512-fJMc3ZEuo/NaMYo5rvoWjdSS5/uVSW+HPRQujucpZqm2ZCq71b8MKJ9U4th9yrv2L5+5NjPF0nqqILCl8HY/fg=="],
|
||||
|
||||
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.7", "", { "os": "linux", "cpu": "x64" }, "sha512-CQUtgH1tIN6e5wiYSJqzSwJumHYolNtaj1dwZGCnZXm2PZU1jOJof9TsyiP3bXNDb+VOR7oo7ZvY01If0W3iFQ=="],
|
||||
|
||||
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-aJAE8eCNyRpcfx2JJAtsPtISnELJ0H4xVVSwnxm13bzI8RwbXMyVtxy2r5DV1xT3WiSP+7LxORcApWw0LM8HiA=="],
|
||||
|
||||
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.7", "", { "os": "win32", "cpu": "x64" }, "sha512-pulzUshqv9Ed//MiE8MOUeeEkbkSHVDVY5Cz5wVAnH1DUqliCQG3j6s1POaITTFqFfo7AVIx2sWdKpx/GS+Nqw=="],
|
||||
|
||||
"@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="],
|
||||
|
||||
"@elysiajs/opentelemetry": ["@elysiajs/opentelemetry@1.4.8", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/instrumentation": "^0.200.0", "@opentelemetry/sdk-node": "^0.200.0" }, "peerDependencies": { "elysia": ">= 1.4.0" } }, "sha512-c9unbcdXfehExCv1GsiTCfos5SyIAyDwP7apcMeXmUMBaJZiAYMfiEH8RFFFIfIHJHC/xlNJzUPodkcUaaoJJQ=="],
|
||||
|
||||
"@elysiajs/swagger": ["@elysiajs/swagger@github:zoriya/elysia-swagger#f88fbc7", { "dependencies": { "@scalar/themes": "^0.9.81", "@scalar/types": "^0.1.3", "openapi-types": "^12.1.3", "pathe": "^1.1.2" }, "peerDependencies": { "elysia": ">= 1.3.0" } }, "zoriya-elysia-swagger-f88fbc7"],
|
||||
|
||||
"@emnapi/runtime": ["@emnapi/runtime@1.6.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA=="],
|
||||
|
||||
"@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="],
|
||||
|
||||
"@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="],
|
||||
|
||||
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="],
|
||||
|
||||
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="],
|
||||
|
||||
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="],
|
||||
|
||||
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="],
|
||||
|
||||
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="],
|
||||
|
||||
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="],
|
||||
|
||||
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="],
|
||||
|
||||
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="],
|
||||
|
||||
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="],
|
||||
|
||||
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="],
|
||||
|
||||
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="],
|
||||
|
||||
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="],
|
||||
|
||||
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="],
|
||||
|
||||
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="],
|
||||
|
||||
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="],
|
||||
|
||||
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="],
|
||||
|
||||
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="],
|
||||
|
||||
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="],
|
||||
|
||||
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="],
|
||||
|
||||
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="],
|
||||
|
||||
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="],
|
||||
|
||||
"@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ=="],
|
||||
|
||||
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="],
|
||||
|
||||
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="],
|
||||
|
||||
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="],
|
||||
|
||||
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="],
|
||||
|
||||
"@grpc/grpc-js": ["@grpc/grpc-js@1.14.1", "", { "dependencies": { "@grpc/proto-loader": "^0.8.0", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-sPxgEWtPUR3EnRJCEtbGZG2iX8LQDUls2wUS3o27jg07KqJFMq6YDeWvMo1wfpmy3rqRdS0rivpLwhqQtEyCuQ=="],
|
||||
|
||||
"@grpc/proto-loader": ["@grpc/proto-loader@0.8.0", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.5.3", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ=="],
|
||||
|
||||
"@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="],
|
||||
|
||||
"@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.3" }, "os": "darwin", "cpu": "arm64" }, "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA=="],
|
||||
|
||||
"@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.3" }, "os": "darwin", "cpu": "x64" }, "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg=="],
|
||||
|
||||
"@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw=="],
|
||||
|
||||
"@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA=="],
|
||||
|
||||
"@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.3", "", { "os": "linux", "cpu": "arm" }, "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA=="],
|
||||
|
||||
"@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ=="],
|
||||
|
||||
"@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg=="],
|
||||
|
||||
"@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w=="],
|
||||
|
||||
"@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg=="],
|
||||
|
||||
"@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw=="],
|
||||
|
||||
"@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.3", "", { "os": "linux", "cpu": "x64" }, "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g=="],
|
||||
|
||||
"@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.3" }, "os": "linux", "cpu": "arm" }, "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA=="],
|
||||
|
||||
"@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.3" }, "os": "linux", "cpu": "arm64" }, "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ=="],
|
||||
|
||||
"@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.3" }, "os": "linux", "cpu": "ppc64" }, "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ=="],
|
||||
|
||||
"@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.3" }, "os": "linux", "cpu": "s390x" }, "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw=="],
|
||||
|
||||
"@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.3" }, "os": "linux", "cpu": "x64" }, "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A=="],
|
||||
|
||||
"@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" }, "os": "linux", "cpu": "arm64" }, "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA=="],
|
||||
|
||||
"@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.4", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.3" }, "os": "linux", "cpu": "x64" }, "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg=="],
|
||||
|
||||
"@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.4", "", { "dependencies": { "@emnapi/runtime": "^1.5.0" }, "cpu": "none" }, "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA=="],
|
||||
|
||||
"@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA=="],
|
||||
|
||||
"@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw=="],
|
||||
|
||||
"@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.4", "", { "os": "win32", "cpu": "x64" }, "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig=="],
|
||||
|
||||
"@js-sdsl/ordered-map": ["@js-sdsl/ordered-map@4.4.2", "", {}, "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="],
|
||||
|
||||
"@kubiks/otel-drizzle": ["@kubiks/otel-drizzle@github:zoriya/drizzle-otel#cc1d59b", { "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <2.0.0", "drizzle-orm": ">=0.28.0" } }, "zoriya-drizzle-otel-cc1d59b"],
|
||||
|
||||
"@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="],
|
||||
|
||||
"@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.200.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-IKJBQxh91qJ+3ssRly5hYEJ8NDHu9oY/B1PXVSCWf7zytmYO9RNLB0Ox9XQ/fJ8m6gY6Q6NtBWlmXfaXt5Uc4Q=="],
|
||||
|
||||
"@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@2.0.0", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-IEkJGzK1A9v3/EHjXh3s2IiFc6L4jfK+lNgKVgUjeUJQRRhnVFMIO3TAvKwonm9O1HebCuoOt98v8bZW7oVQHA=="],
|
||||
|
||||
"@opentelemetry/core": ["@opentelemetry/core@2.0.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-SLX36allrcnVaPYG3R78F/UZZsBsvbc7lMCLx37LyH5MJ1KAAZ2E3mW9OAD3zGz0G8q/BtoS5VUrjzDydhD6LQ=="],
|
||||
|
||||
"@opentelemetry/exporter-logs-otlp-grpc": ["@opentelemetry/exporter-logs-otlp-grpc@0.200.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-grpc-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/sdk-logs": "0.200.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-+3MDfa5YQPGM3WXxW9kqGD85Q7s9wlEMVNhXXG7tYFLnIeaseUt9YtCeFhEDFzfEktacdFpOtXmJuNW8cHbU5A=="],
|
||||
|
||||
"@opentelemetry/exporter-logs-otlp-http": ["@opentelemetry/exporter-logs-otlp-http@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/sdk-logs": "0.200.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-KfWw49htbGGp9s8N4KI8EQ9XuqKJ0VG+yVYVYFiCYSjEV32qpQ5qZ9UZBzOZ6xRb+E16SXOSCT3RkqBVSABZ+g=="],
|
||||
|
||||
"@opentelemetry/exporter-logs-otlp-proto": ["@opentelemetry/exporter-logs-otlp-proto@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-logs": "0.200.0", "@opentelemetry/sdk-trace-base": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-GmahpUU/55hxfH4TP77ChOfftADsCq/nuri73I/AVLe2s4NIglvTsaACkFVZAVmnXXyPS00Fk3x27WS3yO07zA=="],
|
||||
|
||||
"@opentelemetry/exporter-metrics-otlp-grpc": ["@opentelemetry/exporter-metrics-otlp-grpc@0.200.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.0", "@opentelemetry/exporter-metrics-otlp-http": "0.200.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-grpc-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-metrics": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uHawPRvKIrhqH09GloTuYeq2BjyieYHIpiklOvxm9zhrCL2eRsnI/6g9v2BZTVtGp8tEgIa7rCQ6Ltxw6NBgew=="],
|
||||
|
||||
"@opentelemetry/exporter-metrics-otlp-http": ["@opentelemetry/exporter-metrics-otlp-http@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-metrics": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-5BiR6i8yHc9+qW7F6LqkuUnIzVNA7lt0qRxIKcKT+gq3eGUPHZ3DY29sfxI3tkvnwMgtnHDMNze5DdxW39HsAw=="],
|
||||
|
||||
"@opentelemetry/exporter-metrics-otlp-proto": ["@opentelemetry/exporter-metrics-otlp-proto@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/exporter-metrics-otlp-http": "0.200.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-metrics": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-E+uPj0yyvz81U9pvLZp3oHtFrEzNSqKGVkIViTQY1rH3TOobeJPSpLnTVXACnCwkPR5XeTvPnK3pZ2Kni8AFMg=="],
|
||||
|
||||
"@opentelemetry/exporter-prometheus": ["@opentelemetry/exporter-prometheus@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-metrics": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ZYdlU9r0USuuYppiDyU2VFRA0kFl855ylnb3N/2aOlXrbA4PMCznen7gmPbetGQu7pz8Jbaf4fwvrDnVdQQXSw=="],
|
||||
|
||||
"@opentelemetry/exporter-trace-otlp-grpc": ["@opentelemetry/exporter-trace-otlp-grpc@0.200.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-grpc-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-hmeZrUkFl1YMsgukSuHCFPYeF9df0hHoKeHUthRKFCxiURs+GwF1VuabuHmBMZnjTbsuvNjOB+JSs37Csem/5Q=="],
|
||||
|
||||
"@opentelemetry/exporter-trace-otlp-http": ["@opentelemetry/exporter-trace-otlp-http@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Goi//m/7ZHeUedxTGVmEzH19NgqJY+Bzr6zXo1Rni1+hwqaksEyJ44gdlEMREu6dzX1DlAaH/qSykSVzdrdafA=="],
|
||||
|
||||
"@opentelemetry/exporter-trace-otlp-proto": ["@opentelemetry/exporter-trace-otlp-proto@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-V9TDSD3PjK1OREw2iT9TUTzNYEVWJk4Nhodzhp9eiz4onDMYmPy3LaGbPv81yIR6dUb/hNp/SIhpiCHwFUq2Vg=="],
|
||||
|
||||
"@opentelemetry/exporter-zipkin": ["@opentelemetry/exporter-zipkin@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-icxaKZ+jZL/NHXX8Aru4HGsrdhK0MLcuRXkX5G5IRmCgoRLw+Br6I/nMVozX2xjGGwV7hw2g+4Slj8K7s4HbVg=="],
|
||||
|
||||
"@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-pmPlzfJd+vvgaZd/reMsC8RWgTXn2WY1OWT5RT42m3aOn5532TozwXNDhg1vzqJ+jnvmkREcdLr27ebJEQt0Jg=="],
|
||||
|
||||
"@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.200.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-transformer": "0.200.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-IxJgA3FD7q4V6gGq4bnmQM5nTIyMDkoGFGrBrrDjB6onEiq1pafma55V+bHvGYLWvcqbBbRfezr1GED88lacEQ=="],
|
||||
|
||||
"@opentelemetry/otlp-grpc-exporter-base": ["@opentelemetry/otlp-grpc-exporter-base@0.200.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.0", "@opentelemetry/otlp-exporter-base": "0.200.0", "@opentelemetry/otlp-transformer": "0.200.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-CK2S+bFgOZ66Bsu5hlDeOX6cvW5FVtVjFFbWuaJP0ELxJKBB6HlbLZQ2phqz/uLj1cWap5xJr/PsR3iGoB7Vqw=="],
|
||||
|
||||
"@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-logs": "0.200.0", "@opentelemetry/sdk-metrics": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-+9YDZbYybOnv7sWzebWOeK6gKyt2XE7iarSyBFkwwnP559pEevKOUD8NyDHhRjCSp13ybh9iVXlMfcj/DwF/yw=="],
|
||||
|
||||
"@opentelemetry/propagator-b3": ["@opentelemetry/propagator-b3@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-blx9S2EI49Ycuw6VZq+bkpaIoiJFhsDuvFGhBIoH3vJ5oYjJ2U0s3fAM5jYft99xVIAv6HqoPtlP9gpVA2IZtA=="],
|
||||
|
||||
"@opentelemetry/propagator-jaeger": ["@opentelemetry/propagator-jaeger@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-Mbm/LSFyAtQKP0AQah4AfGgsD+vsZcyreZoQ5okFBk33hU7AquU4TltgyL9dvaO8/Zkoud8/0gEvwfOZ5d7EPA=="],
|
||||
|
||||
"@opentelemetry/resources": ["@opentelemetry/resources@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-rnZr6dML2z4IARI4zPGQV4arDikF/9OXZQzrC01dLmn0CZxU5U5OLd/m1T7YkGRj5UitjeoCtg/zorlgMQcdTg=="],
|
||||
|
||||
"@opentelemetry/sdk-logs": ["@opentelemetry/sdk-logs@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "sha512-VZG870063NLfObmQQNtCVcdXXLzI3vOjjrRENmU37HYiPFa0ZXpXVDsTD02Nh3AT3xYJzQaWKl2X2lQ2l7TWJA=="],
|
||||
|
||||
"@opentelemetry/sdk-metrics": ["@opentelemetry/sdk-metrics@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <1.10.0" } }, "sha512-Bvy8QDjO05umd0+j+gDeWcTaVa1/R2lDj/eOvjzpm8VQj1K1vVZJuyjThpV5/lSHyYW2JaHF2IQ7Z8twJFAhjA=="],
|
||||
|
||||
"@opentelemetry/sdk-node": ["@opentelemetry/sdk-node@0.200.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.200.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/exporter-logs-otlp-grpc": "0.200.0", "@opentelemetry/exporter-logs-otlp-http": "0.200.0", "@opentelemetry/exporter-logs-otlp-proto": "0.200.0", "@opentelemetry/exporter-metrics-otlp-grpc": "0.200.0", "@opentelemetry/exporter-metrics-otlp-http": "0.200.0", "@opentelemetry/exporter-metrics-otlp-proto": "0.200.0", "@opentelemetry/exporter-prometheus": "0.200.0", "@opentelemetry/exporter-trace-otlp-grpc": "0.200.0", "@opentelemetry/exporter-trace-otlp-http": "0.200.0", "@opentelemetry/exporter-trace-otlp-proto": "0.200.0", "@opentelemetry/exporter-zipkin": "2.0.0", "@opentelemetry/instrumentation": "0.200.0", "@opentelemetry/propagator-b3": "2.0.0", "@opentelemetry/propagator-jaeger": "2.0.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/sdk-logs": "0.200.0", "@opentelemetry/sdk-metrics": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0", "@opentelemetry/sdk-trace-node": "2.0.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-S/YSy9GIswnhYoDor1RusNkmRughipvTCOQrlF1dzI70yQaf68qgf5WMnzUxdlCl3/et/pvaO75xfPfuEmCK5A=="],
|
||||
|
||||
"@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@2.0.0", "", { "dependencies": { "@opentelemetry/core": "2.0.0", "@opentelemetry/resources": "2.0.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-qQnYdX+ZCkonM7tA5iU4fSRsVxbFGml8jbxOgipRGMFHKaXKHQ30js03rTobYjKjIfnOsZSbHKWF0/0v0OQGfw=="],
|
||||
|
||||
"@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@2.0.0", "", { "dependencies": { "@opentelemetry/context-async-hooks": "2.0.0", "@opentelemetry/core": "2.0.0", "@opentelemetry/sdk-trace-base": "2.0.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-omdilCZozUjQwY3uZRBwbaRMJ3p09l4t187Lsdf0dGMye9WKD4NGcpgZRvqhI1dwcH6og+YXQEtoO9Wx3ykilg=="],
|
||||
|
||||
"@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.38.0", "", {}, "sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg=="],
|
||||
|
||||
"@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="],
|
||||
|
||||
"@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="],
|
||||
|
||||
"@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="],
|
||||
|
||||
"@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="],
|
||||
|
||||
"@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="],
|
||||
|
||||
"@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="],
|
||||
|
||||
"@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="],
|
||||
|
||||
"@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="],
|
||||
|
||||
"@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="],
|
||||
|
||||
"@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="],
|
||||
|
||||
"@scalar/openapi-types": ["@scalar/openapi-types@0.1.9", "", {}, "sha512-HQQudOSQBU7ewzfnBW9LhDmBE2XOJgSfwrh5PlUB7zJup/kaRkBGNgV2wMjNz9Af/uztiU/xNrO179FysmUT+g=="],
|
||||
|
||||
"@scalar/themes": ["@scalar/themes@0.9.81", "", { "dependencies": { "@scalar/types": "0.1.3" } }, "sha512-asTgdqo8ZYibBBWVYy0503qPx3cvwDlYNuc/cLbrCmTav0MAEL4wNb/gz9iScMVSMwhdkSkL5g9LPdr2mQrHzw=="],
|
||||
|
||||
"@scalar/types": ["@scalar/types@0.1.3", "", { "dependencies": { "@scalar/openapi-types": "0.1.9", "@unhead/schema": "^1.11.11", "zod": "^3.23.8" } }, "sha512-Fxtgjp5wHhTzXiyODYWIoTsTy3oFC70vme+0I7MNwd8i6D8qplFNnpURueqBuP4MglBM2ZhFv3hPLw4D69anDA=="],
|
||||
|
||||
"@sinclair/typebox": ["@sinclair/typebox@0.34.33", "", {}, "sha512-5HAV9exOMcXRUxo+9iYB5n09XxzCXnfy4VTNW4xnDv+FgjzAGY989C28BIdljKqmF+ZltUwujE3aossvcVtq6g=="],
|
||||
|
||||
"@tokenizer/inflate": ["@tokenizer/inflate@0.2.7", "", { "dependencies": { "debug": "^4.4.0", "fflate": "^0.8.2", "token-types": "^6.0.0" } }, "sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg=="],
|
||||
|
||||
"@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="],
|
||||
|
||||
"@types/bun": ["@types/bun@1.3.1", "", { "dependencies": { "bun-types": "1.3.1" } }, "sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ=="],
|
||||
|
||||
"@types/node": ["@types/node@22.13.13", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ=="],
|
||||
|
||||
"@types/pg": ["@types/pg@8.15.5", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-LF7lF6zWEKxuT3/OR8wAZGzkg4ENGXFNyiV/JeOt9z5B+0ZVwbql9McqX5c/WStFq1GaGso7H1AzP/qSzmlCKQ=="],
|
||||
|
||||
"@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="],
|
||||
|
||||
"@types/shimmer": ["@types/shimmer@1.2.0", "", {}, "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="],
|
||||
|
||||
"@unhead/schema": ["@unhead/schema@1.11.20", "", { "dependencies": { "hookable": "^5.5.3", "zhead": "^2.2.4" } }, "sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA=="],
|
||||
|
||||
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
|
||||
|
||||
"acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="],
|
||||
|
||||
"ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||
|
||||
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
||||
|
||||
"blurhash": ["blurhash@2.0.5", "", {}, "sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w=="],
|
||||
|
||||
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
|
||||
|
||||
"bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="],
|
||||
|
||||
"char-info": ["char-info@0.3.5", "", { "dependencies": { "node-interval-tree": "^1.3.3" } }, "sha512-gRslEBFEcuLMGLNO1EFIrdN1MMUfO+aqa7y8iWzNyAzB3mYKnTIvP+ioW3jpyeEvqA5WapVLIPINGtFjEIH4cQ=="],
|
||||
|
||||
"cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="],
|
||||
|
||||
"cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
|
||||
|
||||
"color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
||||
|
||||
"color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
||||
|
||||
"cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="],
|
||||
|
||||
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
|
||||
|
||||
"debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
|
||||
|
||||
"detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
|
||||
|
||||
"drizzle-kit": ["drizzle-kit@0.31.5", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.4", "esbuild-register": "^3.5.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg=="],
|
||||
|
||||
"drizzle-orm": ["drizzle-orm@0.44.7", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1.13", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/sql.js": "*", "@upstash/redis": ">=1.34.7", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "gel": ">=2", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/sql.js", "@upstash/redis", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "gel", "knex", "kysely", "mysql2", "pg", "postgres", "sql.js", "sqlite3"] }, "sha512-quIpnYznjU9lHshEOAYLoZ9s3jweleHlZIAWR/jX9gAWNg/JhQ1wj0KGRf7/Zm+obRrYd9GjPVJg790QY9N5AQ=="],
|
||||
|
||||
"elysia": ["elysia@1.4.13", "", { "dependencies": { "cookie": "^1.0.2", "exact-mirror": "0.2.2", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-6QaWQEm7QN1UCo1TPpEjaRJPHUmnM7R29y6LY224frDGk5PrpAnWmdHkoZxkcv+JRWp1j2ROr2IHbxHbG/jRjw=="],
|
||||
|
||||
"emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
||||
|
||||
"esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="],
|
||||
|
||||
"esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="],
|
||||
|
||||
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
||||
|
||||
"exact-mirror": ["exact-mirror@0.2.2", "", { "peerDependencies": { "@sinclair/typebox": "^0.34.15" }, "optionalPeers": ["@sinclair/typebox"] }, "sha512-CrGe+4QzHZlnrXZVlo/WbUZ4qQZq8C0uATQVGVgXIrNXgHDBBNFD1VRfssRA2C9t3RYvh3MadZSdg2Wy7HBoQA=="],
|
||||
|
||||
"fast-decode-uri-component": ["fast-decode-uri-component@1.0.1", "", {}, "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg=="],
|
||||
|
||||
"fflate": ["fflate@0.8.2", "", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="],
|
||||
|
||||
"file-type": ["file-type@20.5.0", "", { "dependencies": { "@tokenizer/inflate": "^0.2.6", "strtok3": "^10.2.0", "token-types": "^6.0.0", "uint8array-extras": "^1.4.0" } }, "sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg=="],
|
||||
|
||||
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
||||
|
||||
"get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
|
||||
|
||||
"get-tsconfig": ["get-tsconfig@4.10.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A=="],
|
||||
|
||||
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
||||
|
||||
"hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
|
||||
|
||||
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
|
||||
|
||||
"import-in-the-middle": ["import-in-the-middle@1.15.0", "", { "dependencies": { "acorn": "^8.14.0", "acorn-import-attributes": "^1.9.5", "cjs-module-lexer": "^1.2.2", "module-details-from-path": "^1.0.3" } }, "sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA=="],
|
||||
|
||||
"is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
|
||||
|
||||
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
||||
|
||||
"jose": ["jose@6.1.0", "", {}, "sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA=="],
|
||||
|
||||
"lodash.camelcase": ["lodash.camelcase@4.3.0", "", {}, "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="],
|
||||
|
||||
"long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="],
|
||||
|
||||
"memoirist": ["memoirist@0.4.0", "", {}, "sha512-zxTgA0mSYELa66DimuNQDvyLq36AwDlTuVRbnQtB+VuTcKWm5Qc4z3WkSpgsFWHNhexqkIooqpv4hdcqrX5Nmg=="],
|
||||
|
||||
"module-details-from-path": ["module-details-from-path@1.0.4", "", {}, "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w=="],
|
||||
|
||||
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||
|
||||
"node-addon-api": ["node-addon-api@8.5.0", "", {}, "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A=="],
|
||||
|
||||
"node-interval-tree": ["node-interval-tree@1.3.3", "", { "dependencies": { "shallowequal": "^1.0.2" } }, "sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw=="],
|
||||
|
||||
"openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="],
|
||||
|
||||
"parjs": ["parjs@1.3.9", "", { "dependencies": { "char-info": "0.3.*" } }, "sha512-zmQhbzWM3M391tjwTGvNvvtoT8rRE/bBTjw6+54g8ANaPpnyekDF1d8q5tzN4kxmVud82cNj8zSd+uxSL4LE0A=="],
|
||||
|
||||
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
|
||||
|
||||
"pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="],
|
||||
|
||||
"peek-readable": ["peek-readable@7.0.0", "", {}, "sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ=="],
|
||||
|
||||
"pg": ["pg@8.16.3", "", { "dependencies": { "pg-connection-string": "^2.9.1", "pg-pool": "^3.10.1", "pg-protocol": "^1.10.3", "pg-types": "2.2.0", "pgpass": "1.0.5" }, "optionalDependencies": { "pg-cloudflare": "^1.2.7" }, "peerDependencies": { "pg-native": ">=3.0.1" }, "optionalPeers": ["pg-native"] }, "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw=="],
|
||||
|
||||
"pg-cloudflare": ["pg-cloudflare@1.2.7", "", {}, "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg=="],
|
||||
|
||||
"pg-connection-string": ["pg-connection-string@2.9.1", "", {}, "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w=="],
|
||||
|
||||
"pg-int8": ["pg-int8@1.0.1", "", {}, "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="],
|
||||
|
||||
"pg-pool": ["pg-pool@3.10.1", "", { "peerDependencies": { "pg": ">=8.0" } }, "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg=="],
|
||||
|
||||
"pg-protocol": ["pg-protocol@1.10.0", "", {}, "sha512-IpdytjudNuLv8nhlHs/UrVBhU0e78J0oIS/0AVdTbWxSOkFUVdsHC/NrorO6nXsQNDTT1kzDSOMJubBQviX18Q=="],
|
||||
|
||||
"pg-types": ["pg-types@2.2.0", "", { "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", "postgres-bytea": "~1.0.0", "postgres-date": "~1.0.4", "postgres-interval": "^1.1.0" } }, "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="],
|
||||
|
||||
"pgpass": ["pgpass@1.0.5", "", { "dependencies": { "split2": "^4.1.0" } }, "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug=="],
|
||||
|
||||
"postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="],
|
||||
|
||||
"postgres-bytea": ["postgres-bytea@1.0.0", "", {}, "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w=="],
|
||||
|
||||
"postgres-date": ["postgres-date@1.0.7", "", {}, "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="],
|
||||
|
||||
"postgres-interval": ["postgres-interval@1.2.0", "", { "dependencies": { "xtend": "^4.0.0" } }, "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="],
|
||||
|
||||
"protobufjs": ["protobufjs@7.5.4", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg=="],
|
||||
|
||||
"require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
|
||||
|
||||
"require-in-the-middle": ["require-in-the-middle@7.5.2", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3", "resolve": "^1.22.8" } }, "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ=="],
|
||||
|
||||
"resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
|
||||
|
||||
"resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
|
||||
|
||||
"semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="],
|
||||
|
||||
"shallowequal": ["shallowequal@1.1.0", "", {}, "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="],
|
||||
|
||||
"sharp": ["sharp@0.34.4", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.0", "semver": "^7.7.2" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.4", "@img/sharp-darwin-x64": "0.34.4", "@img/sharp-libvips-darwin-arm64": "1.2.3", "@img/sharp-libvips-darwin-x64": "1.2.3", "@img/sharp-libvips-linux-arm": "1.2.3", "@img/sharp-libvips-linux-arm64": "1.2.3", "@img/sharp-libvips-linux-ppc64": "1.2.3", "@img/sharp-libvips-linux-s390x": "1.2.3", "@img/sharp-libvips-linux-x64": "1.2.3", "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", "@img/sharp-libvips-linuxmusl-x64": "1.2.3", "@img/sharp-linux-arm": "0.34.4", "@img/sharp-linux-arm64": "0.34.4", "@img/sharp-linux-ppc64": "0.34.4", "@img/sharp-linux-s390x": "0.34.4", "@img/sharp-linux-x64": "0.34.4", "@img/sharp-linuxmusl-arm64": "0.34.4", "@img/sharp-linuxmusl-x64": "0.34.4", "@img/sharp-wasm32": "0.34.4", "@img/sharp-win32-arm64": "0.34.4", "@img/sharp-win32-ia32": "0.34.4", "@img/sharp-win32-x64": "0.34.4" } }, "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA=="],
|
||||
|
||||
"shimmer": ["shimmer@1.2.1", "", {}, "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="],
|
||||
|
||||
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
|
||||
|
||||
"source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="],
|
||||
|
||||
"split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="],
|
||||
|
||||
"string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
||||
|
||||
"strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||
|
||||
"strtok3": ["strtok3@10.2.2", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^7.0.0" } }, "sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg=="],
|
||||
|
||||
"supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
|
||||
|
||||
"token-types": ["token-types@6.0.0", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA=="],
|
||||
|
||||
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||
|
||||
"uint8array-extras": ["uint8array-extras@1.4.0", "", {}, "sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ=="],
|
||||
|
||||
"undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
|
||||
|
||||
"wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
||||
|
||||
"xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="],
|
||||
|
||||
"y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
|
||||
|
||||
"yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],
|
||||
|
||||
"yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
|
||||
|
||||
"zhead": ["zhead@2.2.4", "", {}, "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag=="],
|
||||
|
||||
"zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="],
|
||||
|
||||
"pg/pg-protocol": ["pg-protocol@1.10.3", "", {}, "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="],
|
||||
|
||||
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
|
||||
}
|
||||
}
|
||||
2
api/bunfig.toml
Normal file
2
api/bunfig.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[test]
|
||||
preload = ["./tests/setup.ts"]
|
||||
23
api/devspace.yaml
Normal file
23
api/devspace.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: v2beta1
|
||||
name: api
|
||||
dev:
|
||||
api:
|
||||
imageSelector: ghcr.io/zoriya/kyoo_api
|
||||
devImage: docker.io/oven/bun:latest
|
||||
workingDir: /app
|
||||
sync:
|
||||
- path: .:/app
|
||||
excludePaths:
|
||||
- node_modules
|
||||
startContainer: true
|
||||
onUpload:
|
||||
exec:
|
||||
- command: bun install --frozen-lockfile
|
||||
onChange:
|
||||
- "./bun.lock"
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- "bun install && bun dev"
|
||||
ports:
|
||||
- port: "3567"
|
||||
14
api/drizzle.config.ts
Normal file
14
api/drizzle.config.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { defineConfig } from "drizzle-kit";
|
||||
|
||||
export default defineConfig({
|
||||
out: "./drizzle",
|
||||
schema: "./src/db/schema",
|
||||
dialect: "postgresql",
|
||||
casing: "snake_case",
|
||||
dbCredentials: {
|
||||
url: process.env.DATABASE_URL!,
|
||||
},
|
||||
migrations: {
|
||||
schema: "kyoo",
|
||||
},
|
||||
});
|
||||
102
api/drizzle/0000_init.sql
Normal file
102
api/drizzle/0000_init.sql
Normal file
@@ -0,0 +1,102 @@
|
||||
CREATE TYPE "kyoo"."entry_type" AS ENUM('unknown', 'episode', 'movie', 'special', 'extra');--> statement-breakpoint
|
||||
CREATE TYPE "kyoo"."genres" AS ENUM('action', 'adventure', 'animation', 'comedy', 'crime', 'documentary', 'drama', 'family', 'fantasy', 'history', 'horror', 'music', 'mystery', 'romance', 'science-fiction', 'thriller', 'war', 'western', 'kids', 'reality', 'politics', 'soap', 'talk');--> statement-breakpoint
|
||||
CREATE TYPE "kyoo"."show_kind" AS ENUM('serie', 'movie');--> statement-breakpoint
|
||||
CREATE TYPE "kyoo"."show_status" AS ENUM('unknown', 'finished', 'airing', 'planned');--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."entries" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."entries_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
"show_pk" integer,
|
||||
"order" integer NOT NULL,
|
||||
"season_number" integer,
|
||||
"episode_number" integer,
|
||||
"type" "kyoo"."entry_type" NOT NULL,
|
||||
"air_date" date,
|
||||
"runtime" integer,
|
||||
"thumbnails" jsonb,
|
||||
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now(),
|
||||
"next_refresh" timestamp with time zone,
|
||||
CONSTRAINT "entries_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "entries_slug_unique" UNIQUE("slug"),
|
||||
CONSTRAINT "entries_showPk_seasonNumber_episodeNumber_unique" UNIQUE("show_pk","season_number","episode_number"),
|
||||
CONSTRAINT "order_positive" CHECK ("entries"."order" >= 0)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."entries_translation" (
|
||||
"pk" integer NOT NULL,
|
||||
"language" varchar(255) NOT NULL,
|
||||
"name" text,
|
||||
"description" text,
|
||||
CONSTRAINT "entries_translation_pk_language_pk" PRIMARY KEY("pk","language")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."show_translations" (
|
||||
"pk" integer NOT NULL,
|
||||
"language" varchar(255) NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"description" text,
|
||||
"tagline" text,
|
||||
"aliases" text[] NOT NULL,
|
||||
"tags" text[] NOT NULL,
|
||||
"trailer_url" text,
|
||||
"poster" jsonb,
|
||||
"thumbnail" jsonb,
|
||||
"banner" jsonb,
|
||||
"logo" jsonb,
|
||||
CONSTRAINT "show_translations_pk_language_pk" PRIMARY KEY("pk","language")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."shows" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."shows_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
"kind" "kyoo"."show_kind" NOT NULL,
|
||||
"genres" "kyoo"."genres"[] NOT NULL,
|
||||
"rating" smallint,
|
||||
"runtime" integer,
|
||||
"status" "kyoo"."show_status" NOT NULL,
|
||||
"start_air" date,
|
||||
"end_air" date,
|
||||
"original_language" varchar(255),
|
||||
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
"next_refresh" timestamp with time zone NOT NULL,
|
||||
CONSTRAINT "shows_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "shows_slug_unique" UNIQUE("slug"),
|
||||
CONSTRAINT "rating_valid" CHECK ("shows"."rating" between 0 and 100),
|
||||
CONSTRAINT "runtime_valid" CHECK ("shows"."runtime" >= 0)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."videos" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."videos_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"path" text NOT NULL,
|
||||
"rendering" integer,
|
||||
"part" integer,
|
||||
"version" integer,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
CONSTRAINT "videos_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "videos_path_unique" UNIQUE("path"),
|
||||
CONSTRAINT "rendering_pos" CHECK ("videos"."rendering" >= 0),
|
||||
CONSTRAINT "part_pos" CHECK ("videos"."part" >= 0),
|
||||
CONSTRAINT "version_pos" CHECK ("videos"."version" >= 0)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."entries" ADD CONSTRAINT "entries_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."entries_translation" ADD CONSTRAINT "entries_translation_pk_entries_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."show_translations" ADD CONSTRAINT "show_translations_pk_shows_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
7
api/drizzle/0001_video.sql
Normal file
7
api/drizzle/0001_video.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
ALTER TABLE "kyoo"."videos" DROP CONSTRAINT "rendering_pos";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ALTER COLUMN "rendering" SET DATA TYPE text;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ALTER COLUMN "rendering" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ALTER COLUMN "version" SET DEFAULT 1;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ALTER COLUMN "version" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD COLUMN "slug" varchar(255) NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD CONSTRAINT "videos_slug_unique" UNIQUE("slug");
|
||||
40
api/drizzle/0002_seasons.sql
Normal file
40
api/drizzle/0002_seasons.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."season_translation" (
|
||||
"pk" integer NOT NULL,
|
||||
"language" varchar(255) NOT NULL,
|
||||
"name" text,
|
||||
"description" text,
|
||||
"poster" jsonb,
|
||||
"thumbnail" jsonb,
|
||||
"logo" jsonb,
|
||||
"banner" jsonb,
|
||||
CONSTRAINT "season_translation_pk_language_pk" PRIMARY KEY("pk","language")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."seasons" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."seasons_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
"show_pk" integer,
|
||||
"season_number" integer NOT NULL,
|
||||
"start_air" date,
|
||||
"end_air" date,
|
||||
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now(),
|
||||
"next_refresh" timestamp with time zone,
|
||||
CONSTRAINT "seasons_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "seasons_slug_unique" UNIQUE("slug"),
|
||||
CONSTRAINT "seasons_showPk_seasonNumber_unique" UNIQUE("show_pk","season_number")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "order" DROP NOT NULL;--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."season_translation" ADD CONSTRAINT "season_translation_pk_seasons_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."seasons"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."seasons" ADD CONSTRAINT "seasons_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
3
api/drizzle/0003_order.sql
Normal file
3
api/drizzle/0003_order.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "order" SET DATA TYPE real;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries_translation" ADD COLUMN "tagline" text;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."season_translation" DROP COLUMN IF EXISTS "logo";
|
||||
56
api/drizzle/0004_jointures.sql
Normal file
56
api/drizzle/0004_jointures.sql
Normal file
@@ -0,0 +1,56 @@
|
||||
CREATE TABLE IF NOT EXISTS "kyoo"."entry_video_jointure" (
|
||||
"entry" integer NOT NULL,
|
||||
"video" integer NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
CONSTRAINT "entry_video_jointure_entry_video_pk" PRIMARY KEY("entry","video"),
|
||||
CONSTRAINT "entry_video_jointure_slug_unique" UNIQUE("slug")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries_translation" RENAME TO "entry_translations";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."season_translation" RENAME TO "season_translations";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" DROP CONSTRAINT "videos_slug_unique";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" DROP CONSTRAINT "order_positive";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" DROP CONSTRAINT "rating_valid";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" DROP CONSTRAINT "runtime_valid";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" DROP CONSTRAINT "part_pos";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" DROP CONSTRAINT "version_pos";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_translations" DROP CONSTRAINT "entries_translation_pk_entries_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."season_translations" DROP CONSTRAINT "season_translation_pk_seasons_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_translations" DROP CONSTRAINT "entries_translation_pk_language_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."season_translations" DROP CONSTRAINT "season_translation_pk_language_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_translations" ADD CONSTRAINT "entry_translations_pk_language_pk" PRIMARY KEY("pk","language");--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."season_translations" ADD CONSTRAINT "season_translations_pk_language_pk" PRIMARY KEY("pk","language");--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_translations" ADD COLUMN "poster" jsonb;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD COLUMN "guess" jsonb DEFAULT '{}'::jsonb NOT NULL;--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."entry_video_jointure" ADD CONSTRAINT "entry_video_jointure_entry_entries_pk_fk" FOREIGN KEY ("entry") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."entry_video_jointure" ADD CONSTRAINT "entry_video_jointure_video_videos_pk_fk" FOREIGN KEY ("video") REFERENCES "kyoo"."videos"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."entry_translations" ADD CONSTRAINT "entry_translations_pk_entries_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
DO $$ BEGIN
|
||||
ALTER TABLE "kyoo"."season_translations" ADD CONSTRAINT "season_translations_pk_seasons_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."seasons"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
EXCEPTION
|
||||
WHEN duplicate_object THEN null;
|
||||
END $$;
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" DROP COLUMN IF EXISTS "slug";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ADD CONSTRAINT "order_positive" CHECK ("kyoo"."entries"."order" >= 0);--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD CONSTRAINT "rating_valid" CHECK ("kyoo"."shows"."rating" between 0 and 100);--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD CONSTRAINT "runtime_valid" CHECK ("kyoo"."shows"."runtime" >= 0);--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD CONSTRAINT "part_pos" CHECK ("kyoo"."videos"."part" >= 0);--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD CONSTRAINT "version_pos" CHECK ("kyoo"."videos"."version" >= 0);
|
||||
5
api/drizzle/0005_trigram.sql
Normal file
5
api/drizzle/0005_trigram.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
CREATE INDEX "name_trgm" ON "kyoo"."show_translations" USING gin ("name" gin_trgm_ops);--> statement-breakpoint
|
||||
CREATE INDEX "tags" ON "kyoo"."show_translations" USING btree ("tags");--> statement-breakpoint
|
||||
CREATE INDEX "kind" ON "kyoo"."shows" USING hash ("kind");--> statement-breakpoint
|
||||
CREATE INDEX "rating" ON "kyoo"."shows" USING btree ("rating");--> statement-breakpoint
|
||||
CREATE INDEX "startAir" ON "kyoo"."shows" USING btree ("start_air");
|
||||
5
api/drizzle/0006_seasons.sql
Normal file
5
api/drizzle/0006_seasons.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "created_at" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "next_refresh" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."seasons" ALTER COLUMN "created_at" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."seasons" ALTER COLUMN "next_refresh" SET NOT NULL;--> statement-breakpoint
|
||||
CREATE INDEX "show_fk" ON "kyoo"."seasons" USING hash ("show_pk");
|
||||
3
api/drizzle/0007_entries.sql
Normal file
3
api/drizzle/0007_entries.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE "kyoo"."entries" RENAME COLUMN "type" TO "kind";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "show_pk" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ADD COLUMN "extra_kind" text;
|
||||
12
api/drizzle/0008_entries.sql
Normal file
12
api/drizzle/0008_entries.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
ALTER TABLE "kyoo"."entry_video_jointure" RENAME TO "entry_video_join";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" RENAME COLUMN "thumbnails" TO "thumbnail";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_jointure_slug_unique";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_jointure_entry_entries_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_jointure_video_videos_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_jointure_entry_video_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_entry_video_pk" PRIMARY KEY("entry","video");--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_entry_entries_pk_fk" FOREIGN KEY ("entry") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_video_videos_pk_fk" FOREIGN KEY ("video") REFERENCES "kyoo"."videos"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_slug_unique" UNIQUE("slug");
|
||||
3
api/drizzle/0009_collections.sql
Normal file
3
api/drizzle/0009_collections.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TYPE "kyoo"."show_kind" ADD VALUE 'collection';--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD COLUMN "collection_pk" integer;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD CONSTRAINT "shows_collection_pk_shows_pk_fk" FOREIGN KEY ("collection_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE set null ON UPDATE no action;
|
||||
38
api/drizzle/0010_studios.sql
Normal file
38
api/drizzle/0010_studios.sql
Normal file
@@ -0,0 +1,38 @@
|
||||
CREATE TABLE "kyoo"."show_studio_join" (
|
||||
"show" integer NOT NULL,
|
||||
"studio" integer NOT NULL,
|
||||
CONSTRAINT "show_studio_join_show_studio_pk" PRIMARY KEY("show","studio")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."studio_translations" (
|
||||
"pk" integer NOT NULL,
|
||||
"language" varchar(255) NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"logo" jsonb,
|
||||
CONSTRAINT "studio_translations_pk_language_pk" PRIMARY KEY("pk","language")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."studios" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."studios_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
"updated_at" timestamp with time zone NOT NULL,
|
||||
CONSTRAINT "studios_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "studios_slug_unique" UNIQUE("slug")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ADD COLUMN "updated_at" timestamp with time zone NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."seasons" ADD COLUMN "updated_at" timestamp with time zone NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD COLUMN "updated_at" timestamp with time zone NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD COLUMN "updated_at" timestamp with time zone NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" ADD CONSTRAINT "show_studio_join_show_shows_pk_fk" FOREIGN KEY ("show") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" ADD CONSTRAINT "show_studio_join_studio_studios_pk_fk" FOREIGN KEY ("studio") REFERENCES "kyoo"."studios"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."studio_translations" ADD CONSTRAINT "studio_translations_pk_studios_pk_fk" FOREIGN KEY ("pk") REFERENCES "kyoo"."studios"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE INDEX "studio_name_trgm" ON "kyoo"."studio_translations" USING gin ("name" gin_trgm_ops);--> statement-breakpoint
|
||||
CREATE INDEX "entry_kind" ON "kyoo"."entries" USING hash ("kind");--> statement-breakpoint
|
||||
CREATE INDEX "entry_order" ON "kyoo"."entries" USING btree ("order");--> statement-breakpoint
|
||||
CREATE INDEX "entry_name_trgm" ON "kyoo"."entry_translations" USING gin ("name" gin_trgm_ops);--> statement-breakpoint
|
||||
CREATE INDEX "season_name_trgm" ON "kyoo"."season_translations" USING gin ("name" gin_trgm_ops);--> statement-breakpoint
|
||||
CREATE INDEX "season_nbr" ON "kyoo"."seasons" USING btree ("season_number");
|
||||
20
api/drizzle/0011_join_rename.sql
Normal file
20
api/drizzle/0011_join_rename.sql
Normal file
@@ -0,0 +1,20 @@
|
||||
ALTER TABLE "kyoo"."show_studio_join" RENAME COLUMN "show" TO "show_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" RENAME COLUMN "studio" TO "studio_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" RENAME COLUMN "entry" TO "entry_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" RENAME COLUMN "video" TO "video_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" DROP CONSTRAINT "show_studio_join_show_shows_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" DROP CONSTRAINT "show_studio_join_studio_studios_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_join_entry_entries_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_join_video_videos_pk_fk";
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" DROP CONSTRAINT "show_studio_join_show_studio_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" DROP CONSTRAINT "entry_video_join_entry_video_pk";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" ADD CONSTRAINT "show_studio_join_show_pk_studio_pk_pk" PRIMARY KEY("show_pk","studio_pk");--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_entry_pk_video_pk_pk" PRIMARY KEY("entry_pk","video_pk");--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" ADD CONSTRAINT "show_studio_join_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."show_studio_join" ADD CONSTRAINT "show_studio_join_studio_pk_studios_pk_fk" FOREIGN KEY ("studio_pk") REFERENCES "kyoo"."studios"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_entry_pk_entries_pk_fk" FOREIGN KEY ("entry_pk") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entry_video_join" ADD CONSTRAINT "entry_video_join_video_pk_videos_pk_fk" FOREIGN KEY ("video_pk") REFERENCES "kyoo"."videos"("pk") ON DELETE cascade ON UPDATE no action;
|
||||
2
api/drizzle/0012_available_count.sql
Normal file
2
api/drizzle/0012_available_count.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE "kyoo"."shows" ADD COLUMN "entries_count" integer NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD COLUMN "available_count" integer DEFAULT 0 NOT NULL;
|
||||
3
api/drizzle/0013_original.sql
Normal file
3
api/drizzle/0013_original.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE "kyoo"."videos" ALTER COLUMN "guess" DROP DEFAULT;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" ADD COLUMN "original" jsonb NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."shows" DROP COLUMN "original_language";
|
||||
28
api/drizzle/0014_staff.sql
Normal file
28
api/drizzle/0014_staff.sql
Normal file
@@ -0,0 +1,28 @@
|
||||
CREATE TYPE "kyoo"."role_kind" AS ENUM('actor', 'director', 'writter', 'producer', 'music', 'other');--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."roles" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."roles_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"show_pk" integer NOT NULL,
|
||||
"staff_pk" integer NOT NULL,
|
||||
"kind" "kyoo"."role_kind" NOT NULL,
|
||||
"order" integer NOT NULL,
|
||||
"character" jsonb
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."staff" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."staff_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
||||
"slug" varchar(255) NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"latin_name" text,
|
||||
"image" jsonb,
|
||||
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
"updated_at" timestamp with time zone NOT NULL,
|
||||
CONSTRAINT "staff_id_unique" UNIQUE("id"),
|
||||
CONSTRAINT "staff_slug_unique" UNIQUE("slug")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."roles" ADD CONSTRAINT "roles_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."roles" ADD CONSTRAINT "roles_staff_pk_staff_pk_fk" FOREIGN KEY ("staff_pk") REFERENCES "kyoo"."staff"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE INDEX "role_kind" ON "kyoo"."roles" USING hash ("kind");--> statement-breakpoint
|
||||
CREATE INDEX "role_order" ON "kyoo"."roles" USING btree ("order");
|
||||
1
api/drizzle/0015_news.sql
Normal file
1
api/drizzle/0015_news.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE "kyoo"."entries" ADD COLUMN "available_since" timestamp with time zone;
|
||||
9
api/drizzle/0016_mqueue.sql
Normal file
9
api/drizzle/0016_mqueue.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
CREATE TABLE "kyoo"."mqueue" (
|
||||
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
||||
"kind" varchar(255) NOT NULL,
|
||||
"message" jsonb NOT NULL,
|
||||
"attempt" integer DEFAULT 0 NOT NULL,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX "mqueue_created" ON "kyoo"."mqueue" USING btree ("created_at");
|
||||
40
api/drizzle/0017_watchlist.sql
Normal file
40
api/drizzle/0017_watchlist.sql
Normal file
@@ -0,0 +1,40 @@
|
||||
CREATE TYPE "kyoo"."watchlist_status" AS ENUM('completed', 'watching', 'rewatching', 'dropped', 'planned');--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."history" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."history_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"profile_pk" integer NOT NULL,
|
||||
"entry_pk" integer NOT NULL,
|
||||
"video_pk" integer NOT NULL,
|
||||
"percent" integer DEFAULT 0 NOT NULL,
|
||||
"time" integer,
|
||||
"played_date" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
CONSTRAINT "percent_valid" CHECK ("kyoo"."history"."percent" between 0 and 100)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."profiles" (
|
||||
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."profiles_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
||||
"id" uuid NOT NULL,
|
||||
CONSTRAINT "profiles_id_unique" UNIQUE("id")
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE "kyoo"."watchlist" (
|
||||
"profile_pk" integer NOT NULL,
|
||||
"show_pk" integer NOT NULL,
|
||||
"status" "kyoo"."watchlist_status" NOT NULL,
|
||||
"seen_count" integer DEFAULT 0 NOT NULL,
|
||||
"next_entry" integer,
|
||||
"score" integer,
|
||||
"started_at" timestamp with time zone,
|
||||
"completed_at" timestamp with time zone,
|
||||
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
||||
"updated_at" timestamp with time zone NOT NULL,
|
||||
CONSTRAINT "watchlist_profile_pk_show_pk_pk" PRIMARY KEY("profile_pk","show_pk"),
|
||||
CONSTRAINT "score_percent" CHECK ("kyoo"."watchlist"."score" between 0 and 100)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."history" ADD CONSTRAINT "history_profile_pk_profiles_pk_fk" FOREIGN KEY ("profile_pk") REFERENCES "kyoo"."profiles"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."history" ADD CONSTRAINT "history_entry_pk_entries_pk_fk" FOREIGN KEY ("entry_pk") REFERENCES "kyoo"."entries"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."history" ADD CONSTRAINT "history_video_pk_videos_pk_fk" FOREIGN KEY ("video_pk") REFERENCES "kyoo"."videos"("pk") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."watchlist" ADD CONSTRAINT "watchlist_profile_pk_profiles_pk_fk" FOREIGN KEY ("profile_pk") REFERENCES "kyoo"."profiles"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."watchlist" ADD CONSTRAINT "watchlist_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."watchlist" ADD CONSTRAINT "watchlist_next_entry_entries_pk_fk" FOREIGN KEY ("next_entry") REFERENCES "kyoo"."entries"("pk") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE INDEX "history_play_date" ON "kyoo"."history" USING btree ("played_date" DESC NULLS LAST);
|
||||
5
api/drizzle/0018_history.sql
Normal file
5
api/drizzle/0018_history.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE "kyoo"."history" ALTER COLUMN "video_pk" DROP NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."watchlist" ALTER COLUMN "status" SET DATA TYPE text;--> statement-breakpoint
|
||||
DROP TYPE "kyoo"."watchlist_status";--> statement-breakpoint
|
||||
CREATE TYPE "kyoo"."watchlist_status" AS ENUM('watching', 'rewatching', 'completed', 'dropped', 'planned');--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."watchlist" ALTER COLUMN "status" SET DATA TYPE "kyoo"."watchlist_status" USING "status"::"kyoo"."watchlist_status";
|
||||
1
api/drizzle/0019_nextup.sql
Normal file
1
api/drizzle/0019_nextup.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE "kyoo"."watchlist" ADD COLUMN "last_played_at" timestamp with time zone;
|
||||
5
api/drizzle/0020_video_unique.sql
Normal file
5
api/drizzle/0020_video_unique.sql
Normal file
@@ -0,0 +1,5 @@
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "kind" SET DATA TYPE text;--> statement-breakpoint
|
||||
DROP TYPE "kyoo"."entry_type";--> statement-breakpoint
|
||||
CREATE TYPE "kyoo"."entry_type" AS ENUM('episode', 'movie', 'special', 'extra');--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."entries" ALTER COLUMN "kind" SET DATA TYPE "kyoo"."entry_type" USING "kind"::"kyoo"."entry_type";--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."videos" ADD CONSTRAINT "rendering_unique" UNIQUE NULLS NOT DISTINCT("rendering","part","version");
|
||||
1
api/drizzle/0021_crew.sql
Normal file
1
api/drizzle/0021_crew.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TYPE "kyoo"."role_kind" ADD VALUE 'crew' BEFORE 'other';
|
||||
2
api/drizzle/0022_seasons-count.sql
Normal file
2
api/drizzle/0022_seasons-count.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE "kyoo"."seasons" ADD COLUMN "entries_count" integer NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."seasons" ADD COLUMN "available_count" integer DEFAULT 0 NOT NULL;
|
||||
3
api/drizzle/0023_mqueue-priority.sql
Normal file
3
api/drizzle/0023_mqueue-priority.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE "kyoo"."history" ALTER COLUMN "time" SET DEFAULT 0;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."history" ALTER COLUMN "time" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "kyoo"."mqueue" ADD COLUMN "priority" integer DEFAULT 0 NOT NULL;
|
||||
1
api/drizzle/0024_fix-season-count.sql
Normal file
1
api/drizzle/0024_fix-season-count.sql
Normal file
@@ -0,0 +1 @@
|
||||
ALTER TABLE "kyoo"."seasons" ALTER COLUMN "entries_count" SET DEFAULT 0;
|
||||
589
api/drizzle/meta/0000_snapshot.json
Normal file
589
api/drizzle/meta/0000_snapshot.json
Normal file
@@ -0,0 +1,589 @@
|
||||
{
|
||||
"id": "82560792-5f4a-4723-9543-808719ade682",
|
||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entries_translation": {
|
||||
"name": "entries_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_translation_pk_entries_pk_fk": {
|
||||
"name": "entries_translation_pk_entries_pk_fk",
|
||||
"tableFrom": "entries_translation",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entries_translation_pk_language_pk": {
|
||||
"name": "entries_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rendering_pos": {
|
||||
"name": "rendering_pos",
|
||||
"value": "\"videos\".\"rendering\" >= 0"
|
||||
},
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
597
api/drizzle/meta/0001_snapshot.json
Normal file
597
api/drizzle/meta/0001_snapshot.json
Normal file
@@ -0,0 +1,597 @@
|
||||
{
|
||||
"id": "32090852-33a7-430a-9df1-97608c063124",
|
||||
"prevId": "82560792-5f4a-4723-9543-808719ade682",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entries_translation": {
|
||||
"name": "entries_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_translation_pk_entries_pk_fk": {
|
||||
"name": "entries_translation_pk_entries_pk_fk",
|
||||
"tableFrom": "entries_translation",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entries_translation_pk_language_pk": {
|
||||
"name": "entries_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_slug_unique": {
|
||||
"name": "videos_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
788
api/drizzle/meta/0002_snapshot.json
Normal file
788
api/drizzle/meta/0002_snapshot.json
Normal file
@@ -0,0 +1,788 @@
|
||||
{
|
||||
"id": "d0f6c500-aa2b-4592-aa31-db646817f708",
|
||||
"prevId": "32090852-33a7-430a-9df1-97608c063124",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entries_translation": {
|
||||
"name": "entries_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_translation_pk_entries_pk_fk": {
|
||||
"name": "entries_translation_pk_entries_pk_fk",
|
||||
"tableFrom": "entries_translation",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entries_translation_pk_language_pk": {
|
||||
"name": "entries_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translation": {
|
||||
"name": "season_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translation_pk_seasons_pk_fk": {
|
||||
"name": "season_translation_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translation",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translation_pk_language_pk": {
|
||||
"name": "season_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_slug_unique": {
|
||||
"name": "videos_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
788
api/drizzle/meta/0003_snapshot.json
Normal file
788
api/drizzle/meta/0003_snapshot.json
Normal file
@@ -0,0 +1,788 @@
|
||||
{
|
||||
"id": "2210fd60-8e6a-4503-a2b3-56cc7f3cf15a",
|
||||
"prevId": "d0f6c500-aa2b-4592-aa31-db646817f708",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entries_translation": {
|
||||
"name": "entries_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_translation_pk_entries_pk_fk": {
|
||||
"name": "entries_translation_pk_entries_pk_fk",
|
||||
"tableFrom": "entries_translation",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entries_translation_pk_language_pk": {
|
||||
"name": "entries_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translation": {
|
||||
"name": "season_translation",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translation_pk_seasons_pk_fk": {
|
||||
"name": "season_translation_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translation",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translation_pk_language_pk": {
|
||||
"name": "season_translation_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_slug_unique": {
|
||||
"name": "videos_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
853
api/drizzle/meta/0004_snapshot.json
Normal file
853
api/drizzle/meta/0004_snapshot.json
Normal file
@@ -0,0 +1,853 @@
|
||||
{
|
||||
"id": "0d5d6d22-dc13-4f3d-9975-cb7b38f628d4",
|
||||
"prevId": "2210fd60-8e6a-4503-a2b3-56cc7f3cf15a",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_jointure": {
|
||||
"name": "entry_video_jointure",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_jointure_entry_entries_pk_fk": {
|
||||
"name": "entry_video_jointure_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_jointure_video_videos_pk_fk": {
|
||||
"name": "entry_video_jointure_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_jointure_entry_video_pk": {
|
||||
"name": "entry_video_jointure_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_jointure_slug_unique": {
|
||||
"name": "entry_video_jointure_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
930
api/drizzle/meta/0005_snapshot.json
Normal file
930
api/drizzle/meta/0005_snapshot.json
Normal file
@@ -0,0 +1,930 @@
|
||||
{
|
||||
"id": "1d98727c-290d-4491-8bb8-74390da0c021",
|
||||
"prevId": "0d5d6d22-dc13-4f3d-9975-cb7b38f628d4",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"name_trgm": {
|
||||
"name": "name_trgm",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "\"name\" gin_trgm_ops",
|
||||
"asc": true,
|
||||
"isExpression": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "gin",
|
||||
"with": {}
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "tags",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "kind",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "rating",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
},
|
||||
"startAir": {
|
||||
"name": "startAir",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "start_air",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_jointure": {
|
||||
"name": "entry_video_jointure",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_jointure_entry_entries_pk_fk": {
|
||||
"name": "entry_video_jointure_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_jointure_video_videos_pk_fk": {
|
||||
"name": "entry_video_jointure_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_jointure_entry_video_pk": {
|
||||
"name": "entry_video_jointure_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_jointure_slug_unique": {
|
||||
"name": "entry_video_jointure_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
946
api/drizzle/meta/0006_snapshot.json
Normal file
946
api/drizzle/meta/0006_snapshot.json
Normal file
@@ -0,0 +1,946 @@
|
||||
{
|
||||
"id": "ca86d88f-b380-4b41-9c3d-d8acef369e4c",
|
||||
"prevId": "1d98727c-290d-4491-8bb8-74390da0c021",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"type": {
|
||||
"name": "type",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"show_fk": {
|
||||
"name": "show_fk",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "show_pk",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"name_trgm": {
|
||||
"name": "name_trgm",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "\"name\" gin_trgm_ops",
|
||||
"asc": true,
|
||||
"isExpression": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "gin",
|
||||
"with": {}
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "tags",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "kind",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "rating",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
},
|
||||
"startAir": {
|
||||
"name": "startAir",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "start_air",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_jointure": {
|
||||
"name": "entry_video_jointure",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_jointure_entry_entries_pk_fk": {
|
||||
"name": "entry_video_jointure_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_jointure_video_videos_pk_fk": {
|
||||
"name": "entry_video_jointure_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_jointure_entry_video_pk": {
|
||||
"name": "entry_video_jointure_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_jointure_slug_unique": {
|
||||
"name": "entry_video_jointure_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
952
api/drizzle/meta/0007_snapshot.json
Normal file
952
api/drizzle/meta/0007_snapshot.json
Normal file
@@ -0,0 +1,952 @@
|
||||
{
|
||||
"id": "e70b1585-a927-4436-b2a0-d0ef216911f1",
|
||||
"prevId": "ca86d88f-b380-4b41-9c3d-d8acef369e4c",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"extra_kind": {
|
||||
"name": "extra_kind",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnails": {
|
||||
"name": "thumbnails",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"show_fk": {
|
||||
"name": "show_fk",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "show_pk",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"name_trgm": {
|
||||
"name": "name_trgm",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "\"name\" gin_trgm_ops",
|
||||
"asc": true,
|
||||
"isExpression": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "gin",
|
||||
"with": {}
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "tags",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "kind",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "rating",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
},
|
||||
"startAir": {
|
||||
"name": "startAir",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "start_air",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_jointure": {
|
||||
"name": "entry_video_jointure",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_jointure_entry_entries_pk_fk": {
|
||||
"name": "entry_video_jointure_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_jointure_video_videos_pk_fk": {
|
||||
"name": "entry_video_jointure_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_jointure",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_jointure_entry_video_pk": {
|
||||
"name": "entry_video_jointure_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_jointure_slug_unique": {
|
||||
"name": "entry_video_jointure_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
952
api/drizzle/meta/0008_snapshot.json
Normal file
952
api/drizzle/meta/0008_snapshot.json
Normal file
@@ -0,0 +1,952 @@
|
||||
{
|
||||
"id": "5c17dd71-409a-4c80-870d-f12386676738",
|
||||
"prevId": "e70b1585-a927-4436-b2a0-d0ef216911f1",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"extra_kind": {
|
||||
"name": "extra_kind",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"show_fk": {
|
||||
"name": "show_fk",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "show_pk",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"name_trgm": {
|
||||
"name": "name_trgm",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "\"name\" gin_trgm_ops",
|
||||
"asc": true,
|
||||
"isExpression": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "gin",
|
||||
"with": {}
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "tags",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "kind",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "rating",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
},
|
||||
"startAir": {
|
||||
"name": "startAir",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "start_air",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_join": {
|
||||
"name": "entry_video_join",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_join_entry_entries_pk_fk": {
|
||||
"name": "entry_video_join_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_join",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_join_video_videos_pk_fk": {
|
||||
"name": "entry_video_join_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_join",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_join_entry_video_pk": {
|
||||
"name": "entry_video_join_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_join_slug_unique": {
|
||||
"name": "entry_video_join_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
969
api/drizzle/meta/0009_snapshot.json
Normal file
969
api/drizzle/meta/0009_snapshot.json
Normal file
@@ -0,0 +1,969 @@
|
||||
{
|
||||
"id": "7a04670c-5fb9-4535-b6be-dc291b8b0b09",
|
||||
"prevId": "5c17dd71-409a-4c80-870d-f12386676738",
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"tables": {
|
||||
"kyoo.entries": {
|
||||
"name": "entries",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "entries_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"order": {
|
||||
"name": "order",
|
||||
"type": "real",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"episode_number": {
|
||||
"name": "episode_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "entry_type",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"extra_kind": {
|
||||
"name": "extra_kind",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"air_date": {
|
||||
"name": "air_date",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entries_show_pk_shows_pk_fk": {
|
||||
"name": "entries_show_pk_shows_pk_fk",
|
||||
"tableFrom": "entries",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"entries_id_unique": {
|
||||
"name": "entries_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"entries_slug_unique": {
|
||||
"name": "entries_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"entries_showPk_seasonNumber_episodeNumber_unique": {
|
||||
"name": "entries_showPk_seasonNumber_episodeNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number", "episode_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"order_positive": {
|
||||
"name": "order_positive",
|
||||
"value": "\"kyoo\".\"entries\".\"order\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_translations": {
|
||||
"name": "entry_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_translations_pk_entries_pk_fk": {
|
||||
"name": "entry_translations_pk_entries_pk_fk",
|
||||
"tableFrom": "entry_translations",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_translations_pk_language_pk": {
|
||||
"name": "entry_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.season_translations": {
|
||||
"name": "season_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"season_translations_pk_seasons_pk_fk": {
|
||||
"name": "season_translations_pk_seasons_pk_fk",
|
||||
"tableFrom": "season_translations",
|
||||
"tableTo": "seasons",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"season_translations_pk_language_pk": {
|
||||
"name": "season_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.seasons": {
|
||||
"name": "seasons",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "seasons_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"show_pk": {
|
||||
"name": "show_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"season_number": {
|
||||
"name": "season_number",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"show_fk": {
|
||||
"name": "show_fk",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "show_pk",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"seasons_show_pk_shows_pk_fk": {
|
||||
"name": "seasons_show_pk_shows_pk_fk",
|
||||
"tableFrom": "seasons",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["show_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"seasons_id_unique": {
|
||||
"name": "seasons_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"seasons_slug_unique": {
|
||||
"name": "seasons_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
},
|
||||
"seasons_showPk_seasonNumber_unique": {
|
||||
"name": "seasons_showPk_seasonNumber_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["show_pk", "season_number"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.show_translations": {
|
||||
"name": "show_translations",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"language": {
|
||||
"name": "language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"description": {
|
||||
"name": "description",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"tagline": {
|
||||
"name": "tagline",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"aliases": {
|
||||
"name": "aliases",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"type": "text[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"poster": {
|
||||
"name": "poster",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"thumbnail": {
|
||||
"name": "thumbnail",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"banner": {
|
||||
"name": "banner",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"logo": {
|
||||
"name": "logo",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"trailer_url": {
|
||||
"name": "trailer_url",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"name_trgm": {
|
||||
"name": "name_trgm",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "\"name\" gin_trgm_ops",
|
||||
"asc": true,
|
||||
"isExpression": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "gin",
|
||||
"with": {}
|
||||
},
|
||||
"tags": {
|
||||
"name": "tags",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "tags",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"show_translations_pk_shows_pk_fk": {
|
||||
"name": "show_translations_pk_shows_pk_fk",
|
||||
"tableFrom": "show_translations",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"show_translations_pk_language_pk": {
|
||||
"name": "show_translations_pk_language_pk",
|
||||
"columns": ["pk", "language"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.shows": {
|
||||
"name": "shows",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "shows_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"type": "show_kind",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"genres": {
|
||||
"name": "genres",
|
||||
"type": "genres[]",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"type": "smallint",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"runtime": {
|
||||
"name": "runtime",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"status": {
|
||||
"name": "status",
|
||||
"type": "show_status",
|
||||
"typeSchema": "kyoo",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"start_air": {
|
||||
"name": "start_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"end_air": {
|
||||
"name": "end_air",
|
||||
"type": "date",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"original_language": {
|
||||
"name": "original_language",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"collection_pk": {
|
||||
"name": "collection_pk",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"external_id": {
|
||||
"name": "external_id",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
},
|
||||
"next_refresh": {
|
||||
"name": "next_refresh",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"kind": {
|
||||
"name": "kind",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "kind",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "hash",
|
||||
"with": {}
|
||||
},
|
||||
"rating": {
|
||||
"name": "rating",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "rating",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
},
|
||||
"startAir": {
|
||||
"name": "startAir",
|
||||
"columns": [
|
||||
{
|
||||
"expression": "start_air",
|
||||
"isExpression": false,
|
||||
"asc": true,
|
||||
"nulls": "last"
|
||||
}
|
||||
],
|
||||
"isUnique": false,
|
||||
"concurrently": false,
|
||||
"method": "btree",
|
||||
"with": {}
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"shows_collection_pk_shows_pk_fk": {
|
||||
"name": "shows_collection_pk_shows_pk_fk",
|
||||
"tableFrom": "shows",
|
||||
"tableTo": "shows",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["collection_pk"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "set null",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"shows_id_unique": {
|
||||
"name": "shows_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"shows_slug_unique": {
|
||||
"name": "shows_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"rating_valid": {
|
||||
"name": "rating_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"rating\" between 0 and 100"
|
||||
},
|
||||
"runtime_valid": {
|
||||
"name": "runtime_valid",
|
||||
"value": "\"kyoo\".\"shows\".\"runtime\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.entry_video_join": {
|
||||
"name": "entry_video_join",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"entry": {
|
||||
"name": "entry",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"video": {
|
||||
"name": "video",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"slug": {
|
||||
"name": "slug",
|
||||
"type": "varchar(255)",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {
|
||||
"entry_video_join_entry_entries_pk_fk": {
|
||||
"name": "entry_video_join_entry_entries_pk_fk",
|
||||
"tableFrom": "entry_video_join",
|
||||
"tableTo": "entries",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["entry"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"entry_video_join_video_videos_pk_fk": {
|
||||
"name": "entry_video_join_video_videos_pk_fk",
|
||||
"tableFrom": "entry_video_join",
|
||||
"tableTo": "videos",
|
||||
"schemaTo": "kyoo",
|
||||
"columnsFrom": ["video"],
|
||||
"columnsTo": ["pk"],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {
|
||||
"entry_video_join_entry_video_pk": {
|
||||
"name": "entry_video_join_entry_video_pk",
|
||||
"columns": ["entry", "video"]
|
||||
}
|
||||
},
|
||||
"uniqueConstraints": {
|
||||
"entry_video_join_slug_unique": {
|
||||
"name": "entry_video_join_slug_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["slug"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {},
|
||||
"isRLSEnabled": false
|
||||
},
|
||||
"kyoo.videos": {
|
||||
"name": "videos",
|
||||
"schema": "kyoo",
|
||||
"columns": {
|
||||
"pk": {
|
||||
"name": "pk",
|
||||
"type": "integer",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"identity": {
|
||||
"type": "always",
|
||||
"name": "videos_pk_seq",
|
||||
"schema": "kyoo",
|
||||
"increment": "1",
|
||||
"startWith": "1",
|
||||
"minValue": "1",
|
||||
"maxValue": "2147483647",
|
||||
"cache": "1",
|
||||
"cycle": false
|
||||
}
|
||||
},
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "uuid",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "gen_random_uuid()"
|
||||
},
|
||||
"path": {
|
||||
"name": "path",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"rendering": {
|
||||
"name": "rendering",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true
|
||||
},
|
||||
"part": {
|
||||
"name": "part",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": false
|
||||
},
|
||||
"version": {
|
||||
"name": "version",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": 1
|
||||
},
|
||||
"guess": {
|
||||
"name": "guess",
|
||||
"type": "jsonb",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "'{}'::jsonb"
|
||||
},
|
||||
"created_at": {
|
||||
"name": "created_at",
|
||||
"type": "timestamp with time zone",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"default": "now()"
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {
|
||||
"videos_id_unique": {
|
||||
"name": "videos_id_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["id"]
|
||||
},
|
||||
"videos_path_unique": {
|
||||
"name": "videos_path_unique",
|
||||
"nullsNotDistinct": false,
|
||||
"columns": ["path"]
|
||||
}
|
||||
},
|
||||
"policies": {},
|
||||
"checkConstraints": {
|
||||
"part_pos": {
|
||||
"name": "part_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"part\" >= 0"
|
||||
},
|
||||
"version_pos": {
|
||||
"name": "version_pos",
|
||||
"value": "\"kyoo\".\"videos\".\"version\" >= 0"
|
||||
}
|
||||
},
|
||||
"isRLSEnabled": false
|
||||
}
|
||||
},
|
||||
"enums": {
|
||||
"kyoo.entry_type": {
|
||||
"name": "entry_type",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "episode", "movie", "special", "extra"]
|
||||
},
|
||||
"kyoo.genres": {
|
||||
"name": "genres",
|
||||
"schema": "kyoo",
|
||||
"values": [
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"mystery",
|
||||
"romance",
|
||||
"science-fiction",
|
||||
"thriller",
|
||||
"war",
|
||||
"western",
|
||||
"kids",
|
||||
"reality",
|
||||
"politics",
|
||||
"soap",
|
||||
"talk"
|
||||
]
|
||||
},
|
||||
"kyoo.show_kind": {
|
||||
"name": "show_kind",
|
||||
"schema": "kyoo",
|
||||
"values": ["serie", "movie", "collection"]
|
||||
},
|
||||
"kyoo.show_status": {
|
||||
"name": "show_status",
|
||||
"schema": "kyoo",
|
||||
"values": ["unknown", "finished", "airing", "planned"]
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"kyoo": "kyoo"
|
||||
},
|
||||
"sequences": {},
|
||||
"roles": {},
|
||||
"policies": {},
|
||||
"views": {},
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
}
|
||||
}
|
||||
1265
api/drizzle/meta/0010_snapshot.json
Normal file
1265
api/drizzle/meta/0010_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1265
api/drizzle/meta/0011_snapshot.json
Normal file
1265
api/drizzle/meta/0011_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1278
api/drizzle/meta/0012_snapshot.json
Normal file
1278
api/drizzle/meta/0012_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1277
api/drizzle/meta/0013_snapshot.json
Normal file
1277
api/drizzle/meta/0013_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1487
api/drizzle/meta/0014_snapshot.json
Normal file
1487
api/drizzle/meta/0014_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1493
api/drizzle/meta/0015_snapshot.json
Normal file
1493
api/drizzle/meta/0015_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1555
api/drizzle/meta/0016_snapshot.json
Normal file
1555
api/drizzle/meta/0016_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1839
api/drizzle/meta/0017_snapshot.json
Normal file
1839
api/drizzle/meta/0017_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1839
api/drizzle/meta/0018_snapshot.json
Normal file
1839
api/drizzle/meta/0018_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1845
api/drizzle/meta/0019_snapshot.json
Normal file
1845
api/drizzle/meta/0019_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1851
api/drizzle/meta/0020_snapshot.json
Normal file
1851
api/drizzle/meta/0020_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1859
api/drizzle/meta/0021_snapshot.json
Normal file
1859
api/drizzle/meta/0021_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1872
api/drizzle/meta/0022_snapshot.json
Normal file
1872
api/drizzle/meta/0022_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1880
api/drizzle/meta/0023_snapshot.json
Normal file
1880
api/drizzle/meta/0023_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
1881
api/drizzle/meta/0024_snapshot.json
Normal file
1881
api/drizzle/meta/0024_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
181
api/drizzle/meta/_journal.json
Normal file
181
api/drizzle/meta/_journal.json
Normal file
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"version": "7",
|
||||
"dialect": "postgresql",
|
||||
"entries": [
|
||||
{
|
||||
"idx": 0,
|
||||
"version": "7",
|
||||
"when": 1731105746157,
|
||||
"tag": "0000_init",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 1,
|
||||
"version": "7",
|
||||
"when": 1731149082556,
|
||||
"tag": "0001_video",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 2,
|
||||
"version": "7",
|
||||
"when": 1731165599920,
|
||||
"tag": "0002_seasons",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 3,
|
||||
"version": "7",
|
||||
"when": 1731258712255,
|
||||
"tag": "0003_order",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 4,
|
||||
"version": "7",
|
||||
"when": 1732738409330,
|
||||
"tag": "0004_jointures",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 5,
|
||||
"version": "7",
|
||||
"when": 1737742695309,
|
||||
"tag": "0005_trigram",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 6,
|
||||
"version": "7",
|
||||
"when": 1737763164759,
|
||||
"tag": "0006_seasons",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 7,
|
||||
"version": "7",
|
||||
"when": 1737913931275,
|
||||
"tag": "0007_entries",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 8,
|
||||
"version": "7",
|
||||
"when": 1738064522937,
|
||||
"tag": "0008_entries",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 9,
|
||||
"version": "7",
|
||||
"when": 1740872363604,
|
||||
"tag": "0009_collections",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 10,
|
||||
"version": "7",
|
||||
"when": 1740950531468,
|
||||
"tag": "0010_studios",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 11,
|
||||
"version": "7",
|
||||
"when": 1741014917375,
|
||||
"tag": "0011_join_rename",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 12,
|
||||
"version": "7",
|
||||
"when": 1741360992371,
|
||||
"tag": "0012_available_count",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 13,
|
||||
"version": "7",
|
||||
"when": 1741444868735,
|
||||
"tag": "0013_original",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 14,
|
||||
"version": "7",
|
||||
"when": 1741601145901,
|
||||
"tag": "0014_staff",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 15,
|
||||
"version": "7",
|
||||
"when": 1741623934941,
|
||||
"tag": "0015_news",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 16,
|
||||
"version": "7",
|
||||
"when": 1742205790510,
|
||||
"tag": "0016_mqueue",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 17,
|
||||
"version": "7",
|
||||
"when": 1743944773824,
|
||||
"tag": "0017_watchlist",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 18,
|
||||
"version": "7",
|
||||
"when": 1744053556621,
|
||||
"tag": "0018_history",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 19,
|
||||
"version": "7",
|
||||
"when": 1744120518941,
|
||||
"tag": "0019_nextup",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 20,
|
||||
"version": "7",
|
||||
"when": 1746198322219,
|
||||
"tag": "0020_video_unique",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 21,
|
||||
"version": "7",
|
||||
"when": 1747727831649,
|
||||
"tag": "0021_crew",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 22,
|
||||
"version": "7",
|
||||
"when": 1752446736231,
|
||||
"tag": "0022_seasons-count",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 23,
|
||||
"version": "7",
|
||||
"when": 1763924097229,
|
||||
"tag": "0023_mqueue-priority",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 24,
|
||||
"version": "7",
|
||||
"when": 1763932730557,
|
||||
"tag": "0024_fix-season-count",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
34
api/package.json
Normal file
34
api/package.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "api",
|
||||
"version": "5.0.0",
|
||||
"scripts": {
|
||||
"dev": "bun --watch src/index.ts",
|
||||
"build": "bun build src/index.ts --target bun --outdir ./dist",
|
||||
"start": "NODE_ENV=production bun dist/index.js",
|
||||
"test": "bun test",
|
||||
"format": "biome check --write ."
|
||||
},
|
||||
"dependencies": {
|
||||
"@elysiajs/opentelemetry": "^1.4.8",
|
||||
"@elysiajs/swagger": "zoriya/elysia-swagger#build",
|
||||
"@kubiks/otel-drizzle": "zoriya/drizzle-otel#build",
|
||||
"@types/bun": "^1.3.1",
|
||||
"blurhash": "^2.0.5",
|
||||
"drizzle-kit": "^0.31.5",
|
||||
"drizzle-orm": "0.44.7",
|
||||
"elysia": "^1.4.13",
|
||||
"jose": "^6.1.0",
|
||||
"node-addon-api": "^8.5.0",
|
||||
"parjs": "^1.3.9",
|
||||
"pg": "^8.16.3",
|
||||
"sharp": "^0.34.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.7",
|
||||
"@types/pg": "^8.15.5"
|
||||
},
|
||||
"module": "src/index.js",
|
||||
"patchedDependencies": {
|
||||
"drizzle-orm@0.44.7": "patches/drizzle-orm@0.44.7.patch"
|
||||
}
|
||||
}
|
||||
72
api/patches/drizzle-orm@0.44.7.patch
Normal file
72
api/patches/drizzle-orm@0.44.7.patch
Normal file
@@ -0,0 +1,72 @@
|
||||
diff --git a/pg-core/dialect.cjs b/pg-core/dialect.cjs
|
||||
index d776a1fb503f35b5e53c6d3c1c086efa8230ea94..86541bf408e4955029c65be59d7b8ec98bb6e914 100644
|
||||
--- a/pg-core/dialect.cjs
|
||||
+++ b/pg-core/dialect.cjs
|
||||
@@ -347,7 +347,14 @@ class PgDialect {
|
||||
buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select, overridingSystemValue_ }) {
|
||||
const valuesSqlList = [];
|
||||
const columns = table[import_table2.Table.Symbol.Columns];
|
||||
- const colEntries = Object.entries(columns).filter(([_, col]) => !col.shouldDisableInsert());
|
||||
+ let colEntries = Object.entries(columns);
|
||||
+ colEntries = select && !is(valuesOrSelect, SQL)
|
||||
+ ? Object
|
||||
+ .keys(valuesOrSelect._.selectedFields)
|
||||
+ .map((key) => [key, columns[key]])
|
||||
+ : overridingSystemValue_
|
||||
+ ? colEntries
|
||||
+ : colEntries.filter(([_, col]) => !col.shouldDisableInsert());
|
||||
const insertOrder = colEntries.map(
|
||||
([, column]) => import_sql2.sql.identifier(this.casing.getColumnCasing(column))
|
||||
);
|
||||
diff --git a/pg-core/dialect.js b/pg-core/dialect.js
|
||||
index 74a16c9e86fe3a89ced32af44af0a72f1cf43cf6..08f820d46a040c315fed40b8b36d94d094174425 100644
|
||||
--- a/pg-core/dialect.js
|
||||
+++ b/pg-core/dialect.js
|
||||
@@ -345,7 +345,14 @@ class PgDialect {
|
||||
buildInsertQuery({ table, values: valuesOrSelect, onConflict, returning, withList, select, overridingSystemValue_ }) {
|
||||
const valuesSqlList = [];
|
||||
const columns = table[Table.Symbol.Columns];
|
||||
- const colEntries = Object.entries(columns).filter(([_, col]) => !col.shouldDisableInsert());
|
||||
+ let colEntries = Object.entries(columns);
|
||||
+ colEntries = select && !is(valuesOrSelect, SQL)
|
||||
+ ? Object
|
||||
+ .keys(valuesOrSelect._.selectedFields)
|
||||
+ .map((key) => [key, columns[key]])
|
||||
+ : overridingSystemValue_
|
||||
+ ? colEntries
|
||||
+ : colEntries.filter(([_, col]) => !col.shouldDisableInsert());
|
||||
const insertOrder = colEntries.map(
|
||||
([, column]) => sql.identifier(this.casing.getColumnCasing(column))
|
||||
);
|
||||
diff --git a/pg-core/query-builders/insert.cjs b/pg-core/query-builders/insert.cjs
|
||||
index 22e0a4b4ad7ac64b065fc540416c6ed15ff4336b..fd590a6a3feb48c9f1894a0619b09ca6a5d22a5c 100644
|
||||
--- a/pg-core/query-builders/insert.cjs
|
||||
+++ b/pg-core/query-builders/insert.cjs
|
||||
@@ -76,11 +76,6 @@ class PgInsertBuilder {
|
||||
}
|
||||
select(selectQuery) {
|
||||
const select = typeof selectQuery === "function" ? selectQuery(new import_query_builder.QueryBuilder()) : selectQuery;
|
||||
- if (!(0, import_entity.is)(select, import_sql.SQL) && !(0, import_utils.haveSameKeys)(this.table[import_table.Columns], select._.selectedFields)) {
|
||||
- throw new Error(
|
||||
- "Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
||||
- );
|
||||
- }
|
||||
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
||||
}
|
||||
}
|
||||
diff --git a/pg-core/query-builders/insert.js b/pg-core/query-builders/insert.js
|
||||
index 60a8bb0d1c22b890bd8fbf4c85d5df41ca42444c..8754d0f2923f905816016c42f339c3e9097b4128 100644
|
||||
--- a/pg-core/query-builders/insert.js
|
||||
+++ b/pg-core/query-builders/insert.js
|
||||
@@ -52,11 +52,6 @@ class PgInsertBuilder {
|
||||
}
|
||||
select(selectQuery) {
|
||||
const select = typeof selectQuery === "function" ? selectQuery(new QueryBuilder()) : selectQuery;
|
||||
- if (!is(select, SQL) && !haveSameKeys(this.table[Columns], select._.selectedFields)) {
|
||||
- throw new Error(
|
||||
- "Insert select error: selected fields are not the same or are in a different order compared to the table definition"
|
||||
- );
|
||||
- }
|
||||
return new PgInsertBase(this.table, select, this.session, this.dialect, this.withList, true);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user