jsq-ticket-type
Version:
TypeScript type definitions for ticket system - microservices types with comprehensive settings management
330 lines • 12.2 kB
TypeScript
export declare const API_ENDPOINTS: {
readonly AUTH: {
readonly LOGIN: "/auth/login";
readonly REGISTER: "/auth/register";
readonly REFRESH: "/auth/refresh";
readonly LOGOUT: "/auth/logout";
readonly PROFILE: "/auth/profile";
readonly VERIFY_EMAIL: "/auth/verify-email";
readonly FORGOT_PASSWORD: "/auth/forgot-password";
readonly RESET_PASSWORD: "/auth/reset-password";
};
readonly USERS: {
readonly BASE: "/users";
readonly PROFILE: "/users/profile";
readonly AVATAR: "/users/avatar";
readonly PREFERENCES: "/users/preferences";
};
readonly EVENTS: {
readonly BASE: "/events";
readonly FEATURED: "/events/featured";
readonly CATEGORIES: "/events/categories";
readonly SEARCH: "/events/search";
readonly SCHEDULES: "/events/:id/schedules";
readonly MEDIA: "/events/:id/media";
readonly ARTISTS: "/events/:id/artists";
readonly REVIEWS: "/events/:id/reviews";
};
readonly TICKETS: {
readonly BASE: "/tickets";
readonly TYPES: "/ticket-types";
readonly RESERVATIONS: "/ticket-reservations";
readonly VALIDATE: "/tickets/validate";
readonly TRANSFER: "/tickets/transfer";
readonly QR_CODE: "/tickets/:id/qr-code";
};
readonly ORDERS: {
readonly BASE: "/orders";
readonly ITEMS: "/orders/:id/items";
readonly DISCOUNTS: "/orders/:id/discounts";
readonly SHIPPING: "/orders/:id/shipping";
readonly STATUS: "/orders/:id/status";
readonly INVOICE: "/orders/:id/invoice";
};
readonly PAYMENTS: {
readonly BASE: "/payments";
readonly METHODS: "/payment-methods";
readonly PROCESS: "/payments/process";
readonly WEBHOOK: "/payments/webhook";
readonly REFUNDS: "/payments/:id/refunds";
readonly DISPUTES: "/payments/:id/disputes";
};
readonly NOTIFICATIONS: {
readonly BASE: "/notifications";
readonly TEMPLATES: "/notification-templates";
readonly PREFERENCES: "/notification-preferences";
readonly MARK_READ: "/notifications/:id/read";
readonly MARK_ALL_READ: "/notifications/read-all";
};
readonly MERCHANDISE: {
readonly BASE: "/merchandise";
readonly VARIANTS: "/merchandise/:id/variants";
readonly ORDERS: "/merchandise-orders";
readonly REVIEWS: "/merchandise/:id/reviews";
readonly INVENTORY: "/merchandise/:id/inventory";
readonly COLLECTIONS: "/merchandise-collections";
};
readonly SETTINGS: {
readonly BASE: "/settings";
readonly CATEGORIES: "/settings/categories";
readonly CATEGORY: "/settings/category/:category";
readonly SETTING: "/settings/:category/:key";
readonly BULK_UPDATE: "/settings/bulk-update";
readonly EXPORT: "/settings/export";
readonly IMPORT: "/settings/import";
readonly HISTORY: "/settings-history";
readonly HISTORY_BY_SETTING: "/settings-history/setting/:settingId";
readonly HISTORY_BY_CATEGORY: "/settings-history/category/:category";
readonly HISTORY_STATISTICS: "/settings-history/statistics";
};
readonly FEATURE_FLAGS: {
readonly BASE: "/feature-flags";
readonly ACTIVE: "/feature-flags/active";
readonly EVALUATE: "/feature-flags/evaluate";
readonly FLAG: "/feature-flags/:name";
readonly TOGGLE: "/feature-flags/:name/toggle";
readonly METRICS: "/feature-flags/:name/metrics";
};
readonly EMAIL_TEMPLATES: {
readonly BASE: "/email-templates";
readonly BY_TYPE: "/email-templates/by-type/:type";
readonly RENDER: "/email-templates/render";
readonly TEMPLATE: "/email-templates/:id";
readonly BY_KEY: "/email-templates/key/:templateKey";
readonly PREVIEW: "/email-templates/:id/preview";
readonly DUPLICATE: "/email-templates/:id/duplicate";
};
readonly FILES: {
readonly UPLOAD: "/files/upload";
readonly MULTIPLE_UPLOAD: "/files/upload-multiple";
readonly DELETE: "/files/:id";
};
};
export declare const PAGINATION: {
readonly DEFAULT_PAGE: 1;
readonly DEFAULT_LIMIT: 10;
readonly MAX_LIMIT: 100;
readonly LIMITS: readonly [10, 25, 50, 100];
};
export declare const DATE_FORMATS: {
readonly API: "YYYY-MM-DDTHH:mm:ss.SSSZ";
readonly DISPLAY: "DD/MM/YYYY";
readonly DISPLAY_WITH_TIME: "DD/MM/YYYY HH:mm";
readonly TIME_ONLY: "HH:mm";
readonly MONTH_YEAR: "MMMM YYYY";
readonly SHORT_DATE: "DD MMM YYYY";
readonly FULL_DATE: "dddd, DD MMMM YYYY";
};
export declare const CURRENCY: {
readonly DEFAULT: "IDR";
readonly SYMBOL: "Rp";
readonly DECIMAL_PLACES: 0;
readonly THOUSANDS_SEPARATOR: ".";
readonly DECIMAL_SEPARATOR: ",";
};
export declare const FILE_UPLOAD: {
readonly MAX_SIZE: number;
readonly ALLOWED_IMAGE_TYPES: readonly ["image/jpeg", "image/png", "image/webp", "image/gif"];
readonly ALLOWED_DOCUMENT_TYPES: readonly ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"];
readonly ALLOWED_VIDEO_TYPES: readonly ["video/mp4", "video/webm", "video/ogg"];
readonly ALLOWED_AUDIO_TYPES: readonly ["audio/mp3", "audio/wav", "audio/ogg"];
};
export declare const VALIDATION: {
readonly USERNAME: {
readonly MIN_LENGTH: 3;
readonly MAX_LENGTH: 50;
readonly PATTERN: RegExp;
};
readonly PASSWORD: {
readonly MIN_LENGTH: 8;
readonly MAX_LENGTH: 50;
readonly PATTERN: RegExp;
};
readonly EMAIL: {
readonly PATTERN: RegExp;
};
readonly PHONE: {
readonly PATTERN: RegExp;
};
readonly PRICE: {
readonly MIN: 0;
readonly MAX: 999999999;
};
readonly QUANTITY: {
readonly MIN: 1;
readonly MAX: 1000;
};
};
export declare const STATUS_COLORS: {
readonly PENDING: "#FFA500";
readonly PAID: "#32CD32";
readonly CONFIRMED: "#4169E1";
readonly CANCELLED: "#DC143C";
readonly REFUNDED: "#9370DB";
readonly EXPIRED: "#696969";
readonly PROCESSING: "#FFD700";
readonly COMPLETED: "#228B22";
readonly FAILED: "#B22222";
readonly PARTIALLY_REFUNDED: "#DDA0DD";
readonly DRAFT: "#A9A9A9";
readonly PUBLISHED: "#32CD32";
readonly POSTPONED: "#FF8C00";
readonly ACTIVE: "#32CD32";
readonly USED: "#4169E1";
readonly REFUNDED_TICKET: "#9370DB";
readonly SENT: "#32CD32";
readonly DELIVERED: "#228B22";
readonly OPENED: "#4169E1";
readonly CLICKED: "#FF6347";
readonly BOUNCED: "#DC143C";
readonly ACTIVE_SETTING: "#32CD32";
readonly INACTIVE_SETTING: "#DC143C";
readonly ENCRYPTED: "#9370DB";
readonly REQUIRES_RESTART: "#FF8C00";
readonly ACTIVE_FLAG: "#32CD32";
readonly INACTIVE_FLAG: "#DC143C";
readonly TESTING_FLAG: "#FFD700";
readonly DEPRECATED_FLAG: "#FF8C00";
readonly ARCHIVED_FLAG: "#696969";
readonly ACTIVE_TEMPLATE: "#32CD32";
readonly INACTIVE_TEMPLATE: "#DC143C";
readonly DRAFT_TEMPLATE: "#A9A9A9";
readonly ARCHIVED_TEMPLATE: "#696969";
};
export declare const DEFAULTS: {
readonly EVENT: {
readonly CATEGORY: "OTHER";
readonly STATUS: "DRAFT";
readonly MAX_CAPACITY: 1000;
readonly MIN_AGE: 0;
};
readonly TICKET: {
readonly QUANTITY: 1;
readonly SALE_DURATION_DAYS: 30;
};
readonly ORDER: {
readonly CURRENCY: "IDR";
readonly EXPIRY_MINUTES: 30;
};
readonly MERCHANDISE: {
readonly CATEGORY: "OTHER";
readonly STATUS: "DRAFT";
readonly TRACK_INVENTORY: true;
readonly STOCK: 0;
};
readonly NOTIFICATION: {
readonly TYPE: "EMAIL";
readonly PRIORITY: "NORMAL";
};
readonly SETTINGS: {
readonly CATEGORY: "PLATFORM";
readonly DATA_TYPE: "STRING";
readonly ENVIRONMENT: "ALL";
readonly IS_ACTIVE: true;
readonly IS_ENCRYPTED: false;
readonly REQUIRES_RESTART: false;
readonly IS_READ_ONLY: false;
readonly IS_SYSTEM_GENERATED: false;
};
readonly FEATURE_FLAG: {
readonly TYPE: "BOOLEAN";
readonly STATUS: "INACTIVE";
readonly SCOPE: "GLOBAL";
readonly IS_ENABLED: false;
readonly ROLLOUT_PERCENTAGE: 0;
readonly IS_PERMANENT: false;
readonly ENVIRONMENT: "ALL";
};
readonly EMAIL_TEMPLATE: {
readonly TYPE: "SYSTEM";
readonly FORMAT: "HTML";
readonly PRIORITY: "NORMAL";
readonly STATUS: "ACTIVE";
readonly IS_ACTIVE: true;
readonly IS_DEFAULT: false;
readonly VERSION: 1;
};
};
export declare const ERROR_MESSAGES: {
readonly REQUIRED: "Field ini wajib diisi";
readonly INVALID_EMAIL: "Format email tidak valid";
readonly INVALID_PHONE: "Format nomor telepon tidak valid";
readonly PASSWORD_TOO_SHORT: "Password minimal 8 karakter";
readonly PASSWORD_TOO_WEAK: "Password harus mengandung huruf besar, huruf kecil, angka, dan simbol";
readonly USERNAME_INVALID: "Username hanya boleh mengandung huruf, angka, dan underscore";
readonly FILE_TOO_LARGE: "Ukuran file terlalu besar";
readonly FILE_TYPE_NOT_ALLOWED: "Tipe file tidak diizinkan";
readonly NETWORK_ERROR: "Terjadi kesalahan jaringan";
readonly SERVER_ERROR: "Terjadi kesalahan server";
readonly UNAUTHORIZED: "Anda tidak memiliki akses";
readonly FORBIDDEN: "Akses ditolak";
readonly NOT_FOUND: "Data tidak ditemukan";
readonly VALIDATION_ERROR: "Data tidak valid";
};
export declare const SUCCESS_MESSAGES: {
readonly CREATED: "Data berhasil dibuat";
readonly UPDATED: "Data berhasil diperbarui";
readonly DELETED: "Data berhasil dihapus";
readonly SAVED: "Data berhasil disimpan";
readonly SENT: "Berhasil dikirim";
readonly UPLOADED: "File berhasil diunggah";
readonly LOGIN_SUCCESS: "Login berhasil";
readonly LOGOUT_SUCCESS: "Logout berhasil";
readonly REGISTER_SUCCESS: "Registrasi berhasil";
readonly PASSWORD_RESET: "Password berhasil direset";
readonly EMAIL_VERIFIED: "Email berhasil diverifikasi";
};
export declare const STORAGE_KEYS: {
readonly ACCESS_TOKEN: "access_token";
readonly REFRESH_TOKEN: "refresh_token";
readonly USER_DATA: "user_data";
readonly CART: "cart";
readonly PREFERENCES: "preferences";
readonly THEME: "theme";
readonly LANGUAGE: "language";
};
export declare const THEME: {
readonly COLORS: {
readonly PRIMARY: "#4F46E5";
readonly SECONDARY: "#7C3AED";
readonly SUCCESS: "#10B981";
readonly WARNING: "#F59E0B";
readonly ERROR: "#EF4444";
readonly INFO: "#3B82F6";
readonly GRAY: {
readonly 50: "#F9FAFB";
readonly 100: "#F3F4F6";
readonly 200: "#E5E7EB";
readonly 300: "#D1D5DB";
readonly 400: "#9CA3AF";
readonly 500: "#6B7280";
readonly 600: "#4B5563";
readonly 700: "#374151";
readonly 800: "#1F2937";
readonly 900: "#111827";
};
};
readonly BREAKPOINTS: {
readonly SM: "640px";
readonly MD: "768px";
readonly LG: "1024px";
readonly XL: "1280px";
readonly '2XL': "1536px";
};
};
export declare const FEATURES: {
readonly ENABLE_NOTIFICATIONS: true;
readonly ENABLE_MERCHANDISE: true;
readonly ENABLE_ANALYTICS: true;
readonly ENABLE_REVIEWS: true;
readonly ENABLE_SOCIAL_LOGIN: true;
readonly ENABLE_MULTI_LANGUAGE: false;
readonly ENABLE_DARK_MODE: true;
readonly ENABLE_PWA: false;
readonly ENABLE_SETTINGS_MANAGEMENT: true;
readonly ENABLE_FEATURE_FLAGS: true;
readonly ENABLE_EMAIL_TEMPLATES: true;
readonly ENABLE_SETTINGS_HISTORY: true;
readonly ENABLE_SETTINGS_ENCRYPTION: true;
};
//# sourceMappingURL=constants.d.ts.map