From 4cd00d546c495b085487d11f2fe2c4928600dc10 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 14 Nov 2022 23:47:27 +0100 Subject: [feature] Allow newly uploaded emojis to be placed in categories (#939) * [feature] Add emoji categories GET Serialize emojis in appropriate categories; make it possible to get categories via the admin API * [feature] Create (or use existing) category for new emoji uploads * fix lint issue * update misleading line in swagger docs --- internal/api/model/emoji.go | 3 +++ internal/api/model/emojicategory.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 internal/api/model/emojicategory.go (limited to 'internal/api/model') diff --git a/internal/api/model/emoji.go b/internal/api/model/emoji.go index 2fa858596..eb636f63c 100644 --- a/internal/api/model/emoji.go +++ b/internal/api/model/emoji.go @@ -50,4 +50,7 @@ type EmojiCreateRequest struct { Shortcode string `form:"shortcode" validation:"required"` // Image file to use for the emoji. Must be png or gif and no larger than 50kb. Image *multipart.FileHeader `form:"image" validation:"required"` + // Category in which to place the new emoji. Will be uncategorized by default. + // CategoryName length should not exceed 64 characters. + CategoryName string `form:"category"` } diff --git a/internal/api/model/emojicategory.go b/internal/api/model/emojicategory.go new file mode 100644 index 000000000..0a14b303e --- /dev/null +++ b/internal/api/model/emojicategory.go @@ -0,0 +1,29 @@ +/* + GoToSocial + Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +package model + +// EmojiCategory represents a custom emoji category. +// +// swagger:model emojiCategory +type EmojiCategory struct { + // The ID of the custom emoji category. + ID string `json:"id"` + // The name of the custom emoji category. + Name string `json:"name"` +} -- cgit v1.2.3