* refactor customer api * refactor slots api * hooks/customers: use invalidateQueries * refactor services api * optimize hooks queryKey * refactor orders api * typo refactor hooks * fix telegramId type (number) * fix bot with new api * rename customers masters & clients query * fix useClientsQuery & useMastersQuery query * new line after 'use client' & 'use server' directives
43 lines
915 B
TypeScript
43 lines
915 B
TypeScript
import { type AuthOptions } from 'next-auth';
|
|
import CredentialsProvider from 'next-auth/providers/credentials';
|
|
|
|
export const authOptions: AuthOptions = {
|
|
callbacks: {
|
|
async jwt({ token, user }) {
|
|
if (user) {
|
|
token.id = user.id;
|
|
}
|
|
|
|
return token;
|
|
},
|
|
async session({ session, token }) {
|
|
if (token?.id && session?.user) {
|
|
session.user.telegramId = token.id as number;
|
|
}
|
|
|
|
return session;
|
|
},
|
|
},
|
|
providers: [
|
|
CredentialsProvider({
|
|
async authorize(credentials) {
|
|
const { telegramId } = credentials ?? {};
|
|
|
|
if (!telegramId) {
|
|
throw new Error('Invalid Telegram ID');
|
|
}
|
|
|
|
return { id: telegramId };
|
|
},
|
|
credentials: {
|
|
telegramId: { label: 'Telegram ID', type: 'text' },
|
|
},
|
|
id: 'telegram',
|
|
name: 'Telegram',
|
|
}),
|
|
],
|
|
session: {
|
|
strategy: 'jwt',
|
|
},
|
|
};
|