- pnpm workspace with packages/app, packages/server, packages/shared - @mp-pilates/shared: enums, constants, TypeScript interfaces for all 8 data models - @mp-pilates/server: NestJS bootstrap with health check, validation pipe, CORS - Base TypeScript config with strict mode
47 lines
795 B
TypeScript
47 lines
795 B
TypeScript
// ===== User =====
|
|
export enum UserRole {
|
|
MEMBER = 'MEMBER',
|
|
ADMIN = 'ADMIN',
|
|
}
|
|
|
|
// ===== CardType =====
|
|
export enum CardTypeCategory {
|
|
TIMES = 'TIMES',
|
|
DURATION = 'DURATION',
|
|
TRIAL = 'TRIAL',
|
|
}
|
|
|
|
// ===== Membership =====
|
|
export enum MembershipStatus {
|
|
ACTIVE = 'ACTIVE',
|
|
EXPIRED = 'EXPIRED',
|
|
USED_UP = 'USED_UP',
|
|
}
|
|
|
|
// ===== TimeSlot =====
|
|
export enum TimeSlotStatus {
|
|
OPEN = 'OPEN',
|
|
FULL = 'FULL',
|
|
CLOSED = 'CLOSED',
|
|
}
|
|
|
|
export enum TimeSlotSource {
|
|
TEMPLATE = 'TEMPLATE',
|
|
MANUAL = 'MANUAL',
|
|
}
|
|
|
|
// ===== Booking =====
|
|
export enum BookingStatus {
|
|
CONFIRMED = 'CONFIRMED',
|
|
CANCELLED = 'CANCELLED',
|
|
COMPLETED = 'COMPLETED',
|
|
NO_SHOW = 'NO_SHOW',
|
|
}
|
|
|
|
// ===== Order =====
|
|
export enum OrderStatus {
|
|
PENDING = 'PENDING',
|
|
PAID = 'PAID',
|
|
REFUNDED = 'REFUNDED',
|
|
}
|