Started implementing PictureService (Testing+JSDoc TODO)

This commit is contained in:
2026-04-03 07:38:53 +02:00
parent f61fcb4daa
commit 7b1d023a94
7 changed files with 359 additions and 19 deletions

View File

@@ -0,0 +1,98 @@
import {PublicUserData, TimeStamp} from "./common.schema";
// Request schemas
export interface GetReq {
userid: string
target: string
}
export interface CreateAlbumReq {
name: string
userid: string
}
export interface FinalizeUploadReq {
userid: string
uploadId: string
}
export interface DeleteImageReq {
userid: string
imageId: string
}
export interface ChangePictureVisibilityReq {
visibility: string
userid: string
imageId: string
}
export interface EditPictureTitleReq {
title: string
userid: string
imageId: string
}
export interface TogglePictureLikeReq {
userid: string
imageId: string
}
export interface PostCommentReq {
comment: string
userid: string
imageId: string
}
export interface ToggleFollowReq {
uploaderId: string
userid: string
}
export interface GetAlbumReq {
userid: string
}
export interface GetCommentsReq {
imageId: string
}
export interface UploadImageReq {
userid: string
picture: string
title: string
visibility: string
album: string
uploadId: string
name: string
}
// Response schemas
export interface GetResp {
userData: PublicUserData
pictures: Album[]
}
export interface DiscoveryResp {
recent: Image[]
mostLiked: Image[]
}
// Types
export interface Album {
created_at: TimeStamp
name: string
albumId: string
images: Image[]
}
export interface Image {
path: string
visibility: string
title: string
imageId: string
uploaded_at: TimeStamp
liked: boolean
likes: number
userData: PublicUserData | null
}