Files
monorepo/baseball/src/models/Player.ts
T
2026-05-06 15:08:32 +00:00

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);