u
This commit is contained in:
@@ -27,6 +27,8 @@ function quoteErrorStatus(error) {
|
||||
if (error.message === 'File name required') return 400;
|
||||
if (error.message === 'Mimetype required') return 400;
|
||||
if (error.message === 'Content required') return 400;
|
||||
if (error.message === 'Invalid attachment order') return 400;
|
||||
if (error.message?.includes('Invalid target id')) return 400;
|
||||
if (error.message?.includes('parent article') || error.message?.includes('A parent article')) return 400;
|
||||
return 500;
|
||||
}
|
||||
|
||||
@@ -46,12 +46,18 @@ export async function list(googleAuthId, opts) {
|
||||
const store = await getStore();
|
||||
const result = await store.quote.list(googleAuthId, opts);
|
||||
if (Array.isArray(result)) {
|
||||
return result.map((q) => enrichQuote(q));
|
||||
const filesList = await Promise.all(
|
||||
result.map((q) => store.manifestattachment.listByManifestId(googleAuthId, q.id).catch(() => []))
|
||||
);
|
||||
return result.map((q, i) => enrichQuote(q, filesList[i]));
|
||||
}
|
||||
if (result && Array.isArray(result.quotes)) {
|
||||
const filesList = await Promise.all(
|
||||
result.quotes.map((q) => store.manifestattachment.listByManifestId(googleAuthId, q.id).catch(() => []))
|
||||
);
|
||||
return {
|
||||
...result,
|
||||
quotes: result.quotes.map((q) => enrichQuote(q)),
|
||||
quotes: result.quotes.map((q, i) => enrichQuote(q, filesList[i])),
|
||||
};
|
||||
}
|
||||
return result;
|
||||
@@ -69,13 +75,16 @@ export async function getById(googleAuthId, id) {
|
||||
export async function create(googleAuthId, data) {
|
||||
const store = await getStore();
|
||||
const quote = await store.quote.create(googleAuthId, data);
|
||||
return enrichQuote(quote);
|
||||
return enrichQuote(quote, []);
|
||||
}
|
||||
|
||||
export async function update(googleAuthId, id, data) {
|
||||
const store = await getStore();
|
||||
const quote = await store.quote.update(googleAuthId, id, data);
|
||||
return enrichQuote(quote);
|
||||
const [quote, files] = await Promise.all([
|
||||
store.quote.update(googleAuthId, id, data),
|
||||
store.manifestattachment.listByManifestId(googleAuthId, id).catch(() => []),
|
||||
]);
|
||||
return enrichQuote(quote, files);
|
||||
}
|
||||
|
||||
export async function remove(googleAuthId, id) {
|
||||
|
||||
Reference in New Issue
Block a user