feat: unassign faces

This commit is contained in:
martabal
2024-05-11 19:52:23 +02:00
parent 757840c2fd
commit 7e9dcaacff
45 changed files with 1394 additions and 303 deletions

View File

@@ -100,6 +100,10 @@ export type PersonWithFacesResponseDto = {
name: string;
thumbnailPath: string;
};
export type PeopleWithFacesResponseDto = {
faces: PersonWithFacesResponseDto[];
numberOfFaces: number;
};
export type SmartInfoResponseDto = {
objects?: string[] | null;
tags?: string[] | null;
@@ -136,7 +140,7 @@ export type AssetResponseDto = {
originalPath: string;
owner?: UserResponseDto;
ownerId: string;
people?: PersonWithFacesResponseDto[];
people?: PeopleWithFacesResponseDto;
resized: boolean;
smartInfo?: SmartInfoResponseDto;
stack?: AssetResponseDto[];
@@ -535,6 +539,13 @@ export type PartnerResponseDto = {
export type UpdatePartnerDto = {
inTimeline: boolean;
};
export type AssetFaceUpdateItem = {
assetId: string;
personId: string;
};
export type AssetFaceUpdateDto = {
data: AssetFaceUpdateItem[];
};
export type PeopleResponseDto = {
hidden: number;
people: PersonResponseDto[];
@@ -579,13 +590,6 @@ export type PersonUpdateDto = {
export type MergePersonDto = {
ids: string[];
};
export type AssetFaceUpdateItem = {
assetId: string;
personId: string;
};
export type AssetFaceUpdateDto = {
data: AssetFaceUpdateItem[];
};
export type PersonStatisticsResponseDto = {
assets: number;
};
@@ -1699,6 +1703,17 @@ export function getFaces({ id }: {
...opts
}));
}
export function unassignFace({ id }: {
id: string;
}, opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
data: AssetFaceResponseDto;
}>(`/face/${encodeURIComponent(id)}`, {
...opts,
method: "DELETE"
}));
}
export function reassignFacesById({ id, faceDto }: {
id: string;
faceDto: FaceDto;
@@ -2000,6 +2015,18 @@ export function updatePartner({ id, updatePartnerDto }: {
body: updatePartnerDto
})));
}
export function unassignFaces({ assetFaceUpdateDto }: {
assetFaceUpdateDto: AssetFaceUpdateDto;
}, opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
data: BulkIdResponseDto[];
}>("/person", oazapfts.json({
...opts,
method: "DELETE",
body: assetFaceUpdateDto
})));
}
export function getAllPeople({ withHidden }: {
withHidden?: boolean;
}, opts?: Oazapfts.RequestOpts) {