33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import { Model, Schema, model, models } from "mongoose";
|
|
|
|
export interface PlayerDocument {
|
|
firstName: string;
|
|
lastName: string;
|
|
jerseyNumber: number;
|
|
batsThrows: string;
|
|
primaryPosition: string;
|
|
secondaryPosition?: string | null;
|
|
tertiaryPosition?: string | null;
|
|
isActive: boolean;
|
|
notes?: string;
|
|
createdAt?: Date;
|
|
updatedAt?: Date;
|
|
}
|
|
|
|
const playerSchema = new Schema<PlayerDocument>(
|
|
{
|
|
firstName: { type: String, required: true, trim: true },
|
|
lastName: { type: String, required: true, trim: true },
|
|
jerseyNumber: { type: Number, required: true },
|
|
batsThrows: { type: String, required: true },
|
|
primaryPosition: { type: String, required: true },
|
|
secondaryPosition: { type: String, default: null },
|
|
tertiaryPosition: { type: String, default: null },
|
|
isActive: { type: Boolean, default: true },
|
|
notes: { type: String, default: "" }
|
|
},
|
|
{ timestamps: true }
|
|
);
|
|
|
|
export const PlayerModel = (models.Player as Model<PlayerDocument>) || model<PlayerDocument>("Player", playerSchema);
|