// Admin API Endpoints :----
export const BaseURL = process.env.API_BASE_URL
export const SocketURL = process.env.SOCKET_URL
export const WebsiteURL = process.env.WEBSITE_URL


// Chat Constant and API

// Chat public keys (safe to expose)
// Note: ChatAuthKey is exposed client-side because CometChat SDK needs it for initialization
export const ChatAppID: string = process.env.NEXT_PUBLIC_CHAT_APP_ID || process.env.CHAT_APP_ID || ""
export const ChatRegion: string = process.env.NEXT_PUBLIC_CHAT_REGION || process.env.CHAT_REGION || ""
export const ChatAuthKey: string = process.env.NEXT_PUBLIC_CHAT_AUTH_KEY || process.env.CHAT_AUTH_KEY || ""
// Chat REST API key - should only be used server-side (in API routes)
export const ChatRestAPIKey: any = process.env.NEXT_PUBLIC_CHAT_REST_API_KEY || process.env.CHAT_REST_API_KEY || ""
export const ChatBaseURL = `https://${ChatAppID}.api-${ChatRegion}.cometchat.io/v3/`
export const ChatCreateUser = "users"
export const ChatGroup = "groups"
export const ChatConversations = "conversations"



/**** Auth API ****/
export const LoginAPI = 'auth/login'
export const BrandRegisterAPI = 'auth/register'
export const ForgotPasswordAPI = 'auth/forgot-password'
export const VerifyOtpAPI = 'auth/verify'
export const ResetPasswordAPI = 'auth/reset-password'
export const SelfAPI = 'auth/self'
export const SocialLoginAPI = 'auth/social-login'
export const ChangePasswordAPI = 'auth/change-password'
export const ChangeLanguageAPI = 'auth/change-language'

export const AdminUserListAPI = 'admin/users'
export const AdminUserSocialMediaPostsListAPI = 'admin/social-media-posts'
export const UserStatusChangeAPI = 'admin/activation-status'
export const AdminBrandUserEditAPI = 'brand-register/edit'
export const AdminInfluencerUserEditAPI = 'influencer-register/edit'
export const AdminUserEditAPI = 'admin/edit'
export const DeleteUser = 'auth/delete'
export const DeleteAll = 'auth/multi-delete'

export const BrandStep1API = 'brand-register/first-step'
export const BrandStep2API = 'brand-register/second-step'
export const BrandStep3API = 'brand-register/third-step'
export const BrandBackStepAPI = 'brand-register/back-step'

export const SocialLinkAPI = 'influencer-register/social-media'

export const CategoryAPI = 'categories'
export const AdminCategoryListAPI = 'categories/admin/list'
export const CountryRecommendedCategoryListAPI = 'categories/country-recommended/list'
export const CountryRecommendedToggleAPI = 'categories/country-recommended/toggle'
export const CountryRecommendedOrderAPI = 'categories/country-recommended/order'
export const CountryRecommendedMinApplicationAPI = 'categories/country-recommended/min-application'
export const CountryRecommendedCampaignsAPI = 'categories/country-recommended/campaigns'
export const CountryRecommendedCampaignsToggleAPI = 'categories/country-recommended/campaigns/toggle'
export const CountryRecommendedCampaignsHideToggleAPI = 'categories/country-recommended/campaigns/hide-toggle'
export const CountryRecommendedCampaignsOrderAPI = 'categories/country-recommended/campaigns/order'
export const KeywordAPI = 'keywords'
export const AdminKeywordListAPI = 'keywords/admin/list'
export const InfluencerStep1API = 'influencer-register/first-step'
export const InfluencerStep2API = 'influencer-register/second-step'
export const InfluencerStep3API = 'influencer-register/third-step'
export const InfluencerBackStepAPI = 'influencer-register/back-step'

export const NotificationAPI = 'common/notifications'
export const CometChatNotificationAPI = 'common/notifications/comet-chat'
export const WhatsAppMessagesAPI = 'common/whatsapp-messages'

