1. Added declarative schemas to Supabase 2. Added Cursor Ignore to ignore some files from Cursor 3. Added Prettier Ignore to ignore some files from Prettier 4. Formatted files so that PG Schema diff won't return any changes
65 lines
2.2 KiB
SQL
65 lines
2.2 KiB
SQL
/*
|
|
* -------------------------------------------------------
|
|
* Section: Enums
|
|
* We create the enums for the schema
|
|
* -------------------------------------------------------
|
|
*/
|
|
|
|
/*
|
|
* Permissions
|
|
- We create the permissions for the Supabase MakerKit. These permissions are used to manage the permissions for the roles
|
|
- The permissions are 'roles.manage', 'billing.manage', 'settings.manage', 'members.manage', and 'invites.manage'.
|
|
- You can add more permissions as needed.
|
|
*/
|
|
create type public.app_permissions as enum(
|
|
'roles.manage',
|
|
'billing.manage',
|
|
'settings.manage',
|
|
'members.manage',
|
|
'invites.manage'
|
|
);
|
|
|
|
/*
|
|
* Subscription Status
|
|
- We create the subscription status for the Supabase MakerKit. These statuses are used to manage the status of the subscriptions
|
|
- The statuses are 'active', 'trialing', 'past_due', 'canceled', 'unpaid', 'incomplete', 'incomplete_expired', and 'paused'.
|
|
- You can add more statuses as needed.
|
|
*/
|
|
create type public.subscription_status as ENUM(
|
|
'active',
|
|
'trialing',
|
|
'past_due',
|
|
'canceled',
|
|
'unpaid',
|
|
'incomplete',
|
|
'incomplete_expired',
|
|
'paused'
|
|
);
|
|
|
|
/*
|
|
Payment Status
|
|
- We create the payment status for the Supabase MakerKit. These statuses are used to manage the status of the payments
|
|
*/
|
|
create type public.payment_status as ENUM('pending', 'succeeded', 'failed');
|
|
|
|
/*
|
|
* Billing Provider
|
|
- We create the billing provider for the Supabase MakerKit. These providers are used to manage the billing provider for the accounts
|
|
- The providers are 'stripe', 'lemon-squeezy', and 'paddle'.
|
|
- You can add more providers as needed.
|
|
*/
|
|
create type public.billing_provider as ENUM('stripe', 'lemon-squeezy', 'paddle');
|
|
|
|
/*
|
|
* Subscription Item Type
|
|
- We create the subscription item type for the Supabase MakerKit. These types are used to manage the type of the subscription items
|
|
- The types are 'flat', 'per_seat', and 'metered'.
|
|
- You can add more types as needed.
|
|
*/
|
|
create type public.subscription_item_type as ENUM('flat', 'per_seat', 'metered');
|
|
|
|
/*
|
|
* Invitation Type
|
|
- We create the invitation type for the Supabase MakerKit. These types are used to manage the type of the invitation
|
|
*/
|
|
create type public.invitation as (email text, role varchar(50)); |