2025-02-21

This commit is contained in:
gcch 2025-02-21 23:23:22 +01:00
commit 5d5918f0d7
69 changed files with 1481 additions and 305 deletions

View file

@ -1,4 +1,4 @@
import { DiaryEntries } from "@/db/schemas";
import { DiaryEntries, Users } from "@/db/schemas";
import { singleResultOrFail } from "@/libs/utils/effects";
import { desc } from "drizzle-orm";
import { Data, Effect } from "effect";
@ -12,11 +12,15 @@ export class ReadApi extends Effect.Service<ReadApi>()("ReadApi", {
effect: Effect.gen(function*() {
const { query } = yield* LocalSqlite;
yield* Effect.logDebug("--- READ-API ---");
return {
getAllEntries: () => query(_ => _.select().from(DiaryEntries)),
getLastAddedEntry: () =>
query(_ => _.select().from(DiaryEntries).limit(1).orderBy(desc(DiaryEntries.dateCreated))).pipe(
singleResultOrFail(() => new ReadApiError({ cause: "Aucune entrée n'a encore été ajoutée." })),
),
getUsers: () => query(_ => _.select().from(Users)),
};
}),
}) {}