autoblogger 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +36 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +36 -13
- package/dist/index.mjs.map +1 -1
- package/dist/ui.js +9 -5
- package/dist/ui.js.map +1 -1
- package/dist/ui.mjs +9 -5
- package/dist/ui.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -448,41 +448,64 @@ function createPostsData(prisma, hooks) {
|
|
|
448
448
|
});
|
|
449
449
|
},
|
|
450
450
|
async create(data) {
|
|
451
|
-
const
|
|
451
|
+
const { tagIds, ...postData } = data;
|
|
452
|
+
const slug = postData.slug ? await generateUniqueSlug(prisma, postData.slug) : await generateUniqueSlug(prisma, slugify(postData.title));
|
|
452
453
|
const post = await prisma.post.create({
|
|
453
454
|
data: {
|
|
454
|
-
...
|
|
455
|
+
...postData,
|
|
455
456
|
slug,
|
|
456
|
-
markdown:
|
|
457
|
-
status:
|
|
457
|
+
markdown: postData.markdown || "",
|
|
458
|
+
status: postData.status || "draft"
|
|
458
459
|
}
|
|
459
460
|
});
|
|
461
|
+
if (tagIds?.length) {
|
|
462
|
+
await prisma.postTag.createMany({
|
|
463
|
+
data: tagIds.map((tagId) => ({ postId: post.id, tagId }))
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
const result = await prisma.post.findUnique({
|
|
467
|
+
where: { id: post.id },
|
|
468
|
+
include: { tags: { include: { tag: true } } }
|
|
469
|
+
});
|
|
460
470
|
if (hooks?.afterSave) {
|
|
461
|
-
await hooks.afterSave(
|
|
471
|
+
await hooks.afterSave(result);
|
|
462
472
|
}
|
|
463
|
-
return
|
|
473
|
+
return result;
|
|
464
474
|
},
|
|
465
475
|
async update(id, data) {
|
|
466
|
-
|
|
476
|
+
const { tagIds, ...postData } = data;
|
|
477
|
+
if (postData.status === "published") {
|
|
467
478
|
const existing = await prisma.post.findUnique({ where: { id } });
|
|
468
479
|
if (existing?.status !== "published") {
|
|
469
|
-
|
|
480
|
+
postData.publishedAt = /* @__PURE__ */ new Date();
|
|
470
481
|
if (hooks?.beforePublish) {
|
|
471
482
|
await hooks.beforePublish(existing);
|
|
472
483
|
}
|
|
473
484
|
}
|
|
474
485
|
}
|
|
475
|
-
if (
|
|
476
|
-
|
|
486
|
+
if (postData.slug) {
|
|
487
|
+
postData.slug = await generateUniqueSlug(prisma, postData.slug, id);
|
|
477
488
|
}
|
|
478
489
|
const post = await prisma.post.update({
|
|
479
490
|
where: { id },
|
|
480
|
-
data
|
|
491
|
+
data: postData
|
|
492
|
+
});
|
|
493
|
+
if (tagIds !== void 0) {
|
|
494
|
+
await prisma.postTag.deleteMany({ where: { postId: id } });
|
|
495
|
+
if (tagIds.length) {
|
|
496
|
+
await prisma.postTag.createMany({
|
|
497
|
+
data: tagIds.map((tagId) => ({ postId: id, tagId }))
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
const result = await prisma.post.findUnique({
|
|
502
|
+
where: { id },
|
|
503
|
+
include: { tags: { include: { tag: true } } }
|
|
481
504
|
});
|
|
482
505
|
if (hooks?.afterSave) {
|
|
483
|
-
await hooks.afterSave(
|
|
506
|
+
await hooks.afterSave(result);
|
|
484
507
|
}
|
|
485
|
-
return
|
|
508
|
+
return result;
|
|
486
509
|
},
|
|
487
510
|
async delete(id) {
|
|
488
511
|
return prisma.post.update({
|