export const DsqlTables = [
    "users",
    "mariadb_users",
    "api_keys",
    "invitations",
    "user_users",
    "delegated_user_tables",
    "user_databases",
    "user_database_tables",
    "user_media",
    "delegated_users",
    "unsubscribes",
    "notifications",
    "docs_pages",
    "docs_page_extra_links",
    "deleted_api_keys",
    "servers",
    "process_queue",
] as const

export type DSQL_DATASQUIREL_USERS = {
    id?: number;
    uuid?: string;
    first_name?: string;
    last_name?: string;
    uid?: string;
    email?: string;
    user_type?: string;
    user_priviledge?: number;
    username?: string;
    password?: string;
    image?: string;
    image_thumbnail?: string;
    social_login?: number;
    social_platform?: string;
    social_id?: string;
    mariadb_user?: string;
    mariadb_host?: string;
    mariadb_pass?: string;
    disk_usage_in_mb?: number;
    verification_status?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_MARIADB_USERS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    username?: string;
    host?: string;
    password?: string;
    primary?: number;
    grants?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_API_KEYS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    name?: string;
    slug?: string;
    key?: string;
    scope?: string;
    csrf?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_INVITATIONS = {
    id?: number;
    uuid?: string;
    inviting_user_id?: number;
    invited_user_email?: string;
    invitation_status?: string;
    database_access?: string;
    priviledge?: string;
    db_tables_data?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_USER_USERS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    invited_user_id?: number;
    database?: string;
    database_access?: string;
    first_name?: string;
    last_name?: string;
    email?: string;
    username?: string;
    password?: string;
    phone?: string;
    user_type?: string;
    user_priviledge?: string;
    image?: string;
    image_thumbnail?: string;
    city?: string;
    state?: string;
    country?: string;
    zip_code?: string;
    address?: string;
    social_login?: number;
    social_platform?: string;
    social_id?: string;
    verification_status?: number;
    more_user_data?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_DELEGATED_USER_TABLES = {
    id?: number;
    uuid?: string;
    delegated_user_id?: number;
    root_user_id?: number;
    database?: string;
    table?: string;
    priviledge?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_USER_DATABASES = {
    id?: number;
    uuid?: string;
    user_id?: number;
    db_name?: string;
    db_slug?: string;
    db_full_name?: string;
    db_image?: string;
    db_description?: string;
    remote_connected?: number;
    remote_connection_type?: string;
    remote_db_full_name?: string;
    remote_connection_host?: string;
    remote_connection_key?: string;
    active_clone?: number;
    active_clone_parent_db?: string;
    active_data?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_USER_DATABASE_TABLES = {
    id?: number;
    uuid?: string;
    user_id?: number;
    db_id?: number;
    db_slug?: string;
    table_name?: string;
    table_slug?: string;
    table_description?: string;
    child_table?: number;
    child_table_parent_database?: string;
    child_table_parent_table?: string;
    active_data?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_USER_MEDIA = {
    id?: number;
    uuid?: string;
    user_id?: number;
    media_name?: string;
    folder?: string;
    media_url?: string;
    media_thumbnail_url?: string;
    media_path?: string;
    media_thumbnail_path?: string;
    media_type?: string;
    width?: number;
    height?: number;
    size?: number;
    private?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_DELEGATED_USERS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    delegated_user_id?: number;
    permissions?: string;
    permission_level_code?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_UNSUBSCRIBES = {
    id?: number;
    uuid?: string;
    user_id?: number;
    email?: string;
    type?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_NOTIFICATIONS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    title?: string;
    message?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_DOCS_PAGES = {
    id?: number;
    uuid?: string;
    title?: string;
    slug?: string;
    description?: string;
    content?: string;
    text_content?: string;
    level?: number;
    page_order?: number;
    parent_id?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_DOCS_PAGE_EXTRA_LINKS = {
    id?: number;
    uuid?: string;
    docs_page_id?: number;
    title?: string;
    description?: string;
    url?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_DELETED_API_KEYS = {
    id?: number;
    uuid?: string;
    user_id?: number;
    key?: string;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_SERVERS = {
    id?: number;
    uuid?: string;
    server_id?: number;
    ip?: string;
    ssh_user?: string;
    ssh_port?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}

export type DSQL_DATASQUIREL_PROCESS_QUEUE = {
    id?: number;
    uuid?: string;
    user_id?: number;
    title?: string;
    job_type?: string;
    data?: string;
    running?: number;
    server_id?: number;
    error?: number;
    error_message?: string;
    success?: number;
    date_created?: string;
    date_created_code?: number;
    date_created_timestamp?: string;
    date_updated?: string;
    date_updated_code?: number;
    date_updated_timestamp?: string;
}