diff --git a/src/module.ts b/src/module.ts index 22446c7757e599b0a0e905d74c4fd863d0d88e9b..e8ec3335f1184de96ac4a678852fb9d1df2a837d 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2,8 +2,9 @@ import { addImportsDir, addRouteMiddleware, addServerHandler, addServerImportsDi } from '@nuxt/kit' import { defu } from 'defu' -export * from './runtime/types' +import type { RoleType } from './runtime/types' +export type { RoleType } export interface ModuleOptions { url: string apiKey: string @@ -54,6 +55,11 @@ export default defineNuxtModule<ModuleOptions>({ async setup(moduleOptions, nuxt) { // We create the `experimental` object if it doesn't exist yet const resolver = createResolver(import.meta.url) + + // nuxt.options.alias['#galaxy'] = resolver.resolve( + // './runtime/types/index', + // ) + // public runtime // nuxt.options.runtimeConfig.public.galaxy ||= {} const runtimeConfig = nuxt.options.runtimeConfig diff --git a/src/runtime/types/index.ts b/src/runtime/types/index.ts index 367f44b85005ad19600986d5ff277e5b14a2204d..9942a4024dc753062428c764e5260d8b798f9403 100644 --- a/src/runtime/types/index.ts +++ b/src/runtime/types/index.ts @@ -3,3 +3,4 @@ export type * from './db' export type * from './serverApi' export type * from './supabase' export type * from './galaxy/galaxyToolParameters' +export type { RoleType } from '../server/db/schema/galaxy/roles' diff --git a/src/runtime/types/supabase.ts b/src/runtime/types/supabase.ts index c9d4ce870dc1e43285fe3da4f3e6562bd7382539..1eba40b8686b70d4260ce0d87ca272c5bdcaba26 100644 --- a/src/runtime/types/supabase.ts +++ b/src/runtime/types/supabase.ts @@ -109,6 +109,13 @@ export type Database = { referencedRelation: 'datasets' referencedColumns: ['id'] }, + { + foreignKeyName: 'analysis_inputs_dataset_id_datasets_id_fk' + columns: ['dataset_id'] + isOneToOne: true + referencedRelation: 'datasets_with_storage_path' + referencedColumns: ['id'] + }, ] } analysis_ouputs: { @@ -148,6 +155,13 @@ export type Database = { referencedRelation: 'datasets' referencedColumns: ['id'] }, + { + foreignKeyName: 'analysis_ouputs_dataset_id_datasets_id_fk' + columns: ['dataset_id'] + isOneToOne: false + referencedRelation: 'datasets_with_storage_path' + referencedColumns: ['id'] + }, { foreignKeyName: 'analysis_ouputs_job_id_jobs_id_fk' columns: ['job_id'] @@ -162,12 +176,12 @@ export type Database = { annotation: string | null created_at: string data_lines: number | null + dataset_name: string extension: string file_size: number galaxy_id: string history_id: number id: number - name: string owner_id: string storage_object_id: string uuid: string @@ -176,12 +190,12 @@ export type Database = { annotation?: string | null created_at?: string data_lines?: number | null + dataset_name: string extension: string file_size: number galaxy_id: string history_id: number id?: number - name: string owner_id: string storage_object_id: string uuid: string @@ -190,12 +204,12 @@ export type Database = { annotation?: string | null created_at?: string data_lines?: number | null + dataset_name?: string extension?: string file_size?: number galaxy_id?: string history_id?: number id?: number - name?: string owner_id?: string storage_object_id?: string uuid?: string @@ -231,6 +245,13 @@ export type Database = { referencedRelation: 'datasets' referencedColumns: ['id'] }, + { + foreignKeyName: 'datasets_to_tags_dataset_id_datasets_id_fk' + columns: ['dataset_id'] + isOneToOne: false + referencedRelation: 'datasets_with_storage_path' + referencedColumns: ['id'] + }, { foreignKeyName: 'datasets_to_tags_tag_id_tags_id_fk' columns: ['tag_id'] @@ -358,6 +379,32 @@ export type Database = { }, ] } + role_permissions: { + Row: { + id: number + permission: Database['galaxy']['Enums']['role_permissions_type'] + role_id: number + } + Insert: { + id?: number + permission: Database['galaxy']['Enums']['role_permissions_type'] + role_id: number + } + Update: { + id?: number + permission?: Database['galaxy']['Enums']['role_permissions_type'] + role_id?: number + } + Relationships: [ + { + foreignKeyName: 'role_permissions_role_id_roles_id_fk' + columns: ['role_id'] + isOneToOne: false + referencedRelation: 'roles' + referencedColumns: ['id'] + }, + ] + } roles: { Row: { id: number @@ -435,25 +482,25 @@ export type Database = { }, ] } - user_profiles: { + user_roles: { Row: { id: number - owner_id: string role_id: number + user_id: string } Insert: { id?: number - owner_id: string role_id: number + user_id: string } Update: { id?: number - owner_id?: string role_id?: number + user_id?: string } Relationships: [ { - foreignKeyName: 'user_profiles_role_id_roles_id_fk' + foreignKeyName: 'user_roles_role_id_roles_id_fk' columns: ['role_id'] isOneToOne: false referencedRelation: 'roles' @@ -531,10 +578,46 @@ export type Database = { } } Views: { - [_ in never]: never + datasets_with_storage_path: { + Row: { + annotation: string | null + created_at: string | null + data_lines: number | null + dataset_name: string | null + extension: string | null + file_size: number | null + galaxy_id: string | null + history_id: number | null + id: number | null + name: string | null + owner_id: string | null + storage_object_id: string | null + uuid: string | null + } + Relationships: [ + { + foreignKeyName: 'datasets_history_id_histories_id_fk' + columns: ['history_id'] + isOneToOne: false + referencedRelation: 'histories' + referencedColumns: ['id'] + }, + ] + } } Functions: { - [_ in never]: never + authorize: { + Args: { + requested_permission: Database['galaxy']['Enums']['role_permissions_type'] + } + Returns: boolean + } + custom_access_token_hook: { + Args: { + event: Json + } + Returns: Json + } } Enums: { dataset_state: @@ -586,6 +669,11 @@ export type Database = { | 'stop' | 'stopped' | 'skipped' + role_permissions_type: + | 'workflows.insert' + | 'workflows.delete' + | 'instances.insert' + | 'instances.delete' role_type: 'admin' | 'user' } CompositeTypes: {