register.tsx 814 B

1234567891011121314151617181920212223242526272829
  1. import { createDefine } from "fresh";
  2. import {
  3. makeErrorResponse,
  4. makeSuccessResponse,
  5. getCryptoString,
  6. } from "utils/server.ts";
  7. import { find, insert } from "utils/db.ts";
  8. const define = createDefine<Record<never, never>>();
  9. export const handler = define.handlers({
  10. async POST(ctx) {
  11. const reqJson = await ctx.req.json();
  12. if (reqJson.email && reqJson.password) {
  13. const user = find("User", { email: reqJson.email });
  14. if (user.length === 0) {
  15. const newUser = insert("User", {
  16. name: reqJson.email.split("@")[0],
  17. email: reqJson.email,
  18. password: await getCryptoString(reqJson.password, "MD5"),
  19. });
  20. if (newUser.length > 0) {
  21. return makeSuccessResponse(true);
  22. }
  23. }
  24. }
  25. return makeErrorResponse();
  26. },
  27. });