sipher/database.types.ts
Nyxian 17ce35ed6c This is hard
Dealing with realtime is actually really hard (imposter syndrome is hitting real hard rn)
2024-12-13 17:46:14 -03:00

297 lines
16 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export type Json =
| string
| number
| boolean
| null
| { [key: string]: Json | undefined }
| Json[]
export type Database = {
public: {
Tables: {
message_threads: {
Row: {
created_at: string
id: string
}
Insert: {
created_at?: string
id?: string
}
Update: {
created_at?: string
id?: string
}
Relationships: []
}
messages: {
Row: {
created_at: string
id: string
recipient_content: string
sender_content: string
sender_uuid: string
thread_id: string | null
}
Insert: {
created_at?: string
id?: string
recipient_content: string
sender_content: string
sender_uuid: string
thread_id?: string | null
}
Update: {
created_at?: string
id?: string
recipient_content?: string
sender_content?: string
sender_uuid?: string
thread_id?: string | null
}
Relationships: [
{
foreignKeyName: "messages_sender_uuid_fkey"
columns: ["sender_uuid"]
isOneToOne: false
referencedRelation: "users"
referencedColumns: ["uuid"]
},
{
foreignKeyName: "messages_thread_id_fkey"
columns: ["thread_id"]
isOneToOne: false
referencedRelation: "message_threads"
referencedColumns: ["id"]
},
]
}
thread_participants: {
Row: {
thread_id: string
user_uuid: string
}
Insert: {
thread_id: string
user_uuid: string
}
Update: {
thread_id?: string
user_uuid?: string
}
Relationships: [
{
foreignKeyName: "thread_participants_thread_id_fkey"
columns: ["thread_id"]
isOneToOne: false
referencedRelation: "message_threads"
referencedColumns: ["id"]
},
{
foreignKeyName: "thread_participants_user_uuid_fkey"
columns: ["user_uuid"]
isOneToOne: false
referencedRelation: "users"
referencedColumns: ["uuid"]
},
]
}
users: {
Row: {
created_at: string
indexable: boolean | null
public_key: Json | null
requests: string[] | null
suuid: string
username: string
uuid: string
}
Insert: {
created_at?: string
indexable?: boolean | null
public_key?: Json | null
requests?: string[] | null
suuid: string
username: string
uuid?: string
}
Update: {
created_at?: string
indexable?: boolean | null
public_key?: Json | null
requests?: string[] | null
suuid?: string
username?: string
uuid?: string
}
Relationships: []
}
}
Views: {
[_ in never]: never
}
Functions: {
create_private_thread: {
Args: {
participant_suuid: string
}
Returns: string
}
generate_short_uuid: {
Args: Record<PropertyKey, never>
Returns: string
}
get_user_threads: {
Args: {
user_id: string
}
Returns: {
thread_id: string
participants: string[]
messages: Json[]
}[]
}
is_thread_participant: {
Args: {
thread_uuid: string
}
Returns: boolean
}
search_users: {
Args: {
search_term: string
}
Returns: {
uuid: string
suuid: string
username: string
indexable: boolean
}[]
}
send_message: {
Args: {
thread_id: string
sender_content: string
recipient_content: string
}
Returns: string
}
update_user_public_key: {
Args: {
new_public_key: Json
}
Returns: boolean
}
update_user_requests: {
Args: {
search_term: string
new_request: string
}
Returns: boolean
}
}
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