Skip to content

Commit

Permalink
Add last revision data to frontend requests
Browse files Browse the repository at this point in the history
  • Loading branch information
Zokhoi committed Oct 7, 2024
1 parent 9512204 commit bd77ca7
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 2 deletions.
8 changes: 8 additions & 0 deletions framerail/src/lib/server/deepwell/page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ export async function pageDelete(
pageId: Optional<number>,
userId: number,
slug: string,
lastRevisionId: number,
revisionComments: Optional<string>
): Promise<object> {
return client.request("page_delete", {
site_id: siteId,
page: pageId ?? slug,
user_id: userId,
last_revision_id: lastRevisionId,
revision_comments: revisionComments
})
}
Expand All @@ -23,6 +25,7 @@ export async function pageEdit(
pageId: Optional<number>,
userId: number,
slug: string,
lastRevisionId: Optional<number>,
revisionComments: Optional<string>,
wikitext: Optional<string>,
title: Optional<string>,
Expand All @@ -35,6 +38,7 @@ export async function pageEdit(
page: pageId ?? slug,
slug,
user_id: userId,
last_revision_id: lastRevisionId,
revision_comments: revisionComments,
wikitext,
title,
Expand Down Expand Up @@ -67,6 +71,7 @@ export async function pageMove(
pageId: Optional<number>,
userId: number,
slug: string,
lastRevisionId: number,
newSlug: string,
revisionComments: Optional<string>
): Promise<object> {
Expand All @@ -75,6 +80,7 @@ export async function pageMove(
page: pageId ?? slug,
new_slug: newSlug,
user_id: userId,
last_revision_id: lastRevisionId,
revision_comments: revisionComments
})
}
Expand Down Expand Up @@ -102,13 +108,15 @@ export async function pageRollback(
pageId: Optional<number>,
userId: number,
slug: string,
lastRevisionId: number,
revisionNumber: Optional<number>,
revisionComments: Optional<string>
): Promise<object> {
return client.request("page_rollback", {
site_id: siteId,
page: pageId ?? slug,
user_id: userId,
last_revision_id: lastRevisionId,
revision_number: revisionNumber ?? defaults.page.history.revisionNumber,
revision_comments: revisionComments
})
Expand Down
29 changes: 27 additions & 2 deletions framerail/src/routes/[slug]/[...extra]/+server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,15 @@ export async function POST(event) {
let tags: string[] = []
if (tagsStr?.length) tags = tagsStr.split(" ").filter((tag) => tag.length)
let layout = data.get("layout")?.toString().trim()
let lastRevIdStr = data.get("last-revision-id")?.toString().trim()
let lastRevId = lastRevIdStr ? parseInt(lastRevIdStr) : null

res = await page.pageEdit(
siteId,
pageId,
session?.user_id,
slug,
lastRevId,
comments,
wikitext,
title,
Expand All @@ -61,8 +64,18 @@ export async function POST(event) {
/** Move page to new slug. */
let comments = data.get("comments")?.toString() ?? ""
let newSlug = data.get("new-slug")?.toString()
let lastRevIdStr = data.get("last-revision-id")?.toString().trim()
let lastRevId = lastRevIdStr ? parseInt(lastRevIdStr) : null

res = await page.pageMove(siteId, pageId, session?.user_id, slug, newSlug, comments)
res = await page.pageMove(
siteId,
pageId,
session?.user_id,
slug,
lastRevId,
newSlug,
comments
)
} else if (extra.includes("revision")) {
let revisionNumberStr = data.get("revision-number")?.toString()
let compiledHtml = data.get("compiled-html")?.toString() === "true"
Expand All @@ -80,12 +93,15 @@ export async function POST(event) {
let revisionNumberStr = data.get("revision-number")?.toString()
let revisionNumber = revisionNumberStr ? parseInt(revisionNumberStr) : null
let comments = data.get("comments")?.toString() ?? ""
let lastRevIdStr = data.get("last-revision-id")?.toString().trim()
let lastRevId = lastRevIdStr ? parseInt(lastRevIdStr) : null

res = await page.pageRollback(
siteId,
pageId,
session?.user_id,
slug,
lastRevId,
revisionNumber,
comments
)
Expand Down Expand Up @@ -153,9 +169,18 @@ export async function DELETE(event) {
let siteIdVal = data.get("site-id")?.toString()
let siteId = siteIdVal ? parseInt(siteIdVal) : null
let comments = data.get("comments")?.toString() ?? ""
let lastRevIdStr = data.get("last-revision-id")?.toString().trim()
let lastRevId = lastRevIdStr ? parseInt(lastRevIdStr) : null

try {
let res = await page.pageDelete(siteId, pageId, session?.user_id, slug, comments)
let res = await page.pageDelete(
siteId,
pageId,
session?.user_id,
slug,
lastRevId,
comments
)
return new Response(JSON.stringify(res))
} catch (error) {
return new Response(
Expand Down
4 changes: 4 additions & 0 deletions framerail/src/routes/[slug]/[...extra]/page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
let fdata = new FormData()
fdata.set("site-id", $page.data.site.site_id)
fdata.set("page-id", $page.data.page.page_id)
fdata.set("last-revision-id", $page.data.page_revision.revision_id)
let res = await fetch(`/${$page.data.page.slug}`, {
method: "DELETE",
body: fdata
Expand Down Expand Up @@ -63,6 +64,7 @@
let fdata = new FormData(form)
fdata.set("site-id", $page.data.site.site_id)
fdata.set("page-id", $page.data.page.page_id)
fdata.set("last-revision-id", $page.data.page_revision.revision_id)
let res = await fetch(`/${$page.data.page.slug}/edit`, {
method: "POST",
body: fdata
Expand Down Expand Up @@ -92,6 +94,7 @@
}
fdata.set("site-id", $page.data.site.site_id)
fdata.set("page-id", $page.data.page.page_id)
fdata.set("last-revision-id", $page.data.page_revision.revision_id)
let res = await fetch(`/${$page.data.page.slug}/move`, {
method: "POST",
body: fdata
Expand Down Expand Up @@ -258,6 +261,7 @@
fdata.set("site-id", $page.data.site.site_id)
fdata.set("page-id", $page.data.page.page_id)
fdata.set("revision-number", revisionNumber)
fdata.set("last-revision-id", $page.data.page_revision.revision_id)
if (comments !== undefined) fdata.set("comments", comments)
let res = await fetch(`/${$page.data.page.slug}/rollback`, {
method: "POST",
Expand Down

0 comments on commit bd77ca7

Please sign in to comment.