import { magnetar } from './magnetar' import faker from '@faker-js/faker/locale/ja' export type Company = { id: string name: string addressNum: string addressPref: string tel: string personInCharge: string licenseCount: number statusContract: boolean dateCreated: Date meta: { serial: number } } export const dbCompanies = magnetar.collection('companies') export const dbCompaniesEmty = magnetar.collection('companies-empty') export function defaultsCompany(payload?: Partial): Company { return { id: '', name: '', addressNum: '', addressPref: '', tel: '', personInCharge: '', licenseCount: 0, statusContract: false, dateCreated: new Date(), meta: { serial: 0, }, ...payload, } } export const companyIds = new Array(1000).fill(null).map((): string => faker.datatype.uuid()) // create fake records const getFakeCompanies = () => new Array(1000).fill(null).map((_, i): Company => { return { id: companyIds[i], name: faker.company.companyName(), addressNum: faker.address.zipCode(), addressPref: faker.address.state(), tel: faker.phone.phoneNumber(), personInCharge: faker.name.findName(), licenseCount: faker.datatype.number({ min: 0, max: 100 }), statusContract: faker.datatype.boolean(), dateCreated: faker.datatype.datetime(), meta: { serial: faker.datatype.number({ min: 1_000_000, max: 9_999_999 }), }, } }) ;(async () => { await new Promise((resolve) => setTimeout(resolve, 500)) // insert initial records getFakeCompanies().forEach((company) => { dbCompanies.insert(company) }) })()