mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 15:53:02 +10:00
Apply prettier config to all files
This commit is contained in:
@ -6,16 +6,13 @@ export const deleteRecipient = (recipient: any) => {
|
||||
}
|
||||
|
||||
return toast.promise(
|
||||
fetch(
|
||||
"/api/documents/" + recipient.documentId + "/recipients/" + recipient.id,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(recipient),
|
||||
}
|
||||
),
|
||||
fetch("/api/documents/" + recipient.documentId + "/recipients/" + recipient.id, {
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(recipient),
|
||||
}),
|
||||
{
|
||||
loading: "Deleting...",
|
||||
success: "Deleted.",
|
||||
|
||||
@ -7,4 +7,4 @@ export { getDocuments } from "./getDocuments";
|
||||
export { deleteDocument } from "./deleteDocument";
|
||||
export { deleteRecipient } from "./deleteRecipient";
|
||||
export { createOrUpdateRecipient } from "./createOrUpdateRecipient";
|
||||
export { sendSigningRequests } from "./sendSigningRequests";
|
||||
export { sendSigningRequests } from "./sendSigningRequests";
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
import toast from "react-hot-toast";
|
||||
|
||||
export const sendSigningRequests = async (
|
||||
document: any,
|
||||
resendTo: number[] = []
|
||||
) => {
|
||||
export const sendSigningRequests = async (document: any, resendTo: number[] = []) => {
|
||||
if (!document || !document.id) return;
|
||||
try {
|
||||
const sent = await toast.promise(
|
||||
|
||||
@ -1,11 +1,7 @@
|
||||
import { useRouter } from "next/router";
|
||||
import toast from "react-hot-toast";
|
||||
|
||||
export const signDocument = (
|
||||
document: any,
|
||||
signatures: any[],
|
||||
token: string
|
||||
): Promise<any> => {
|
||||
export const signDocument = (document: any, signatures: any[], token: string): Promise<any> => {
|
||||
const body = { documentId: document.id, signatures };
|
||||
|
||||
return toast.promise(
|
||||
|
||||
@ -1,12 +1,8 @@
|
||||
import { compare, hash } from "bcryptjs";
|
||||
import type { NextApiRequest } from "next";
|
||||
import type { Session } from "next-auth";
|
||||
import {
|
||||
getSession as getSessionInner,
|
||||
GetSessionParams,
|
||||
} from "next-auth/react";
|
||||
|
||||
import { HttpError } from "@documenso/lib/server";
|
||||
import { compare, hash } from "bcryptjs";
|
||||
import type { Session } from "next-auth";
|
||||
import { GetSessionParams, getSession as getSessionInner } from "next-auth/react";
|
||||
|
||||
export async function hashPassword(password: string) {
|
||||
const hashedPassword = await hash(password, 12);
|
||||
@ -28,9 +24,7 @@ export function validPassword(password: string) {
|
||||
return true;
|
||||
}
|
||||
|
||||
export async function getSession(
|
||||
options: GetSessionParams
|
||||
): Promise<Session | null> {
|
||||
export async function getSession(options: GetSessionParams): Promise<Session | null> {
|
||||
const session = await getSessionInner(options);
|
||||
|
||||
// that these are equal are ensured in `[...nextauth]`'s callback
|
||||
@ -43,11 +37,7 @@ export function isPasswordValid(
|
||||
breakdown: boolean,
|
||||
strict?: boolean
|
||||
): { caplow: boolean; num: boolean; min: boolean; admin_min: boolean };
|
||||
export function isPasswordValid(
|
||||
password: string,
|
||||
breakdown?: boolean,
|
||||
strict?: boolean
|
||||
) {
|
||||
export function isPasswordValid(password: string, breakdown?: boolean, strict?: boolean) {
|
||||
let cap = false, // Has uppercase characters
|
||||
low = false, // Has lowercase characters
|
||||
num = false, // At least one number
|
||||
@ -63,8 +53,7 @@ export function isPasswordValid(
|
||||
}
|
||||
}
|
||||
|
||||
if (!breakdown)
|
||||
return cap && low && num && min && (strict ? admin_min : true);
|
||||
if (!breakdown) return cap && low && num && min && (strict ? admin_min : true);
|
||||
|
||||
let errors: Record<string, boolean> = { caplow: cap && low, num, min };
|
||||
// Only return the admin key if strict mode is enabled.
|
||||
@ -73,14 +62,11 @@ export function isPasswordValid(
|
||||
return errors;
|
||||
}
|
||||
|
||||
type CtxOrReq =
|
||||
| { req: NextApiRequest; ctx?: never }
|
||||
| { ctx: { req: NextApiRequest }; req?: never };
|
||||
type CtxOrReq = { req: NextApiRequest; ctx?: never } | { ctx: { req: NextApiRequest }; req?: never };
|
||||
|
||||
export const ensureSession = async (ctxOrReq: CtxOrReq) => {
|
||||
const session = await getSession(ctxOrReq);
|
||||
if (!session?.user)
|
||||
throw new HttpError({ statusCode: 401, message: "Unauthorized" });
|
||||
if (!session?.user) throw new HttpError({ statusCode: 401, message: "Unauthorized" });
|
||||
return session;
|
||||
};
|
||||
|
||||
|
||||
@ -12,11 +12,7 @@ export const getSafeRedirectUrl = (url = "") => {
|
||||
const urlParsed = new URL(url);
|
||||
|
||||
// Avoid open redirection security vulnerability
|
||||
if (
|
||||
!["CONSOLE_URL", "WEBAPP_URL", "WEBSITE_URL"].some(
|
||||
(u) => new URL(u).origin === urlParsed.origin
|
||||
)
|
||||
) {
|
||||
if (!["CONSOLE_URL", "WEBAPP_URL", "WEBSITE_URL"].some((u) => new URL(u).origin === urlParsed.origin)) {
|
||||
url = `${"WEBAPP_URL"}/`;
|
||||
}
|
||||
|
||||
|
||||
@ -1,13 +1,9 @@
|
||||
import { sendMail } from "./sendMail";
|
||||
import { signingCompleteTemplate } from "@documenso/lib/mail";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
import { addDigitalSignature } from "@documenso/signing/addDigitalSignature";
|
||||
import { sendMail } from "./sendMail";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
|
||||
export const sendSigningDoneMail = async (
|
||||
recipient: any,
|
||||
document: PrismaDocument,
|
||||
user: any
|
||||
) => {
|
||||
export const sendSigningDoneMail = async (recipient: any, document: PrismaDocument, user: any) => {
|
||||
await sendMail(
|
||||
user.email,
|
||||
`Completed: "${document.title}"`,
|
||||
@ -15,10 +11,7 @@ export const sendSigningDoneMail = async (
|
||||
[
|
||||
{
|
||||
filename: document.title,
|
||||
content: Buffer.from(
|
||||
await addDigitalSignature(document.document),
|
||||
"base64"
|
||||
),
|
||||
content: Buffer.from(await addDigitalSignature(document.document), "base64"),
|
||||
},
|
||||
]
|
||||
);
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import prisma from "@documenso/prisma";
|
||||
import { sendMail } from "./sendMail";
|
||||
import { SendStatus, ReadStatus, DocumentStatus } from "@prisma/client";
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
|
||||
import { signingRequestTemplate } from "@documenso/lib/mail";
|
||||
import prisma from "@documenso/prisma";
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
|
||||
import { sendMail } from "./sendMail";
|
||||
import { DocumentStatus, ReadStatus, SendStatus } from "@prisma/client";
|
||||
|
||||
export const sendSigningRequest = async (recipient: any, document: any, user: any) => {
|
||||
const signingRequestMessage = user.name
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
import { baseEmailTemplate } from "./baseTemplate";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
|
||||
export const signingCompleteTemplate = (message: string) => {
|
||||
const customContent = `
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { NEXT_PUBLIC_WEBAPP_URL } from "../constants";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
import { baseEmailTemplate } from "./baseTemplate";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
|
||||
export const signingRequestTemplate = (
|
||||
message: string,
|
||||
|
||||
@ -2,11 +2,7 @@ import { getUserFromToken } from "@documenso/lib/server";
|
||||
import prisma from "@documenso/prisma";
|
||||
import { Document as PrismaDocument } from "@prisma/client";
|
||||
|
||||
export const getDocument = async (
|
||||
documentId: number,
|
||||
req: any,
|
||||
res: any
|
||||
): Promise<PrismaDocument> => {
|
||||
export const getDocument = async (documentId: number, req: any, res: any): Promise<PrismaDocument> => {
|
||||
const user = await getUserFromToken(req, res);
|
||||
if (!user) return Promise.reject("Invalid user or token.");
|
||||
if (!documentId) Promise.reject("No documentId");
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
import { getUserFromToken } from "@documenso/lib/server";
|
||||
import prisma from "@documenso/prisma";
|
||||
|
||||
export const getDocumentsForUserFromToken = async (
|
||||
context: any
|
||||
): Promise<any> => {
|
||||
export const getDocumentsForUserFromToken = async (context: any): Promise<any> => {
|
||||
const user = await getUserFromToken(context.req, context.res);
|
||||
if (!user) return Promise.reject("Invalid user or token.");
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import type { NextApiRequest, NextApiResponse } from "next";
|
||||
|
||||
import { getServerErrorFromUnknown } from "@documenso/lib/server";
|
||||
|
||||
type Handle<T> = (req: NextApiRequest, res: NextApiResponse) => Promise<T>;
|
||||
|
||||
@ -1,9 +1,5 @@
|
||||
import {
|
||||
PrismaClientKnownRequestError,
|
||||
NotFoundError,
|
||||
} from "@prisma/client/runtime";
|
||||
|
||||
import { HttpError } from "@documenso/lib/server";
|
||||
import { NotFoundError, PrismaClientKnownRequestError } from "@prisma/client/runtime";
|
||||
|
||||
export function getServerErrorFromUnknown(cause: unknown): HttpError {
|
||||
// Error was manually thrown and does not need to be parsed.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { NextApiRequest, NextApiResponse } from "next";
|
||||
import prisma from "@documenso/prisma";
|
||||
import { User as PrismaUser } from "@prisma/client";
|
||||
import { NextApiRequest, NextApiResponse } from "next";
|
||||
import { getToken } from "next-auth/jwt";
|
||||
import { signOut } from "next-auth/react";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user