import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import { Document } from "mongoose";

export type UserDocument = User & Document;

export type UserRole = "store_keeper" | "store_manager" | "super_admin";

@Schema({ collection: "users", timestamps: false })
export class User {
  @Prop({ required: true, unique: true })
  declare email: string;

  @Prop({ required: true })
  declare passwordHash: string;

  @Prop({ required: true })
  declare name: string;

  @Prop({ required: true, type: String, enum: ["store_keeper", "store_manager", "super_admin"] })
  declare role: UserRole;

  @Prop({ default: true })
  declare active: boolean;

  @Prop({ required: true })
  declare createdAt: string;
}

export const UserSchema = SchemaFactory.createForClass(User);