export const UpdateSettingsAPI = 'settings'
export const PlatformSettingsAPI = 'settings/platform'
export const GeneralSettingsAPI = 'settings/general'
export const CampaignRecommendSettingsAPI = 'settings/recommended_score'
export const InfluencerJobRecommendSettingsAPI = 'settings/influencer_recommended_score'
export const TrendingInfluencerSettingsAPI = 'settings/trending_influencer'
export const AdminPermissionAPI = 'settings/permission'
export const ExchangeRateSettingsAPI = 'admin/currency-exchange-list'
export const UpdateExchangeRateAPI = "admin/currency-exchange"
export const AiPromptsSettingsAPI = "settings/ai_prompt"

export const ConfigurationAPI = 'configurations'

export const InfluencerListAPI = 'browse-influencer'
export const RecommendBrowseInfluencerListAPI = 'browse-influencer/rising-fast'

export const CommonUploadAPI = "common/upload-file"
export const CommonS3BucketUploadAPI = "common/s3/presigned-url"

export const ImportInfluencerAPI = "file-manager/import/users-data"

export const GetFileManagerAPI = 'file-manager'

export const GetFileManagerErrorLogAPI = 'file-manager/error-logs'

export const CategoryActiveInActiveAPI = "categories/activation-status"
export const KeywordActiveInActiveAPI = "keywords/activation-status"

export const PlanAPI = 'plans'
export const PlanPermissionAPI = 'plans/permissions'

export const PlanChangeStatusAPI = 'plans/change-status'

export const AdminFAQsAPI = 'faqs'

export const FaqStatusChangeAPI = 'faqs/change-status'

export const PrivacyPolicyAPI = "cms/privacy-policy"

export const TermsConditionsAPI = "cms/terms-condition"

export const GetExportInfluencerAPI = "file-manager/export/influencer-data"
export const GetExportBrandAPI = "file-manager/export/brand-data"
export const GetExportCampaignPaymentAPI = "admin/campaign/export"
export const GetExportSubscriptionPaymentAPI = "payment/subscription-history/export"
export const GetExportCampaignAnalyticsReportAPI = "admin/campaign/export/analysis"

export const SaveCardAPI = "payment/save-card"

export const CardsAPI = 'payment/cards'

export const PaymentSubScriptionsAPI = "payment/subscription"
export const SubscriptionLinkAPI = "payment/subscription/link"
export const CancelSubscriptionAPI = "payment/subscription/cancel"
export const CancelSchedulingAPI = "payment/schedule/cancel"
export const ManageSubscriptionAPI = "payment/billing-portal"

export const DeleteCardAPI = "payment/card"

export const CountriesAPI = "common/countries"

export const SaveListAPI = "browse-influencer/favorite"
export const FavoriteListExportAPI = "browse-influencer/favorite/export"
export const ApplicantsExportAPI = "campaign/applicants/export"
export const CampaignAiReportAPI = "campaign/ai-reports"

export const AddRemoveFavoriteAPI = "browse-influencer/favorite"

export const CampaignAPI = "campaign"
export const ViewAsCreatorAPI = "campaign/brand/view-as-creator"
export const PreviewAsCreatorAPI = "campaign/brand/preview-as-creator"
export const CampaignContactNowAPI = "campaign/brand/contact-now"
export const CampaignQuotationApprovedAPI = "campaign/brand/quotation-approved"
export const CampaignBulkQuotationApprovedAPI = "campaign/brand/bulk-quotation-approved"
export const CampaignApprovedpriceAPI = "campaign/brand/approve-price"
export const CampaignInfluencerDeleteAPI = "campaign/delete/influencer"

export const JobListingAPI = "campaign/influencer/campaign-list"
export const JobRecommendListingAPI = "campaign/influencer/recommended"
export const JobEasyApplyAPI = "campaign/influencer/easy-apply"
export const JobEditPriceAPI = "campaign/influencer/edit-price"
export const MyJobListingAPI = "campaign/influencer/my-jobs"
export const AddDraftAPI = "campaign/influencer/add-draft"
export const AddDraftCommentAPI = "campaign/influencer/add-draft-comment"
export const GetDraftCommentsAPI = "campaign/influencer/get-draft-comment"
export const ApproveDraftAPI = "campaign/brand/approve-draft"
export const DraftDetailsAPI = "campaign/draft-details"
export const DeleteDraftAPI = "campaign/influencer/delete-draft"

