1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2024-11-25 06:49:23 +00:00

Can delete an emoji

This commit is contained in:
Pierre HUBERT 2020-04-03 18:55:50 +02:00
parent 8693c1e556
commit 96ab83af7b
4 changed files with 36 additions and 0 deletions

View File

@ -119,6 +119,8 @@ export const Routes : Route[] = [
{path: "/settings/upload_custom_emoji", cb: (h) => SettingsController.UploadCustomEmoji(h)},
{path: "/settings/delete_custom_emoji", cb: (h) => SettingsController.DeleteCustomEmoji(h)},
// Friends controller
{path: "/friends/getList", cb: (h) => FriendsController.GetList(h)},

View File

@ -286,6 +286,19 @@ export class SettingsController {
}
/**
* Delete a custom emoji of the user
*
* @param h Request handler
*/
public static async DeleteCustomEmoji(h: RequestHandler) {
const emoji = await h.postEmojiID("emojiID");
await CustomEmojisHelper.Delete(emoji);
h.success()
}
/**
* Convert an emoji into an API entry
*

View File

@ -29,4 +29,8 @@ export class CustomEmoji implements CustomEmojiBuilder {
get url() : string {
return pathUserData(this.path, false);
}
get sysPath() : string {
return pathUserData(this.path, true);
}
}

View File

@ -6,6 +6,7 @@
import { CustomEmoji } from "../entities/CustomEmoji";
import { DatabaseHelper } from "./DatabaseHelper";
import { existsSync, unlinkSync } from "fs";
const EMOJIS_TABLE = "comunic_custom_emojis";
@ -62,6 +63,22 @@ export class CustomEmojisHelper {
return this.DbToCustomEmoji(row);
}
/**
* Delete a custom emoji
*
* @param e Information about the emoji to delete
*/
public static async Delete(e: CustomEmoji) {
if(existsSync(e.sysPath))
unlinkSync(e.sysPath)
await DatabaseHelper.DeleteRows(EMOJIS_TABLE, {
id: e.id
})
}
/**
* Turn a database entry into a custom emoji
*