Tweaks and fixes, add code generator
This commit is contained in:
parent
da4c3d3838
commit
011e71e715
3 changed files with 31 additions and 2 deletions
|
@ -4,6 +4,7 @@ import globals from "@/styles/global.module.css";
|
||||||
import form_globals from "@/styles/global_form.module.css";
|
import form_globals from "@/styles/global_form.module.css";
|
||||||
import { Color3 } from "@/types/assist/color";
|
import { Color3 } from "@/types/assist/color";
|
||||||
import { SubmitClan, SubmitClanSchema } from "@/types/client/clan";
|
import { SubmitClan, SubmitClanSchema } from "@/types/client/clan";
|
||||||
|
import { getCookie } from "cookies-next";
|
||||||
import { ArrayHelpers, ErrorMessage, Field, FieldArray, Form, Formik } from "formik";
|
import { ArrayHelpers, ErrorMessage, Field, FieldArray, Form, Formik } from "formik";
|
||||||
import { NextRouter } from "next/router";
|
import { NextRouter } from "next/router";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
@ -34,7 +35,8 @@ export default function ClanFormTemplate({
|
||||||
name: "",
|
name: "",
|
||||||
pronouns: [["", "", ""]]
|
pronouns: [["", "", ""]]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
code: getCookie("TROLLCALL_CODE")
|
||||||
} as SubmitClan)
|
} as SubmitClan)
|
||||||
}
|
}
|
||||||
validationSchema={SubmitClanSchema}
|
validationSchema={SubmitClanSchema}
|
||||||
|
|
23
src/pages/api/generate/code/index.ts
Normal file
23
src/pages/api/generate/code/index.ts
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import { mainDB } from "@/lib/db/mongodb";
|
||||||
|
import { hash } from "argon2";
|
||||||
|
import { NextApiRequest, NextApiResponse } from "next";
|
||||||
|
|
||||||
|
export async function addMany(
|
||||||
|
collection: string,
|
||||||
|
items: { [key: string]: any }[]
|
||||||
|
) {
|
||||||
|
const selectedCollection = mainDB.collection(collection);
|
||||||
|
return await selectedCollection.insertMany(items, { ordered: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function handler(
|
||||||
|
req: NextApiRequest,
|
||||||
|
res: NextApiResponse
|
||||||
|
) {
|
||||||
|
const { body, cookies, query, method } = req;
|
||||||
|
if (method === "GET") {
|
||||||
|
if (query.code == null) return res.status(400).end();
|
||||||
|
|
||||||
|
return res.status(200).send(await hash(query.code.toString()));
|
||||||
|
} else return res.status(405).end();
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ import { ClientClan } from "@/types/clan";
|
||||||
import { ThemerGetSet } from "@/types/generics";
|
import { ThemerGetSet } from "@/types/generics";
|
||||||
import AuthContext from "@/utility/react/AuthContext";
|
import AuthContext from "@/utility/react/AuthContext";
|
||||||
import { defaultTheme } from "@/utility/react/Themer";
|
import { defaultTheme } from "@/utility/react/Themer";
|
||||||
|
import { getCookie } from "cookies-next";
|
||||||
import { GetServerSideProps, GetStaticPropsContext } from "next";
|
import { GetServerSideProps, GetStaticPropsContext } from "next";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useState } from "react";
|
||||||
|
@ -38,7 +39,10 @@ export default function AddTroll({
|
||||||
router={router}
|
router={router}
|
||||||
method="PUT"
|
method="PUT"
|
||||||
onSubmitURI={`/api/clan/${clan.name}`}
|
onSubmitURI={`/api/clan/${clan.name}`}
|
||||||
initialValues={ClientClanToSubmitClan(clan)}
|
initialValues={{
|
||||||
|
...ClientClanToSubmitClan(clan),
|
||||||
|
code: getCookie("TROLLCALL_CODE")
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
|
|
Loading…
Reference in a new issue