chore: npm run gen:types

This commit is contained in:
2025-06-03 20:03:22 +01:00
parent 8cda560ba8
commit 8b09523b21
4 changed files with 197 additions and 187 deletions

View File

@@ -4,3 +4,4 @@ pnpm-lock.yaml
yarn.lock yarn.lock
bun.lock bun.lock
bun.lockb bun.lockb
src/lib/database.d.ts

View File

@@ -27,6 +27,7 @@
- `npm run lint` will style-check the codebase. - `npm run lint` will style-check the codebase.
- `npm run format` will auto-format the codebase. - `npm run format` will auto-format the codebase.
- Note that if you're using VSCode with all the suggested extensions, VSCode should be formatting all your files on save. - Note that if you're using VSCode with all the suggested extensions, VSCode should be formatting all your files on save.
- `npm run gen:types` will generate the types for the database.
### What's where? ### What's where?

View File

@@ -14,7 +14,8 @@
"lint": "prettier --check . && eslint .", "lint": "prettier --check . && eslint .",
"test:unit": "vitest", "test:unit": "vitest",
"test": "npm run test:unit -- --run && npm run test:e2e", "test": "npm run test:unit -- --run && npm run test:e2e",
"test:e2e": "playwright test" "test:e2e": "playwright test",
"gen:types": "supabase gen types typescript --local > ./src/lib/database.d.ts"
}, },
"devDependencies": { "devDependencies": {
"@eslint/compat": "^1.2.5", "@eslint/compat": "^1.2.5",

195
src/lib/database.d.ts vendored
View File

@@ -1,115 +1,121 @@
export type Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[]; export type Json =
| string
| number
| boolean
| null
| { [key: string]: Json | undefined }
| Json[]
export type Database = { export type Database = {
graphql_public: { graphql_public: {
Tables: { Tables: {
[_ in never]: never; [_ in never]: never
}; }
Views: { Views: {
[_ in never]: never; [_ in never]: never
}; }
Functions: { Functions: {
graphql: { graphql: {
Args: { Args: {
operationName?: string; operationName?: string
query?: string; query?: string
variables?: Json; variables?: Json
extensions?: Json; extensions?: Json
}; }
Returns: Json; Returns: Json
}; }
}; }
Enums: { Enums: {
[_ in never]: never; [_ in never]: never
}; }
CompositeTypes: { CompositeTypes: {
[_ in never]: never; [_ in never]: never
}; }
}; }
public: { public: {
Tables: { Tables: {
study_space_images: { study_space_images: {
Row: { Row: {
created_at: string | null; created_at: string | null
image_path: string; image_path: string
study_space_id: string; study_space_id: string
updated_at: string | null; updated_at: string | null
}; }
Insert: { Insert: {
created_at?: string | null; created_at?: string | null
image_path: string; image_path: string
study_space_id: string; study_space_id: string
updated_at?: string | null; updated_at?: string | null
}; }
Update: { Update: {
created_at?: string | null; created_at?: string | null
image_path?: string; image_path?: string
study_space_id?: string; study_space_id?: string
updated_at?: string | null; updated_at?: string | null
}; }
Relationships: [ Relationships: [
{ {
foreignKeyName: "study_space_images_study_space_id_fkey"; foreignKeyName: "study_space_images_study_space_id_fkey"
columns: ["study_space_id"]; columns: ["study_space_id"]
isOneToOne: false; isOneToOne: false
referencedRelation: "study_spaces"; referencedRelation: "study_spaces"
referencedColumns: ["id"]; referencedColumns: ["id"]
},
]
} }
];
};
study_spaces: { study_spaces: {
Row: { Row: {
created_at: string | null; created_at: string | null
id: string; id: string
title: string; title: string
updated_at: string | null; updated_at: string | null
}; }
Insert: { Insert: {
created_at?: string | null; created_at?: string | null
id?: string; id?: string
title: string; title: string
updated_at?: string | null; updated_at?: string | null
}; }
Update: { Update: {
created_at?: string | null; created_at?: string | null
id?: string; id?: string
title?: string; title?: string
updated_at?: string | null; updated_at?: string | null
}; }
Relationships: []; Relationships: []
}; }
}; }
Views: { Views: {
[_ in never]: never; [_ in never]: never
}; }
Functions: { Functions: {
[_ in never]: never; [_ in never]: never
}; }
Enums: { Enums: {
[_ in never]: never; [_ in never]: never
}; }
CompositeTypes: { CompositeTypes: {
[_ in never]: never; [_ in never]: never
}; }
}; }
}; }
type DefaultSchema = Database[Extract<keyof Database, "public">]; type DefaultSchema = Database[Extract<keyof Database, "public">]
export type Tables< export type Tables<
DefaultSchemaTableNameOrOptions extends DefaultSchemaTableNameOrOptions extends
| keyof (DefaultSchema["Tables"] & DefaultSchema["Views"]) | keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
| { schema: keyof Database }, | { schema: keyof Database },
TableName extends DefaultSchemaTableNameOrOptions extends { TableName extends DefaultSchemaTableNameOrOptions extends {
schema: keyof Database; schema: keyof Database
} }
? keyof (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & ? keyof (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"]) Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
: never = never : never = never,
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
? (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] & ? (Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends { Database[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
Row: infer R; Row: infer R
} }
? R ? R
: never : never
@@ -117,93 +123,94 @@ export type Tables<
DefaultSchema["Views"]) DefaultSchema["Views"])
? (DefaultSchema["Tables"] & ? (DefaultSchema["Tables"] &
DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends { DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
Row: infer R; Row: infer R
} }
? R ? R
: never : never
: never; : never
export type TablesInsert< export type TablesInsert<
DefaultSchemaTableNameOrOptions extends DefaultSchemaTableNameOrOptions extends
| keyof DefaultSchema["Tables"] | keyof DefaultSchema["Tables"]
| { schema: keyof Database }, | { schema: keyof Database },
TableName extends DefaultSchemaTableNameOrOptions extends { TableName extends DefaultSchemaTableNameOrOptions extends {
schema: keyof Database; schema: keyof Database
} }
? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
: never = never : never = never,
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
Insert: infer I; Insert: infer I
} }
? I ? I
: never : never
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
Insert: infer I; Insert: infer I
} }
? I ? I
: never : never
: never; : never
export type TablesUpdate< export type TablesUpdate<
DefaultSchemaTableNameOrOptions extends DefaultSchemaTableNameOrOptions extends
| keyof DefaultSchema["Tables"] | keyof DefaultSchema["Tables"]
| { schema: keyof Database }, | { schema: keyof Database },
TableName extends DefaultSchemaTableNameOrOptions extends { TableName extends DefaultSchemaTableNameOrOptions extends {
schema: keyof Database; schema: keyof Database
} }
? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] ? keyof Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
: never = never : never = never,
> = DefaultSchemaTableNameOrOptions extends { schema: keyof Database } > = DefaultSchemaTableNameOrOptions extends { schema: keyof Database }
? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends { ? Database[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
Update: infer U; Update: infer U
} }
? U ? U
: never : never
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"] : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends { ? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
Update: infer U; Update: infer U
} }
? U ? U
: never : never
: never; : never
export type Enums< export type Enums<
DefaultSchemaEnumNameOrOptions extends DefaultSchemaEnumNameOrOptions extends
| keyof DefaultSchema["Enums"] | keyof DefaultSchema["Enums"]
| { schema: keyof Database }, | { schema: keyof Database },
EnumName extends DefaultSchemaEnumNameOrOptions extends { EnumName extends DefaultSchemaEnumNameOrOptions extends {
schema: keyof Database; schema: keyof Database
} }
? keyof Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"] ? keyof Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
: never = never : never = never,
> = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database } > = DefaultSchemaEnumNameOrOptions extends { schema: keyof Database }
? Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName] ? Database[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions] ? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
: never; : never
export type CompositeTypes< export type CompositeTypes<
PublicCompositeTypeNameOrOptions extends PublicCompositeTypeNameOrOptions extends
| keyof DefaultSchema["CompositeTypes"] | keyof DefaultSchema["CompositeTypes"]
| { schema: keyof Database }, | { schema: keyof Database },
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
schema: keyof Database; schema: keyof Database
} }
? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] ? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
: never = never : never = never,
> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database } > = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] ? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] ? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
: never; : never
export const Constants = { export const Constants = {
graphql_public: { graphql_public: {
Enums: {} Enums: {},
}, },
public: { public: {
Enums: {} Enums: {},
} },
} as const; } as const