Skip to content

Commit 58549ab

Browse files
committed
fix(playground): database types
1 parent 8da11e6 commit 58549ab

File tree

2 files changed

+165
-24
lines changed

2 files changed

+165
-24
lines changed

playground/pages/index.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<script setup lang="ts">
2-
import type { Database } from '~~/types/database.types'
3-
4-
const supabase = useSupabaseClient<Database>()
2+
const supabase = useSupabaseClient()
53
const user = useSupabaseUser()
64
75
const { data } = useAsyncData(async () => {
8-
// const { data } = await supabase.from('test').select('*')
6+
if (!user.value?.email) return null
7+
98
const { data } = await supabase.from('pushupers')
109
.select('*')
11-
.eq('email', user.value?.email)
10+
.eq('email', user.value.email)
1211
.single()
1312
1413
return data

playground/types/database.types.ts

Lines changed: 161 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,80 @@
1-
export type Json = string
2-
| number
3-
| boolean
4-
| null
5-
| { [key: string]: Json }
6-
| Json[]
1+
export type Json
2+
= | string
3+
| number
4+
| boolean
5+
| null
6+
| { [key: string]: Json | undefined }
7+
| Json[]
78

8-
export interface Database {
9+
export type Database = {
10+
// Allows to automatically instantiate createClient with right options
11+
// instead of createClient<Database, { PostgrestVersion: 'XX' }>(URL, KEY)
12+
__InternalSupabase: {
13+
PostgrestVersion: '12.2.3 (519615d)'
14+
}
915
public: {
1016
Tables: {
1117
pushupers: {
1218
Row: {
13-
id: number
19+
avatar: string | null
1420
created_at: string | null
1521
email: string
1622
firstname: string | null
23+
id: number
1724
lastname: string | null
18-
avatar: string | null
1925
user_id: string
2026
}
2127
Insert: {
22-
id?: number
28+
avatar?: string | null
2329
created_at?: string | null
2430
email: string
2531
firstname?: string | null
32+
id?: number
2633
lastname?: string | null
27-
avatar?: string | null
2834
user_id: string
2935
}
3036
Update: {
31-
id?: number
37+
avatar?: string | null
3238
created_at?: string | null
3339
email?: string
3440
firstname?: string | null
41+
id?: number
3542
lastname?: string | null
36-
avatar?: string | null
3743
user_id?: string
3844
}
45+
Relationships: []
3946
}
4047
workouts: {
4148
Row: {
42-
id: number
4349
created_at: string | null
4450
date: string
45-
user_id: string
51+
id: number
4652
repetitions: number
53+
user_id: string
4754
}
4855
Insert: {
49-
id?: number
5056
created_at?: string | null
5157
date: string
52-
user_id: string
58+
id?: number
5359
repetitions?: number
60+
user_id: string
5461
}
5562
Update: {
56-
id?: number
5763
created_at?: string | null
5864
date?: string
59-
user_id?: string
65+
id?: number
6066
repetitions?: number
67+
user_id?: string
6168
}
69+
Relationships: [
70+
{
71+
foreignKeyName: 'workouts_user_id_fkey'
72+
columns: ['user_id']
73+
isOneToOne: false
74+
referencedRelation: 'pushupers'
75+
referencedColumns: ['user_id']
76+
},
77+
]
6278
}
6379
}
6480
Views: {
@@ -70,5 +86,131 @@ export interface Database {
7086
Enums: {
7187
[_ in never]: never
7288
}
89+
CompositeTypes: {
90+
[_ in never]: never
91+
}
92+
}
93+
}
94+
95+
type DatabaseWithoutInternals = Omit<Database, '__InternalSupabase'>
96+
97+
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, 'public'>]
98+
99+
export type Tables<
100+
DefaultSchemaTableNameOrOptions extends
101+
| keyof (DefaultSchema['Tables'] & DefaultSchema['Views'])
102+
| { schema: keyof DatabaseWithoutInternals },
103+
TableName extends DefaultSchemaTableNameOrOptions extends {
104+
schema: keyof DatabaseWithoutInternals
105+
}
106+
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
107+
& DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])
108+
: never = never,
109+
> = DefaultSchemaTableNameOrOptions extends {
110+
schema: keyof DatabaseWithoutInternals
111+
}
112+
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
113+
& DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends {
114+
Row: infer R
115+
}
116+
? R
117+
: never
118+
: DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema['Tables']
119+
& DefaultSchema['Views'])
120+
? (DefaultSchema['Tables']
121+
& DefaultSchema['Views'])[DefaultSchemaTableNameOrOptions] extends {
122+
Row: infer R
123+
}
124+
? R
125+
: never
126+
: never
127+
128+
export type TablesInsert<
129+
DefaultSchemaTableNameOrOptions extends
130+
| keyof DefaultSchema['Tables']
131+
| { schema: keyof DatabaseWithoutInternals },
132+
TableName extends DefaultSchemaTableNameOrOptions extends {
133+
schema: keyof DatabaseWithoutInternals
134+
}
135+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
136+
: never = never,
137+
> = DefaultSchemaTableNameOrOptions extends {
138+
schema: keyof DatabaseWithoutInternals
139+
}
140+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
141+
Insert: infer I
142+
}
143+
? I
144+
: never
145+
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables']
146+
? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends {
147+
Insert: infer I
148+
}
149+
? I
150+
: never
151+
: never
152+
153+
export type TablesUpdate<
154+
DefaultSchemaTableNameOrOptions extends
155+
| keyof DefaultSchema['Tables']
156+
| { schema: keyof DatabaseWithoutInternals },
157+
TableName extends DefaultSchemaTableNameOrOptions extends {
158+
schema: keyof DatabaseWithoutInternals
73159
}
160+
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables']
161+
: never = never,
162+
> = DefaultSchemaTableNameOrOptions extends {
163+
schema: keyof DatabaseWithoutInternals
74164
}
165+
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends {
166+
Update: infer U
167+
}
168+
? U
169+
: never
170+
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables']
171+
? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends {
172+
Update: infer U
173+
}
174+
? U
175+
: never
176+
: never
177+
178+
export type Enums<
179+
DefaultSchemaEnumNameOrOptions extends
180+
| keyof DefaultSchema['Enums']
181+
| { schema: keyof DatabaseWithoutInternals },
182+
EnumName extends DefaultSchemaEnumNameOrOptions extends {
183+
schema: keyof DatabaseWithoutInternals
184+
}
185+
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums']
186+
: never = never,
187+
> = DefaultSchemaEnumNameOrOptions extends {
188+
schema: keyof DatabaseWithoutInternals
189+
}
190+
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName]
191+
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums']
192+
? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions]
193+
: never
194+
195+
export type CompositeTypes<
196+
PublicCompositeTypeNameOrOptions extends
197+
| keyof DefaultSchema['CompositeTypes']
198+
| { schema: keyof DatabaseWithoutInternals },
199+
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
200+
schema: keyof DatabaseWithoutInternals
201+
}
202+
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes']
203+
: never = never,
204+
> = PublicCompositeTypeNameOrOptions extends {
205+
schema: keyof DatabaseWithoutInternals
206+
}
207+
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName]
208+
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes']
209+
? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions]
210+
: never
211+
212+
export const Constants = {
213+
public: {
214+
Enums: {},
215+
},
216+
} as const

0 commit comments

Comments
 (0)