portfolio/types/database.types.ts
Ryan Freeman e2306d6200
All checks were successful
Build And Publish / BuildAndPublish (push) Successful in 3m13s
Added comment reply functionality
2025-04-02 22:50:03 +01:00

250 lines
6.8 KiB
TypeScript

export type Json =
| string
| number
| boolean
| null
| { [key: string]: Json | undefined }
| Json[]
export type Database = {
public: {
Tables: {
analytics: {
Row: {
article_id: number
created_at: string | null
id: number
views: number
}
Insert: {
article_id: number
created_at?: string | null
id?: number
views?: number
}
Update: {
article_id?: number
created_at?: string | null
id?: number
views?: number
}
Relationships: [
{
foreignKeyName: "analytics_article_id_fkey"
columns: ["article_id"]
isOneToOne: false
referencedRelation: "articles"
referencedColumns: ["id"]
},
]
}
articles: {
Row: {
created_at: string | null
id: number
slug: string
title: string | null
}
Insert: {
created_at?: string | null
id?: number
slug: string
title?: string | null
}
Update: {
created_at?: string | null
id?: number
slug?: string
title?: string | null
}
Relationships: []
}
comments: {
Row: {
article_id: number
content: string
created_at: string | null
id: number
published: boolean | null
user_id: number
}
Insert: {
article_id: number
content: string
created_at?: string | null
id?: number
published?: boolean | null
user_id: number
}
Update: {
article_id?: number
content?: string
created_at?: string | null
id?: number
published?: boolean | null
user_id?: number
}
Relationships: [
{
foreignKeyName: "comments_article_id_fkey"
columns: ["article_id"]
isOneToOne: false
referencedRelation: "articles"
referencedColumns: ["id"]
},
{
foreignKeyName: "comments_user_id_fkey"
columns: ["user_id"]
isOneToOne: false
referencedRelation: "users"
referencedColumns: ["id"]
},
]
}
users: {
Row: {
created_at: string | null
email: string
id: number
image: string | null
name: string
}
Insert: {
created_at?: string | null
email: string
id?: number
image?: string | null
name: string
}
Update: {
created_at?: string | null
email?: string
id?: number
image?: string | null
name?: string
}
Relationships: []
}
}
Views: {
[_ in never]: never
}
Functions: {
increment_views: {
Args: {
param_slug: string
param_title: string
}
Returns: undefined
}
total_views: {
Args: Record<PropertyKey, never>
Returns: number
}
}
Enums: {
[_ in never]: never
}
CompositeTypes: {
[_ in never]: never
}
}
}
type PublicSchema = Database[Extract<keyof Database, "public">]
export type Tables<
PublicTableNameOrOptions extends
| keyof (PublicSchema["Tables"] & PublicSchema["Views"])
| { schema: keyof Database },
TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
Database[PublicTableNameOrOptions["schema"]]["Views"])
: never = never,
> = PublicTableNameOrOptions extends { schema: keyof Database }
? (Database[PublicTableNameOrOptions["schema"]]["Tables"] &
Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends {
Row: infer R
}
? R
: never
: PublicTableNameOrOptions extends keyof (PublicSchema["Tables"] &
PublicSchema["Views"])
? (PublicSchema["Tables"] &
PublicSchema["Views"])[PublicTableNameOrOptions] extends {
Row: infer R
}
? R
: never
: never
export type TablesInsert<
PublicTableNameOrOptions extends
| keyof PublicSchema["Tables"]
| { schema: keyof Database },
TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
: never = never,
> = PublicTableNameOrOptions extends { schema: keyof Database }
? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
Insert: infer I
}
? I
: never
: PublicTableNameOrOptions extends keyof PublicSchema["Tables"]
? PublicSchema["Tables"][PublicTableNameOrOptions] extends {
Insert: infer I
}
? I
: never
: never
export type TablesUpdate<
PublicTableNameOrOptions extends
| keyof PublicSchema["Tables"]
| { schema: keyof Database },
TableName extends PublicTableNameOrOptions extends { schema: keyof Database }
? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"]
: never = never,
> = PublicTableNameOrOptions extends { schema: keyof Database }
? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends {
Update: infer U
}
? U
: never
: PublicTableNameOrOptions extends keyof PublicSchema["Tables"]
? PublicSchema["Tables"][PublicTableNameOrOptions] extends {
Update: infer U
}
? U
: never
: never
export type Enums<
PublicEnumNameOrOptions extends
| keyof PublicSchema["Enums"]
| { schema: keyof Database },
EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database }
? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"]
: never = never,
> = PublicEnumNameOrOptions extends { schema: keyof Database }
? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName]
: PublicEnumNameOrOptions extends keyof PublicSchema["Enums"]
? PublicSchema["Enums"][PublicEnumNameOrOptions]
: never
export type CompositeTypes<
PublicCompositeTypeNameOrOptions extends
| keyof PublicSchema["CompositeTypes"]
| { schema: keyof Database },
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
schema: keyof Database
}
? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
: never = never,
> = PublicCompositeTypeNameOrOptions extends { schema: keyof Database }
? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
: PublicCompositeTypeNameOrOptions extends keyof PublicSchema["CompositeTypes"]
? PublicSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
: never