Themes: Add ability to update icon

This commit is contained in:
ADAMJR 2022-01-14 18:21:59 +00:00
parent 372c4410e6
commit 80b1b0cd6a
4 changed files with 10 additions and 6 deletions

View File

@ -15,6 +15,8 @@ router.get('/', async (req, res) => {
router.post('/', updateUser, validateUser, async (req, res) => {
const user: SelfUserDocument = res.locals.user;
deps.themes.parse(req.body.styles);
const theme = await deps.themes.create({
code: req.body.code,
creatorId: user.id,
@ -33,15 +35,17 @@ router.get('/:id', async (req, res) => {
router.patch('/:id', updateUser, validateUser, async (req, res) => {
const { name, styles, iconURL } = req.body;
deps.themes.parse(styles);
const theme = await deps.themes.get(req.params.id);
if (res.locals.user.id !== theme.creatorId)
throw new APIError(403, 'You cannot manage this theme');
if (name) theme.name = name;
if (styles) theme.styles = styles;
if (iconURL) theme.name = name;
if (styles) {
deps.themes.parse(styles);
theme.styles = styles;
}
if (iconURL) theme.iconURL = iconURL;
await theme.save();
res.status(201).json(theme);

View File

@ -6,8 +6,6 @@ services:
ports: [27017:27017]
volumes: [accord:/data/db]
restart: unless-stopped
types:
build: ./types
backend:
container_name: accord_backend
depends_on: [types, database]

View File

@ -153,7 +153,9 @@ const UserSettingsThemes: React.FunctionComponent = () => {
const file = e.currentTarget?.files?.[0];
if (!file) return;
dispatch(uploadFile(file, ({ url }) => setValue('iconURL', url)));
dispatch(uploadFile(file, ({ url }) => {
dispatch(updateTheme(themeId, { iconURL: url }));
}));
}} />
</div>