initial
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@chat-app/db-types",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"description": "Generated Supabase database types (output of `supabase gen types typescript`)",
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc -b",
|
||||
"dev": "tsc -b --watch",
|
||||
"lint": "eslint src --ext .ts",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"test": "echo \"no tests\" && exit 0",
|
||||
"clean": "rm -rf dist .turbo *.tsbuildinfo",
|
||||
"gen": "supabase gen types typescript --local > src/index.ts"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,639 @@
|
||||
export type Json =
|
||||
| string
|
||||
| number
|
||||
| boolean
|
||||
| null
|
||||
| { [key: string]: Json | undefined }
|
||||
| Json[]
|
||||
|
||||
export type Database = {
|
||||
graphql_public: {
|
||||
Tables: {
|
||||
[_ in never]: never
|
||||
}
|
||||
Views: {
|
||||
[_ in never]: never
|
||||
}
|
||||
Functions: {
|
||||
graphql: {
|
||||
Args: {
|
||||
extensions?: Json
|
||||
operationName?: string
|
||||
query?: string
|
||||
variables?: Json
|
||||
}
|
||||
Returns: Json
|
||||
}
|
||||
}
|
||||
Enums: {
|
||||
[_ in never]: never
|
||||
}
|
||||
CompositeTypes: {
|
||||
[_ in never]: never
|
||||
}
|
||||
}
|
||||
public: {
|
||||
Tables: {
|
||||
admin_settings: {
|
||||
Row: {
|
||||
key: string
|
||||
updated_at: string
|
||||
value: Json
|
||||
}
|
||||
Insert: {
|
||||
key: string
|
||||
updated_at?: string
|
||||
value: Json
|
||||
}
|
||||
Update: {
|
||||
key?: string
|
||||
updated_at?: string
|
||||
value?: Json
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
conversation_members: {
|
||||
Row: {
|
||||
accepted: boolean
|
||||
conversation_id: string
|
||||
joined_at: string
|
||||
role: Database["public"]["Enums"]["member_role"]
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
accepted?: boolean
|
||||
conversation_id: string
|
||||
joined_at?: string
|
||||
role?: Database["public"]["Enums"]["member_role"]
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
accepted?: boolean
|
||||
conversation_id?: string
|
||||
joined_at?: string
|
||||
role?: Database["public"]["Enums"]["member_role"]
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "conversation_members_conversation_id_fkey"
|
||||
columns: ["conversation_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "conversations"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
conversations: {
|
||||
Row: {
|
||||
avatar_url: string | null
|
||||
created_at: string
|
||||
created_by: string | null
|
||||
id: string
|
||||
name: string | null
|
||||
type: Database["public"]["Enums"]["conversation_type"]
|
||||
}
|
||||
Insert: {
|
||||
avatar_url?: string | null
|
||||
created_at?: string
|
||||
created_by?: string | null
|
||||
id?: string
|
||||
name?: string | null
|
||||
type: Database["public"]["Enums"]["conversation_type"]
|
||||
}
|
||||
Update: {
|
||||
avatar_url?: string | null
|
||||
created_at?: string
|
||||
created_by?: string | null
|
||||
id?: string
|
||||
name?: string | null
|
||||
type?: Database["public"]["Enums"]["conversation_type"]
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
devices: {
|
||||
Row: {
|
||||
created_at: string
|
||||
id: string
|
||||
last_seen_at: string
|
||||
name: string
|
||||
platform: Database["public"]["Enums"]["device_platform"]
|
||||
public_key: string
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
created_at?: string
|
||||
id?: string
|
||||
last_seen_at?: string
|
||||
name: string
|
||||
platform: Database["public"]["Enums"]["device_platform"]
|
||||
public_key: string
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
created_at?: string
|
||||
id?: string
|
||||
last_seen_at?: string
|
||||
name?: string
|
||||
platform?: Database["public"]["Enums"]["device_platform"]
|
||||
public_key?: string
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
friendships: {
|
||||
Row: {
|
||||
accepted_at: string | null
|
||||
created_at: string
|
||||
requested_by: string
|
||||
status: Database["public"]["Enums"]["friendship_status"]
|
||||
user_hi: string
|
||||
user_lo: string
|
||||
}
|
||||
Insert: {
|
||||
accepted_at?: string | null
|
||||
created_at?: string
|
||||
requested_by: string
|
||||
status?: Database["public"]["Enums"]["friendship_status"]
|
||||
user_hi: string
|
||||
user_lo: string
|
||||
}
|
||||
Update: {
|
||||
accepted_at?: string | null
|
||||
created_at?: string
|
||||
requested_by?: string
|
||||
status?: Database["public"]["Enums"]["friendship_status"]
|
||||
user_hi?: string
|
||||
user_lo?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
invites: {
|
||||
Row: {
|
||||
code: string
|
||||
created_at: string
|
||||
created_by: string | null
|
||||
disabled: boolean
|
||||
expires_at: string | null
|
||||
uses_count: number
|
||||
uses_limit: number | null
|
||||
}
|
||||
Insert: {
|
||||
code: string
|
||||
created_at?: string
|
||||
created_by?: string | null
|
||||
disabled?: boolean
|
||||
expires_at?: string | null
|
||||
uses_count?: number
|
||||
uses_limit?: number | null
|
||||
}
|
||||
Update: {
|
||||
code?: string
|
||||
created_at?: string
|
||||
created_by?: string | null
|
||||
disabled?: boolean
|
||||
expires_at?: string | null
|
||||
uses_count?: number
|
||||
uses_limit?: number | null
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
message_attachments: {
|
||||
Row: {
|
||||
created_at: string
|
||||
height: number | null
|
||||
id: string
|
||||
message_id: string
|
||||
mime_type: string
|
||||
nonce: string
|
||||
size_bytes: number
|
||||
storage_path: string
|
||||
width: number | null
|
||||
}
|
||||
Insert: {
|
||||
created_at?: string
|
||||
height?: number | null
|
||||
id?: string
|
||||
message_id: string
|
||||
mime_type: string
|
||||
nonce: string
|
||||
size_bytes: number
|
||||
storage_path: string
|
||||
width?: number | null
|
||||
}
|
||||
Update: {
|
||||
created_at?: string
|
||||
height?: number | null
|
||||
id?: string
|
||||
message_id?: string
|
||||
mime_type?: string
|
||||
nonce?: string
|
||||
size_bytes?: number
|
||||
storage_path?: string
|
||||
width?: number | null
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "message_attachments_message_id_fkey"
|
||||
columns: ["message_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "messages"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
message_envelopes: {
|
||||
Row: {
|
||||
ciphertext: string
|
||||
message_id: string
|
||||
nonce: string
|
||||
recipient_device_id: string
|
||||
}
|
||||
Insert: {
|
||||
ciphertext: string
|
||||
message_id: string
|
||||
nonce: string
|
||||
recipient_device_id: string
|
||||
}
|
||||
Update: {
|
||||
ciphertext?: string
|
||||
message_id?: string
|
||||
nonce?: string
|
||||
recipient_device_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "message_envelopes_message_id_fkey"
|
||||
columns: ["message_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "messages"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
{
|
||||
foreignKeyName: "message_envelopes_recipient_device_id_fkey"
|
||||
columns: ["recipient_device_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "devices"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
message_reactions: {
|
||||
Row: {
|
||||
created_at: string
|
||||
emoji: string
|
||||
message_id: string
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
created_at?: string
|
||||
emoji: string
|
||||
message_id: string
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
created_at?: string
|
||||
emoji?: string
|
||||
message_id?: string
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "message_reactions_message_id_fkey"
|
||||
columns: ["message_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "messages"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
message_reads: {
|
||||
Row: {
|
||||
message_id: string
|
||||
read_at: string
|
||||
user_id: string
|
||||
}
|
||||
Insert: {
|
||||
message_id: string
|
||||
read_at?: string
|
||||
user_id: string
|
||||
}
|
||||
Update: {
|
||||
message_id?: string
|
||||
read_at?: string
|
||||
user_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "message_reads_message_id_fkey"
|
||||
columns: ["message_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "messages"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
messages: {
|
||||
Row: {
|
||||
conversation_id: string
|
||||
created_at: string
|
||||
deleted_at: string | null
|
||||
deleted_by: string | null
|
||||
edited_at: string | null
|
||||
id: string
|
||||
reply_to_id: string | null
|
||||
sender_device_id: string | null
|
||||
sender_id: string
|
||||
}
|
||||
Insert: {
|
||||
conversation_id: string
|
||||
created_at?: string
|
||||
deleted_at?: string | null
|
||||
deleted_by?: string | null
|
||||
edited_at?: string | null
|
||||
id?: string
|
||||
reply_to_id?: string | null
|
||||
sender_device_id?: string | null
|
||||
sender_id: string
|
||||
}
|
||||
Update: {
|
||||
conversation_id?: string
|
||||
created_at?: string
|
||||
deleted_at?: string | null
|
||||
deleted_by?: string | null
|
||||
edited_at?: string | null
|
||||
id?: string
|
||||
reply_to_id?: string | null
|
||||
sender_device_id?: string | null
|
||||
sender_id?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "messages_conversation_id_fkey"
|
||||
columns: ["conversation_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "conversations"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
{
|
||||
foreignKeyName: "messages_reply_to_id_fkey"
|
||||
columns: ["reply_to_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "messages"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
{
|
||||
foreignKeyName: "messages_sender_device_id_fkey"
|
||||
columns: ["sender_device_id"]
|
||||
isOneToOne: false
|
||||
referencedRelation: "devices"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
profiles: {
|
||||
Row: {
|
||||
allow_dms_from_strangers: boolean
|
||||
avatar_url: string | null
|
||||
banned: boolean
|
||||
blocked_from_inviting: boolean
|
||||
created_at: string
|
||||
display_name: string
|
||||
is_admin: boolean
|
||||
locale: string
|
||||
presence_state: Database["public"]["Enums"]["presence_state"]
|
||||
show_read_receipts: boolean
|
||||
status_message: string | null
|
||||
updated_at: string
|
||||
user_id: string
|
||||
username: string
|
||||
}
|
||||
Insert: {
|
||||
allow_dms_from_strangers?: boolean
|
||||
avatar_url?: string | null
|
||||
banned?: boolean
|
||||
blocked_from_inviting?: boolean
|
||||
created_at?: string
|
||||
display_name: string
|
||||
is_admin?: boolean
|
||||
locale?: string
|
||||
presence_state?: Database["public"]["Enums"]["presence_state"]
|
||||
show_read_receipts?: boolean
|
||||
status_message?: string | null
|
||||
updated_at?: string
|
||||
user_id: string
|
||||
username: string
|
||||
}
|
||||
Update: {
|
||||
allow_dms_from_strangers?: boolean
|
||||
avatar_url?: string | null
|
||||
banned?: boolean
|
||||
blocked_from_inviting?: boolean
|
||||
created_at?: string
|
||||
display_name?: string
|
||||
is_admin?: boolean
|
||||
locale?: string
|
||||
presence_state?: Database["public"]["Enums"]["presence_state"]
|
||||
show_read_receipts?: boolean
|
||||
status_message?: string | null
|
||||
updated_at?: string
|
||||
user_id?: string
|
||||
username?: string
|
||||
}
|
||||
Relationships: []
|
||||
}
|
||||
push_tokens: {
|
||||
Row: {
|
||||
device_id: string
|
||||
platform: Database["public"]["Enums"]["device_platform"]
|
||||
token: string
|
||||
updated_at: string
|
||||
}
|
||||
Insert: {
|
||||
device_id: string
|
||||
platform: Database["public"]["Enums"]["device_platform"]
|
||||
token: string
|
||||
updated_at?: string
|
||||
}
|
||||
Update: {
|
||||
device_id?: string
|
||||
platform?: Database["public"]["Enums"]["device_platform"]
|
||||
token?: string
|
||||
updated_at?: string
|
||||
}
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: "push_tokens_device_id_fkey"
|
||||
columns: ["device_id"]
|
||||
isOneToOne: true
|
||||
referencedRelation: "devices"
|
||||
referencedColumns: ["id"]
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
Views: {
|
||||
[_ in never]: never
|
||||
}
|
||||
Functions: {
|
||||
accept_dm: { Args: { conversation_id: string }; Returns: undefined }
|
||||
are_friends: { Args: { a: string; b: string }; Returns: boolean }
|
||||
attachment_object_conv_id: {
|
||||
Args: { object_name: string }
|
||||
Returns: string
|
||||
}
|
||||
create_dm: { Args: { target_user_id: string }; Returns: string }
|
||||
current_user_is_admin: { Args: never; Returns: boolean }
|
||||
is_conversation_admin: { Args: { cid: string }; Returns: boolean }
|
||||
is_conversation_member: { Args: { cid: string }; Returns: boolean }
|
||||
is_conversation_mod_or_higher: { Args: { cid: string }; Returns: boolean }
|
||||
send_friend_request: {
|
||||
Args: { target_user_id: string }
|
||||
Returns: undefined
|
||||
}
|
||||
}
|
||||
Enums: {
|
||||
conversation_type: "dm" | "group"
|
||||
device_platform: "ios" | "android" | "macos" | "windows" | "linux"
|
||||
friendship_status: "pending" | "accepted" | "blocked"
|
||||
member_role: "admin" | "mod" | "member"
|
||||
presence_state: "online" | "idle" | "dnd" | "invisible" | "offline"
|
||||
}
|
||||
CompositeTypes: {
|
||||
[_ in never]: never
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type DatabaseWithoutInternals = Omit<Database, "__InternalSupabase">
|
||||
|
||||
type DefaultSchema = DatabaseWithoutInternals[Extract<keyof Database, "public">]
|
||||
|
||||
export type Tables<
|
||||
DefaultSchemaTableNameOrOptions extends
|
||||
| keyof (DefaultSchema["Tables"] & DefaultSchema["Views"])
|
||||
| { schema: keyof DatabaseWithoutInternals },
|
||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
|
||||
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])
|
||||
: never = never,
|
||||
> = DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"] &
|
||||
DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Views"])[TableName] extends {
|
||||
Row: infer R
|
||||
}
|
||||
? R
|
||||
: never
|
||||
: DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables"] &
|
||||
DefaultSchema["Views"])
|
||||
? (DefaultSchema["Tables"] &
|
||||
DefaultSchema["Views"])[DefaultSchemaTableNameOrOptions] extends {
|
||||
Row: infer R
|
||||
}
|
||||
? R
|
||||
: never
|
||||
: never
|
||||
|
||||
export type TablesInsert<
|
||||
DefaultSchemaTableNameOrOptions extends
|
||||
| keyof DefaultSchema["Tables"]
|
||||
| { schema: keyof DatabaseWithoutInternals },
|
||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
|
||||
: never = never,
|
||||
> = DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
|
||||
Insert: infer I
|
||||
}
|
||||
? I
|
||||
: never
|
||||
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
|
||||
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
|
||||
Insert: infer I
|
||||
}
|
||||
? I
|
||||
: never
|
||||
: never
|
||||
|
||||
export type TablesUpdate<
|
||||
DefaultSchemaTableNameOrOptions extends
|
||||
| keyof DefaultSchema["Tables"]
|
||||
| { schema: keyof DatabaseWithoutInternals },
|
||||
TableName extends DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"]
|
||||
: never = never,
|
||||
> = DefaultSchemaTableNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions["schema"]]["Tables"][TableName] extends {
|
||||
Update: infer U
|
||||
}
|
||||
? U
|
||||
: never
|
||||
: DefaultSchemaTableNameOrOptions extends keyof DefaultSchema["Tables"]
|
||||
? DefaultSchema["Tables"][DefaultSchemaTableNameOrOptions] extends {
|
||||
Update: infer U
|
||||
}
|
||||
? U
|
||||
: never
|
||||
: never
|
||||
|
||||
export type Enums<
|
||||
DefaultSchemaEnumNameOrOptions extends
|
||||
| keyof DefaultSchema["Enums"]
|
||||
| { schema: keyof DatabaseWithoutInternals },
|
||||
EnumName extends DefaultSchemaEnumNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"]
|
||||
: never = never,
|
||||
> = DefaultSchemaEnumNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions["schema"]]["Enums"][EnumName]
|
||||
: DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema["Enums"]
|
||||
? DefaultSchema["Enums"][DefaultSchemaEnumNameOrOptions]
|
||||
: never
|
||||
|
||||
export type CompositeTypes<
|
||||
PublicCompositeTypeNameOrOptions extends
|
||||
| keyof DefaultSchema["CompositeTypes"]
|
||||
| { schema: keyof DatabaseWithoutInternals },
|
||||
CompositeTypeName extends PublicCompositeTypeNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"]
|
||||
: never = never,
|
||||
> = PublicCompositeTypeNameOrOptions extends {
|
||||
schema: keyof DatabaseWithoutInternals
|
||||
}
|
||||
? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName]
|
||||
: PublicCompositeTypeNameOrOptions extends keyof DefaultSchema["CompositeTypes"]
|
||||
? DefaultSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions]
|
||||
: never
|
||||
|
||||
export const Constants = {
|
||||
graphql_public: {
|
||||
Enums: {},
|
||||
},
|
||||
public: {
|
||||
Enums: {
|
||||
conversation_type: ["dm", "group"],
|
||||
device_platform: ["ios", "android", "macos", "windows", "linux"],
|
||||
friendship_status: ["pending", "accepted", "blocked"],
|
||||
member_role: ["admin", "mod", "member"],
|
||||
presence_state: ["online", "idle", "dnd", "invisible", "offline"],
|
||||
},
|
||||
},
|
||||
} as const
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"noEmit": true,
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"include": ["src/**/*"]
|
||||
}
|
||||
Reference in New Issue
Block a user