File: /var/www/api-management/src/app/user/schemas/user.schema.ts
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import { Types, Document } from 'mongoose';
import { ParametroUser } from './parametros-user.schema';
@Schema({ timestamps: true })
export class User extends Document {
@Prop({
type: ParametroUser,
required: true,
})
tipoIdentificacion: ParametroUser;
@Prop({
type: String,
required: true,
maxlength: 15,
})
identificacion: string;
@Prop({
type: String,
required: true,
maxlength: 50,
})
nombres: string;
@Prop({
type: String,
required: true,
maxlength: 50,
})
apellidos: string;
@Prop({
type: String,
required: true,
match: /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,
maxlength: 45,
})
email: string;
@Prop({
type: String,
required: true,
})
password: string;
@Prop({
type: [
{
_id: { type: Types.ObjectId, ref: 'Role' },
nombre: { type: String, required: true },
},
],
})
roles: Array<ParametroUser>;
@Prop({
type: Date,
default: null,
})
deletedAt?: Date;
}
export type UserDocument = User & Document;
export const UserSchema = SchemaFactory.createForClass(User);