- additional functionality for DatasetController.ts

- additional validation rules like 'uniqueArray'
- additional Lucid models like BaseModel.ts for filling attributes, Title.ts, Description.ts
- npm updates for @adonisjs/core
This commit is contained in:
Kaimbacher 2023-06-22 17:20:04 +02:00
parent c4f4eff0d9
commit e0ff71b117
44 changed files with 2002 additions and 1556 deletions

View file

@ -1,37 +1,46 @@
import { Ref } from 'vue';
export interface Dataset {
[key: string]: string | Ref<string>| boolean | Array<Title> | Array<Description>| Array<Person> | number | (IErrorMessage | undefined) | Coverage | Array<File>;
language: Ref<string>;
// licenses: Array<number>;
rights: boolean;
type: string;
creating_corporation: string;
[key: string]:
| string
| Ref<string>
| boolean
| Array<Title>
| Array<Description>
| Array<Person>
| number
| (IErrorMessage | undefined)
| Coverage
| Array<File>;
language: Ref<string>;
// licenses: Array<number>;
rights: boolean;
type: string;
creating_corporation: string;
titles: Array<Title>;
descriptions: Array<Description>;
authors: Array<Person>;
contributors: Array<Person>;
project_id?: number;
embargo_date?: string,
coverage: Coverage,
embargo_date?: string;
coverage: Coverage;
errors?: IErrorMessage;
// async (user): Promise<void>;
subjects: Array<Subject>,
files: Array<TestFile> | undefined,
// async (user): Promise<void>;
subjects: Array<Subject>;
files: Array<TestFile> | undefined;
// upload: TethysFile
}
/** Provides information about files and allows JavaScript in a web page to access their content. */
export interface TestFile extends Blob {
readonly lastModified: number;
readonly name: string;
readonly webkitRelativePath: string;
label: string,
sorting: number,
label: string;
sorting: number;
}
// export interface TethysFile {
// export interface TethysFile {
// label: string,
// sorting: number,
// upload: File,
@ -39,10 +48,10 @@ export interface TestFile extends Blob {
export interface Subject {
// id: number;
language: string
type: string;
language: string;
type: string;
value: string;
external_key?: string;
external_key?: string;
}
export interface Title {
@ -68,7 +77,7 @@ export interface Person {
}
interface IErrorMessage {
[key: string]: Array<string>;
[key: string]: Array<string>;
}
export interface Coverage {
@ -84,7 +93,7 @@ export interface Coverage {
depth_max?: number;
depth_absolut?: number;
time_min?: number,
time_max?: number,
time_absolut?: number
}
time_min?: number;
time_max?: number;
time_absolut?: number;
}

View file

@ -1,25 +1,25 @@
export const basic = {
aside: "bg-gray-800",
asideScrollbars: "aside-scrollbars-gray",
asideBrand: "bg-gray-900 text-white",
asideMenuItem: "text-gray-300 hover:text-white",
asideMenuItemActive: "font-bold text-white",
asideMenuDropdown: "bg-gray-700/50",
navBarItemLabel: "text-black",
navBarItemLabelHover: "hover:text-blue-500",
navBarItemLabelActiveColor: "text-blue-600",
overlay: "from-gray-700 via-gray-900 to-gray-700",
};
export const white = {
aside: "bg-white",
asideScrollbars: "aside-scrollbars-light",
asideBrand: "",
asideMenuItem: "text-blue-600 hover:text-black dark:text-white",
asideMenuItemActive: "font-bold text-black dark:text-white",
asideMenuDropdown: "bg-gray-100/75",
navBarItemLabel: "text-blue-600",
navBarItemLabelHover: "hover:text-black",
navBarItemLabelActiveColor: "text-black",
overlay: "from-white via-gray-100 to-white",
};
aside: 'bg-gray-800',
asideScrollbars: 'aside-scrollbars-gray',
asideBrand: 'bg-gray-900 text-white',
asideMenuItem: 'text-gray-300 hover:text-white',
asideMenuItemActive: 'font-bold text-white',
asideMenuDropdown: 'bg-gray-700/50',
navBarItemLabel: 'text-black',
navBarItemLabelHover: 'hover:text-blue-500',
navBarItemLabelActiveColor: 'text-blue-600',
overlay: 'from-gray-700 via-gray-900 to-gray-700',
};
export const white = {
aside: 'bg-white',
asideScrollbars: 'aside-scrollbars-light',
asideBrand: '',
asideMenuItem: 'text-blue-600 hover:text-black dark:text-white',
asideMenuItemActive: 'font-bold text-black dark:text-white',
asideMenuDropdown: 'bg-gray-100/75',
navBarItemLabel: 'text-blue-600',
navBarItemLabelHover: 'hover:text-black',
navBarItemLabelActiveColor: 'text-black',
overlay: 'from-white via-gray-100 to-white',
};