Open
Conversation
Required for admin service catalog integration with Stripe products and CAD prices. Made-with: Cursor
- Add service_status enum (active, archived, deleted). - Store stripe_product_id; replace price/is_active with status and is_offered. - Remove purchases table. BREAKING CHANGE: services columns and purchases table changed; run a migration before deploy. Made-with: Cursor
Throws if the current user is not an admin (Supabase JWT role claim). Made-with: Cursor
- Lazy Stripe client from STRIPE_SECRET_KEY. - Create/update products, list and replace CAD one-time prices. - Map DB row to Stripe product active flag (stripe-visibility). Made-with: Cursor
Shared parsing/formatting for booking scheduled_at JSON stored on services. Made-with: Cursor
shadcn-style primitives for service forms and destructive actions. Made-with: Cursor
- Shared header with sign out and tab nav. - Placeholder example-other route for a second tab. Made-with: Cursor
Default admin landing is the services tab. Made-with: Cursor
- create/update with Zod validation and Stripe sync. - archive, unarchive, soft-delete, and toggle is_offered. - requireAdmin on all mutations; revalidate services path. Made-with: Cursor
- List active or archived services with Stripe-resolved CAD price. - Forms, cards, section header, and scheduled slots field for bookings. Made-with: Cursor
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #10
Overview
Deliver an admin-facing Services area where admins can create and manage offerings (coaching vs booking), tie each service to Stripe for CAD one-time pricing, control lifecycle (active → archived → soft-deleted) and whether a service is offered, and give the dashboard a clear entry point into that flow.
Testing
Manual testing + verification on supabase and stripe for correct data
Screenshots / Screencasts
Checklist
Tip: You can make the issue and then check them after the fact or replace
[ ]with[x]to check it!Notes
I suggest we check to see if there are any limitations on strip calls, I noticed sometimes I would get an error from stripe (although not very often)