Release 0.8.0
This commit is contained in:
1 parent
21c0de7dd9
commit
07f2c4607b
47 files changed
+5314
-2303
No files matched your search
@@ -5,44 +5,18 @@ import {
|
||||
createPiece,
|
||||
deletePieceTemplate,
|
||||
duplicatePiece,
|
||||
getTaxonomy,
|
||||
listPieces,
|
||||
listPieceTemplates,
|
||||
setPieceArchived,
|
||||
setPieceDeleted,
|
||||
setPieceFavorite
|
||||
} from '#lib/server/content.js';
|
||||
import { getPieceUsageContexts } from '#lib/server/shows.js';
|
||||
import { fundusSearch, loadFundusWorkspace } from '#lib/server/fundus-workspace.js';
|
||||
|
||||
export const load: PageServerLoad = ({ locals, url }) => {
|
||||
requireUser(locals.user);
|
||||
const filters = {
|
||||
query: url.searchParams.get('q') ?? '',
|
||||
formatId: url.searchParams.get('format') ?? '',
|
||||
topicId: url.searchParams.get('topic') ?? '',
|
||||
categoryId: url.searchParams.get('category') ?? '',
|
||||
status: url.searchParams.get('status') ?? '',
|
||||
includeUsed: url.searchParams.get('includeUsed') === '1',
|
||||
includePlanned: url.searchParams.get('includePlanned') === '1'
|
||||
};
|
||||
const pieces = listPieces({
|
||||
statuses:
|
||||
filters.status === 'ready'
|
||||
? ['ready']
|
||||
: filters.status === 'preparing'
|
||||
? ['preparing']
|
||||
: ['preparing', 'ready'],
|
||||
query: filters.query,
|
||||
formatId: filters.formatId,
|
||||
topicId: filters.topicId,
|
||||
categoryId: filters.categoryId
|
||||
});
|
||||
const usageContexts = getPieceUsageContexts(pieces.map((piece) => piece.id));
|
||||
return {
|
||||
pieces: pieces.map((piece) => ({ ...piece, ...usageContexts[piece.id] })),
|
||||
taxonomy: getTaxonomy(),
|
||||
templates: listPieceTemplates(),
|
||||
filters
|
||||
...loadFundusWorkspace(url),
|
||||
templates: listPieceTemplates()
|
||||
};
|
||||
};
|
||||
|
||||
@@ -54,7 +28,7 @@ function actionError(cause: unknown) {
|
||||
}
|
||||
|
||||
export const actions = {
|
||||
create: async ({ locals, request }) => {
|
||||
create: async ({ locals, request, url }) => {
|
||||
requireUser(locals.user);
|
||||
const data = await request.formData();
|
||||
let id: string;
|
||||
@@ -63,7 +37,7 @@ export const actions = {
|
||||
} catch (cause) {
|
||||
return fail(400, { intent: 'create', error: actionError(cause) });
|
||||
}
|
||||
redirect(303, `/fundus/${id}`);
|
||||
redirect(303, `/fundus/${id}${fundusSearch(url)}`);
|
||||
},
|
||||
deleteTemplate: async ({ locals, request }) => {
|
||||
requireUser(locals.user);
|
||||
@@ -75,7 +49,7 @@ export const actions = {
|
||||
return fail(409, { intent: 'deleteTemplate', error: actionError(cause) });
|
||||
}
|
||||
},
|
||||
duplicate: async ({ locals, request }) => {
|
||||
duplicate: async ({ locals, request, url }) => {
|
||||
requireUser(locals.user);
|
||||
const data = await request.formData();
|
||||
let id: string;
|
||||
@@ -84,7 +58,7 @@ export const actions = {
|
||||
} catch (cause) {
|
||||
return fail(400, { intent: 'duplicate', error: actionError(cause) });
|
||||
}
|
||||
redirect(303, `/fundus/${id}`);
|
||||
redirect(303, `/fundus/${id}${fundusSearch(url)}`);
|
||||
},
|
||||
archive: async ({ locals, request }) => {
|
||||
requireUser(locals.user);
|
||||
@@ -113,7 +87,7 @@ export const actions = {
|
||||
setPieceDeleted(String(data.get('pieceId') || ''), Number(data.get('revision')), true);
|
||||
return {
|
||||
intent: 'delete',
|
||||
success: 'Piece gelöscht. Bestehende Sendungsfassungen bleiben erhalten.'
|
||||
success: 'Piece gelöscht. Bestehende Streamfassungen bleiben erhalten.'
|
||||
};
|
||||
} catch (cause) {
|
||||
return fail(409, { intent: 'delete', error: actionError(cause) });
|
||||
|
||||
Reference in new issue
Block a user