commits
remove xata client, replace with drizzle orm
- Added default value for primary key `id` in the following tables: albums, album_tracks, api_keys, artist_albums, artist_tracks, artists, dropbox_accounts, dropbox_directories, dropbox_paths, dropbox_tokens, dropbox, google_drive_accounts, google_drive_directories, google_drive_paths, google_drive_tokens, googledrive, loved_tracks, playlist_tracks, playlists, profile_shouts, queue_tracks, scrobbles, shout_likes, shout_reports, shouts, spotify_accounts, spotify_tokens, tracks, user_albums, user_artists, user_playlists, user_tracks, users, webscrobblers.
- Refactored queries in dropbox and join endpoints to use drizzle-orm for database interactions.
- Updated OAuth callback logic to handle dropbox tokens and user associations more efficiently.
feat: update workspace configuration and remove deprecated scripts
Add `pgpull` command to sync Rocksky Postgres database to local instance
- Added new entries to the journal for tracking purposes.
- Changed the import from tracks to playlists in user-playlists schema.
- Updated the playlistId reference in user-playlists to point to playlists instead of tracks.
- Modified the insert_album_track function to remove xata_createdat from the insert statement.
- Updated the insert_playlist_track function to remove added_by from the insert statement.
- Removed added_by field from the PlaylistTrack struct in xata.
- Changed xata_version fields in various schemas (album-tracks, artist-albums, artist-tracks, dropbox-accounts, dropbox-directories, dropbox-paths, dropbox, google-drive-accounts, google-drive-directories, google-drive-paths, googledrive, spotify-accounts, spotify-tokens, user-albums, user-artists, user-tracks) to allow null values.
- Updated snapshot and journal files to reflect changes in database schema.
- Implemented batch processing for syncing album tracks, artist albums, artist tracks, playlist tracks, user albums, user artists, user tracks, and user playlists in the data pull process.
- Added new repository functions for handling album tracks, user albums, artist albums, artist tracks, user artists, playlist tracks, user playlists, user tracks, and their respective insert operations.
- Enhanced user album, user artist, user playlist, and user track structs to include optional URI fields.
- Updated the album, artist, track, user, playlist, loved track, and scrobble repositories to include asynchronous data fetching and insertion methods.
- Implemented batch processing for syncing albums, artists, tracks, users, playlists, loved tracks, and scrobbles from a source PostgreSQL database to a destination PostgreSQL database.
- Enhanced error handling during data insertion to log failures without interrupting the sync process.
- Removed unique constraints on albumUri and artistUri fields in the tracks schema to allow for non-unique entries.
- Modified user schema to make displayName optional.
- Updated journal metadata for versioning.
- Introduced a new crate `pgpull` with functionality to pull data from a remote PostgreSQL database.
- Added `Cargo.toml` for `pgpull` with necessary dependencies.
- Implemented `pull_data` function in `pgpull` to handle data pulling logic.
- Updated `rockskyd` crate to include `pgpull` as a dependency.
- Created a new command module `pull` in `rockskyd` to facilitate data pulling.
- Enhanced the main application to support a new subcommand `pull` for executing the data pull operation.
- Updated the journal with a new entry for the `woozy_saracen` version.
fix: postgres env var and packages in workspaces config
- Removed unnecessary spaces and added missing commas in various files to ensure consistent formatting.
- Updated logging and error handling to maintain uniformity across the codebase.
- Improved the structure of function calls and pipe operations for better clarity.
- Ensured all promises resolve correctly and consistently handle errors.
- Removed unused BlobRef import and downloadImage function.
- Simplified error handling in various Effect.catchAll calls.
- Updated formatting for consistency and readability.
- Adjusted object structures for artist and album records to use pictureUrl and albumArtUrl.
- Streamlined the ensureTrack, ensureArtist, and ensureAlbum functions for clarity.
- Updated imports in various files to use 'import type' for type-only imports, improving clarity and potentially optimizing the build process.
- Affected files include player, playlist, radio, scrobble, shout, song, and spotify modules.
- Ensured that the generated code remains unchanged while enhancing type safety and readability.
- Updated the createScrobble function to log the creation of scrobbles.
- Enhanced the artist and track structures to include genres as an optional field.
- Modified the save_artist function to accept genres and store them in the database.
- Adjusted various functions to handle genres when creating or updating artist and track records.
- Updated Spotify integration to fetch and include genres for artists.
- Added default value for primary key `id` in the following tables: albums, album_tracks, api_keys, artist_albums, artist_tracks, artists, dropbox_accounts, dropbox_directories, dropbox_paths, dropbox_tokens, dropbox, google_drive_accounts, google_drive_directories, google_drive_paths, google_drive_tokens, googledrive, loved_tracks, playlist_tracks, playlists, profile_shouts, queue_tracks, scrobbles, shout_likes, shout_reports, shouts, spotify_accounts, spotify_tokens, tracks, user_albums, user_artists, user_playlists, user_tracks, users, webscrobblers.
- Refactored queries in dropbox and join endpoints to use drizzle-orm for database interactions.
- Updated OAuth callback logic to handle dropbox tokens and user associations more efficiently.
- Added new entries to the journal for tracking purposes.
- Changed the import from tracks to playlists in user-playlists schema.
- Updated the playlistId reference in user-playlists to point to playlists instead of tracks.
- Modified the insert_album_track function to remove xata_createdat from the insert statement.
- Updated the insert_playlist_track function to remove added_by from the insert statement.
- Removed added_by field from the PlaylistTrack struct in xata.
- Changed xata_version fields in various schemas (album-tracks, artist-albums, artist-tracks, dropbox-accounts, dropbox-directories, dropbox-paths, dropbox, google-drive-accounts, google-drive-directories, google-drive-paths, googledrive, spotify-accounts, spotify-tokens, user-albums, user-artists, user-tracks) to allow null values.
- Updated snapshot and journal files to reflect changes in database schema.
- Implemented batch processing for syncing album tracks, artist albums, artist tracks, playlist tracks, user albums, user artists, user tracks, and user playlists in the data pull process.
- Added new repository functions for handling album tracks, user albums, artist albums, artist tracks, user artists, playlist tracks, user playlists, user tracks, and their respective insert operations.
- Enhanced user album, user artist, user playlist, and user track structs to include optional URI fields.
- Updated the album, artist, track, user, playlist, loved track, and scrobble repositories to include asynchronous data fetching and insertion methods.
- Implemented batch processing for syncing albums, artists, tracks, users, playlists, loved tracks, and scrobbles from a source PostgreSQL database to a destination PostgreSQL database.
- Enhanced error handling during data insertion to log failures without interrupting the sync process.
- Removed unique constraints on albumUri and artistUri fields in the tracks schema to allow for non-unique entries.
- Modified user schema to make displayName optional.
- Updated journal metadata for versioning.
- Introduced a new crate `pgpull` with functionality to pull data from a remote PostgreSQL database.
- Added `Cargo.toml` for `pgpull` with necessary dependencies.
- Implemented `pull_data` function in `pgpull` to handle data pulling logic.
- Updated `rockskyd` crate to include `pgpull` as a dependency.
- Created a new command module `pull` in `rockskyd` to facilitate data pulling.
- Enhanced the main application to support a new subcommand `pull` for executing the data pull operation.
- Updated the journal with a new entry for the `woozy_saracen` version.
- Removed unnecessary spaces and added missing commas in various files to ensure consistent formatting.
- Updated logging and error handling to maintain uniformity across the codebase.
- Improved the structure of function calls and pipe operations for better clarity.
- Ensured all promises resolve correctly and consistently handle errors.
- Removed unused BlobRef import and downloadImage function.
- Simplified error handling in various Effect.catchAll calls.
- Updated formatting for consistency and readability.
- Adjusted object structures for artist and album records to use pictureUrl and albumArtUrl.
- Streamlined the ensureTrack, ensureArtist, and ensureAlbum functions for clarity.
- Updated imports in various files to use 'import type' for type-only imports, improving clarity and potentially optimizing the build process.
- Affected files include player, playlist, radio, scrobble, shout, song, and spotify modules.
- Ensured that the generated code remains unchanged while enhancing type safety and readability.
- Updated the createScrobble function to log the creation of scrobbles.
- Enhanced the artist and track structures to include genres as an optional field.
- Modified the save_artist function to accept genres and store them in the database.
- Adjusted various functions to handle genres when creating or updating artist and track records.
- Updated Spotify integration to fetch and include genres for artists.