import { DataStructure } from "@/src/components/base/DataStructure";

import { UserSchema } from "./user";
import { userId } from "../database";

export interface Career {
    id: number;
    award_name: string;
    attachment?: string;
    award_date: Date;
    approved_by: number;
    user_id: number;
}

export const CareerSchema: DataStructure[] = [
    {
        fieldId: "id",
        type: "number",
        displayName: "Career ID",
        hideFromCRUD: true
    },
    {
        fieldId: "position",
        type: "string",
        displayName: "Position",
        length: 200,
        required: true
    },
    {
        fieldId: "attachment",
        type: "file",
        displayName: "Attachment",
        length: 500
    },
    {
        fieldId: "appointed_date",
        type: "date",
        displayName: "Appointed Date",
        required: true,
        defaultValue: () => new Date()
    },
    {
        fieldId: "approved_by",
        type: "reference",
        referenceId: userId,
        referenceStructure: UserSchema,
        referenceAlias: "approvers",
        referenceParentAlias: "careers",
        referenceDisplay: "name",
        displayName: "Approved By",
        required: true
    },
    {
        fieldId: "user_id",
        type: "reference",
        referenceId: userId,
        referenceStructure: UserSchema,
        referenceAlias: "users",
        referenceParentAlias: "careers",
        referenceDisplay: "name",
        displayName: "User",
        required: true
    }
]