+141
-26
rockskyapi/rocksky-auth/bun.lock
+141
-26
rockskyapi/rocksky-auth/bun.lock
···
60
60
"@types/node": "^22.13.0",
61
61
"@types/ramda": "^0.30.2",
62
62
"@types/service-worker-mock": "^2.0.1",
63
+
"drizzle-kit": "^0.31.1",
63
64
"pkgroll": "^2.6.1",
64
65
"tsx": "^4.19.2",
65
66
"zx": "^8.5.4",
···
139
140
140
141
"@datadog/pprof": ["@datadog/pprof@5.7.1", "", { "dependencies": { "delay": "^5.0.0", "node-gyp-build": "<4.0", "p-limit": "^3.1.0", "pprof-format": "^2.1.0", "source-map": "^0.7.4" } }, "sha512-D5XTxsaPG36x41vZZn8hsAeC7QQDx0rv1a1Uhxo5xCXUB/9rc19+I7iCnjgJS5aH0ShXdPVOWRClo16hOSKKSw=="],
141
142
142
-
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.24.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA=="],
143
+
"@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="],
143
144
144
-
"@esbuild/android-arm": ["@esbuild/android-arm@0.24.2", "", { "os": "android", "cpu": "arm" }, "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q=="],
145
+
"@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=="],
145
146
146
-
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.24.2", "", { "os": "android", "cpu": "arm64" }, "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg=="],
147
+
"@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=="],
147
148
148
-
"@esbuild/android-x64": ["@esbuild/android-x64@0.24.2", "", { "os": "android", "cpu": "x64" }, "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw=="],
149
+
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="],
149
150
150
-
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.24.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA=="],
151
+
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="],
151
152
152
-
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.24.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA=="],
153
+
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="],
153
154
154
-
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.24.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg=="],
155
+
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="],
155
156
156
-
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.24.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q=="],
157
+
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="],
157
158
158
-
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA=="],
159
+
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="],
159
160
160
-
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg=="],
161
+
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="],
161
162
162
-
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.24.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw=="],
163
+
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="],
163
164
164
-
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ=="],
165
+
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="],
165
166
166
-
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw=="],
167
+
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="],
167
168
168
-
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.24.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw=="],
169
+
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="],
169
170
170
-
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q=="],
171
+
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="],
171
172
172
-
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.24.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw=="],
173
+
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="],
173
174
174
-
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q=="],
175
+
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="],
175
176
176
-
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.24.2", "", { "os": "none", "cpu": "arm64" }, "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw=="],
177
+
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="],
177
178
178
-
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.24.2", "", { "os": "none", "cpu": "x64" }, "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw=="],
179
+
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="],
179
180
180
-
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.24.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A=="],
181
+
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="],
181
182
182
-
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.24.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA=="],
183
+
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="],
183
184
184
-
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.24.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig=="],
185
+
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="],
186
+
187
+
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="],
188
+
189
+
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="],
190
+
191
+
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="],
185
192
186
-
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.24.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ=="],
193
+
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="],
187
194
188
-
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.24.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA=="],
195
+
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="],
189
196
190
-
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.24.2", "", { "os": "win32", "cpu": "x64" }, "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg=="],
197
+
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="],
191
198
192
199
"@grpc/grpc-js": ["@grpc/grpc-js@1.13.3", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-FTXHdOoPbZrBjlVLHuKbDZnsTxXv2BlHF57xw6LuThXacXvtkahEPED0CKMk6obZDf65Hv4k3z62eyPNpvinIg=="],
193
200
···
581
588
582
589
"buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="],
583
590
591
+
"buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="],
592
+
584
593
"bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="],
585
594
586
595
"call-bind": ["call-bind@1.0.8", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", "get-intrinsic": "^1.2.4", "set-function-length": "^1.2.2" } }, "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww=="],
···
665
674
666
675
"dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="],
667
676
677
+
"drizzle-kit": ["drizzle-kit@0.31.1", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.25.2", "esbuild-register": "^3.5.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-PUjYKWtzOzPtdtQlTHQG3qfv4Y0XT8+Eas6UbxCmxTj7qgMf+39dDujf1BP1I+qqZtw9uzwTh8jYtkMuCq+B0Q=="],
678
+
668
679
"drizzle-orm": ["drizzle-orm@0.44.2", "", { "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-zGAqBzWWkVSFjZpwPOrmCrgO++1kZ5H/rZ4qTGeGOe18iXGVJWf3WPfHOVwFIbmi8kHjfJstC6rJomzGx8g/dQ=="],
669
680
670
681
"dropbox": ["dropbox@10.34.0", "", { "dependencies": { "node-fetch": "^2.6.1" }, "peerDependencies": { "@types/node-fetch": "^2.5.7" } }, "sha512-5jb5/XzU0fSnq36/hEpwT5/QIep7MgqKuxghEG44xCu7HruOAjPdOb3x0geXv5O/hd0nHpQpWO+r5MjYTpMvJg=="],
···
691
702
692
703
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
693
704
694
-
"esbuild": ["esbuild@0.24.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.24.2", "@esbuild/android-arm": "0.24.2", "@esbuild/android-arm64": "0.24.2", "@esbuild/android-x64": "0.24.2", "@esbuild/darwin-arm64": "0.24.2", "@esbuild/darwin-x64": "0.24.2", "@esbuild/freebsd-arm64": "0.24.2", "@esbuild/freebsd-x64": "0.24.2", "@esbuild/linux-arm": "0.24.2", "@esbuild/linux-arm64": "0.24.2", "@esbuild/linux-ia32": "0.24.2", "@esbuild/linux-loong64": "0.24.2", "@esbuild/linux-mips64el": "0.24.2", "@esbuild/linux-ppc64": "0.24.2", "@esbuild/linux-riscv64": "0.24.2", "@esbuild/linux-s390x": "0.24.2", "@esbuild/linux-x64": "0.24.2", "@esbuild/netbsd-arm64": "0.24.2", "@esbuild/netbsd-x64": "0.24.2", "@esbuild/openbsd-arm64": "0.24.2", "@esbuild/openbsd-x64": "0.24.2", "@esbuild/sunos-x64": "0.24.2", "@esbuild/win32-arm64": "0.24.2", "@esbuild/win32-ia32": "0.24.2", "@esbuild/win32-x64": "0.24.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA=="],
705
+
"esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="],
706
+
707
+
"esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="],
695
708
696
709
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
697
710
···
1117
1130
1118
1131
"source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="],
1119
1132
1133
+
"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=="],
1134
+
1120
1135
"split2": ["split2@4.2.0", "", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="],
1121
1136
1122
1137
"statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="],
···
1243
1258
1244
1259
"@atproto/xrpc-server/ws": ["ws@8.18.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw=="],
1245
1260
1261
+
"@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=="],
1262
+
1246
1263
"accepts/mime-types": ["mime-types@3.0.1", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="],
1247
1264
1248
1265
"anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
···
1265
1282
1266
1283
"micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
1267
1284
1285
+
"pkgroll/esbuild": ["esbuild@0.24.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.24.2", "@esbuild/android-arm": "0.24.2", "@esbuild/android-arm64": "0.24.2", "@esbuild/android-x64": "0.24.2", "@esbuild/darwin-arm64": "0.24.2", "@esbuild/darwin-x64": "0.24.2", "@esbuild/freebsd-arm64": "0.24.2", "@esbuild/freebsd-x64": "0.24.2", "@esbuild/linux-arm": "0.24.2", "@esbuild/linux-arm64": "0.24.2", "@esbuild/linux-ia32": "0.24.2", "@esbuild/linux-loong64": "0.24.2", "@esbuild/linux-mips64el": "0.24.2", "@esbuild/linux-ppc64": "0.24.2", "@esbuild/linux-riscv64": "0.24.2", "@esbuild/linux-s390x": "0.24.2", "@esbuild/linux-x64": "0.24.2", "@esbuild/netbsd-arm64": "0.24.2", "@esbuild/netbsd-x64": "0.24.2", "@esbuild/openbsd-arm64": "0.24.2", "@esbuild/openbsd-x64": "0.24.2", "@esbuild/sunos-x64": "0.24.2", "@esbuild/win32-arm64": "0.24.2", "@esbuild/win32-ia32": "0.24.2", "@esbuild/win32-x64": "0.24.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA=="],
1286
+
1268
1287
"psl/punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
1269
1288
1270
1289
"readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
···
1272
1291
"router/path-to-regexp": ["path-to-regexp@8.2.0", "", {}, "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ=="],
1273
1292
1274
1293
"send/mime-types": ["mime-types@3.0.1", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="],
1294
+
1295
+
"source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
1275
1296
1276
1297
"tar-stream/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="],
1277
1298
···
1311
1332
1312
1333
"@atproto/xrpc-server/express/type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="],
1313
1334
1335
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="],
1336
+
1337
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="],
1338
+
1339
+
"@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="],
1340
+
1341
+
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="],
1342
+
1343
+
"@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="],
1344
+
1345
+
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="],
1346
+
1347
+
"@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="],
1348
+
1349
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="],
1350
+
1351
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="],
1352
+
1353
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="],
1354
+
1355
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="],
1356
+
1357
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="],
1358
+
1359
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="],
1360
+
1361
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="],
1362
+
1363
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="],
1364
+
1365
+
"@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="],
1366
+
1367
+
"@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="],
1368
+
1369
+
"@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="],
1370
+
1371
+
"@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="],
1372
+
1373
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="],
1374
+
1375
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="],
1376
+
1377
+
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
1378
+
1314
1379
"accepts/mime-types/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
1315
1380
1316
1381
"express/mime-types/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
···
1318
1383
"google-auth-library/jws/jwa": ["jwa@2.0.0", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA=="],
1319
1384
1320
1385
"gtoken/jws/jwa": ["jwa@2.0.0", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA=="],
1386
+
1387
+
"pkgroll/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.24.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA=="],
1388
+
1389
+
"pkgroll/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.24.2", "", { "os": "android", "cpu": "arm" }, "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q=="],
1390
+
1391
+
"pkgroll/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.24.2", "", { "os": "android", "cpu": "arm64" }, "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg=="],
1392
+
1393
+
"pkgroll/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.24.2", "", { "os": "android", "cpu": "x64" }, "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw=="],
1394
+
1395
+
"pkgroll/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.24.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA=="],
1396
+
1397
+
"pkgroll/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.24.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA=="],
1398
+
1399
+
"pkgroll/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.24.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg=="],
1400
+
1401
+
"pkgroll/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.24.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q=="],
1402
+
1403
+
"pkgroll/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.24.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA=="],
1404
+
1405
+
"pkgroll/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.24.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg=="],
1406
+
1407
+
"pkgroll/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.24.2", "", { "os": "linux", "cpu": "ia32" }, "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw=="],
1408
+
1409
+
"pkgroll/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ=="],
1410
+
1411
+
"pkgroll/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw=="],
1412
+
1413
+
"pkgroll/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.24.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw=="],
1414
+
1415
+
"pkgroll/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.24.2", "", { "os": "linux", "cpu": "none" }, "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q=="],
1416
+
1417
+
"pkgroll/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.24.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw=="],
1418
+
1419
+
"pkgroll/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.24.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q=="],
1420
+
1421
+
"pkgroll/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.24.2", "", { "os": "none", "cpu": "arm64" }, "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw=="],
1422
+
1423
+
"pkgroll/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.24.2", "", { "os": "none", "cpu": "x64" }, "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw=="],
1424
+
1425
+
"pkgroll/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.24.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A=="],
1426
+
1427
+
"pkgroll/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.24.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA=="],
1428
+
1429
+
"pkgroll/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.24.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig=="],
1430
+
1431
+
"pkgroll/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.24.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ=="],
1432
+
1433
+
"pkgroll/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.24.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA=="],
1434
+
1435
+
"pkgroll/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.24.2", "", { "os": "win32", "cpu": "x64" }, "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg=="],
1321
1436
1322
1437
"send/mime-types/mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="],
1323
1438
+348
rockskyapi/rocksky-auth/drizzle/0000_init.sql
+348
rockskyapi/rocksky-auth/drizzle/0000_init.sql
···
1
+
CREATE TABLE "album_tracks" (
2
+
"xata_id" text PRIMARY KEY NOT NULL,
3
+
"album_id" text NOT NULL,
4
+
"track_id" text NOT NULL,
5
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
6
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
7
+
"xata_version" integer NOT NULL
8
+
);
9
+
--> statement-breakpoint
10
+
CREATE TABLE "albums" (
11
+
"xata_id" text PRIMARY KEY NOT NULL,
12
+
"title" text NOT NULL,
13
+
"artist" text NOT NULL,
14
+
"release_date" text,
15
+
"year" integer,
16
+
"album_art" text,
17
+
"uri" text,
18
+
"artist_uri" text,
19
+
"apple_music_link" text,
20
+
"spotify_link" text,
21
+
"tidal_link" text,
22
+
"youtube_link" text,
23
+
"sha256" text NOT NULL,
24
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
25
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
26
+
"xata_version" integer,
27
+
CONSTRAINT "albums_uri_unique" UNIQUE("uri"),
28
+
CONSTRAINT "albums_apple_music_link_unique" UNIQUE("apple_music_link"),
29
+
CONSTRAINT "albums_spotify_link_unique" UNIQUE("spotify_link"),
30
+
CONSTRAINT "albums_tidal_link_unique" UNIQUE("tidal_link"),
31
+
CONSTRAINT "albums_youtube_link_unique" UNIQUE("youtube_link"),
32
+
CONSTRAINT "albums_sha256_unique" UNIQUE("sha256")
33
+
);
34
+
--> statement-breakpoint
35
+
CREATE TABLE "api_keys" (
36
+
"xata_id" text PRIMARY KEY NOT NULL,
37
+
"name" text NOT NULL,
38
+
"api_key" text NOT NULL,
39
+
"shared_secret" text NOT NULL,
40
+
"description" text,
41
+
"enabled" boolean DEFAULT true NOT NULL,
42
+
"user_id" text NOT NULL,
43
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
44
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
45
+
);
46
+
--> statement-breakpoint
47
+
CREATE TABLE "artist_albums" (
48
+
"xata_id" text PRIMARY KEY NOT NULL,
49
+
"artist_id" text NOT NULL,
50
+
"album_id" text NOT NULL,
51
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
52
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
53
+
"xata_version" integer NOT NULL
54
+
);
55
+
--> statement-breakpoint
56
+
CREATE TABLE "artist_tracks" (
57
+
"xata_id" text PRIMARY KEY NOT NULL,
58
+
"artist_id" text NOT NULL,
59
+
"track_id" text NOT NULL,
60
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
61
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
62
+
"xata_version" integer NOT NULL
63
+
);
64
+
--> statement-breakpoint
65
+
CREATE TABLE "artists" (
66
+
"xata_id" text PRIMARY KEY NOT NULL,
67
+
"name" text NOT NULL,
68
+
"biography" text,
69
+
"born" timestamp,
70
+
"born_in" text,
71
+
"died" timestamp,
72
+
"picture" text,
73
+
"sha256" text NOT NULL,
74
+
"uri" text,
75
+
"apple_music_link" text,
76
+
"spotify_link" text,
77
+
"tidal_link" text,
78
+
"youtube_link" text,
79
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
80
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
81
+
"xata_version" integer,
82
+
CONSTRAINT "artists_sha256_unique" UNIQUE("sha256"),
83
+
CONSTRAINT "artists_uri_unique" UNIQUE("uri")
84
+
);
85
+
--> statement-breakpoint
86
+
CREATE TABLE "dropbox_tokens" (
87
+
"xata_id" text PRIMARY KEY NOT NULL,
88
+
"refresh_token" text NOT NULL,
89
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
90
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
91
+
);
92
+
--> statement-breakpoint
93
+
CREATE TABLE "google_drive_tokens" (
94
+
"xata_id" text PRIMARY KEY NOT NULL,
95
+
"refresh_token" text NOT NULL,
96
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
97
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
98
+
);
99
+
--> statement-breakpoint
100
+
CREATE TABLE "loved_tracks" (
101
+
"xata_id" text PRIMARY KEY NOT NULL,
102
+
"user_id" text NOT NULL,
103
+
"track_id" text NOT NULL,
104
+
"uri" text,
105
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
106
+
CONSTRAINT "loved_tracks_uri_unique" UNIQUE("uri")
107
+
);
108
+
--> statement-breakpoint
109
+
CREATE TABLE "playlist_tracks" (
110
+
"xata_id" text PRIMARY KEY NOT NULL,
111
+
"playlist_id" text NOT NULL,
112
+
"track_id" text NOT NULL,
113
+
"xata_createdat" timestamp DEFAULT now() NOT NULL
114
+
);
115
+
--> statement-breakpoint
116
+
CREATE TABLE "playlists" (
117
+
"xata_id" text PRIMARY KEY NOT NULL,
118
+
"name" text NOT NULL,
119
+
"picture" text,
120
+
"description" text,
121
+
"uri" text,
122
+
"spotify_link" text,
123
+
"tidal_link" text,
124
+
"apple_music_link" text,
125
+
"created_by" text NOT NULL,
126
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
127
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
128
+
CONSTRAINT "playlists_uri_unique" UNIQUE("uri")
129
+
);
130
+
--> statement-breakpoint
131
+
CREATE TABLE "profile_shouts" (
132
+
"xata_id" text PRIMARY KEY NOT NULL,
133
+
"user_id" text NOT NULL,
134
+
"shout_id" text NOT NULL,
135
+
"xata_createdat" timestamp DEFAULT now() NOT NULL
136
+
);
137
+
--> statement-breakpoint
138
+
CREATE TABLE "scrobbles" (
139
+
"xata_id" text PRIMARY KEY NOT NULL,
140
+
"user_id" text,
141
+
"track_id" text,
142
+
"album_id" text,
143
+
"artist_id" text,
144
+
"uri" text,
145
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
146
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
147
+
"xata_version" integer,
148
+
"timestamp" timestamp DEFAULT now() NOT NULL,
149
+
CONSTRAINT "scrobbles_uri_unique" UNIQUE("uri")
150
+
);
151
+
--> statement-breakpoint
152
+
CREATE TABLE "shout_likes" (
153
+
"xata_id" text PRIMARY KEY NOT NULL,
154
+
"user_id" text NOT NULL,
155
+
"shout_id" text NOT NULL,
156
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
157
+
"uri" text NOT NULL,
158
+
CONSTRAINT "shout_likes_uri_unique" UNIQUE("uri")
159
+
);
160
+
--> statement-breakpoint
161
+
CREATE TABLE "shout_reports" (
162
+
"xata_id" text PRIMARY KEY NOT NULL,
163
+
"user_id" text NOT NULL,
164
+
"shout_id" text NOT NULL,
165
+
"xata_createdat" timestamp DEFAULT now() NOT NULL
166
+
);
167
+
--> statement-breakpoint
168
+
CREATE TABLE "shouts" (
169
+
"xata_id" text PRIMARY KEY NOT NULL,
170
+
"content" text NOT NULL,
171
+
"track_id" text,
172
+
"artist_id" text,
173
+
"album_id" text,
174
+
"scrobble_id" text,
175
+
"uri" text NOT NULL,
176
+
"author_id" text NOT NULL,
177
+
"parent_id" text,
178
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
179
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
180
+
CONSTRAINT "shouts_uri_unique" UNIQUE("uri")
181
+
);
182
+
--> statement-breakpoint
183
+
CREATE TABLE "spotify_accounts" (
184
+
"xata_id" text PRIMARY KEY NOT NULL,
185
+
"xata_version" integer NOT NULL,
186
+
"email" text NOT NULL,
187
+
"user_id" text NOT NULL,
188
+
"is_beta_user" boolean DEFAULT false NOT NULL,
189
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
190
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
191
+
);
192
+
--> statement-breakpoint
193
+
CREATE TABLE "spotify_tokens" (
194
+
"xata_id" text PRIMARY KEY NOT NULL,
195
+
"xata_version" integer NOT NULL,
196
+
"access_token" text NOT NULL,
197
+
"refresh_token" text NOT NULL,
198
+
"user_id" text NOT NULL,
199
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
200
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
201
+
);
202
+
--> statement-breakpoint
203
+
CREATE TABLE "tracks" (
204
+
"xata_id" text PRIMARY KEY NOT NULL,
205
+
"title" text NOT NULL,
206
+
"artist" text NOT NULL,
207
+
"album_artist" text NOT NULL,
208
+
"album_art" text,
209
+
"album" text NOT NULL,
210
+
"track_number" integer,
211
+
"duration" integer NOT NULL,
212
+
"mb_id" text,
213
+
"youtube_link" text,
214
+
"spotify_link" text,
215
+
"apple_music_link" text,
216
+
"tidal_link" text,
217
+
"sha256" text NOT NULL,
218
+
"disc_number" integer,
219
+
"lyrics" text,
220
+
"composer" text,
221
+
"genre" text,
222
+
"label" text,
223
+
"copyright_message" text,
224
+
"uri" text,
225
+
"album_uri" text,
226
+
"artist_uri" text,
227
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
228
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
229
+
"xata_version" integer,
230
+
CONSTRAINT "tracks_mb_id_unique" UNIQUE("mb_id"),
231
+
CONSTRAINT "tracks_youtube_link_unique" UNIQUE("youtube_link"),
232
+
CONSTRAINT "tracks_spotify_link_unique" UNIQUE("spotify_link"),
233
+
CONSTRAINT "tracks_apple_music_link_unique" UNIQUE("apple_music_link"),
234
+
CONSTRAINT "tracks_tidal_link_unique" UNIQUE("tidal_link"),
235
+
CONSTRAINT "tracks_sha256_unique" UNIQUE("sha256"),
236
+
CONSTRAINT "tracks_uri_unique" UNIQUE("uri"),
237
+
CONSTRAINT "tracks_album_uri_unique" UNIQUE("album_uri"),
238
+
CONSTRAINT "tracks_artist_uri_unique" UNIQUE("artist_uri")
239
+
);
240
+
--> statement-breakpoint
241
+
CREATE TABLE "user_albums" (
242
+
"xata_id" text PRIMARY KEY NOT NULL,
243
+
"user_id" text NOT NULL,
244
+
"album_id" text NOT NULL,
245
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
246
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
247
+
"xata_version" integer NOT NULL,
248
+
"scrobbles" integer,
249
+
"uri" text NOT NULL,
250
+
CONSTRAINT "user_albums_uri_unique" UNIQUE("uri")
251
+
);
252
+
--> statement-breakpoint
253
+
CREATE TABLE "user_artists" (
254
+
"xata_id" text PRIMARY KEY NOT NULL,
255
+
"user_id" text NOT NULL,
256
+
"artist_id" text NOT NULL,
257
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
258
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
259
+
"xata_version" integer NOT NULL,
260
+
"scrobbles" integer,
261
+
"uri" text NOT NULL,
262
+
CONSTRAINT "user_artists_uri_unique" UNIQUE("uri")
263
+
);
264
+
--> statement-breakpoint
265
+
CREATE TABLE "user_playlists" (
266
+
"xata_id" text PRIMARY KEY NOT NULL,
267
+
"user_id" text NOT NULL,
268
+
"playlist_id" text NOT NULL,
269
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
270
+
"uri" text NOT NULL,
271
+
CONSTRAINT "user_playlists_uri_unique" UNIQUE("uri")
272
+
);
273
+
--> statement-breakpoint
274
+
CREATE TABLE "user_tracks" (
275
+
"xata_id" text PRIMARY KEY NOT NULL,
276
+
"user_id" text NOT NULL,
277
+
"track_id" text NOT NULL,
278
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
279
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
280
+
"xata_version" integer NOT NULL,
281
+
"uri" text NOT NULL,
282
+
"scrobbles" integer,
283
+
CONSTRAINT "user_tracks_uri_unique" UNIQUE("uri")
284
+
);
285
+
--> statement-breakpoint
286
+
CREATE TABLE "users" (
287
+
"xata_id" text PRIMARY KEY NOT NULL,
288
+
"did" text NOT NULL,
289
+
"display_name" text NOT NULL,
290
+
"handle" text NOT NULL,
291
+
"avatar" text NOT NULL,
292
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
293
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL,
294
+
"xata_version" integer,
295
+
CONSTRAINT "users_did_unique" UNIQUE("did"),
296
+
CONSTRAINT "users_handle_unique" UNIQUE("handle")
297
+
);
298
+
--> statement-breakpoint
299
+
CREATE TABLE "webscrobblers" (
300
+
"xata_id" text PRIMARY KEY NOT NULL,
301
+
"name" text NOT NULL,
302
+
"uuid" text NOT NULL,
303
+
"description" text,
304
+
"enabled" boolean DEFAULT true NOT NULL,
305
+
"user_id" text NOT NULL,
306
+
"xata_createdat" timestamp DEFAULT now() NOT NULL,
307
+
"xata_updatedat" timestamp DEFAULT now() NOT NULL
308
+
);
309
+
--> statement-breakpoint
310
+
ALTER TABLE "album_tracks" ADD CONSTRAINT "album_tracks_album_id_albums_xata_id_fk" FOREIGN KEY ("album_id") REFERENCES "public"."albums"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
311
+
ALTER TABLE "album_tracks" ADD CONSTRAINT "album_tracks_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
312
+
ALTER TABLE "api_keys" ADD CONSTRAINT "api_keys_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
313
+
ALTER TABLE "artist_albums" ADD CONSTRAINT "artist_albums_artist_id_artists_xata_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."artists"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
314
+
ALTER TABLE "artist_albums" ADD CONSTRAINT "artist_albums_album_id_albums_xata_id_fk" FOREIGN KEY ("album_id") REFERENCES "public"."albums"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
315
+
ALTER TABLE "artist_tracks" ADD CONSTRAINT "artist_tracks_artist_id_artists_xata_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."artists"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
316
+
ALTER TABLE "artist_tracks" ADD CONSTRAINT "artist_tracks_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
317
+
ALTER TABLE "loved_tracks" ADD CONSTRAINT "loved_tracks_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
318
+
ALTER TABLE "loved_tracks" ADD CONSTRAINT "loved_tracks_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
319
+
ALTER TABLE "playlist_tracks" ADD CONSTRAINT "playlist_tracks_playlist_id_playlists_xata_id_fk" FOREIGN KEY ("playlist_id") REFERENCES "public"."playlists"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
320
+
ALTER TABLE "playlist_tracks" ADD CONSTRAINT "playlist_tracks_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
321
+
ALTER TABLE "playlists" ADD CONSTRAINT "playlists_created_by_users_xata_id_fk" FOREIGN KEY ("created_by") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
322
+
ALTER TABLE "profile_shouts" ADD CONSTRAINT "profile_shouts_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
323
+
ALTER TABLE "profile_shouts" ADD CONSTRAINT "profile_shouts_shout_id_shouts_xata_id_fk" FOREIGN KEY ("shout_id") REFERENCES "public"."shouts"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
324
+
ALTER TABLE "scrobbles" ADD CONSTRAINT "scrobbles_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
325
+
ALTER TABLE "scrobbles" ADD CONSTRAINT "scrobbles_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
326
+
ALTER TABLE "scrobbles" ADD CONSTRAINT "scrobbles_album_id_albums_xata_id_fk" FOREIGN KEY ("album_id") REFERENCES "public"."albums"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
327
+
ALTER TABLE "scrobbles" ADD CONSTRAINT "scrobbles_artist_id_artists_xata_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."artists"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
328
+
ALTER TABLE "shout_likes" ADD CONSTRAINT "shout_likes_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
329
+
ALTER TABLE "shout_likes" ADD CONSTRAINT "shout_likes_shout_id_shouts_xata_id_fk" FOREIGN KEY ("shout_id") REFERENCES "public"."shouts"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
330
+
ALTER TABLE "shout_reports" ADD CONSTRAINT "shout_reports_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
331
+
ALTER TABLE "shout_reports" ADD CONSTRAINT "shout_reports_shout_id_shouts_xata_id_fk" FOREIGN KEY ("shout_id") REFERENCES "public"."shouts"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
332
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
333
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_artist_id_users_xata_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
334
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_album_id_albums_xata_id_fk" FOREIGN KEY ("album_id") REFERENCES "public"."albums"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
335
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_scrobble_id_scrobbles_xata_id_fk" FOREIGN KEY ("scrobble_id") REFERENCES "public"."scrobbles"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
336
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_author_id_users_xata_id_fk" FOREIGN KEY ("author_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
337
+
ALTER TABLE "shouts" ADD CONSTRAINT "shouts_parent_id_shouts_xata_id_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."shouts"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
338
+
ALTER TABLE "spotify_accounts" ADD CONSTRAINT "spotify_accounts_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
339
+
ALTER TABLE "spotify_tokens" ADD CONSTRAINT "spotify_tokens_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
340
+
ALTER TABLE "user_albums" ADD CONSTRAINT "user_albums_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
341
+
ALTER TABLE "user_albums" ADD CONSTRAINT "user_albums_album_id_albums_xata_id_fk" FOREIGN KEY ("album_id") REFERENCES "public"."albums"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
342
+
ALTER TABLE "user_artists" ADD CONSTRAINT "user_artists_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
343
+
ALTER TABLE "user_artists" ADD CONSTRAINT "user_artists_artist_id_artists_xata_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."artists"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
344
+
ALTER TABLE "user_playlists" ADD CONSTRAINT "user_playlists_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
345
+
ALTER TABLE "user_playlists" ADD CONSTRAINT "user_playlists_playlist_id_tracks_xata_id_fk" FOREIGN KEY ("playlist_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
346
+
ALTER TABLE "user_tracks" ADD CONSTRAINT "user_tracks_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
347
+
ALTER TABLE "user_tracks" ADD CONSTRAINT "user_tracks_track_id_tracks_xata_id_fk" FOREIGN KEY ("track_id") REFERENCES "public"."tracks"("xata_id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
348
+
ALTER TABLE "webscrobblers" ADD CONSTRAINT "webscrobblers_user_id_users_xata_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("xata_id") ON DELETE no action ON UPDATE no action;
+2363
rockskyapi/rocksky-auth/drizzle/meta/0000_snapshot.json
+2363
rockskyapi/rocksky-auth/drizzle/meta/0000_snapshot.json
···
1
+
{
2
+
"id": "4c369380-a733-4097-b87a-036a11bbc173",
3
+
"prevId": "00000000-0000-0000-0000-000000000000",
4
+
"version": "7",
5
+
"dialect": "postgresql",
6
+
"tables": {
7
+
"public.album_tracks": {
8
+
"name": "album_tracks",
9
+
"schema": "",
10
+
"columns": {
11
+
"xata_id": {
12
+
"name": "xata_id",
13
+
"type": "text",
14
+
"primaryKey": true,
15
+
"notNull": true
16
+
},
17
+
"album_id": {
18
+
"name": "album_id",
19
+
"type": "text",
20
+
"primaryKey": false,
21
+
"notNull": true
22
+
},
23
+
"track_id": {
24
+
"name": "track_id",
25
+
"type": "text",
26
+
"primaryKey": false,
27
+
"notNull": true
28
+
},
29
+
"xata_createdat": {
30
+
"name": "xata_createdat",
31
+
"type": "timestamp",
32
+
"primaryKey": false,
33
+
"notNull": true,
34
+
"default": "now()"
35
+
},
36
+
"xata_updatedat": {
37
+
"name": "xata_updatedat",
38
+
"type": "timestamp",
39
+
"primaryKey": false,
40
+
"notNull": true,
41
+
"default": "now()"
42
+
},
43
+
"xata_version": {
44
+
"name": "xata_version",
45
+
"type": "integer",
46
+
"primaryKey": false,
47
+
"notNull": true
48
+
}
49
+
},
50
+
"indexes": {},
51
+
"foreignKeys": {
52
+
"album_tracks_album_id_albums_xata_id_fk": {
53
+
"name": "album_tracks_album_id_albums_xata_id_fk",
54
+
"tableFrom": "album_tracks",
55
+
"tableTo": "albums",
56
+
"columnsFrom": [
57
+
"album_id"
58
+
],
59
+
"columnsTo": [
60
+
"xata_id"
61
+
],
62
+
"onDelete": "no action",
63
+
"onUpdate": "no action"
64
+
},
65
+
"album_tracks_track_id_tracks_xata_id_fk": {
66
+
"name": "album_tracks_track_id_tracks_xata_id_fk",
67
+
"tableFrom": "album_tracks",
68
+
"tableTo": "tracks",
69
+
"columnsFrom": [
70
+
"track_id"
71
+
],
72
+
"columnsTo": [
73
+
"xata_id"
74
+
],
75
+
"onDelete": "no action",
76
+
"onUpdate": "no action"
77
+
}
78
+
},
79
+
"compositePrimaryKeys": {},
80
+
"uniqueConstraints": {},
81
+
"policies": {},
82
+
"checkConstraints": {},
83
+
"isRLSEnabled": false
84
+
},
85
+
"public.albums": {
86
+
"name": "albums",
87
+
"schema": "",
88
+
"columns": {
89
+
"xata_id": {
90
+
"name": "xata_id",
91
+
"type": "text",
92
+
"primaryKey": true,
93
+
"notNull": true
94
+
},
95
+
"title": {
96
+
"name": "title",
97
+
"type": "text",
98
+
"primaryKey": false,
99
+
"notNull": true
100
+
},
101
+
"artist": {
102
+
"name": "artist",
103
+
"type": "text",
104
+
"primaryKey": false,
105
+
"notNull": true
106
+
},
107
+
"release_date": {
108
+
"name": "release_date",
109
+
"type": "text",
110
+
"primaryKey": false,
111
+
"notNull": false
112
+
},
113
+
"year": {
114
+
"name": "year",
115
+
"type": "integer",
116
+
"primaryKey": false,
117
+
"notNull": false
118
+
},
119
+
"album_art": {
120
+
"name": "album_art",
121
+
"type": "text",
122
+
"primaryKey": false,
123
+
"notNull": false
124
+
},
125
+
"uri": {
126
+
"name": "uri",
127
+
"type": "text",
128
+
"primaryKey": false,
129
+
"notNull": false
130
+
},
131
+
"artist_uri": {
132
+
"name": "artist_uri",
133
+
"type": "text",
134
+
"primaryKey": false,
135
+
"notNull": false
136
+
},
137
+
"apple_music_link": {
138
+
"name": "apple_music_link",
139
+
"type": "text",
140
+
"primaryKey": false,
141
+
"notNull": false
142
+
},
143
+
"spotify_link": {
144
+
"name": "spotify_link",
145
+
"type": "text",
146
+
"primaryKey": false,
147
+
"notNull": false
148
+
},
149
+
"tidal_link": {
150
+
"name": "tidal_link",
151
+
"type": "text",
152
+
"primaryKey": false,
153
+
"notNull": false
154
+
},
155
+
"youtube_link": {
156
+
"name": "youtube_link",
157
+
"type": "text",
158
+
"primaryKey": false,
159
+
"notNull": false
160
+
},
161
+
"sha256": {
162
+
"name": "sha256",
163
+
"type": "text",
164
+
"primaryKey": false,
165
+
"notNull": true
166
+
},
167
+
"xata_createdat": {
168
+
"name": "xata_createdat",
169
+
"type": "timestamp",
170
+
"primaryKey": false,
171
+
"notNull": true,
172
+
"default": "now()"
173
+
},
174
+
"xata_updatedat": {
175
+
"name": "xata_updatedat",
176
+
"type": "timestamp",
177
+
"primaryKey": false,
178
+
"notNull": true,
179
+
"default": "now()"
180
+
},
181
+
"xata_version": {
182
+
"name": "xata_version",
183
+
"type": "integer",
184
+
"primaryKey": false,
185
+
"notNull": false
186
+
}
187
+
},
188
+
"indexes": {},
189
+
"foreignKeys": {},
190
+
"compositePrimaryKeys": {},
191
+
"uniqueConstraints": {
192
+
"albums_uri_unique": {
193
+
"name": "albums_uri_unique",
194
+
"nullsNotDistinct": false,
195
+
"columns": [
196
+
"uri"
197
+
]
198
+
},
199
+
"albums_apple_music_link_unique": {
200
+
"name": "albums_apple_music_link_unique",
201
+
"nullsNotDistinct": false,
202
+
"columns": [
203
+
"apple_music_link"
204
+
]
205
+
},
206
+
"albums_spotify_link_unique": {
207
+
"name": "albums_spotify_link_unique",
208
+
"nullsNotDistinct": false,
209
+
"columns": [
210
+
"spotify_link"
211
+
]
212
+
},
213
+
"albums_tidal_link_unique": {
214
+
"name": "albums_tidal_link_unique",
215
+
"nullsNotDistinct": false,
216
+
"columns": [
217
+
"tidal_link"
218
+
]
219
+
},
220
+
"albums_youtube_link_unique": {
221
+
"name": "albums_youtube_link_unique",
222
+
"nullsNotDistinct": false,
223
+
"columns": [
224
+
"youtube_link"
225
+
]
226
+
},
227
+
"albums_sha256_unique": {
228
+
"name": "albums_sha256_unique",
229
+
"nullsNotDistinct": false,
230
+
"columns": [
231
+
"sha256"
232
+
]
233
+
}
234
+
},
235
+
"policies": {},
236
+
"checkConstraints": {},
237
+
"isRLSEnabled": false
238
+
},
239
+
"public.api_keys": {
240
+
"name": "api_keys",
241
+
"schema": "",
242
+
"columns": {
243
+
"xata_id": {
244
+
"name": "xata_id",
245
+
"type": "text",
246
+
"primaryKey": true,
247
+
"notNull": true
248
+
},
249
+
"name": {
250
+
"name": "name",
251
+
"type": "text",
252
+
"primaryKey": false,
253
+
"notNull": true
254
+
},
255
+
"api_key": {
256
+
"name": "api_key",
257
+
"type": "text",
258
+
"primaryKey": false,
259
+
"notNull": true
260
+
},
261
+
"shared_secret": {
262
+
"name": "shared_secret",
263
+
"type": "text",
264
+
"primaryKey": false,
265
+
"notNull": true
266
+
},
267
+
"description": {
268
+
"name": "description",
269
+
"type": "text",
270
+
"primaryKey": false,
271
+
"notNull": false
272
+
},
273
+
"enabled": {
274
+
"name": "enabled",
275
+
"type": "boolean",
276
+
"primaryKey": false,
277
+
"notNull": true,
278
+
"default": true
279
+
},
280
+
"user_id": {
281
+
"name": "user_id",
282
+
"type": "text",
283
+
"primaryKey": false,
284
+
"notNull": true
285
+
},
286
+
"xata_createdat": {
287
+
"name": "xata_createdat",
288
+
"type": "timestamp",
289
+
"primaryKey": false,
290
+
"notNull": true,
291
+
"default": "now()"
292
+
},
293
+
"xata_updatedat": {
294
+
"name": "xata_updatedat",
295
+
"type": "timestamp",
296
+
"primaryKey": false,
297
+
"notNull": true,
298
+
"default": "now()"
299
+
}
300
+
},
301
+
"indexes": {},
302
+
"foreignKeys": {
303
+
"api_keys_user_id_users_xata_id_fk": {
304
+
"name": "api_keys_user_id_users_xata_id_fk",
305
+
"tableFrom": "api_keys",
306
+
"tableTo": "users",
307
+
"columnsFrom": [
308
+
"user_id"
309
+
],
310
+
"columnsTo": [
311
+
"xata_id"
312
+
],
313
+
"onDelete": "no action",
314
+
"onUpdate": "no action"
315
+
}
316
+
},
317
+
"compositePrimaryKeys": {},
318
+
"uniqueConstraints": {},
319
+
"policies": {},
320
+
"checkConstraints": {},
321
+
"isRLSEnabled": false
322
+
},
323
+
"public.artist_albums": {
324
+
"name": "artist_albums",
325
+
"schema": "",
326
+
"columns": {
327
+
"xata_id": {
328
+
"name": "xata_id",
329
+
"type": "text",
330
+
"primaryKey": true,
331
+
"notNull": true
332
+
},
333
+
"artist_id": {
334
+
"name": "artist_id",
335
+
"type": "text",
336
+
"primaryKey": false,
337
+
"notNull": true
338
+
},
339
+
"album_id": {
340
+
"name": "album_id",
341
+
"type": "text",
342
+
"primaryKey": false,
343
+
"notNull": true
344
+
},
345
+
"xata_createdat": {
346
+
"name": "xata_createdat",
347
+
"type": "timestamp",
348
+
"primaryKey": false,
349
+
"notNull": true,
350
+
"default": "now()"
351
+
},
352
+
"xata_updatedat": {
353
+
"name": "xata_updatedat",
354
+
"type": "timestamp",
355
+
"primaryKey": false,
356
+
"notNull": true,
357
+
"default": "now()"
358
+
},
359
+
"xata_version": {
360
+
"name": "xata_version",
361
+
"type": "integer",
362
+
"primaryKey": false,
363
+
"notNull": true
364
+
}
365
+
},
366
+
"indexes": {},
367
+
"foreignKeys": {
368
+
"artist_albums_artist_id_artists_xata_id_fk": {
369
+
"name": "artist_albums_artist_id_artists_xata_id_fk",
370
+
"tableFrom": "artist_albums",
371
+
"tableTo": "artists",
372
+
"columnsFrom": [
373
+
"artist_id"
374
+
],
375
+
"columnsTo": [
376
+
"xata_id"
377
+
],
378
+
"onDelete": "no action",
379
+
"onUpdate": "no action"
380
+
},
381
+
"artist_albums_album_id_albums_xata_id_fk": {
382
+
"name": "artist_albums_album_id_albums_xata_id_fk",
383
+
"tableFrom": "artist_albums",
384
+
"tableTo": "albums",
385
+
"columnsFrom": [
386
+
"album_id"
387
+
],
388
+
"columnsTo": [
389
+
"xata_id"
390
+
],
391
+
"onDelete": "no action",
392
+
"onUpdate": "no action"
393
+
}
394
+
},
395
+
"compositePrimaryKeys": {},
396
+
"uniqueConstraints": {},
397
+
"policies": {},
398
+
"checkConstraints": {},
399
+
"isRLSEnabled": false
400
+
},
401
+
"public.artist_tracks": {
402
+
"name": "artist_tracks",
403
+
"schema": "",
404
+
"columns": {
405
+
"xata_id": {
406
+
"name": "xata_id",
407
+
"type": "text",
408
+
"primaryKey": true,
409
+
"notNull": true
410
+
},
411
+
"artist_id": {
412
+
"name": "artist_id",
413
+
"type": "text",
414
+
"primaryKey": false,
415
+
"notNull": true
416
+
},
417
+
"track_id": {
418
+
"name": "track_id",
419
+
"type": "text",
420
+
"primaryKey": false,
421
+
"notNull": true
422
+
},
423
+
"xata_createdat": {
424
+
"name": "xata_createdat",
425
+
"type": "timestamp",
426
+
"primaryKey": false,
427
+
"notNull": true,
428
+
"default": "now()"
429
+
},
430
+
"xata_updatedat": {
431
+
"name": "xata_updatedat",
432
+
"type": "timestamp",
433
+
"primaryKey": false,
434
+
"notNull": true,
435
+
"default": "now()"
436
+
},
437
+
"xata_version": {
438
+
"name": "xata_version",
439
+
"type": "integer",
440
+
"primaryKey": false,
441
+
"notNull": true
442
+
}
443
+
},
444
+
"indexes": {},
445
+
"foreignKeys": {
446
+
"artist_tracks_artist_id_artists_xata_id_fk": {
447
+
"name": "artist_tracks_artist_id_artists_xata_id_fk",
448
+
"tableFrom": "artist_tracks",
449
+
"tableTo": "artists",
450
+
"columnsFrom": [
451
+
"artist_id"
452
+
],
453
+
"columnsTo": [
454
+
"xata_id"
455
+
],
456
+
"onDelete": "no action",
457
+
"onUpdate": "no action"
458
+
},
459
+
"artist_tracks_track_id_tracks_xata_id_fk": {
460
+
"name": "artist_tracks_track_id_tracks_xata_id_fk",
461
+
"tableFrom": "artist_tracks",
462
+
"tableTo": "tracks",
463
+
"columnsFrom": [
464
+
"track_id"
465
+
],
466
+
"columnsTo": [
467
+
"xata_id"
468
+
],
469
+
"onDelete": "no action",
470
+
"onUpdate": "no action"
471
+
}
472
+
},
473
+
"compositePrimaryKeys": {},
474
+
"uniqueConstraints": {},
475
+
"policies": {},
476
+
"checkConstraints": {},
477
+
"isRLSEnabled": false
478
+
},
479
+
"public.artists": {
480
+
"name": "artists",
481
+
"schema": "",
482
+
"columns": {
483
+
"xata_id": {
484
+
"name": "xata_id",
485
+
"type": "text",
486
+
"primaryKey": true,
487
+
"notNull": true
488
+
},
489
+
"name": {
490
+
"name": "name",
491
+
"type": "text",
492
+
"primaryKey": false,
493
+
"notNull": true
494
+
},
495
+
"biography": {
496
+
"name": "biography",
497
+
"type": "text",
498
+
"primaryKey": false,
499
+
"notNull": false
500
+
},
501
+
"born": {
502
+
"name": "born",
503
+
"type": "timestamp",
504
+
"primaryKey": false,
505
+
"notNull": false
506
+
},
507
+
"born_in": {
508
+
"name": "born_in",
509
+
"type": "text",
510
+
"primaryKey": false,
511
+
"notNull": false
512
+
},
513
+
"died": {
514
+
"name": "died",
515
+
"type": "timestamp",
516
+
"primaryKey": false,
517
+
"notNull": false
518
+
},
519
+
"picture": {
520
+
"name": "picture",
521
+
"type": "text",
522
+
"primaryKey": false,
523
+
"notNull": false
524
+
},
525
+
"sha256": {
526
+
"name": "sha256",
527
+
"type": "text",
528
+
"primaryKey": false,
529
+
"notNull": true
530
+
},
531
+
"uri": {
532
+
"name": "uri",
533
+
"type": "text",
534
+
"primaryKey": false,
535
+
"notNull": false
536
+
},
537
+
"apple_music_link": {
538
+
"name": "apple_music_link",
539
+
"type": "text",
540
+
"primaryKey": false,
541
+
"notNull": false
542
+
},
543
+
"spotify_link": {
544
+
"name": "spotify_link",
545
+
"type": "text",
546
+
"primaryKey": false,
547
+
"notNull": false
548
+
},
549
+
"tidal_link": {
550
+
"name": "tidal_link",
551
+
"type": "text",
552
+
"primaryKey": false,
553
+
"notNull": false
554
+
},
555
+
"youtube_link": {
556
+
"name": "youtube_link",
557
+
"type": "text",
558
+
"primaryKey": false,
559
+
"notNull": false
560
+
},
561
+
"xata_createdat": {
562
+
"name": "xata_createdat",
563
+
"type": "timestamp",
564
+
"primaryKey": false,
565
+
"notNull": true,
566
+
"default": "now()"
567
+
},
568
+
"xata_updatedat": {
569
+
"name": "xata_updatedat",
570
+
"type": "timestamp",
571
+
"primaryKey": false,
572
+
"notNull": true,
573
+
"default": "now()"
574
+
},
575
+
"xata_version": {
576
+
"name": "xata_version",
577
+
"type": "integer",
578
+
"primaryKey": false,
579
+
"notNull": false
580
+
}
581
+
},
582
+
"indexes": {},
583
+
"foreignKeys": {},
584
+
"compositePrimaryKeys": {},
585
+
"uniqueConstraints": {
586
+
"artists_sha256_unique": {
587
+
"name": "artists_sha256_unique",
588
+
"nullsNotDistinct": false,
589
+
"columns": [
590
+
"sha256"
591
+
]
592
+
},
593
+
"artists_uri_unique": {
594
+
"name": "artists_uri_unique",
595
+
"nullsNotDistinct": false,
596
+
"columns": [
597
+
"uri"
598
+
]
599
+
}
600
+
},
601
+
"policies": {},
602
+
"checkConstraints": {},
603
+
"isRLSEnabled": false
604
+
},
605
+
"public.dropbox_tokens": {
606
+
"name": "dropbox_tokens",
607
+
"schema": "",
608
+
"columns": {
609
+
"xata_id": {
610
+
"name": "xata_id",
611
+
"type": "text",
612
+
"primaryKey": true,
613
+
"notNull": true
614
+
},
615
+
"refresh_token": {
616
+
"name": "refresh_token",
617
+
"type": "text",
618
+
"primaryKey": false,
619
+
"notNull": true
620
+
},
621
+
"xata_createdat": {
622
+
"name": "xata_createdat",
623
+
"type": "timestamp",
624
+
"primaryKey": false,
625
+
"notNull": true,
626
+
"default": "now()"
627
+
},
628
+
"xata_updatedat": {
629
+
"name": "xata_updatedat",
630
+
"type": "timestamp",
631
+
"primaryKey": false,
632
+
"notNull": true,
633
+
"default": "now()"
634
+
}
635
+
},
636
+
"indexes": {},
637
+
"foreignKeys": {},
638
+
"compositePrimaryKeys": {},
639
+
"uniqueConstraints": {},
640
+
"policies": {},
641
+
"checkConstraints": {},
642
+
"isRLSEnabled": false
643
+
},
644
+
"public.google_drive_tokens": {
645
+
"name": "google_drive_tokens",
646
+
"schema": "",
647
+
"columns": {
648
+
"xata_id": {
649
+
"name": "xata_id",
650
+
"type": "text",
651
+
"primaryKey": true,
652
+
"notNull": true
653
+
},
654
+
"refresh_token": {
655
+
"name": "refresh_token",
656
+
"type": "text",
657
+
"primaryKey": false,
658
+
"notNull": true
659
+
},
660
+
"xata_createdat": {
661
+
"name": "xata_createdat",
662
+
"type": "timestamp",
663
+
"primaryKey": false,
664
+
"notNull": true,
665
+
"default": "now()"
666
+
},
667
+
"xata_updatedat": {
668
+
"name": "xata_updatedat",
669
+
"type": "timestamp",
670
+
"primaryKey": false,
671
+
"notNull": true,
672
+
"default": "now()"
673
+
}
674
+
},
675
+
"indexes": {},
676
+
"foreignKeys": {},
677
+
"compositePrimaryKeys": {},
678
+
"uniqueConstraints": {},
679
+
"policies": {},
680
+
"checkConstraints": {},
681
+
"isRLSEnabled": false
682
+
},
683
+
"public.loved_tracks": {
684
+
"name": "loved_tracks",
685
+
"schema": "",
686
+
"columns": {
687
+
"xata_id": {
688
+
"name": "xata_id",
689
+
"type": "text",
690
+
"primaryKey": true,
691
+
"notNull": true
692
+
},
693
+
"user_id": {
694
+
"name": "user_id",
695
+
"type": "text",
696
+
"primaryKey": false,
697
+
"notNull": true
698
+
},
699
+
"track_id": {
700
+
"name": "track_id",
701
+
"type": "text",
702
+
"primaryKey": false,
703
+
"notNull": true
704
+
},
705
+
"uri": {
706
+
"name": "uri",
707
+
"type": "text",
708
+
"primaryKey": false,
709
+
"notNull": false
710
+
},
711
+
"xata_createdat": {
712
+
"name": "xata_createdat",
713
+
"type": "timestamp",
714
+
"primaryKey": false,
715
+
"notNull": true,
716
+
"default": "now()"
717
+
}
718
+
},
719
+
"indexes": {},
720
+
"foreignKeys": {
721
+
"loved_tracks_user_id_users_xata_id_fk": {
722
+
"name": "loved_tracks_user_id_users_xata_id_fk",
723
+
"tableFrom": "loved_tracks",
724
+
"tableTo": "users",
725
+
"columnsFrom": [
726
+
"user_id"
727
+
],
728
+
"columnsTo": [
729
+
"xata_id"
730
+
],
731
+
"onDelete": "no action",
732
+
"onUpdate": "no action"
733
+
},
734
+
"loved_tracks_track_id_tracks_xata_id_fk": {
735
+
"name": "loved_tracks_track_id_tracks_xata_id_fk",
736
+
"tableFrom": "loved_tracks",
737
+
"tableTo": "tracks",
738
+
"columnsFrom": [
739
+
"track_id"
740
+
],
741
+
"columnsTo": [
742
+
"xata_id"
743
+
],
744
+
"onDelete": "no action",
745
+
"onUpdate": "no action"
746
+
}
747
+
},
748
+
"compositePrimaryKeys": {},
749
+
"uniqueConstraints": {
750
+
"loved_tracks_uri_unique": {
751
+
"name": "loved_tracks_uri_unique",
752
+
"nullsNotDistinct": false,
753
+
"columns": [
754
+
"uri"
755
+
]
756
+
}
757
+
},
758
+
"policies": {},
759
+
"checkConstraints": {},
760
+
"isRLSEnabled": false
761
+
},
762
+
"public.playlist_tracks": {
763
+
"name": "playlist_tracks",
764
+
"schema": "",
765
+
"columns": {
766
+
"xata_id": {
767
+
"name": "xata_id",
768
+
"type": "text",
769
+
"primaryKey": true,
770
+
"notNull": true
771
+
},
772
+
"playlist_id": {
773
+
"name": "playlist_id",
774
+
"type": "text",
775
+
"primaryKey": false,
776
+
"notNull": true
777
+
},
778
+
"track_id": {
779
+
"name": "track_id",
780
+
"type": "text",
781
+
"primaryKey": false,
782
+
"notNull": true
783
+
},
784
+
"xata_createdat": {
785
+
"name": "xata_createdat",
786
+
"type": "timestamp",
787
+
"primaryKey": false,
788
+
"notNull": true,
789
+
"default": "now()"
790
+
}
791
+
},
792
+
"indexes": {},
793
+
"foreignKeys": {
794
+
"playlist_tracks_playlist_id_playlists_xata_id_fk": {
795
+
"name": "playlist_tracks_playlist_id_playlists_xata_id_fk",
796
+
"tableFrom": "playlist_tracks",
797
+
"tableTo": "playlists",
798
+
"columnsFrom": [
799
+
"playlist_id"
800
+
],
801
+
"columnsTo": [
802
+
"xata_id"
803
+
],
804
+
"onDelete": "no action",
805
+
"onUpdate": "no action"
806
+
},
807
+
"playlist_tracks_track_id_tracks_xata_id_fk": {
808
+
"name": "playlist_tracks_track_id_tracks_xata_id_fk",
809
+
"tableFrom": "playlist_tracks",
810
+
"tableTo": "tracks",
811
+
"columnsFrom": [
812
+
"track_id"
813
+
],
814
+
"columnsTo": [
815
+
"xata_id"
816
+
],
817
+
"onDelete": "no action",
818
+
"onUpdate": "no action"
819
+
}
820
+
},
821
+
"compositePrimaryKeys": {},
822
+
"uniqueConstraints": {},
823
+
"policies": {},
824
+
"checkConstraints": {},
825
+
"isRLSEnabled": false
826
+
},
827
+
"public.playlists": {
828
+
"name": "playlists",
829
+
"schema": "",
830
+
"columns": {
831
+
"xata_id": {
832
+
"name": "xata_id",
833
+
"type": "text",
834
+
"primaryKey": true,
835
+
"notNull": true
836
+
},
837
+
"name": {
838
+
"name": "name",
839
+
"type": "text",
840
+
"primaryKey": false,
841
+
"notNull": true
842
+
},
843
+
"picture": {
844
+
"name": "picture",
845
+
"type": "text",
846
+
"primaryKey": false,
847
+
"notNull": false
848
+
},
849
+
"description": {
850
+
"name": "description",
851
+
"type": "text",
852
+
"primaryKey": false,
853
+
"notNull": false
854
+
},
855
+
"uri": {
856
+
"name": "uri",
857
+
"type": "text",
858
+
"primaryKey": false,
859
+
"notNull": false
860
+
},
861
+
"spotify_link": {
862
+
"name": "spotify_link",
863
+
"type": "text",
864
+
"primaryKey": false,
865
+
"notNull": false
866
+
},
867
+
"tidal_link": {
868
+
"name": "tidal_link",
869
+
"type": "text",
870
+
"primaryKey": false,
871
+
"notNull": false
872
+
},
873
+
"apple_music_link": {
874
+
"name": "apple_music_link",
875
+
"type": "text",
876
+
"primaryKey": false,
877
+
"notNull": false
878
+
},
879
+
"created_by": {
880
+
"name": "created_by",
881
+
"type": "text",
882
+
"primaryKey": false,
883
+
"notNull": true
884
+
},
885
+
"xata_createdat": {
886
+
"name": "xata_createdat",
887
+
"type": "timestamp",
888
+
"primaryKey": false,
889
+
"notNull": true,
890
+
"default": "now()"
891
+
},
892
+
"xata_updatedat": {
893
+
"name": "xata_updatedat",
894
+
"type": "timestamp",
895
+
"primaryKey": false,
896
+
"notNull": true,
897
+
"default": "now()"
898
+
}
899
+
},
900
+
"indexes": {},
901
+
"foreignKeys": {
902
+
"playlists_created_by_users_xata_id_fk": {
903
+
"name": "playlists_created_by_users_xata_id_fk",
904
+
"tableFrom": "playlists",
905
+
"tableTo": "users",
906
+
"columnsFrom": [
907
+
"created_by"
908
+
],
909
+
"columnsTo": [
910
+
"xata_id"
911
+
],
912
+
"onDelete": "no action",
913
+
"onUpdate": "no action"
914
+
}
915
+
},
916
+
"compositePrimaryKeys": {},
917
+
"uniqueConstraints": {
918
+
"playlists_uri_unique": {
919
+
"name": "playlists_uri_unique",
920
+
"nullsNotDistinct": false,
921
+
"columns": [
922
+
"uri"
923
+
]
924
+
}
925
+
},
926
+
"policies": {},
927
+
"checkConstraints": {},
928
+
"isRLSEnabled": false
929
+
},
930
+
"public.profile_shouts": {
931
+
"name": "profile_shouts",
932
+
"schema": "",
933
+
"columns": {
934
+
"xata_id": {
935
+
"name": "xata_id",
936
+
"type": "text",
937
+
"primaryKey": true,
938
+
"notNull": true
939
+
},
940
+
"user_id": {
941
+
"name": "user_id",
942
+
"type": "text",
943
+
"primaryKey": false,
944
+
"notNull": true
945
+
},
946
+
"shout_id": {
947
+
"name": "shout_id",
948
+
"type": "text",
949
+
"primaryKey": false,
950
+
"notNull": true
951
+
},
952
+
"xata_createdat": {
953
+
"name": "xata_createdat",
954
+
"type": "timestamp",
955
+
"primaryKey": false,
956
+
"notNull": true,
957
+
"default": "now()"
958
+
}
959
+
},
960
+
"indexes": {},
961
+
"foreignKeys": {
962
+
"profile_shouts_user_id_users_xata_id_fk": {
963
+
"name": "profile_shouts_user_id_users_xata_id_fk",
964
+
"tableFrom": "profile_shouts",
965
+
"tableTo": "users",
966
+
"columnsFrom": [
967
+
"user_id"
968
+
],
969
+
"columnsTo": [
970
+
"xata_id"
971
+
],
972
+
"onDelete": "no action",
973
+
"onUpdate": "no action"
974
+
},
975
+
"profile_shouts_shout_id_shouts_xata_id_fk": {
976
+
"name": "profile_shouts_shout_id_shouts_xata_id_fk",
977
+
"tableFrom": "profile_shouts",
978
+
"tableTo": "shouts",
979
+
"columnsFrom": [
980
+
"shout_id"
981
+
],
982
+
"columnsTo": [
983
+
"xata_id"
984
+
],
985
+
"onDelete": "no action",
986
+
"onUpdate": "no action"
987
+
}
988
+
},
989
+
"compositePrimaryKeys": {},
990
+
"uniqueConstraints": {},
991
+
"policies": {},
992
+
"checkConstraints": {},
993
+
"isRLSEnabled": false
994
+
},
995
+
"public.scrobbles": {
996
+
"name": "scrobbles",
997
+
"schema": "",
998
+
"columns": {
999
+
"xata_id": {
1000
+
"name": "xata_id",
1001
+
"type": "text",
1002
+
"primaryKey": true,
1003
+
"notNull": true
1004
+
},
1005
+
"user_id": {
1006
+
"name": "user_id",
1007
+
"type": "text",
1008
+
"primaryKey": false,
1009
+
"notNull": false
1010
+
},
1011
+
"track_id": {
1012
+
"name": "track_id",
1013
+
"type": "text",
1014
+
"primaryKey": false,
1015
+
"notNull": false
1016
+
},
1017
+
"album_id": {
1018
+
"name": "album_id",
1019
+
"type": "text",
1020
+
"primaryKey": false,
1021
+
"notNull": false
1022
+
},
1023
+
"artist_id": {
1024
+
"name": "artist_id",
1025
+
"type": "text",
1026
+
"primaryKey": false,
1027
+
"notNull": false
1028
+
},
1029
+
"uri": {
1030
+
"name": "uri",
1031
+
"type": "text",
1032
+
"primaryKey": false,
1033
+
"notNull": false
1034
+
},
1035
+
"xata_createdat": {
1036
+
"name": "xata_createdat",
1037
+
"type": "timestamp",
1038
+
"primaryKey": false,
1039
+
"notNull": true,
1040
+
"default": "now()"
1041
+
},
1042
+
"xata_updatedat": {
1043
+
"name": "xata_updatedat",
1044
+
"type": "timestamp",
1045
+
"primaryKey": false,
1046
+
"notNull": true,
1047
+
"default": "now()"
1048
+
},
1049
+
"xata_version": {
1050
+
"name": "xata_version",
1051
+
"type": "integer",
1052
+
"primaryKey": false,
1053
+
"notNull": false
1054
+
},
1055
+
"timestamp": {
1056
+
"name": "timestamp",
1057
+
"type": "timestamp",
1058
+
"primaryKey": false,
1059
+
"notNull": true,
1060
+
"default": "now()"
1061
+
}
1062
+
},
1063
+
"indexes": {},
1064
+
"foreignKeys": {
1065
+
"scrobbles_user_id_users_xata_id_fk": {
1066
+
"name": "scrobbles_user_id_users_xata_id_fk",
1067
+
"tableFrom": "scrobbles",
1068
+
"tableTo": "users",
1069
+
"columnsFrom": [
1070
+
"user_id"
1071
+
],
1072
+
"columnsTo": [
1073
+
"xata_id"
1074
+
],
1075
+
"onDelete": "no action",
1076
+
"onUpdate": "no action"
1077
+
},
1078
+
"scrobbles_track_id_tracks_xata_id_fk": {
1079
+
"name": "scrobbles_track_id_tracks_xata_id_fk",
1080
+
"tableFrom": "scrobbles",
1081
+
"tableTo": "tracks",
1082
+
"columnsFrom": [
1083
+
"track_id"
1084
+
],
1085
+
"columnsTo": [
1086
+
"xata_id"
1087
+
],
1088
+
"onDelete": "no action",
1089
+
"onUpdate": "no action"
1090
+
},
1091
+
"scrobbles_album_id_albums_xata_id_fk": {
1092
+
"name": "scrobbles_album_id_albums_xata_id_fk",
1093
+
"tableFrom": "scrobbles",
1094
+
"tableTo": "albums",
1095
+
"columnsFrom": [
1096
+
"album_id"
1097
+
],
1098
+
"columnsTo": [
1099
+
"xata_id"
1100
+
],
1101
+
"onDelete": "no action",
1102
+
"onUpdate": "no action"
1103
+
},
1104
+
"scrobbles_artist_id_artists_xata_id_fk": {
1105
+
"name": "scrobbles_artist_id_artists_xata_id_fk",
1106
+
"tableFrom": "scrobbles",
1107
+
"tableTo": "artists",
1108
+
"columnsFrom": [
1109
+
"artist_id"
1110
+
],
1111
+
"columnsTo": [
1112
+
"xata_id"
1113
+
],
1114
+
"onDelete": "no action",
1115
+
"onUpdate": "no action"
1116
+
}
1117
+
},
1118
+
"compositePrimaryKeys": {},
1119
+
"uniqueConstraints": {
1120
+
"scrobbles_uri_unique": {
1121
+
"name": "scrobbles_uri_unique",
1122
+
"nullsNotDistinct": false,
1123
+
"columns": [
1124
+
"uri"
1125
+
]
1126
+
}
1127
+
},
1128
+
"policies": {},
1129
+
"checkConstraints": {},
1130
+
"isRLSEnabled": false
1131
+
},
1132
+
"public.shout_likes": {
1133
+
"name": "shout_likes",
1134
+
"schema": "",
1135
+
"columns": {
1136
+
"xata_id": {
1137
+
"name": "xata_id",
1138
+
"type": "text",
1139
+
"primaryKey": true,
1140
+
"notNull": true
1141
+
},
1142
+
"user_id": {
1143
+
"name": "user_id",
1144
+
"type": "text",
1145
+
"primaryKey": false,
1146
+
"notNull": true
1147
+
},
1148
+
"shout_id": {
1149
+
"name": "shout_id",
1150
+
"type": "text",
1151
+
"primaryKey": false,
1152
+
"notNull": true
1153
+
},
1154
+
"xata_createdat": {
1155
+
"name": "xata_createdat",
1156
+
"type": "timestamp",
1157
+
"primaryKey": false,
1158
+
"notNull": true,
1159
+
"default": "now()"
1160
+
},
1161
+
"uri": {
1162
+
"name": "uri",
1163
+
"type": "text",
1164
+
"primaryKey": false,
1165
+
"notNull": true
1166
+
}
1167
+
},
1168
+
"indexes": {},
1169
+
"foreignKeys": {
1170
+
"shout_likes_user_id_users_xata_id_fk": {
1171
+
"name": "shout_likes_user_id_users_xata_id_fk",
1172
+
"tableFrom": "shout_likes",
1173
+
"tableTo": "users",
1174
+
"columnsFrom": [
1175
+
"user_id"
1176
+
],
1177
+
"columnsTo": [
1178
+
"xata_id"
1179
+
],
1180
+
"onDelete": "no action",
1181
+
"onUpdate": "no action"
1182
+
},
1183
+
"shout_likes_shout_id_shouts_xata_id_fk": {
1184
+
"name": "shout_likes_shout_id_shouts_xata_id_fk",
1185
+
"tableFrom": "shout_likes",
1186
+
"tableTo": "shouts",
1187
+
"columnsFrom": [
1188
+
"shout_id"
1189
+
],
1190
+
"columnsTo": [
1191
+
"xata_id"
1192
+
],
1193
+
"onDelete": "no action",
1194
+
"onUpdate": "no action"
1195
+
}
1196
+
},
1197
+
"compositePrimaryKeys": {},
1198
+
"uniqueConstraints": {
1199
+
"shout_likes_uri_unique": {
1200
+
"name": "shout_likes_uri_unique",
1201
+
"nullsNotDistinct": false,
1202
+
"columns": [
1203
+
"uri"
1204
+
]
1205
+
}
1206
+
},
1207
+
"policies": {},
1208
+
"checkConstraints": {},
1209
+
"isRLSEnabled": false
1210
+
},
1211
+
"public.shout_reports": {
1212
+
"name": "shout_reports",
1213
+
"schema": "",
1214
+
"columns": {
1215
+
"xata_id": {
1216
+
"name": "xata_id",
1217
+
"type": "text",
1218
+
"primaryKey": true,
1219
+
"notNull": true
1220
+
},
1221
+
"user_id": {
1222
+
"name": "user_id",
1223
+
"type": "text",
1224
+
"primaryKey": false,
1225
+
"notNull": true
1226
+
},
1227
+
"shout_id": {
1228
+
"name": "shout_id",
1229
+
"type": "text",
1230
+
"primaryKey": false,
1231
+
"notNull": true
1232
+
},
1233
+
"xata_createdat": {
1234
+
"name": "xata_createdat",
1235
+
"type": "timestamp",
1236
+
"primaryKey": false,
1237
+
"notNull": true,
1238
+
"default": "now()"
1239
+
}
1240
+
},
1241
+
"indexes": {},
1242
+
"foreignKeys": {
1243
+
"shout_reports_user_id_users_xata_id_fk": {
1244
+
"name": "shout_reports_user_id_users_xata_id_fk",
1245
+
"tableFrom": "shout_reports",
1246
+
"tableTo": "users",
1247
+
"columnsFrom": [
1248
+
"user_id"
1249
+
],
1250
+
"columnsTo": [
1251
+
"xata_id"
1252
+
],
1253
+
"onDelete": "no action",
1254
+
"onUpdate": "no action"
1255
+
},
1256
+
"shout_reports_shout_id_shouts_xata_id_fk": {
1257
+
"name": "shout_reports_shout_id_shouts_xata_id_fk",
1258
+
"tableFrom": "shout_reports",
1259
+
"tableTo": "shouts",
1260
+
"columnsFrom": [
1261
+
"shout_id"
1262
+
],
1263
+
"columnsTo": [
1264
+
"xata_id"
1265
+
],
1266
+
"onDelete": "no action",
1267
+
"onUpdate": "no action"
1268
+
}
1269
+
},
1270
+
"compositePrimaryKeys": {},
1271
+
"uniqueConstraints": {},
1272
+
"policies": {},
1273
+
"checkConstraints": {},
1274
+
"isRLSEnabled": false
1275
+
},
1276
+
"public.shouts": {
1277
+
"name": "shouts",
1278
+
"schema": "",
1279
+
"columns": {
1280
+
"xata_id": {
1281
+
"name": "xata_id",
1282
+
"type": "text",
1283
+
"primaryKey": true,
1284
+
"notNull": true
1285
+
},
1286
+
"content": {
1287
+
"name": "content",
1288
+
"type": "text",
1289
+
"primaryKey": false,
1290
+
"notNull": true
1291
+
},
1292
+
"track_id": {
1293
+
"name": "track_id",
1294
+
"type": "text",
1295
+
"primaryKey": false,
1296
+
"notNull": false
1297
+
},
1298
+
"artist_id": {
1299
+
"name": "artist_id",
1300
+
"type": "text",
1301
+
"primaryKey": false,
1302
+
"notNull": false
1303
+
},
1304
+
"album_id": {
1305
+
"name": "album_id",
1306
+
"type": "text",
1307
+
"primaryKey": false,
1308
+
"notNull": false
1309
+
},
1310
+
"scrobble_id": {
1311
+
"name": "scrobble_id",
1312
+
"type": "text",
1313
+
"primaryKey": false,
1314
+
"notNull": false
1315
+
},
1316
+
"uri": {
1317
+
"name": "uri",
1318
+
"type": "text",
1319
+
"primaryKey": false,
1320
+
"notNull": true
1321
+
},
1322
+
"author_id": {
1323
+
"name": "author_id",
1324
+
"type": "text",
1325
+
"primaryKey": false,
1326
+
"notNull": true
1327
+
},
1328
+
"parent_id": {
1329
+
"name": "parent_id",
1330
+
"type": "text",
1331
+
"primaryKey": false,
1332
+
"notNull": false
1333
+
},
1334
+
"xata_createdat": {
1335
+
"name": "xata_createdat",
1336
+
"type": "timestamp",
1337
+
"primaryKey": false,
1338
+
"notNull": true,
1339
+
"default": "now()"
1340
+
},
1341
+
"xata_updatedat": {
1342
+
"name": "xata_updatedat",
1343
+
"type": "timestamp",
1344
+
"primaryKey": false,
1345
+
"notNull": true,
1346
+
"default": "now()"
1347
+
}
1348
+
},
1349
+
"indexes": {},
1350
+
"foreignKeys": {
1351
+
"shouts_track_id_tracks_xata_id_fk": {
1352
+
"name": "shouts_track_id_tracks_xata_id_fk",
1353
+
"tableFrom": "shouts",
1354
+
"tableTo": "tracks",
1355
+
"columnsFrom": [
1356
+
"track_id"
1357
+
],
1358
+
"columnsTo": [
1359
+
"xata_id"
1360
+
],
1361
+
"onDelete": "no action",
1362
+
"onUpdate": "no action"
1363
+
},
1364
+
"shouts_artist_id_users_xata_id_fk": {
1365
+
"name": "shouts_artist_id_users_xata_id_fk",
1366
+
"tableFrom": "shouts",
1367
+
"tableTo": "users",
1368
+
"columnsFrom": [
1369
+
"artist_id"
1370
+
],
1371
+
"columnsTo": [
1372
+
"xata_id"
1373
+
],
1374
+
"onDelete": "no action",
1375
+
"onUpdate": "no action"
1376
+
},
1377
+
"shouts_album_id_albums_xata_id_fk": {
1378
+
"name": "shouts_album_id_albums_xata_id_fk",
1379
+
"tableFrom": "shouts",
1380
+
"tableTo": "albums",
1381
+
"columnsFrom": [
1382
+
"album_id"
1383
+
],
1384
+
"columnsTo": [
1385
+
"xata_id"
1386
+
],
1387
+
"onDelete": "no action",
1388
+
"onUpdate": "no action"
1389
+
},
1390
+
"shouts_scrobble_id_scrobbles_xata_id_fk": {
1391
+
"name": "shouts_scrobble_id_scrobbles_xata_id_fk",
1392
+
"tableFrom": "shouts",
1393
+
"tableTo": "scrobbles",
1394
+
"columnsFrom": [
1395
+
"scrobble_id"
1396
+
],
1397
+
"columnsTo": [
1398
+
"xata_id"
1399
+
],
1400
+
"onDelete": "no action",
1401
+
"onUpdate": "no action"
1402
+
},
1403
+
"shouts_author_id_users_xata_id_fk": {
1404
+
"name": "shouts_author_id_users_xata_id_fk",
1405
+
"tableFrom": "shouts",
1406
+
"tableTo": "users",
1407
+
"columnsFrom": [
1408
+
"author_id"
1409
+
],
1410
+
"columnsTo": [
1411
+
"xata_id"
1412
+
],
1413
+
"onDelete": "no action",
1414
+
"onUpdate": "no action"
1415
+
},
1416
+
"shouts_parent_id_shouts_xata_id_fk": {
1417
+
"name": "shouts_parent_id_shouts_xata_id_fk",
1418
+
"tableFrom": "shouts",
1419
+
"tableTo": "shouts",
1420
+
"columnsFrom": [
1421
+
"parent_id"
1422
+
],
1423
+
"columnsTo": [
1424
+
"xata_id"
1425
+
],
1426
+
"onDelete": "no action",
1427
+
"onUpdate": "no action"
1428
+
}
1429
+
},
1430
+
"compositePrimaryKeys": {},
1431
+
"uniqueConstraints": {
1432
+
"shouts_uri_unique": {
1433
+
"name": "shouts_uri_unique",
1434
+
"nullsNotDistinct": false,
1435
+
"columns": [
1436
+
"uri"
1437
+
]
1438
+
}
1439
+
},
1440
+
"policies": {},
1441
+
"checkConstraints": {},
1442
+
"isRLSEnabled": false
1443
+
},
1444
+
"public.spotify_accounts": {
1445
+
"name": "spotify_accounts",
1446
+
"schema": "",
1447
+
"columns": {
1448
+
"xata_id": {
1449
+
"name": "xata_id",
1450
+
"type": "text",
1451
+
"primaryKey": true,
1452
+
"notNull": true
1453
+
},
1454
+
"xata_version": {
1455
+
"name": "xata_version",
1456
+
"type": "integer",
1457
+
"primaryKey": false,
1458
+
"notNull": true
1459
+
},
1460
+
"email": {
1461
+
"name": "email",
1462
+
"type": "text",
1463
+
"primaryKey": false,
1464
+
"notNull": true
1465
+
},
1466
+
"user_id": {
1467
+
"name": "user_id",
1468
+
"type": "text",
1469
+
"primaryKey": false,
1470
+
"notNull": true
1471
+
},
1472
+
"is_beta_user": {
1473
+
"name": "is_beta_user",
1474
+
"type": "boolean",
1475
+
"primaryKey": false,
1476
+
"notNull": true,
1477
+
"default": false
1478
+
},
1479
+
"xata_createdat": {
1480
+
"name": "xata_createdat",
1481
+
"type": "timestamp",
1482
+
"primaryKey": false,
1483
+
"notNull": true,
1484
+
"default": "now()"
1485
+
},
1486
+
"xata_updatedat": {
1487
+
"name": "xata_updatedat",
1488
+
"type": "timestamp",
1489
+
"primaryKey": false,
1490
+
"notNull": true,
1491
+
"default": "now()"
1492
+
}
1493
+
},
1494
+
"indexes": {},
1495
+
"foreignKeys": {
1496
+
"spotify_accounts_user_id_users_xata_id_fk": {
1497
+
"name": "spotify_accounts_user_id_users_xata_id_fk",
1498
+
"tableFrom": "spotify_accounts",
1499
+
"tableTo": "users",
1500
+
"columnsFrom": [
1501
+
"user_id"
1502
+
],
1503
+
"columnsTo": [
1504
+
"xata_id"
1505
+
],
1506
+
"onDelete": "no action",
1507
+
"onUpdate": "no action"
1508
+
}
1509
+
},
1510
+
"compositePrimaryKeys": {},
1511
+
"uniqueConstraints": {},
1512
+
"policies": {},
1513
+
"checkConstraints": {},
1514
+
"isRLSEnabled": false
1515
+
},
1516
+
"public.spotify_tokens": {
1517
+
"name": "spotify_tokens",
1518
+
"schema": "",
1519
+
"columns": {
1520
+
"xata_id": {
1521
+
"name": "xata_id",
1522
+
"type": "text",
1523
+
"primaryKey": true,
1524
+
"notNull": true
1525
+
},
1526
+
"xata_version": {
1527
+
"name": "xata_version",
1528
+
"type": "integer",
1529
+
"primaryKey": false,
1530
+
"notNull": true
1531
+
},
1532
+
"access_token": {
1533
+
"name": "access_token",
1534
+
"type": "text",
1535
+
"primaryKey": false,
1536
+
"notNull": true
1537
+
},
1538
+
"refresh_token": {
1539
+
"name": "refresh_token",
1540
+
"type": "text",
1541
+
"primaryKey": false,
1542
+
"notNull": true
1543
+
},
1544
+
"user_id": {
1545
+
"name": "user_id",
1546
+
"type": "text",
1547
+
"primaryKey": false,
1548
+
"notNull": true
1549
+
},
1550
+
"xata_createdat": {
1551
+
"name": "xata_createdat",
1552
+
"type": "timestamp",
1553
+
"primaryKey": false,
1554
+
"notNull": true,
1555
+
"default": "now()"
1556
+
},
1557
+
"xata_updatedat": {
1558
+
"name": "xata_updatedat",
1559
+
"type": "timestamp",
1560
+
"primaryKey": false,
1561
+
"notNull": true,
1562
+
"default": "now()"
1563
+
}
1564
+
},
1565
+
"indexes": {},
1566
+
"foreignKeys": {
1567
+
"spotify_tokens_user_id_users_xata_id_fk": {
1568
+
"name": "spotify_tokens_user_id_users_xata_id_fk",
1569
+
"tableFrom": "spotify_tokens",
1570
+
"tableTo": "users",
1571
+
"columnsFrom": [
1572
+
"user_id"
1573
+
],
1574
+
"columnsTo": [
1575
+
"xata_id"
1576
+
],
1577
+
"onDelete": "no action",
1578
+
"onUpdate": "no action"
1579
+
}
1580
+
},
1581
+
"compositePrimaryKeys": {},
1582
+
"uniqueConstraints": {},
1583
+
"policies": {},
1584
+
"checkConstraints": {},
1585
+
"isRLSEnabled": false
1586
+
},
1587
+
"public.tracks": {
1588
+
"name": "tracks",
1589
+
"schema": "",
1590
+
"columns": {
1591
+
"xata_id": {
1592
+
"name": "xata_id",
1593
+
"type": "text",
1594
+
"primaryKey": true,
1595
+
"notNull": true
1596
+
},
1597
+
"title": {
1598
+
"name": "title",
1599
+
"type": "text",
1600
+
"primaryKey": false,
1601
+
"notNull": true
1602
+
},
1603
+
"artist": {
1604
+
"name": "artist",
1605
+
"type": "text",
1606
+
"primaryKey": false,
1607
+
"notNull": true
1608
+
},
1609
+
"album_artist": {
1610
+
"name": "album_artist",
1611
+
"type": "text",
1612
+
"primaryKey": false,
1613
+
"notNull": true
1614
+
},
1615
+
"album_art": {
1616
+
"name": "album_art",
1617
+
"type": "text",
1618
+
"primaryKey": false,
1619
+
"notNull": false
1620
+
},
1621
+
"album": {
1622
+
"name": "album",
1623
+
"type": "text",
1624
+
"primaryKey": false,
1625
+
"notNull": true
1626
+
},
1627
+
"track_number": {
1628
+
"name": "track_number",
1629
+
"type": "integer",
1630
+
"primaryKey": false,
1631
+
"notNull": false
1632
+
},
1633
+
"duration": {
1634
+
"name": "duration",
1635
+
"type": "integer",
1636
+
"primaryKey": false,
1637
+
"notNull": true
1638
+
},
1639
+
"mb_id": {
1640
+
"name": "mb_id",
1641
+
"type": "text",
1642
+
"primaryKey": false,
1643
+
"notNull": false
1644
+
},
1645
+
"youtube_link": {
1646
+
"name": "youtube_link",
1647
+
"type": "text",
1648
+
"primaryKey": false,
1649
+
"notNull": false
1650
+
},
1651
+
"spotify_link": {
1652
+
"name": "spotify_link",
1653
+
"type": "text",
1654
+
"primaryKey": false,
1655
+
"notNull": false
1656
+
},
1657
+
"apple_music_link": {
1658
+
"name": "apple_music_link",
1659
+
"type": "text",
1660
+
"primaryKey": false,
1661
+
"notNull": false
1662
+
},
1663
+
"tidal_link": {
1664
+
"name": "tidal_link",
1665
+
"type": "text",
1666
+
"primaryKey": false,
1667
+
"notNull": false
1668
+
},
1669
+
"sha256": {
1670
+
"name": "sha256",
1671
+
"type": "text",
1672
+
"primaryKey": false,
1673
+
"notNull": true
1674
+
},
1675
+
"disc_number": {
1676
+
"name": "disc_number",
1677
+
"type": "integer",
1678
+
"primaryKey": false,
1679
+
"notNull": false
1680
+
},
1681
+
"lyrics": {
1682
+
"name": "lyrics",
1683
+
"type": "text",
1684
+
"primaryKey": false,
1685
+
"notNull": false
1686
+
},
1687
+
"composer": {
1688
+
"name": "composer",
1689
+
"type": "text",
1690
+
"primaryKey": false,
1691
+
"notNull": false
1692
+
},
1693
+
"genre": {
1694
+
"name": "genre",
1695
+
"type": "text",
1696
+
"primaryKey": false,
1697
+
"notNull": false
1698
+
},
1699
+
"label": {
1700
+
"name": "label",
1701
+
"type": "text",
1702
+
"primaryKey": false,
1703
+
"notNull": false
1704
+
},
1705
+
"copyright_message": {
1706
+
"name": "copyright_message",
1707
+
"type": "text",
1708
+
"primaryKey": false,
1709
+
"notNull": false
1710
+
},
1711
+
"uri": {
1712
+
"name": "uri",
1713
+
"type": "text",
1714
+
"primaryKey": false,
1715
+
"notNull": false
1716
+
},
1717
+
"album_uri": {
1718
+
"name": "album_uri",
1719
+
"type": "text",
1720
+
"primaryKey": false,
1721
+
"notNull": false
1722
+
},
1723
+
"artist_uri": {
1724
+
"name": "artist_uri",
1725
+
"type": "text",
1726
+
"primaryKey": false,
1727
+
"notNull": false
1728
+
},
1729
+
"xata_createdat": {
1730
+
"name": "xata_createdat",
1731
+
"type": "timestamp",
1732
+
"primaryKey": false,
1733
+
"notNull": true,
1734
+
"default": "now()"
1735
+
},
1736
+
"xata_updatedat": {
1737
+
"name": "xata_updatedat",
1738
+
"type": "timestamp",
1739
+
"primaryKey": false,
1740
+
"notNull": true,
1741
+
"default": "now()"
1742
+
},
1743
+
"xata_version": {
1744
+
"name": "xata_version",
1745
+
"type": "integer",
1746
+
"primaryKey": false,
1747
+
"notNull": false
1748
+
}
1749
+
},
1750
+
"indexes": {},
1751
+
"foreignKeys": {},
1752
+
"compositePrimaryKeys": {},
1753
+
"uniqueConstraints": {
1754
+
"tracks_mb_id_unique": {
1755
+
"name": "tracks_mb_id_unique",
1756
+
"nullsNotDistinct": false,
1757
+
"columns": [
1758
+
"mb_id"
1759
+
]
1760
+
},
1761
+
"tracks_youtube_link_unique": {
1762
+
"name": "tracks_youtube_link_unique",
1763
+
"nullsNotDistinct": false,
1764
+
"columns": [
1765
+
"youtube_link"
1766
+
]
1767
+
},
1768
+
"tracks_spotify_link_unique": {
1769
+
"name": "tracks_spotify_link_unique",
1770
+
"nullsNotDistinct": false,
1771
+
"columns": [
1772
+
"spotify_link"
1773
+
]
1774
+
},
1775
+
"tracks_apple_music_link_unique": {
1776
+
"name": "tracks_apple_music_link_unique",
1777
+
"nullsNotDistinct": false,
1778
+
"columns": [
1779
+
"apple_music_link"
1780
+
]
1781
+
},
1782
+
"tracks_tidal_link_unique": {
1783
+
"name": "tracks_tidal_link_unique",
1784
+
"nullsNotDistinct": false,
1785
+
"columns": [
1786
+
"tidal_link"
1787
+
]
1788
+
},
1789
+
"tracks_sha256_unique": {
1790
+
"name": "tracks_sha256_unique",
1791
+
"nullsNotDistinct": false,
1792
+
"columns": [
1793
+
"sha256"
1794
+
]
1795
+
},
1796
+
"tracks_uri_unique": {
1797
+
"name": "tracks_uri_unique",
1798
+
"nullsNotDistinct": false,
1799
+
"columns": [
1800
+
"uri"
1801
+
]
1802
+
},
1803
+
"tracks_album_uri_unique": {
1804
+
"name": "tracks_album_uri_unique",
1805
+
"nullsNotDistinct": false,
1806
+
"columns": [
1807
+
"album_uri"
1808
+
]
1809
+
},
1810
+
"tracks_artist_uri_unique": {
1811
+
"name": "tracks_artist_uri_unique",
1812
+
"nullsNotDistinct": false,
1813
+
"columns": [
1814
+
"artist_uri"
1815
+
]
1816
+
}
1817
+
},
1818
+
"policies": {},
1819
+
"checkConstraints": {},
1820
+
"isRLSEnabled": false
1821
+
},
1822
+
"public.user_albums": {
1823
+
"name": "user_albums",
1824
+
"schema": "",
1825
+
"columns": {
1826
+
"xata_id": {
1827
+
"name": "xata_id",
1828
+
"type": "text",
1829
+
"primaryKey": true,
1830
+
"notNull": true
1831
+
},
1832
+
"user_id": {
1833
+
"name": "user_id",
1834
+
"type": "text",
1835
+
"primaryKey": false,
1836
+
"notNull": true
1837
+
},
1838
+
"album_id": {
1839
+
"name": "album_id",
1840
+
"type": "text",
1841
+
"primaryKey": false,
1842
+
"notNull": true
1843
+
},
1844
+
"xata_createdat": {
1845
+
"name": "xata_createdat",
1846
+
"type": "timestamp",
1847
+
"primaryKey": false,
1848
+
"notNull": true,
1849
+
"default": "now()"
1850
+
},
1851
+
"xata_updatedat": {
1852
+
"name": "xata_updatedat",
1853
+
"type": "timestamp",
1854
+
"primaryKey": false,
1855
+
"notNull": true,
1856
+
"default": "now()"
1857
+
},
1858
+
"xata_version": {
1859
+
"name": "xata_version",
1860
+
"type": "integer",
1861
+
"primaryKey": false,
1862
+
"notNull": true
1863
+
},
1864
+
"scrobbles": {
1865
+
"name": "scrobbles",
1866
+
"type": "integer",
1867
+
"primaryKey": false,
1868
+
"notNull": false
1869
+
},
1870
+
"uri": {
1871
+
"name": "uri",
1872
+
"type": "text",
1873
+
"primaryKey": false,
1874
+
"notNull": true
1875
+
}
1876
+
},
1877
+
"indexes": {},
1878
+
"foreignKeys": {
1879
+
"user_albums_user_id_users_xata_id_fk": {
1880
+
"name": "user_albums_user_id_users_xata_id_fk",
1881
+
"tableFrom": "user_albums",
1882
+
"tableTo": "users",
1883
+
"columnsFrom": [
1884
+
"user_id"
1885
+
],
1886
+
"columnsTo": [
1887
+
"xata_id"
1888
+
],
1889
+
"onDelete": "no action",
1890
+
"onUpdate": "no action"
1891
+
},
1892
+
"user_albums_album_id_albums_xata_id_fk": {
1893
+
"name": "user_albums_album_id_albums_xata_id_fk",
1894
+
"tableFrom": "user_albums",
1895
+
"tableTo": "albums",
1896
+
"columnsFrom": [
1897
+
"album_id"
1898
+
],
1899
+
"columnsTo": [
1900
+
"xata_id"
1901
+
],
1902
+
"onDelete": "no action",
1903
+
"onUpdate": "no action"
1904
+
}
1905
+
},
1906
+
"compositePrimaryKeys": {},
1907
+
"uniqueConstraints": {
1908
+
"user_albums_uri_unique": {
1909
+
"name": "user_albums_uri_unique",
1910
+
"nullsNotDistinct": false,
1911
+
"columns": [
1912
+
"uri"
1913
+
]
1914
+
}
1915
+
},
1916
+
"policies": {},
1917
+
"checkConstraints": {},
1918
+
"isRLSEnabled": false
1919
+
},
1920
+
"public.user_artists": {
1921
+
"name": "user_artists",
1922
+
"schema": "",
1923
+
"columns": {
1924
+
"xata_id": {
1925
+
"name": "xata_id",
1926
+
"type": "text",
1927
+
"primaryKey": true,
1928
+
"notNull": true
1929
+
},
1930
+
"user_id": {
1931
+
"name": "user_id",
1932
+
"type": "text",
1933
+
"primaryKey": false,
1934
+
"notNull": true
1935
+
},
1936
+
"artist_id": {
1937
+
"name": "artist_id",
1938
+
"type": "text",
1939
+
"primaryKey": false,
1940
+
"notNull": true
1941
+
},
1942
+
"xata_createdat": {
1943
+
"name": "xata_createdat",
1944
+
"type": "timestamp",
1945
+
"primaryKey": false,
1946
+
"notNull": true,
1947
+
"default": "now()"
1948
+
},
1949
+
"xata_updatedat": {
1950
+
"name": "xata_updatedat",
1951
+
"type": "timestamp",
1952
+
"primaryKey": false,
1953
+
"notNull": true,
1954
+
"default": "now()"
1955
+
},
1956
+
"xata_version": {
1957
+
"name": "xata_version",
1958
+
"type": "integer",
1959
+
"primaryKey": false,
1960
+
"notNull": true
1961
+
},
1962
+
"scrobbles": {
1963
+
"name": "scrobbles",
1964
+
"type": "integer",
1965
+
"primaryKey": false,
1966
+
"notNull": false
1967
+
},
1968
+
"uri": {
1969
+
"name": "uri",
1970
+
"type": "text",
1971
+
"primaryKey": false,
1972
+
"notNull": true
1973
+
}
1974
+
},
1975
+
"indexes": {},
1976
+
"foreignKeys": {
1977
+
"user_artists_user_id_users_xata_id_fk": {
1978
+
"name": "user_artists_user_id_users_xata_id_fk",
1979
+
"tableFrom": "user_artists",
1980
+
"tableTo": "users",
1981
+
"columnsFrom": [
1982
+
"user_id"
1983
+
],
1984
+
"columnsTo": [
1985
+
"xata_id"
1986
+
],
1987
+
"onDelete": "no action",
1988
+
"onUpdate": "no action"
1989
+
},
1990
+
"user_artists_artist_id_artists_xata_id_fk": {
1991
+
"name": "user_artists_artist_id_artists_xata_id_fk",
1992
+
"tableFrom": "user_artists",
1993
+
"tableTo": "artists",
1994
+
"columnsFrom": [
1995
+
"artist_id"
1996
+
],
1997
+
"columnsTo": [
1998
+
"xata_id"
1999
+
],
2000
+
"onDelete": "no action",
2001
+
"onUpdate": "no action"
2002
+
}
2003
+
},
2004
+
"compositePrimaryKeys": {},
2005
+
"uniqueConstraints": {
2006
+
"user_artists_uri_unique": {
2007
+
"name": "user_artists_uri_unique",
2008
+
"nullsNotDistinct": false,
2009
+
"columns": [
2010
+
"uri"
2011
+
]
2012
+
}
2013
+
},
2014
+
"policies": {},
2015
+
"checkConstraints": {},
2016
+
"isRLSEnabled": false
2017
+
},
2018
+
"public.user_playlists": {
2019
+
"name": "user_playlists",
2020
+
"schema": "",
2021
+
"columns": {
2022
+
"xata_id": {
2023
+
"name": "xata_id",
2024
+
"type": "text",
2025
+
"primaryKey": true,
2026
+
"notNull": true
2027
+
},
2028
+
"user_id": {
2029
+
"name": "user_id",
2030
+
"type": "text",
2031
+
"primaryKey": false,
2032
+
"notNull": true
2033
+
},
2034
+
"playlist_id": {
2035
+
"name": "playlist_id",
2036
+
"type": "text",
2037
+
"primaryKey": false,
2038
+
"notNull": true
2039
+
},
2040
+
"xata_createdat": {
2041
+
"name": "xata_createdat",
2042
+
"type": "timestamp",
2043
+
"primaryKey": false,
2044
+
"notNull": true,
2045
+
"default": "now()"
2046
+
},
2047
+
"uri": {
2048
+
"name": "uri",
2049
+
"type": "text",
2050
+
"primaryKey": false,
2051
+
"notNull": true
2052
+
}
2053
+
},
2054
+
"indexes": {},
2055
+
"foreignKeys": {
2056
+
"user_playlists_user_id_users_xata_id_fk": {
2057
+
"name": "user_playlists_user_id_users_xata_id_fk",
2058
+
"tableFrom": "user_playlists",
2059
+
"tableTo": "users",
2060
+
"columnsFrom": [
2061
+
"user_id"
2062
+
],
2063
+
"columnsTo": [
2064
+
"xata_id"
2065
+
],
2066
+
"onDelete": "no action",
2067
+
"onUpdate": "no action"
2068
+
},
2069
+
"user_playlists_playlist_id_tracks_xata_id_fk": {
2070
+
"name": "user_playlists_playlist_id_tracks_xata_id_fk",
2071
+
"tableFrom": "user_playlists",
2072
+
"tableTo": "tracks",
2073
+
"columnsFrom": [
2074
+
"playlist_id"
2075
+
],
2076
+
"columnsTo": [
2077
+
"xata_id"
2078
+
],
2079
+
"onDelete": "no action",
2080
+
"onUpdate": "no action"
2081
+
}
2082
+
},
2083
+
"compositePrimaryKeys": {},
2084
+
"uniqueConstraints": {
2085
+
"user_playlists_uri_unique": {
2086
+
"name": "user_playlists_uri_unique",
2087
+
"nullsNotDistinct": false,
2088
+
"columns": [
2089
+
"uri"
2090
+
]
2091
+
}
2092
+
},
2093
+
"policies": {},
2094
+
"checkConstraints": {},
2095
+
"isRLSEnabled": false
2096
+
},
2097
+
"public.user_tracks": {
2098
+
"name": "user_tracks",
2099
+
"schema": "",
2100
+
"columns": {
2101
+
"xata_id": {
2102
+
"name": "xata_id",
2103
+
"type": "text",
2104
+
"primaryKey": true,
2105
+
"notNull": true
2106
+
},
2107
+
"user_id": {
2108
+
"name": "user_id",
2109
+
"type": "text",
2110
+
"primaryKey": false,
2111
+
"notNull": true
2112
+
},
2113
+
"track_id": {
2114
+
"name": "track_id",
2115
+
"type": "text",
2116
+
"primaryKey": false,
2117
+
"notNull": true
2118
+
},
2119
+
"xata_createdat": {
2120
+
"name": "xata_createdat",
2121
+
"type": "timestamp",
2122
+
"primaryKey": false,
2123
+
"notNull": true,
2124
+
"default": "now()"
2125
+
},
2126
+
"xata_updatedat": {
2127
+
"name": "xata_updatedat",
2128
+
"type": "timestamp",
2129
+
"primaryKey": false,
2130
+
"notNull": true,
2131
+
"default": "now()"
2132
+
},
2133
+
"xata_version": {
2134
+
"name": "xata_version",
2135
+
"type": "integer",
2136
+
"primaryKey": false,
2137
+
"notNull": true
2138
+
},
2139
+
"uri": {
2140
+
"name": "uri",
2141
+
"type": "text",
2142
+
"primaryKey": false,
2143
+
"notNull": true
2144
+
},
2145
+
"scrobbles": {
2146
+
"name": "scrobbles",
2147
+
"type": "integer",
2148
+
"primaryKey": false,
2149
+
"notNull": false
2150
+
}
2151
+
},
2152
+
"indexes": {},
2153
+
"foreignKeys": {
2154
+
"user_tracks_user_id_users_xata_id_fk": {
2155
+
"name": "user_tracks_user_id_users_xata_id_fk",
2156
+
"tableFrom": "user_tracks",
2157
+
"tableTo": "users",
2158
+
"columnsFrom": [
2159
+
"user_id"
2160
+
],
2161
+
"columnsTo": [
2162
+
"xata_id"
2163
+
],
2164
+
"onDelete": "no action",
2165
+
"onUpdate": "no action"
2166
+
},
2167
+
"user_tracks_track_id_tracks_xata_id_fk": {
2168
+
"name": "user_tracks_track_id_tracks_xata_id_fk",
2169
+
"tableFrom": "user_tracks",
2170
+
"tableTo": "tracks",
2171
+
"columnsFrom": [
2172
+
"track_id"
2173
+
],
2174
+
"columnsTo": [
2175
+
"xata_id"
2176
+
],
2177
+
"onDelete": "no action",
2178
+
"onUpdate": "no action"
2179
+
}
2180
+
},
2181
+
"compositePrimaryKeys": {},
2182
+
"uniqueConstraints": {
2183
+
"user_tracks_uri_unique": {
2184
+
"name": "user_tracks_uri_unique",
2185
+
"nullsNotDistinct": false,
2186
+
"columns": [
2187
+
"uri"
2188
+
]
2189
+
}
2190
+
},
2191
+
"policies": {},
2192
+
"checkConstraints": {},
2193
+
"isRLSEnabled": false
2194
+
},
2195
+
"public.users": {
2196
+
"name": "users",
2197
+
"schema": "",
2198
+
"columns": {
2199
+
"xata_id": {
2200
+
"name": "xata_id",
2201
+
"type": "text",
2202
+
"primaryKey": true,
2203
+
"notNull": true
2204
+
},
2205
+
"did": {
2206
+
"name": "did",
2207
+
"type": "text",
2208
+
"primaryKey": false,
2209
+
"notNull": true
2210
+
},
2211
+
"display_name": {
2212
+
"name": "display_name",
2213
+
"type": "text",
2214
+
"primaryKey": false,
2215
+
"notNull": true
2216
+
},
2217
+
"handle": {
2218
+
"name": "handle",
2219
+
"type": "text",
2220
+
"primaryKey": false,
2221
+
"notNull": true
2222
+
},
2223
+
"avatar": {
2224
+
"name": "avatar",
2225
+
"type": "text",
2226
+
"primaryKey": false,
2227
+
"notNull": true
2228
+
},
2229
+
"xata_createdat": {
2230
+
"name": "xata_createdat",
2231
+
"type": "timestamp",
2232
+
"primaryKey": false,
2233
+
"notNull": true,
2234
+
"default": "now()"
2235
+
},
2236
+
"xata_updatedat": {
2237
+
"name": "xata_updatedat",
2238
+
"type": "timestamp",
2239
+
"primaryKey": false,
2240
+
"notNull": true,
2241
+
"default": "now()"
2242
+
},
2243
+
"xata_version": {
2244
+
"name": "xata_version",
2245
+
"type": "integer",
2246
+
"primaryKey": false,
2247
+
"notNull": false
2248
+
}
2249
+
},
2250
+
"indexes": {},
2251
+
"foreignKeys": {},
2252
+
"compositePrimaryKeys": {},
2253
+
"uniqueConstraints": {
2254
+
"users_did_unique": {
2255
+
"name": "users_did_unique",
2256
+
"nullsNotDistinct": false,
2257
+
"columns": [
2258
+
"did"
2259
+
]
2260
+
},
2261
+
"users_handle_unique": {
2262
+
"name": "users_handle_unique",
2263
+
"nullsNotDistinct": false,
2264
+
"columns": [
2265
+
"handle"
2266
+
]
2267
+
}
2268
+
},
2269
+
"policies": {},
2270
+
"checkConstraints": {},
2271
+
"isRLSEnabled": false
2272
+
},
2273
+
"public.webscrobblers": {
2274
+
"name": "webscrobblers",
2275
+
"schema": "",
2276
+
"columns": {
2277
+
"xata_id": {
2278
+
"name": "xata_id",
2279
+
"type": "text",
2280
+
"primaryKey": true,
2281
+
"notNull": true
2282
+
},
2283
+
"name": {
2284
+
"name": "name",
2285
+
"type": "text",
2286
+
"primaryKey": false,
2287
+
"notNull": true
2288
+
},
2289
+
"uuid": {
2290
+
"name": "uuid",
2291
+
"type": "text",
2292
+
"primaryKey": false,
2293
+
"notNull": true
2294
+
},
2295
+
"description": {
2296
+
"name": "description",
2297
+
"type": "text",
2298
+
"primaryKey": false,
2299
+
"notNull": false
2300
+
},
2301
+
"enabled": {
2302
+
"name": "enabled",
2303
+
"type": "boolean",
2304
+
"primaryKey": false,
2305
+
"notNull": true,
2306
+
"default": true
2307
+
},
2308
+
"user_id": {
2309
+
"name": "user_id",
2310
+
"type": "text",
2311
+
"primaryKey": false,
2312
+
"notNull": true
2313
+
},
2314
+
"xata_createdat": {
2315
+
"name": "xata_createdat",
2316
+
"type": "timestamp",
2317
+
"primaryKey": false,
2318
+
"notNull": true,
2319
+
"default": "now()"
2320
+
},
2321
+
"xata_updatedat": {
2322
+
"name": "xata_updatedat",
2323
+
"type": "timestamp",
2324
+
"primaryKey": false,
2325
+
"notNull": true,
2326
+
"default": "now()"
2327
+
}
2328
+
},
2329
+
"indexes": {},
2330
+
"foreignKeys": {
2331
+
"webscrobblers_user_id_users_xata_id_fk": {
2332
+
"name": "webscrobblers_user_id_users_xata_id_fk",
2333
+
"tableFrom": "webscrobblers",
2334
+
"tableTo": "users",
2335
+
"columnsFrom": [
2336
+
"user_id"
2337
+
],
2338
+
"columnsTo": [
2339
+
"xata_id"
2340
+
],
2341
+
"onDelete": "no action",
2342
+
"onUpdate": "no action"
2343
+
}
2344
+
},
2345
+
"compositePrimaryKeys": {},
2346
+
"uniqueConstraints": {},
2347
+
"policies": {},
2348
+
"checkConstraints": {},
2349
+
"isRLSEnabled": false
2350
+
}
2351
+
},
2352
+
"enums": {},
2353
+
"schemas": {},
2354
+
"sequences": {},
2355
+
"roles": {},
2356
+
"policies": {},
2357
+
"views": {},
2358
+
"_meta": {
2359
+
"columns": {},
2360
+
"schemas": {},
2361
+
"tables": {}
2362
+
}
2363
+
}
+13
rockskyapi/rocksky-auth/drizzle/meta/_journal.json
+13
rockskyapi/rocksky-auth/drizzle/meta/_journal.json
+86
-84
rockskyapi/rocksky-auth/package.json
+86
-84
rockskyapi/rocksky-auth/package.json
···
1
1
{
2
-
"name": "rocksky-auth",
3
-
"version": "0.0.1",
4
-
"private": true,
5
-
"type": "module",
6
-
"module": "dist/index.js",
7
-
"scripts": {
8
-
"lexgen": "lex gen-server ./src/lexicon ./lexicons/**/* ./lexicons/*",
9
-
"dev": "tsx --watch ./src/index.ts",
10
-
"prod": "tsx ./src/index.ts",
11
-
"build": "pkgroll",
12
-
"sync": "tsx ./src/scripts/sync.ts",
13
-
"meili:sync": "tsx ./src/scripts/meili.ts",
14
-
"avatar": "tsx ./src/scripts/avatar.ts",
15
-
"pkl:eval": "pkl eval -f json",
16
-
"pkl:gen": "tsx ./scripts/pkl.ts",
17
-
"dev:xrpc": "tsx --watch ./src/server.ts"
18
-
},
19
-
"dependencies": {
20
-
"@atproto/api": "^0.13.31",
21
-
"@atproto/common": "^0.4.6",
22
-
"@atproto/identity": "^0.4.5",
23
-
"@atproto/lex-cli": "^0.5.6",
24
-
"@atproto/lexicon": "^0.4.5",
25
-
"@atproto/oauth-client-node": "^0.2.14",
26
-
"@atproto/sync": "^0.1.11",
27
-
"@atproto/syntax": "^0.3.1",
28
-
"@atproto/xrpc-server": "^0.7.8",
29
-
"@hono/node-server": "^1.13.8",
30
-
"@hono/node-ws": "^1.1.0",
31
-
"@opentelemetry/api": "^1.9.0",
32
-
"@opentelemetry/auto-instrumentations-node": "^0.58.0",
33
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.200.0",
34
-
"@opentelemetry/exporter-trace-otlp-http": "^0.200.0",
35
-
"@opentelemetry/resources": "^2.0.0",
36
-
"@opentelemetry/sdk-metrics": "^2.0.0",
37
-
"@opentelemetry/sdk-node": "^0.200.0",
38
-
"@opentelemetry/semantic-conventions": "^1.32.0",
39
-
"@pyroscope/nodejs": "^0.4.5",
40
-
"@xata.io/client": "^0.0.0-next.va121e4207b94bfe0a3c025fc00b247b923880930",
41
-
"assert": "^2.1.0",
42
-
"axios": "^1.7.9",
43
-
"better-sqlite3": "^11.8.1",
44
-
"chalk": "^5.4.1",
45
-
"chanfana": "^2.0.2",
46
-
"dayjs": "^1.11.13",
47
-
"dotenv": "^16.4.7",
48
-
"drizzle-orm": "^0.44.2",
49
-
"dropbox": "^10.34.0",
50
-
"effect": "^3.14.22",
51
-
"envalid": "^8.0.0",
52
-
"express": "^5.1.0",
53
-
"googleapis": "^146.0.0",
54
-
"hono": "^4.4.7",
55
-
"iron-session": "^8.0.4",
56
-
"jsonwebtoken": "^9.0.2",
57
-
"kysely": "^0.27.5",
58
-
"lodash": "^4.17.21",
59
-
"nats": "^2.29.2",
60
-
"pg": "^8.13.3",
61
-
"ramda": "^0.30.1",
62
-
"redis": "^4.7.0",
63
-
"unstorage": "^1.14.4",
64
-
"url": "^0.11.4",
65
-
"uuid": "^11.1.0",
66
-
"ws": "^8.18.1",
67
-
"zod": "^3.24.1"
68
-
},
69
-
"devDependencies": {
70
-
"@pkl-community/pkl": "^0.28.2",
71
-
"@types/express": "^5.0.2",
72
-
"@types/lodash": "^4.17.17",
73
-
"@types/node": "^22.13.0",
74
-
"@types/ramda": "^0.30.2",
75
-
"@types/service-worker-mock": "^2.0.1",
76
-
"pkgroll": "^2.6.1",
77
-
"tsx": "^4.19.2",
78
-
"zx": "^8.5.4"
79
-
},
80
-
"exports": {
81
-
".": {
82
-
"import": "./dist/index.js"
83
-
}
84
-
}
85
-
}
2
+
"name": "rocksky-auth",
3
+
"version": "0.0.1",
4
+
"private": true,
5
+
"type": "module",
6
+
"module": "dist/index.js",
7
+
"scripts": {
8
+
"lexgen": "lex gen-server ./src/lexicon ./lexicons/**/* ./lexicons/*",
9
+
"dev": "tsx --watch ./src/index.ts",
10
+
"prod": "tsx ./src/index.ts",
11
+
"build": "pkgroll",
12
+
"sync": "tsx ./src/scripts/sync.ts",
13
+
"meili:sync": "tsx ./src/scripts/meili.ts",
14
+
"avatar": "tsx ./src/scripts/avatar.ts",
15
+
"pkl:eval": "pkl eval -f json",
16
+
"pkl:gen": "tsx ./scripts/pkl.ts",
17
+
"dev:xrpc": "tsx --watch ./src/server.ts",
18
+
"drizzle": "drizzle-kit"
19
+
},
20
+
"dependencies": {
21
+
"@atproto/api": "^0.13.31",
22
+
"@atproto/common": "^0.4.6",
23
+
"@atproto/identity": "^0.4.5",
24
+
"@atproto/lex-cli": "^0.5.6",
25
+
"@atproto/lexicon": "^0.4.5",
26
+
"@atproto/oauth-client-node": "^0.2.14",
27
+
"@atproto/sync": "^0.1.11",
28
+
"@atproto/syntax": "^0.3.1",
29
+
"@atproto/xrpc-server": "^0.7.8",
30
+
"@hono/node-server": "^1.13.8",
31
+
"@hono/node-ws": "^1.1.0",
32
+
"@opentelemetry/api": "^1.9.0",
33
+
"@opentelemetry/auto-instrumentations-node": "^0.58.0",
34
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.200.0",
35
+
"@opentelemetry/exporter-trace-otlp-http": "^0.200.0",
36
+
"@opentelemetry/resources": "^2.0.0",
37
+
"@opentelemetry/sdk-metrics": "^2.0.0",
38
+
"@opentelemetry/sdk-node": "^0.200.0",
39
+
"@opentelemetry/semantic-conventions": "^1.32.0",
40
+
"@pyroscope/nodejs": "^0.4.5",
41
+
"@xata.io/client": "^0.0.0-next.va121e4207b94bfe0a3c025fc00b247b923880930",
42
+
"assert": "^2.1.0",
43
+
"axios": "^1.7.9",
44
+
"better-sqlite3": "^11.8.1",
45
+
"chalk": "^5.4.1",
46
+
"chanfana": "^2.0.2",
47
+
"dayjs": "^1.11.13",
48
+
"dotenv": "^16.4.7",
49
+
"drizzle-orm": "^0.44.2",
50
+
"dropbox": "^10.34.0",
51
+
"effect": "^3.14.22",
52
+
"envalid": "^8.0.0",
53
+
"express": "^5.1.0",
54
+
"googleapis": "^146.0.0",
55
+
"hono": "^4.4.7",
56
+
"iron-session": "^8.0.4",
57
+
"jsonwebtoken": "^9.0.2",
58
+
"kysely": "^0.27.5",
59
+
"lodash": "^4.17.21",
60
+
"nats": "^2.29.2",
61
+
"pg": "^8.13.3",
62
+
"ramda": "^0.30.1",
63
+
"redis": "^4.7.0",
64
+
"unstorage": "^1.14.4",
65
+
"url": "^0.11.4",
66
+
"uuid": "^11.1.0",
67
+
"ws": "^8.18.1",
68
+
"zod": "^3.24.1"
69
+
},
70
+
"devDependencies": {
71
+
"@pkl-community/pkl": "^0.28.2",
72
+
"@types/express": "^5.0.2",
73
+
"@types/lodash": "^4.17.17",
74
+
"@types/node": "^22.13.0",
75
+
"@types/ramda": "^0.30.2",
76
+
"@types/service-worker-mock": "^2.0.1",
77
+
"drizzle-kit": "^0.31.1",
78
+
"pkgroll": "^2.6.1",
79
+
"tsx": "^4.19.2",
80
+
"zx": "^8.5.4"
81
+
},
82
+
"exports": {
83
+
".": {
84
+
"import": "./dist/index.js"
85
+
}
86
+
}
87
+
}