task-managment / src / server / user / domain / models.ts
models.ts
Raw
import { Task } from "@/server/task/domain/models";

export interface UserId {
  value: string;
}

export const userRolEnum = ["admin", "moderator", "user"] as const;
export type UserRol = (typeof userRolEnum)[number];

export interface User {
  id: string;
  firstName: string;
  lastName: string;
  email: string;
  image?: string;
  isActive?: boolean;
  createdAt?: Date;
  updatedAt?: Date;
  existInDb?:boolean;
  isDeleted?:boolean
  rol?: UserRol;
}

export interface UpdateUserMetadata{
  seccionId:string;
  existInDb?:boolean;
  rol?:boolean
}

export interface SendInvitation {
  emailAddress:string,
  rol:string
}

export interface UserById {
  id: string;
  firstName: string;
  lastName: string;
  email: string;
  createdAt: Date;
  rol: string;
  tasks: Task[];
  userTool: {
    id: string;
    quantity: number;
    tool: {
      id: string;
      name: string;
      quantity: number;
    };
  }[];
}