This commit is contained in:
dswbx
2025-06-21 17:05:27 +02:00
parent 42edce904f
commit 6e78a4c238
37 changed files with 215 additions and 125 deletions
+2 -1
View File
@@ -23,7 +23,8 @@ declare module "core" {
}
}
export class AppMedia extends Module<TAppMediaConfig> {
// @todo: current workaround to make it all required
export class AppMedia extends Module<Required<TAppMediaConfig>> {
private _storage?: Storage;
override async build() {
+37 -12
View File
@@ -23,21 +23,46 @@ export function buildMediaSchema() {
);
});
return s.strictObject({
enabled: s.boolean({ default: false }),
basepath: s.string({ default: "/api/media" }),
entity_name: s.string({ default: "media" }),
storage: s.strictObject(
return s
.strictObject(
{
body_max_size: s.number({
description: "Max size of the body in bytes. Leave blank for unlimited.",
}),
enabled: s.boolean({ default: false }),
basepath: s.string({ default: "/api/media" }),
entity_name: s.string({ default: "media" }),
storage: s
.strictObject({
body_max_size: s.number({
description: "Max size of the body in bytes. Leave blank for unlimited.",
}),
})
.partial(),
adapter: s.anyOf(Object.values(adapterSchemaObject)),
},
{ default: {} },
),
adapter: s.anyOf(Object.values(adapterSchemaObject)).optional(),
});
{
default: {},
},
)
.partial();
}
export const mediaConfigSchema = buildMediaSchema();
export type TAppMediaConfig = s.Static<typeof mediaConfigSchema>;
export type TAppMediaConfig2 = s.ObjectDefaults<(typeof mediaConfigSchema)["properties"]>;
const schema = s.strictObject(
{
enabled: s.boolean({ default: false }),
basepath: s.string({ default: "/api/media" }),
entity_name: s.string({ default: "media" }),
storage: s
.strictObject({
body_max_size: s.number({
description: "Max size of the body in bytes. Leave blank for unlimited.",
}),
})
.partial(),
},
{
default: {},
},
);