feat(auth): membuat user registration, login, sama pengecekan profile user yang sudah dilogin

This commit is contained in:
Rafi Athallah
2026-05-26 11:57:00 +07:00
parent 724cfd50e2
commit 4b9bc534cc
9 changed files with 506 additions and 15 deletions
+37 -10
View File
@@ -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();
});