import { getModelForClass , modelOptions , prop } from '@typegoose/typegoose' ; @ modelOptions ( { schemaOptions : { timestamps : true } } ) export class User { @ prop ( { required : true , index : true , unique : true } ) id ! : number ; @ prop ( { required : true , default : 'en' } ) language ! : string ; } const UserModel = getModelForClass ( User ) ; export function findOrCreateUser ( id ) { return UserModel . findOneAndUpdate ( { id } , { } , { upsert : true , new : true , } ) ; }