Add password strength indicator and use crypto safe random PWs

This commit is contained in:
Manuel
2023-08-01 17:42:19 +02:00
parent b4c6896850
commit 2035b20690
6 changed files with 158 additions and 35 deletions

View File

@@ -1,22 +1,22 @@
import { createTRPCRouter } from '~/server/api/trpc';
import { appRouter } from './routers/app';
import { boardRouter } from './routers/board';
import { calendarRouter } from './routers/calendar';
import { configRouter } from './routers/config';
import { dashDotRouter } from './routers/dash-dot';
import { dnsHoleRouter } from './routers/dns-hole';
import { dockerRouter } from './routers/docker/router';
import { downloadRouter } from './routers/download';
import { iconRouter } from './routers/icon';
import { inviteRouter } from './routers/invite';
import { mediaRequestsRouter } from './routers/media-request';
import { mediaServerRouter } from './routers/media-server';
import { overseerrRouter } from './routers/overseerr';
import { passwordRouter } from './routers/password';
import { rssRouter } from './routers/rss';
import { usenetRouter } from './routers/usenet/router';
import { userRouter } from './routers/user';
import { weatherRouter } from './routers/weather';
import { boardRouter } from './routers/board';
import { dockerRouter } from './routers/docker/router';
import { usenetRouter } from './routers/usenet/router';
import { createTRPCRouter } from '~/server/api/trpc';
/**
* This is the primary router for your server.
@@ -40,7 +40,8 @@ export const rootRouter = createTRPCRouter({
calendar: calendarRouter,
weather: weatherRouter,
invites: inviteRouter,
boards: boardRouter
boards: boardRouter,
password: passwordRouter
});
// export type definition of API

View File

@@ -0,0 +1,17 @@
import { generate } from 'generate-password';
import { createTRPCRouter, publicProcedure } from "../trpc";
export const passwordRouter = createTRPCRouter({
generate: publicProcedure.mutation(() => {
return generate({
strict: true,
numbers: true,
lowercase: true,
uppercase: true,
symbols: true,
excludeSimilarCharacters: true,
length: 16
})
}),
});