38 lines
889 B
TypeScript
38 lines
889 B
TypeScript
import { PrismaClient } from '@prisma/client';
|
|
import { resolveUsers } from '../src/config/env.js';
|
|
|
|
const prisma = new PrismaClient();
|
|
|
|
async function main(): Promise<void> {
|
|
const users = resolveUsers();
|
|
for (const u of users) {
|
|
await prisma.user.upsert({
|
|
where: { username: u.username },
|
|
update: {
|
|
id: u.id,
|
|
slug: u.slug,
|
|
displayName: u.displayName,
|
|
},
|
|
create: {
|
|
id: u.id,
|
|
username: u.username,
|
|
slug: u.slug,
|
|
displayName: u.displayName,
|
|
},
|
|
});
|
|
// eslint-disable-next-line no-console
|
|
console.log(`seeded user: ${u.username} (slug=${u.slug}, id=${u.id})`);
|
|
}
|
|
}
|
|
|
|
main()
|
|
.then(async () => {
|
|
await prisma.$disconnect();
|
|
})
|
|
.catch(async (err) => {
|
|
// eslint-disable-next-line no-console
|
|
console.error(err);
|
|
await prisma.$disconnect();
|
|
process.exit(1);
|
|
});
|