share.tsx 794 B

1234567891011121314151617181920212223242526272829
  1. import { createDefine } from "fresh";
  2. import {
  3. checkToken,
  4. makeErrorResponse,
  5. makeSuccessResponse,
  6. } from "utils/server.ts";
  7. import { find, update } from "utils/db.ts";
  8. const define = createDefine<Record<never, never>>();
  9. export const handler = define.handlers({
  10. async POST(ctx) {
  11. const req = ctx.req;
  12. const reqJson = await req.json();
  13. const id = reqJson.id;
  14. const shared = reqJson.shared;
  15. const tokenUserId = checkToken(req);
  16. if (tokenUserId && id) {
  17. const post = find("Post", { id, user_id: tokenUserId });
  18. if (post.length > 0) {
  19. const newPost = update("Post", id, { shared: Boolean(shared) });
  20. if (newPost.length > 0) {
  21. return makeSuccessResponse(true);
  22. }
  23. }
  24. }
  25. return makeErrorResponse();
  26. },
  27. });