i701 e815da495a Add payment processing and device management features
- Introduced createPayment action for handling payment creation.
- Added PaymentsTable component for displaying payment records with pagination.
- Implemented new PaymentPage for viewing individual payment details and associated devices.
- Refactored DeviceCartDrawer to integrate payment creation and device selection.
- Enhanced DevicesToPay component to display devices based on payment status.
- Updated PriceCalculator component for better user input handling.
- Introduced NumberInput component for consistent number input across forms.
- Modified Prisma schema to include new fields for payments and devices.
- Improved overall user experience with responsive design adjustments and new UI elements.
2024-12-07 14:09:53 +05:00

38 lines
982 B
TypeScript

import { sendOtp } from "@/actions/auth-actions";
import { PrismaClient } from "@prisma/client";
import { betterAuth } from "better-auth";
import { prismaAdapter } from "better-auth/adapters/prisma";
import { phoneNumber } from "better-auth/plugins";
const prisma = new PrismaClient();
export const auth = betterAuth({
trustedOrigins: ["http://localhost:3000", "http://192.168.18.194:3000"],
user: {
additionalFields: {
role: {
type: "string",
required: false,
defaultValue: "USER",
input: false, // don't allow user to set role
},
lang: {
type: "string",
required: false,
defaultValue: "en",
},
},
},
database: prismaAdapter(prisma, {
provider: "sqlite", // or "mysql", "postgresql", ...etc
}),
plugins: [
phoneNumber({
sendOTP: async ({ phoneNumber, code }) => {
// Implement sending OTP code via SMS
console.log("Send OTP in auth.ts", phoneNumber, code);
await sendOtp(phoneNumber, code);
},
}),
],
});