export const AdminCampaignAPI = "admin/campaign/list"
export const AdminCampaignStatusChangeAPI = "campaign/change-status"
export const AdminCampaignDetailAPI = "admin/campaign"

export const DisputeAPI = "dispute"

export const GetLatestSocialMediaPost = "influencer-register/social-media/live-post"
export const GetPostFromLinkAPI = "influencer-register/social-media/link"
export const AddPostAPI = "campaign/influencer/add-posts"
export const ChangeInfluencerStatusAPI = "campaign/change-influencer-status"

export const AddRemoveSavedCampaignAPI = "campaign/influencer/save-campaign"
export const WithdrawFromJobAPI = "campaign/withdraw-job"
export const BrandTerminateJobAPI = "campaign/terminate-job"

export const InfluencerPaymentAPI = "campaign/influencer/payment-list"
export const InfluencerPaymentStatsAPI = "campaign/influencer/payment-statistics"

export const BrandPaymentAPI = "campaign/brand/payment-list"
export const BrandPaymentStatsAPI = "campaign/brand/payment-statistics"
export const BrandPayment = "campaign/brand/payment"
export const BrandCampaignPayment = "campaign/brand/campaign-payment"

export const AdvertisementListAPI = "advertisement"
export const AdvertisementStatusChangeAPI = 'advertisement/change-status'

export const DashboardInfluencerCalendarAPI = 'campaign/influencer/calendar'
export const DashboardBrandCalendarAPI = 'campaign/brand/calendar'

export const InfluencerArchiveAPI = 'campaign/brand/archive'
export const MyWorkAPI = 'campaign/brand/dashboard/influencer-list'

export const BrandDashboardAPI = 'campaign/brand/dashboard'

export const AdminPaymentListAPI = 'admin/campaign/payment-list'
export const AdminPaymentAPI = 'admin/campaign/paid'
export const AdminPaymentHistoryAPI = 'admin/campaign/payment-history'
export const AdminPaymentChangeStatusAPI = 'admin/campaign/payment/change-status'
export const AdminSubscriptionHistoryAPI = 'payment/subscription-history'

export const WithoutAuthUserDetailAPI = "auth/user-details"
export const WithoutAuthCategoryAPI = "categories/influencer"
export const WithoutAuthCampaignAPI = "campaign/public/meta"

export const BankAccountAPI = "influencer-register/bank-account"
export const RecommendListingAPI = "admin/campaign/recommended"
export const CampaignAiAPI = "campaign/ai"
export const CampaignChatAiAPI = "campaign/chat/ai"

export const PermissionAPI = "payment/brand/permissions"

export const ChatPermissionAPI = "campaign/brand/chat-permission"

export const AdminDashboardAPI = "admin/dashboard"
export const AdminDashboardChartAPI = "admin/dashboard/chart"
export const CampaignPopupAPI = "campaign/brand/campaign-popup"
export const UpdateCampaignDatesAPI = "campaign/brand/update-influencer-due-dates"

export const ChatAttachmentAPI = "campaign/influencer/other-attachment"
export const ChaseUpNotificationAPI = "campaign/chase-up"
export const PaymentSecretAPI = "payment/client/secret"

export const PaidSubscriptionAPI = "payment/activated/subscription"
export const ReactivateSubscriptionAPI = "payment/re-activate/subscription"

export const ContinueWithSameQuotationAPI = "campaign/continue-with-same-price"

export const TroubleshootAPI = "common/error-report"

export const CategoryKeywordAPI = 'categories/keyword-json'

export const GroupContactsAPI = "admin/marketing-campaign/group"
export const AddEditContactsAPI = "admin/marketing-campaign/contacts"
export const ContactsAPI = "admin/marketing-campaign/contacts/search"
export const UploadContactsAPI = "admin/marketing-campaign/upload/contacts"

export const MarketingCampaignAPI = "admin/marketing-campaign"

export const VerifyWhatsAppAPI = "auth/verify-whatsapp"
export const NotificationPreferencesAPI = "notification-preferences"
// Admin Payment Methods (dynamic fields) & Country assignment
export const AdminPaymentMethodListAPI = "payment-method"
export const AdminCountryPaymentMethodsAPI = "payment-method/assigned-countries"
export const InfluencerPaymentMethodListAPI = "payment-method/influencer"