c4efe4453b
- ✅ - ✅ - ✅
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
/** Batasan bisnis & input (Phase 2) */
|
||
export const LIMITS = {
|
||
/** Maks trip yang bisa dibuat satu organizer per hari kalender (UTC) */
|
||
MAX_TRIPS_PER_ORGANIZER_PER_DAY: 15,
|
||
MIN_PARTICIPANTS: 1,
|
||
/** Cap small-group experience: 5–10 ideal, 15 sebagai batas atas fleksibel */
|
||
MAX_PARTICIPANTS: 15,
|
||
MAX_PRICE_IDR: 100_000_000,
|
||
MAX_TITLE_LENGTH: 120,
|
||
MAX_DESTINATION_LENGTH: 100,
|
||
MAX_LOCATION_LENGTH: 120,
|
||
MAX_DESCRIPTION_LENGTH: 5000,
|
||
/** Meeting point & tiap blok include/exclude */
|
||
MAX_MEETING_POINT_LENGTH: 500,
|
||
MAX_TRIP_ITINERARY_LENGTH: 8000,
|
||
/** Itinerary baru terstruktur: maksimal hari dalam satu trip. */
|
||
MAX_ITINERARY_DAYS: 14,
|
||
/** Maksimal item itinerary per trip (lintas hari). */
|
||
MAX_ITINERARY_ITEMS: 60,
|
||
/** Maksimal panjang deskripsi satu aktivitas. */
|
||
MAX_ITINERARY_ACTIVITY_LENGTH: 200,
|
||
MAX_TRIP_BULLET_SECTION_LENGTH: 4000,
|
||
MAX_REVIEW_COMMENT: 500,
|
||
MAX_IMAGE_URLS: 5,
|
||
MAX_URL_LENGTH: 2048,
|
||
MAX_NAME_LENGTH: 80,
|
||
MAX_PASSWORD_LENGTH: 72,
|
||
/** Profil sosial publik */
|
||
MAX_PROFILE_BIO_LENGTH: 500,
|
||
MAX_PROFILE_CITY_LENGTH: 60,
|
||
MAX_PROFILE_INTEREST_LENGTH: 30,
|
||
MAX_PROFILE_INTERESTS_COUNT: 10,
|
||
MAX_PROFILE_INSTAGRAM_LENGTH: 30,
|
||
/** Verifikasi organizer (KTP + bank) */
|
||
MAX_ADDRESS_LENGTH: 500,
|
||
MAX_BANK_NAME_LENGTH: 60,
|
||
MAX_BANK_ACCOUNT_NUMBER_LENGTH: 32,
|
||
MAX_REJECTION_REASON_LENGTH: 500,
|
||
NIK_LENGTH: 16,
|
||
/** Catatan laporan dari peserta/organizer + catatan admin pada refund. */
|
||
MAX_REFUND_NOTE_LENGTH: 1000,
|
||
} as const;
|