Files
website/astro/src/content/photos/photos.ts
2026-03-15 22:16:07 +01:00

37 lines
1.1 KiB
TypeScript

import { createDirectusConnection } from "@/lib/directus";
import { print } from "graphql";
import getPhotos from '@/graphql/photos/getPhotos.graphql';
import md5 from "md5";
export async function getPhotoFromHash(albumUrl: string, hash: string): Promise<PhotoAlbumPhoto | null> {
const client = await createDirectusConnection();
const result = await client.query(print(getPhotos), {
albumUrl: albumUrl
});
let object: PhotoAlbumPhoto | null = null;
result["Photo_Albums"][0]["photos"].forEach((photo: any) => {
const hashObject = md5(JSON.stringify({
id: photo.id,
url: photo.photo.filename_disk,
width: photo.photo.width,
height: photo.photo.height
}));
if (hashObject.substring(hashObject.length - 10) === hash) {
object = {
id: photo.id,
text: photo.text,
photo: {
url: photo.photo.url,
width: photo.photo.width,
height: photo.photo.height
}
}
}
});
return object;
}