feat: add UploadZone component and database utility for file processing
This commit is contained in:
@@ -8,22 +8,26 @@ export async function getTopics() {
|
||||
|
||||
export async function saveTopics(topics) {
|
||||
const existing = await pb.collection('topics').getFullList({ fields: 'id' });
|
||||
await Promise.all(existing.map(r => pb.collection('topics').delete(r.id, { requestKey: null })));
|
||||
return Promise.all(topics.map(t => pb.collection('topics').create({
|
||||
id: t.id,
|
||||
label: t.label,
|
||||
type: t.type,
|
||||
description: t.description,
|
||||
learning_relevance: t.learning_relevance || 'standard',
|
||||
}, { requestKey: null })));
|
||||
for (const r of existing) {
|
||||
await pb.collection('topics').delete(r.id, { requestKey: null });
|
||||
}
|
||||
for (const t of topics) {
|
||||
await pb.collection('topics').create({
|
||||
id: t.id,
|
||||
label: t.label,
|
||||
type: t.type,
|
||||
description: t.description,
|
||||
learning_relevance: t.learning_relevance || 'standard',
|
||||
}, { requestKey: null });
|
||||
}
|
||||
}
|
||||
|
||||
export async function upsertTopic(topic) {
|
||||
try {
|
||||
await pb.collection('topics').getOne(topic.id);
|
||||
return pb.collection('topics').update(topic.id, topic);
|
||||
return await pb.collection('topics').update(topic.id, topic);
|
||||
} catch {
|
||||
return pb.collection('topics').create({ id: topic.id, ...topic });
|
||||
return await pb.collection('topics').create({ id: topic.id, ...topic });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +39,12 @@ export async function getRelations() {
|
||||
|
||||
export async function saveRelations(relations) {
|
||||
const existing = await pb.collection('relations').getFullList({ fields: 'id' });
|
||||
await Promise.all(existing.map(r => pb.collection('relations').delete(r.id, { requestKey: null })));
|
||||
return Promise.all(relations.map(r => pb.collection('relations').create(r, { requestKey: null })));
|
||||
for (const r of existing) {
|
||||
await pb.collection('relations').delete(r.id, { requestKey: null });
|
||||
}
|
||||
for (const r of relations) {
|
||||
await pb.collection('relations').create(r, { requestKey: null });
|
||||
}
|
||||
}
|
||||
|
||||
export async function addRelation(relation) {
|
||||
|
||||
Reference in New Issue
Block a user