refactor: more TS code

This commit is contained in:
Tristan Yang
2022-07-08 10:18:23 +08:00
parent be6822e568
commit 678b8515ca
36 changed files with 210 additions and 220 deletions
+1 -14
View File
@@ -1,3 +1,4 @@
import { User } from "./user";
export interface AuthToken {
// common
server_id: string;
@@ -6,20 +7,6 @@ export interface AuthToken {
expired_in: number;
}
export type Gender = 0 | 1;
export interface User {
uid: number;
email: string;
name: string;
gender: Gender;
language: string;
is_admin: boolean;
avatar_updated_at: number;
create_by: string;
avatar?: string;
}
export interface AuthData extends AuthToken {
initialized?: boolean;
user: User;
+1
View File
@@ -46,6 +46,7 @@ export interface UpdateChannelDTO {
// type = 'user_joined_group' | 'user_leaved_group'
// gid
uid?: number[];
icon?: string;
}
export interface UpdatePinnedMessageDTO {
-36
View File
@@ -1,39 +1,3 @@
export interface EntityId {
id: number;
}
export interface OG {
type: string;
title: string;
url: string;
images: [
{
type?: string;
url: string;
secure_url?: string;
width?: number;
height?: number;
alt?: string;
}
];
audios: [
{
type?: string;
url: string;
secure_url?: string;
}
];
videos: [
{
type?: string;
url: string;
secure_url?: string;
width: number;
height: number;
}
];
favicon_url?: string;
description?: string;
locale?: string;
locale_alternate?: [];
site_name?: string;
}
+13
View File
@@ -1,2 +1,15 @@
export type ContentType = "text/plain" | "text/markdown" | "vocechat/file" | "vocechat/archive";
export type ContentTypeKey = "text" | "markdown" | "file" | "archive";
export interface MuteDTO {
add_users?: {
uid: number;
expired_in: number;
}[];
add_groups?: {
gid: number;
expired_in: number;
}[];
remove_users?: number[];
remove_groups?: number[];
}
+37
View File
@@ -28,3 +28,40 @@ export interface UploadResponse {
height: number;
};
}
// Open Graph
export interface OG {
type: string;
title: string;
url: string;
images: [
{
type?: string;
url: string;
secure_url?: string;
width?: number;
height?: number;
alt?: string;
}
];
audios: [
{
type?: string;
url: string;
secure_url?: string;
}
];
videos: [
{
type?: string;
url: string;
secure_url?: string;
width: number;
height: number;
}
];
favicon_url?: string;
description?: string;
locale?: string;
locale_alternate?: [];
site_name?: string;
}
+1 -1
View File
@@ -1,5 +1,5 @@
// call `organization` in backend
import { User } from "./auth";
import { User } from "./user";
export interface Server {
name: string;
+33
View File
@@ -0,0 +1,33 @@
export type Gender = 0 | 1;
export interface User {
uid: number;
email: string;
name: string;
gender: Gender;
language: string;
is_admin: boolean;
avatar_updated_at: number;
create_by: string;
avatar?: string;
}
export type UserStatus = "normal" | "frozen";
export type UserDevice = {
device: string;
device_token?: string;
is_online: boolean;
};
export interface UserForAdmin extends User {
password: string;
in_online: boolean;
updated_at: number;
status: UserStatus;
online_devices: UserDevice[];
}
export interface UserForAdminDTO
extends Pick<
UserForAdmin,
"email" | "password" | "name" | "gender" | "is_admin" | "language" | "status"
> {}
export interface UserDTO extends Pick<User, "name" | "gender" | "language"> {}