register.tsx 763 B

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