Apply patch [skip ci]
This commit is contained in:
parent
2936656d96
commit
cbf1357654
50
routes/api/update/lease_accept.ts
Normal file
50
routes/api/update/lease_accept.ts
Normal file
@ -0,0 +1,50 @@
|
||||
// routes/api/update/lease_accept.ts
|
||||
import { define } from "../../../utils.ts";
|
||||
import { signLease } from "../../../services/leaseService.ts";
|
||||
import { SessionCookie } from "../../auth/callback.ts";
|
||||
|
||||
export const handler = define.handlers({
|
||||
async POST(ctx) {
|
||||
try {
|
||||
const stateData: SessionCookie = ctx.state.data;
|
||||
const { user_id } = stateData || {};
|
||||
|
||||
if (!user_id) {
|
||||
return new Response(JSON.stringify({ error: "Unauthorized" }), {
|
||||
status: 401,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
}
|
||||
|
||||
const contentType = ctx.req.headers.get("content-type") || "";
|
||||
let data: Record<string, unknown> = {};
|
||||
if (contentType.includes("application/json")) {
|
||||
data = await ctx.req.json();
|
||||
} else {
|
||||
const form = await ctx.req.formData();
|
||||
for (const [k, v] of form.entries()) {
|
||||
data[k] = typeof v === "string" ? v : String(v);
|
||||
}
|
||||
}
|
||||
|
||||
const lease_id = (data.lease_id as string) || (data["lease_id"] as string);
|
||||
if (!lease_id) {
|
||||
return new Response(JSON.stringify({ error: "lease_id is required" }), {
|
||||
status: 400,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
}
|
||||
|
||||
const result = await signLease(lease_id, user_id as string);
|
||||
return new Response(JSON.stringify({ success: true, lease: result?.[0] || null }), {
|
||||
status: 200,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
} catch (err) {
|
||||
return new Response(JSON.stringify({ error: String(err) }), {
|
||||
status: 500,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user