feat(auth): membuat user registration, login, sama pengecekan profile user yang sudah dilogin
This commit is contained in:
+37
-10
@@ -1,21 +1,48 @@
|
||||
import 'dotenv/config';
|
||||
import { PrismaClient } from '../src/generated/prisma/client';
|
||||
import bcrypt from 'bcryptjs';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
console.log('Start seeding Internify database...');
|
||||
console.log('Start seeding Internify database...');
|
||||
|
||||
// Seeding process ...
|
||||
const adminEmail = 'admin@internify.com';
|
||||
const adminPassword = 'AdminInternify123!';
|
||||
const passwordHash = await bcrypt.hash(adminPassword, 10);
|
||||
|
||||
console.log('Seeding finished');
|
||||
// Cek Apakah ada si Admin
|
||||
const existingAdmin = await prisma.user.findUnique({
|
||||
where: { email: adminEmail }
|
||||
});
|
||||
|
||||
if (!existingAdmin) {
|
||||
const adminUser = await prisma.user.create({
|
||||
data: {
|
||||
email: adminEmail,
|
||||
passwordHash: passwordHash,
|
||||
role: 'ADMIN',
|
||||
admin: {
|
||||
create: {
|
||||
namaDepan: 'Super',
|
||||
namaBelakang: 'Admin',
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
console.log(`Admin user created: ${adminEmail} (password: ${adminPassword})`);
|
||||
} else {
|
||||
console.log(`Admin user already exists: ${adminEmail}`);
|
||||
}
|
||||
|
||||
console.log('Seeding finished');
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((error) => {
|
||||
console.error('Seeding failed:', error);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
.catch((error) => {
|
||||
console.error('Seeding failed:', error);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user