-
Notifications
You must be signed in to change notification settings - Fork 0
feat: schedule ingestion engine #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
90 commits
Select commit
Hold shift + click to select a range
cf115f0
feat(edge-fn): add diff-schedule Edge Function with unit tests
chiptus 36c220a
feat(edge-fn): add commit-schedule Edge Function and RPC migration
chiptus b3be2d3
feat(frontend): add schedule import wizard UI
chiptus ac833d2
refactor(frontend): split ScheduleImportWizard into focused components
chiptus 360bc9e
fix(test): exclude Deno and Playwright files from Vitest
chiptus 483a8d7
refactor: remove old client-side CSV import
chiptus a5c3582
fix(rpc): scope set_artists writes to verified update and use ROW_COUNT
claude a437e3d
fix(rpc): add ON CONFLICT DO NOTHING to create-set artist insert
claude 3e555b6
fix(import): invalidate queries via key factories
claude 1a84d7c
chore(import): remove orphaned CSV import code and import CsvRow type
claude 577b40c
refactor(import): extract MismatchRow and use useId for stable HTML ids
claude a50bcec
test(commit-schedule): clean up created sets and select id for delete
claude 09f231d
refactor(import): drive async actions through useMutation
claude 620a5d8
refactor(import): split CsvUploadStep into TimezonePicker and CsvDrop…
claude 83f9be6
refactor(import): extract OrphanedItem row component
claude fa0c911
refactor(import): co-locate FestivalScheduleImport in its route file
claude f80956c
refactor(import): load edition via route loader instead of useQuery
claude 6996e78
refactor(diff): split computeDiff into per-row helpers
claude dfdd9e3
feat(commit-schedule): validate request body with zod
claude 4c0e6f5
refactor(rpc): extract commit_schedule helpers for stage lookup, slug…
claude bb92aa3
fix(test): exclude supabase tests in vitest config and stub supabase env
claude fab3f5e
fix(lint): convert arrow function and drop unused destructured data
chiptus 0afb82a
fix(rpc): make commit_schedule migration idempotent and dedup stages
chiptus 7bd65ec
fix(routes): regenerate routeTree to drop stale /admin/festivals/import
chiptus 34ef887
fix(rpc): suffix new set slugs to keep (edition, slug) unique
chiptus 3ee45a5
fix(rpc): raise when stageName resolves to no stage
chiptus 7a2e43d
fix(diff): compare candidate set dates in row timezone
chiptus 3bdb8ca
fix(rpc): align commit_schedule__slugify with shared slug logic
chiptus 783943a
fix(edge-fn): narrow caught error before reading .message
chiptus 6d82ec3
refactor(migrations): split slug/stage uniques into own migration files
chiptus a8dbb50
fix(rpc): unarchive artists when slugs collide on upsert
chiptus 99c0b1f
fix(rpc): unarchive stages on upsert and skip archived in resolver
chiptus bb6916d
feat(diff-schedule): validate request body with zod
chiptus 3666d69
fix(migrations): remove old 20260509142020 (renamed to 20260509142023)
chiptus f46918d
fix(migrations): remove old 20260509142021 (renamed to 20260509142024)
chiptus 204d2d2
fix(migrations): renumber slug/stage uniques to 20260509142023/24
chiptus 980a8f2
fix(import): use a button for the CSV drop zone
chiptus 4faf681
fix(rpc): drop wrapping RAISE so original SQLSTATE/DETAIL propagate
chiptus 90093fb
fix(edge-fn): reject empty artist arrays/names at the schema boundary
chiptus b39e787
fix(rpc): raise in sync_set_artists when slugs don't resolve
chiptus 75eef8b
fix(diff-schedule): validate timezone and date/time formats up front
chiptus c627cb2
fix(diff): never match the same DB set to two CSV rows
chiptus 09caca6
fix(auth): surface admin_roles query errors as 500 instead of 403
chiptus 1ca6fdb
fix(import): render orphaned set times in the festival timezone
chiptus 19f9b70
ci: run Deno tests for Edge Functions in unit-tests workflow
chiptus 718f23c
fix(ci): drop deno.lock (drifts against esm.sh)
chiptus a93c67f
ci: run deno test with --no-lock and gitignore deno.lock
chiptus 85f6bc1
fix(ci): restore lockfile workflow and skip deno typecheck
chiptus fb8062d
feat(edge-fn): add per-function deno.json files
chiptus f1f4fdf
chore(deno): generate per-function lockfiles
chiptus 9d431fd
ci: run deno tests per function so each picks up its own config
chiptus e54ded7
feat(import): searchable timezone picker with full IANA catalogue
chiptus 7ff2314
feat(import): country search in timezone picker
claude 847e305
test upgrade supabase cli
chiptus 80448b6
test upgrade supabase cli
chiptus 1919cc1
ci: deploy edge functions via management API
claude f86923e
fix(commit-schedule): set added_by on artist inserts
claude 00540ed
review: address PR comments on schedule import UI
claude c49e276
refactor(import): use PapaParse for CSV parsing
claude 22f16c9
refactor(import): split TimezonePicker into picker, item, and catalog
claude 42fdd9a
refactor(diff-schedule): split diff.ts into helpers and resolvers
claude 532a206
refactor(edge-fn): share generated Supabase types with diff-schedule
claude 6f0e5d0
sql: squash commit_schedule migrations and extract upsert helpers
claude 7d20c67
chore(edge-fn): add deno.json to remaining functions
claude 92072e1
test(import): cover parseScheduleCsv and buildCommitPayload happy paths
claude 2fc7772
refactor(import): split wizard into per-stage components
claude 486eb05
add deno lock
chiptus e3edcee
fix: handle duplicate artist slugs when syncing prod data
claude 8efa4a2
fix(rpc): set slug when commit_schedule creates stages
claude d7ed270
ci: type-check Deno edge function tests
claude be76b8b
refactor(diff-schedule): address PR review feedback
claude 4c239d6
fix(schedule-import): address PR review feedback
claude 545cb40
refactor(diff-schedule): split files and address review feedback
claude 989a8da
refactor(schedule-import): split service file and address review feed…
claude debc1e6
fix(rpc): restrict commit_schedule EXECUTE to service_role
claude 1c54950
fix(schedule-import): de-duplicate artists within a CSV row
claude 1fe1fc9
revert(scripts): restore sync-from-prod.sh to main
claude db8c8a0
fix(rpc): treat same-slug stages as the same stage on import
claude aeacbbf
refactor(rpc): simplify commit_schedule__upsert_stages to ON CONFLICT…
claude 01208c2
refactor(rpc): extract update_sets/create_sets/archive_sets helpers
claude f9a47bf
order sets query for deterministic findMatchingSet fallback
claude 17051e9
harden parse_ts, types:generate pipefail, and stale csv rows
claude 89788a0
extract type generation into scripts/gen-types.sh
claude 09f45b7
guard commit_schedule helpers against NULL jsonb arrays
claude 0dd62dd
prefer active rows in dedupe migrations, harden csvRowSchema
claude 0446da0
surface edge function error details, reset csv file input
claude 4779a7a
preserve set metadata on omit, reject empty rosters
claude afe7447
move computeDiff helpers below the main function
claude 94ff242
tighten stage matching, reject empty slugs, cap diff rows
claude fdf414c
renumber schedule-ingestion migrations after main's latest
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| #!/bin/bash | ||
|
|
||
| # Generate Supabase TypeScript types for both the app and the Edge Functions. | ||
| # Pass --local to generate from the local database instead of the remote project. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| PROJECT_ID="qssmazlqrmxiudxckxvi" | ||
| APP_TYPES="src/integrations/supabase/types.ts" | ||
| EDGE_TYPES="supabase/functions/_shared/database.types.ts" | ||
|
|
||
| if [[ "${1:-}" == "--local" ]]; then | ||
| supabase gen types typescript --local | tee "$APP_TYPES" > "$EDGE_TYPES" | ||
| else | ||
| supabase gen types typescript --project-id "$PROJECT_ID" | tee "$APP_TYPES" > "$EDGE_TYPES" | ||
| fi |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.