mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-23 15:13:05 +00:00
Merge branch 'fosscord:master' into milestoneV1/routes/implement/emojis
This commit is contained in:
commit
d359652b24
9 files changed
+94
-21
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm";
|
||||
import { Column, Entity, Index, JoinColumn, ManyToOne, RelationId } from "typeorm";
|
||||
import { BaseClass } from "./BaseClass";
|
||||
import { Channel } from "./Channel";
|
||||
import { Message } from "./Message";
|
||||
@@ -9,8 +9,9 @@ import { User } from "./User";
|
||||
// public read receipt ≥ notification cursor ≥ private fully read marker
|
||||
|
||||
@Entity("read_states")
|
||||
@Index(["channel_id", "user_id"], { unique: true })
|
||||
export class ReadState extends BaseClass {
|
||||
@Column({ nullable: true })
|
||||
@Column()
|
||||
@RelationId((read_state: ReadState) => read_state.channel)
|
||||
channel_id: string;
|
||||
|
||||
@@ -20,7 +21,7 @@ export class ReadState extends BaseClass {
|
||||
})
|
||||
channel: Channel;
|
||||
|
||||
@Column({ nullable: true })
|
||||
@Column()
|
||||
@RelationId((read_state: ReadState) => read_state.user)
|
||||
user_id: string;
|
||||
|
||||
@@ -35,15 +36,15 @@ export class ReadState extends BaseClass {
|
||||
last_message_id: string;
|
||||
|
||||
@JoinColumn({ name: "last_message_id" })
|
||||
@ManyToOne(() => Message)
|
||||
@ManyToOne(() => Message, { nullable: true })
|
||||
last_message?: Message;
|
||||
|
||||
@Column({ nullable: true })
|
||||
last_pin_timestamp?: Date;
|
||||
|
||||
@Column()
|
||||
@Column({ nullable: true })
|
||||
mention_count: number;
|
||||
|
||||
@Column()
|
||||
@Column({ nullable: true })
|
||||
manual: boolean;
|
||||
}
|
||||
@@ -12,7 +12,6 @@ export const Config = {
|
||||
if (config) return config;
|
||||
pairs = await ConfigEntity.find();
|
||||
config = pairsToConfig(pairs);
|
||||
console.log(config.guild.autoJoin);
|
||||
|
||||
return this.set((config || {}).merge(DefaultConfigOptions));
|
||||
},
|
||||
|
||||
+19
-4
@@ -25,15 +25,30 @@ export async function uploadFile(path: string, file: Express.Multer.File) {
|
||||
return result;
|
||||
}
|
||||
|
||||
export async function handleFile(path: string, body?: string): Promise<string | undefined> {
|
||||
if (!body || !body.startsWith("data:")) return body;
|
||||
export async function handleFile(
|
||||
path: string,
|
||||
body?: string
|
||||
): Promise<
|
||||
| (string & {
|
||||
id: string;
|
||||
content_type: string;
|
||||
size: number;
|
||||
url: string;
|
||||
})
|
||||
| undefined
|
||||
> {
|
||||
if (!body || !body.startsWith("data:")) return undefined;
|
||||
try {
|
||||
const mimetype = body.split(":")[1].split(";")[0];
|
||||
const buffer = Buffer.from(body.split(",")[1], "base64");
|
||||
|
||||
// @ts-ignore
|
||||
const { id } = await uploadFile(path, { buffer, mimetype, originalname: "banner" });
|
||||
return id;
|
||||
const file = await uploadFile(path, { buffer, mimetype, originalname: "banner" });
|
||||
const obj = file.id;
|
||||
for (const key in file) {
|
||||
obj[key] = file[key];
|
||||
}
|
||||
return obj;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
throw new HTTPError("Invalid " + path);
|
||||
|
||||
Reference in new issue
Block a user