forked from Mike/freno-dev
123 lines
2.4 KiB
TypeScript
123 lines
2.4 KiB
TypeScript
export interface User {
|
|
id: string;
|
|
email?: string | null;
|
|
email_verified: number;
|
|
password_hash?: string | null;
|
|
display_name?: string | null;
|
|
provider?: "email" | "google" | "github" | null;
|
|
image?: string | null;
|
|
apple_user_string?: string | null;
|
|
database_name?: string | null;
|
|
database_token?: string | null;
|
|
database_url?: string | null;
|
|
db_destroy_date?: string | null;
|
|
created_at: string;
|
|
updated_at: string;
|
|
failed_attempts?: number;
|
|
locked_until?: string | null;
|
|
}
|
|
|
|
export interface Session {
|
|
id: string;
|
|
user_id: string;
|
|
token_family: string;
|
|
created_at: string;
|
|
expires_at: string;
|
|
last_used: string;
|
|
ip_address?: string | null;
|
|
user_agent?: string | null;
|
|
revoked: number;
|
|
}
|
|
|
|
export interface PasswordResetToken {
|
|
id: string;
|
|
token: string;
|
|
user_id: string;
|
|
expires_at: string;
|
|
used_at?: string | null;
|
|
created_at: string;
|
|
}
|
|
|
|
export interface Post {
|
|
id: number;
|
|
category: "blog" | "project"; // this is no longer used
|
|
title: string;
|
|
subtitle?: string;
|
|
body: string;
|
|
banner_photo?: string;
|
|
date?: string | null;
|
|
published: boolean;
|
|
author_id: string;
|
|
reads: number;
|
|
attachments?: string;
|
|
last_edited_date?: string | null;
|
|
}
|
|
|
|
export interface PostLike {
|
|
id: number;
|
|
user_id: string;
|
|
post_id: number;
|
|
}
|
|
|
|
export interface Comment {
|
|
id: number;
|
|
body: string;
|
|
post_id: number;
|
|
parent_comment_id?: number;
|
|
date: string;
|
|
edited: boolean;
|
|
commenter_id: string;
|
|
}
|
|
|
|
export interface CommentReaction {
|
|
id: number;
|
|
type: string;
|
|
comment_id: number;
|
|
user_id: string;
|
|
}
|
|
|
|
export interface Connection {
|
|
id: number;
|
|
user_id: string;
|
|
connection_id: string;
|
|
post_id?: number;
|
|
}
|
|
|
|
export interface Tag {
|
|
id: number;
|
|
value: string;
|
|
post_id: number;
|
|
}
|
|
|
|
export interface PostWithCommentsAndLikes {
|
|
id: number;
|
|
category: "blog" | "project"; // this is no longer used
|
|
title: string;
|
|
subtitle: string;
|
|
body: string;
|
|
banner_photo: string;
|
|
date?: string | null;
|
|
published: boolean;
|
|
author_id: string;
|
|
reads: number;
|
|
attachments: string;
|
|
total_likes: number;
|
|
total_comments: number;
|
|
last_edited_date?: string | null;
|
|
}
|
|
export interface PostWithTags {
|
|
id: number;
|
|
category: "blog" | "project"; // this is no longer used
|
|
title: string;
|
|
subtitle: string;
|
|
body: string;
|
|
banner_photo: string;
|
|
date?: string | null;
|
|
published: boolean;
|
|
author_id: string;
|
|
reads: number;
|
|
attachments: string;
|
|
tags: Tag[];
|
|
last_edited_date?: string | null;
|
|
}
|