mirror of
https://github.com/lukevella/rallly.git
synced 2025-05-11 16:06:50 +02:00
♻️ Use synchronous id generation (#645)
This commit is contained in:
parent
27bbe6f947
commit
ffa7007184
9 changed files with 12 additions and 27 deletions
|
@ -1,13 +0,0 @@
|
|||
import { customAlphabet } from "nanoid/async";
|
||||
|
||||
export const nanoid = customAlphabet(
|
||||
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
|
||||
12,
|
||||
);
|
||||
|
||||
export const randomid = customAlphabet(
|
||||
"0123456789abcdefghijklmnopqrstuvwxyz",
|
||||
12,
|
||||
);
|
||||
|
||||
export const generateOtp = customAlphabet("0123456789", 6);
|
|
@ -6,7 +6,7 @@ type UserSessionData = { id: string; isGuest: boolean };
|
|||
|
||||
declare module "iron-session" {
|
||||
export interface IronSessionData {
|
||||
user: UserSessionData;
|
||||
user?: UserSessionData;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ export async function createContext(
|
|||
isGuest: true,
|
||||
};
|
||||
opts.req.session.user = user;
|
||||
await opts.req.session.save();
|
||||
opts.req.session.save();
|
||||
}
|
||||
return { user, session: opts.req.session };
|
||||
}
|
||||
|
|
|
@ -53,8 +53,8 @@ export const polls = router({
|
|||
)
|
||||
.mutation(
|
||||
async ({ ctx, input }): Promise<{ id: string; urlId: string }> => {
|
||||
const adminUrlId = await nanoid();
|
||||
const participantUrlId = await nanoid();
|
||||
const adminUrlId = nanoid();
|
||||
const participantUrlId = nanoid();
|
||||
|
||||
let email = input.user?.email;
|
||||
let name = input.user?.name;
|
||||
|
@ -83,7 +83,7 @@ export const polls = router({
|
|||
title: true,
|
||||
},
|
||||
data: {
|
||||
id: await nanoid(),
|
||||
id: nanoid(),
|
||||
title: input.title,
|
||||
timeZone: input.timeZone,
|
||||
location: input.location,
|
||||
|
|
|
@ -33,14 +33,12 @@ export const comments = router({
|
|||
}),
|
||||
)
|
||||
.mutation(async ({ ctx, input: { pollId, authorName, content } }) => {
|
||||
const user = ctx.session.user;
|
||||
|
||||
const newComment = await prisma.comment.create({
|
||||
data: {
|
||||
content,
|
||||
pollId,
|
||||
authorName,
|
||||
userId: user.id,
|
||||
userId: ctx.user.id,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
|
|
|
@ -27,7 +27,7 @@ const optionValues = ["2022-12-14", "2022-12-15", "2022-12-16", "2022-12-17"];
|
|||
|
||||
export const demo = router({
|
||||
create: possiblyPublicProcedure.mutation(async () => {
|
||||
const adminUrlId = await nanoid();
|
||||
const adminUrlId = nanoid();
|
||||
const demoUser = { name: "John Example", email: "noreply@rallly.co" };
|
||||
|
||||
const options: Array<{ start: Date; id: string }> = [];
|
||||
|
@ -72,13 +72,13 @@ export const demo = router({
|
|||
|
||||
await prisma.poll.create({
|
||||
data: {
|
||||
id: await nanoid(),
|
||||
id: nanoid(),
|
||||
title: "Lunch Meeting",
|
||||
location: "Starbucks, 901 New York Avenue",
|
||||
description: `Hey everyone, please choose the dates when you are available to meet for our monthly get together. Looking forward to see you all!`,
|
||||
demo: true,
|
||||
adminUrlId,
|
||||
participantUrlId: await nanoid(),
|
||||
participantUrlId: nanoid(),
|
||||
user: {
|
||||
connectOrCreate: {
|
||||
where: {
|
||||
|
|
|
@ -61,7 +61,7 @@ export const participants = router({
|
|||
}),
|
||||
)
|
||||
.mutation(async ({ ctx, input: { pollId, votes, name, email } }) => {
|
||||
const user = ctx.session.user;
|
||||
const { user } = ctx;
|
||||
|
||||
const poll = await prisma.poll.findUnique({
|
||||
where: { id: pollId },
|
||||
|
|
|
@ -17,7 +17,7 @@ export const publicProcedure = t.procedure;
|
|||
export const middleware = t.middleware;
|
||||
|
||||
const checkAuthIfRequired = middleware(async ({ ctx, next }) => {
|
||||
if (process.env.AUTH_REQUIRED === "true" && ctx.session.user.isGuest) {
|
||||
if (process.env.AUTH_REQUIRED === "true" && ctx.user.isGuest) {
|
||||
throw new TRPCError({ code: "UNAUTHORIZED", message: "Login is required" });
|
||||
}
|
||||
return next();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { customAlphabet } from "nanoid/async";
|
||||
import { customAlphabet } from "nanoid";
|
||||
|
||||
export const nanoid = customAlphabet(
|
||||
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue