add image list api

This commit is contained in:
rubikscraft
2022-05-03 21:37:20 +02:00
parent 71beb9f41c
commit dce72d0680
16 changed files with 119 additions and 60 deletions

View File

@@ -0,0 +1,9 @@
import { z } from 'zod';
import { createZodDto } from '../../util/create-zod-dto';
import { IsPosInt } from '../../validators/positive-int.validator';
export const PagedRequestSchema = z.object({
count: IsPosInt(),
page: IsPosInt(),
});
export class PagedRequest extends createZodDto(PagedRequestSchema) {}

View File

@@ -0,0 +1,16 @@
import { z } from 'zod';
import { EImageSchema } from '../../entities/image.entity';
import { createZodDto } from '../../util/create-zod-dto';
import { IsPosInt } from '../../validators/positive-int.validator';
export const ImageUploadResponseSchema = EImageSchema;
export class ImageUploadResponse extends createZodDto(
ImageUploadResponseSchema,
) {}
export const ImageListResponseSchema = z.object({
images: z.array(EImageSchema),
count: IsPosInt(),
page: IsPosInt(),
});
export class ImageListResponse extends createZodDto(ImageListResponseSchema) {}

View File

@@ -40,8 +40,3 @@ export const ImageMetaResponseSchema = z.object({
}),
});
export class ImageMetaResponse extends createZodDto(ImageMetaResponseSchema) {}
export const ImageUploadResponseSchema = EImageSchema;
export class ImageUploadResponse extends createZodDto(
ImageUploadResponseSchema,
) {}

View File

@@ -8,12 +8,6 @@ import { IsStringList } from '../../validators/string-list.validator';
import { EntityIDObjectSchema } from '../id-object.dto';
// UserList
export const UserListRequestSchema = z.object({
count: IsPosInt(),
page: IsPosInt(),
});
export class UserListRequest extends createZodDto(UserListRequestSchema) {}
export const UserListResponseSchema = z.object({
users: z.array(EUserSchema),
count: IsPosInt(),

View File

@@ -1,12 +1,12 @@
// Config
export enum ImageMime {
QOI = 'image/x-qoi',
JPEG = 'image/jpeg',
PNG = 'image/png',
WEBP = 'image/webp',
TIFF = 'image/tiff',
BMP = 'image/bmp',
// ICO = 'image/x-icon',
QOI = 'image/x-qoi',
}
export enum AnimMime {

View File

@@ -4,7 +4,7 @@
// -> the frontend and backend can be somewhat out of sync
export enum Permission {
ImageView = 'image-view',
ImageUpload = 'image-upload',
ImageUpload = 'image-upload', // Ability to upload and manage own images
UserLogin = 'user-login', // Ability to log in
UserKeepLogin = 'user-keep-login', // Ability to view own user details and refresh token
@@ -12,6 +12,7 @@ export enum Permission {
Settings = 'settings', // Ability to view (personal) settings
ImageManage = 'image-manage', // Ability to manage everyones manage images
UserManage = 'user-manage', // Allow modification of users
RoleManage = 'role-manage', // Allow modification of roles
SysPrefManage = 'syspref-manage',