feat: add album and media management features, including album creation, media upload, and routing
This commit is contained in:
26
libertas-frontend/src/services/album-service.ts
Normal file
26
libertas-frontend/src/services/album-service.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import type { Album } from "@/domain/types"
|
||||
import apiClient from "@/services/api-client"
|
||||
|
||||
export type CreateAlbumPayload = {
|
||||
name: string
|
||||
description?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches a list of albums.
|
||||
* TODO: This should become paginated later.
|
||||
*/
|
||||
export const getAlbums = async (): Promise<Album[]> => {
|
||||
const { data } = await apiClient.get('/albums')
|
||||
return data
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new album.
|
||||
*/
|
||||
export const createAlbum = async (
|
||||
payload: CreateAlbumPayload,
|
||||
): Promise<Album> => {
|
||||
const { data } = await apiClient.post('/albums', payload)
|
||||
return data
|
||||
}
|
||||
Reference in New Issue
Block a user