fix: docuemnt tags zero length insert

This commit is contained in:
monoid 2024-11-07 05:17:32 +09:00
parent 39d66e5280
commit 67466b4968

View File

@ -88,12 +88,14 @@ class SqliteDocumentAccessor implements DocumentAccessor {
.executeTakeFirst() as { id: number }; .executeTakeFirst() as { id: number };
const id = id_lst.id; const id = id_lst.id;
// add tags if (tags.length > 0){
await trx.insertInto("tags") // add tags
.values(tags.map((x) => ({ name: x }))) await trx.insertInto("tags")
// on conflict is supported in sqlite and postgresql. .values(tags.map((x) => ({ name: x })))
.onConflict((oc) => oc.doNothing()) // on conflict is supported in sqlite and postgresql.
.execute(); .onConflict((oc) => oc.doNothing())
.execute();
}
if (tags.length > 0) { if (tags.length > 0) {
await trx.insertInto("doc_tag_relation") await trx.insertInto("doc_tag_relation")
@ -310,10 +312,12 @@ class SqliteDocumentAccessor implements DocumentAccessor {
.where("doc_id", "=", c.id) .where("doc_id", "=", c.id)
.execute(); .execute();
// update tags and doc_tag_relation // update tags and doc_tag_relation
await trx.insertInto("tags") if (tags.length > 0) {
.values(tags.map((x) => ({ name: x }))) await trx.insertInto("tags")
.onConflict((oc) => oc.doNothing()) .values(tags.map((x) => ({ name: x })))
.execute(); .onConflict((oc) => oc.doNothing())
.execute();
}
await trx.insertInto("doc_tag_relation") await trx.insertInto("doc_tag_relation")
.values(tags.map((x) => ({ tag_name: x, doc_id: c.id })) .values(tags.map((x) => ({ tag_name: x, doc_id: c.id }))
) )