better handling of empty lists

This commit is contained in:
2025-08-25 14:31:11 +01:00
parent fe0968716d
commit 61d2b81e8c
3 changed files with 22 additions and 11 deletions

View File

@ -104,10 +104,10 @@ func (m UserModel) ListWithImages(ctx context.Context, userId uuid.UUID) ([]List
).
FROM(
Lists.
INNER_JOIN(ImageLists, ImageLists.ListID.EQ(Lists.ID)).
INNER_JOIN(Schemas, Schemas.ListID.EQ(Lists.ID)).
INNER_JOIN(SchemaItems, SchemaItems.SchemaID.EQ(Schemas.ID)).
INNER_JOIN(ImageSchemaItems, ImageSchemaItems.ImageID.EQ(ImageLists.ImageID)),
LEFT_JOIN(ImageLists, ImageLists.ListID.EQ(Lists.ID)).
LEFT_JOIN(ImageSchemaItems, ImageSchemaItems.ImageID.EQ(ImageLists.ImageID)),
).
WHERE(Lists.UserID.EQ(UUID(userId)))

View File

@ -3,6 +3,7 @@ import {
type Component,
type ParentProps,
createContext,
createEffect,
createMemo,
createResource,
useContext,
@ -29,6 +30,10 @@ const SearchImageContext = createContext<SearchImageStore>();
export const SearchImageContextProvider: Component<ParentProps> = (props) => {
const [data, { refetch }] = createResource(getUserImages);
createEffect(() => {
console.log(data());
});
const sortedImages = createMemo<ReturnType<SearchImageStore["imagesByDate"]>>(
() => {
const d = data();

View File

@ -10,6 +10,7 @@ import {
pipe,
strictObject,
string,
transform,
union,
uuid,
} from "valibot";
@ -127,20 +128,25 @@ const listValidator = strictObject({
Name: string(),
Description: nullable(string()),
Images: array(
strictObject({
ID: pipe(string(), uuid()),
ImageID: pipe(string(), uuid()),
ListID: pipe(string(), uuid()),
Items: array(
Images: pipe(
nullable(
array(
strictObject({
ID: pipe(string(), uuid()),
ImageID: pipe(string(), uuid()),
SchemaItemID: pipe(string(), uuid()),
Value: string(),
ListID: pipe(string(), uuid()),
Items: array(
strictObject({
ID: pipe(string(), uuid()),
ImageID: pipe(string(), uuid()),
SchemaItemID: pipe(string(), uuid()),
Value: string(),
}),
),
}),
),
}),
),
transform((n) => n ?? []),
),
Schema: strictObject({