feat: scaffold monorepo with shared types and NestJS server
- 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
This commit is contained in:
46
packages/shared/src/enums.ts
Normal file
46
packages/shared/src/enums.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
// ===== 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',
|
||||
}
|
||||
Reference in New Issue
Block a user