73 lines
1.3 KiB
TypeScript
73 lines
1.3 KiB
TypeScript
export interface SuccessHandler
|
|
{
|
|
success: true;
|
|
session: UserSession;
|
|
}
|
|
export interface ErrorHandler
|
|
{
|
|
success: false;
|
|
error: Error | ZodError<{
|
|
username: string;
|
|
email: string;
|
|
password: string;
|
|
}>;
|
|
}
|
|
export type Return = SuccessHandler | ErrorHandler;
|
|
|
|
export interface Project {
|
|
id: number;
|
|
name: string;
|
|
owner: number;
|
|
home: string;
|
|
summary: string;
|
|
}
|
|
export interface Navigation {
|
|
title: string;
|
|
path: string;
|
|
type: string;
|
|
order: number
|
|
children?: Navigation[];
|
|
}
|
|
export interface File {
|
|
id: number;
|
|
project: number;
|
|
path: string;
|
|
title: string;
|
|
type: 'Markdown' | 'Canvas' | 'File' | 'Folder';
|
|
content: string;
|
|
owner: number;
|
|
}
|
|
export interface Comment {
|
|
file: number;
|
|
user_id: number;
|
|
sequence: number;
|
|
position: number;
|
|
length: number;
|
|
content: string;
|
|
}
|
|
export interface User {
|
|
id: number;
|
|
username: string;
|
|
}
|
|
export interface ProjectSearch extends Project
|
|
{
|
|
pages: number;
|
|
username: string;
|
|
}
|
|
export interface FileSearch extends File
|
|
{
|
|
comments: number;
|
|
username: string;
|
|
}
|
|
export interface CommentSearch extends Comment
|
|
{
|
|
username: string;
|
|
}
|
|
export interface UserSearch extends User
|
|
{
|
|
}
|
|
export interface Search {
|
|
projects: ProjectSearch[];
|
|
files: FileSearch[];
|
|
users: UserSearch[];
|
|
} |