github.com/rede5/gohorsejobs/backend/cmd/api/main.go:22: main 0.0% github.com/rede5/gohorsejobs/backend/cmd/api/main.go:77: ValidateJWT 100.0% github.com/rede5/gohorsejobs/backend/cmd/api/main.go:93: ConfigureSwagger 100.0% github.com/rede5/gohorsejobs/backend/cmd/debug_user/main.go:14: main 0.0% github.com/rede5/gohorsejobs/backend/cmd/debug_user/main.go:67: VerifyUserPassword 83.3% github.com/rede5/gohorsejobs/backend/cmd/fixhash/main.go:11: main 0.0% github.com/rede5/gohorsejobs/backend/cmd/genhash/main.go:9: main 0.0% github.com/rede5/gohorsejobs/backend/cmd/genhash/main.go:20: GenerateHash 80.0% github.com/rede5/gohorsejobs/backend/cmd/inspect_schema/main.go:13: main 0.0% github.com/rede5/gohorsejobs/backend/cmd/manual_migrate/main.go:14: main 0.0% github.com/rede5/gohorsejobs/backend/docs/docs.go:2786: init 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:45: NewAdminHandlers 100.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:54: ListAccessRoles 100.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:99: ListLoginAudits 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:111: ListCompanies 76.5% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:146: UpdateCompanyStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:165: ListJobs 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:219: UpdateJobStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:243: DuplicateJob 75.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:257: ListTags 75.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:278: CreateTag 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:300: UpdateTag 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:324: ListCandidates 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:373: UpdateCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:401: DeleteCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:410: PurgeCache 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:423: ListEmailTemplates 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:433: GetEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:448: CreateEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:470: UpdateEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:488: DeleteEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:501: GetEmailSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/admin_handlers.go:525: UpdateEmailSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/chat_handlers.go:15: NewChatHandlers 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/chat_handlers.go:28: ListConversations 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/chat_handlers.go:76: ListMessages 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/chat_handlers.go:112: SendMessage 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:36: NewCoreHandlers 100.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:65: Login 55.6% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:117: Logout 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:135: RegisterCandidate 50.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:170: CreateCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:196: ListCompanies 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:266: GetCompanyByID 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:296: CreateUser 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:343: ListUsers 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:447: DeleteUser 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:508: UpdateUser 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:549: extractClientIP 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:586: ListNotifications 63.6% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:615: MarkNotificationAsRead 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:649: MarkAllNotificationsAsRead 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:676: CreateTicket 66.7% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:716: ListTickets 63.6% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:746: GetTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:790: AddMessage 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:838: UpdateTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:887: CloseTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:926: DeleteTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:956: ListAllTickets 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:988: UpdateMyProfile 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:1031: UploadMyAvatar 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:1076: Me 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:1127: SaveFCMToken 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/core_handlers.go:1162: hasAdminRole 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/location_handlers.go:15: NewLocationHandlers 100.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/location_handlers.go:20: ListCountries 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/location_handlers.go:33: ListStatesByCountry 28.6% github.com/rede5/gohorsejobs/backend/internal/api/handlers/location_handlers.go:58: ListCitiesByState 28.6% github.com/rede5/gohorsejobs/backend/internal/api/handlers/location_handlers.go:83: SearchLocations 68.4% github.com/rede5/gohorsejobs/backend/internal/api/handlers/settings_handler.go:15: NewSettingsHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/settings_handler.go:21: GetSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/settings_handler.go:66: SaveSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/storage_handler.go:19: NewStorageHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/api/handlers/storage_handler.go:29: GetUploadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:24: NewMiddleware 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:29: HeaderAuthGuard 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:87: OptionalHeaderAuthGuard 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:127: RequireRoles 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:157: ExtractRoles 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:174: hasRole 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/auth_middleware.go:192: TenantGuard 100.0% github.com/rede5/gohorsejobs/backend/internal/api/middleware/cors_middleware.go:9: CORSMiddleware 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/company.go:17: NewCompany 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/company.go:29: Activate 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/company.go:34: Deactivate 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/user.go:39: NewUser 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/user.go:52: AssignRole 100.0% github.com/rede5/gohorsejobs/backend/internal/core/domain/entity/user.go:57: HasPermission 100.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/auth/login.go:19: NewLoginUseCase 100.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/auth/login.go:26: Execute 64.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/auth/register_candidate.go:21: NewRegisterCandidateUseCase 100.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/auth/register_candidate.go:30: Execute 75.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/tenant/create_company.go:17: NewCreateCompanyUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/tenant/create_company.go:25: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/tenant/list_companies.go:14: NewListCompaniesUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/tenant/list_companies.go:20: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/create_user.go:17: NewCreateUserUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/create_user.go:24: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/delete_user.go:14: NewDeleteUserUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/delete_user.go:20: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/list_users.go:15: NewListUsersUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/list_users.go:21: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/update_user.go:16: NewUpdateUserUseCase 0.0% github.com/rede5/gohorsejobs/backend/internal/core/usecases/user/update_user.go:22: Execute 0.0% github.com/rede5/gohorsejobs/backend/internal/database/database.go:15: InitDB 0.0% github.com/rede5/gohorsejobs/backend/internal/database/database.go:34: BuildConnectionString 79.2% github.com/rede5/gohorsejobs/backend/internal/database/database.go:75: RunMigrations 47.8% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:16: NewApplicationHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:31: CreateApplication 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:60: GetApplications 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:99: GetApplicationByID 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:124: UpdateApplicationStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/application_handler.go:154: DeleteApplication 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:25: NewJobHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:42: GetJobs 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:111: CreateJob 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:163: GetJobByID 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:188: UpdateJob 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/job_handler.go:218: DeleteJob 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:26: NewPaymentHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:66: CreateCheckout 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:120: HandleWebhook 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:179: handleCheckoutComplete 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:194: handlePaymentSuccess 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:199: handlePaymentFailed 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:213: GetPaymentStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:231: createStripeCheckoutSession 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:273: verifyStripeSignature 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/payment_handler.go:320: splitHeader 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/storage_handler.go:21: NewStorageHandler 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/storage_handler.go:63: GenerateUploadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/storage_handler.go:149: GenerateDownloadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/handlers/storage_handler.go:190: DeleteFile 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/auth/jwt_service.go:19: NewJWTService 100.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/auth/jwt_service.go:26: HashPassword 100.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/auth/jwt_service.go:38: VerifyPassword 100.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/auth/jwt_service.go:45: GenerateToken 94.1% github.com/rede5/gohorsejobs/backend/internal/infrastructure/auth/jwt_service.go:83: ValidateToken 88.9% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:20: NewEmailService 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:35: IsConfigured 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:49: SendEmail 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:98: SendWelcome 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:123: SendPasswordReset 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:154: SendApplicationReceived 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/email/email_service.go:178: renderTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:16: NewCompanyRepository 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:20: Save 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:50: FindByID 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:68: Update 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:87: Delete 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/company_repository.go:93: FindAll 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:17: NewEmailRepository 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:23: ListTemplates 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:46: GetTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:65: CreateTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:76: UpdateTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:95: DeleteTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:102: GetSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/email_repository.go:124: UpdateSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/location_repository.go:14: NewLocationRepository 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/location_repository.go:18: ListCountries 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/location_repository.go:56: ListStates 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/location_repository.go:83: ListCities 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/location_repository.go:103: Search 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:15: NewUserRepository 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:19: Save 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:83: FindByEmail 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:103: FindByID 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:120: FindAllByTenant 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:153: Update 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:202: Delete 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/persistence/postgres/user_repository.go:207: getRoles 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:24: NewS3Storage 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:73: GenerateUploadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:94: GenerateDownloadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:114: DeleteObject 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:129: GetPublicURL 0.0% github.com/rede5/gohorsejobs/backend/internal/infrastructure/storage/s3_storage.go:137: GetBucket 0.0% github.com/rede5/gohorsejobs/backend/internal/middleware/auth.go:18: AuthMiddleware 100.0% github.com/rede5/gohorsejobs/backend/internal/middleware/auth.go:45: RequireRole 85.7% github.com/rede5/gohorsejobs/backend/internal/middleware/cors.go:11: CORSMiddleware 89.5% github.com/rede5/gohorsejobs/backend/internal/middleware/logging.go:10: LoggingMiddleware 100.0% github.com/rede5/gohorsejobs/backend/internal/middleware/logging.go:35: WriteHeader 100.0% github.com/rede5/gohorsejobs/backend/internal/middleware/rate_limit.go:23: NewRateLimiter 100.0% github.com/rede5/gohorsejobs/backend/internal/middleware/rate_limit.go:36: cleanup 57.1% github.com/rede5/gohorsejobs/backend/internal/middleware/rate_limit.go:49: isAllowed 80.0% github.com/rede5/gohorsejobs/backend/internal/middleware/rate_limit.go:77: getIP 50.0% github.com/rede5/gohorsejobs/backend/internal/middleware/rate_limit.go:101: RateLimitMiddleware 100.0% github.com/rede5/gohorsejobs/backend/internal/middleware/sanitizer.go:14: SanitizeMiddleware 87.5% github.com/rede5/gohorsejobs/backend/internal/middleware/sanitizer.go:47: sanitize 50.0% github.com/rede5/gohorsejobs/backend/internal/middleware/security_headers.go:10: SecurityHeadersMiddleware 83.3% github.com/rede5/gohorsejobs/backend/internal/models/user.go:46: ToResponse 0.0% github.com/rede5/gohorsejobs/backend/internal/models/user_company.go:30: Value 0.0% github.com/rede5/gohorsejobs/backend/internal/models/user_company.go:38: Scan 0.0% github.com/rede5/gohorsejobs/backend/internal/router/router.go:29: NewRouter 94.7% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:20: NewAdminService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:24: ListCompanies 77.8% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:93: ListUsers 76.7% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:142: UpdateCompanyStatus 92.3% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:169: DuplicateJob 83.3% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:244: ListTags 70.6% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:271: CreateTag 87.5% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:297: UpdateTag 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:327: ListCandidates 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:487: stringOrNil 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:498: buildLocation 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:513: normalizeSkills 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:531: isActiveApplicationStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:540: GetCompanyByID 100.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:570: getTagByID 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:580: GetUser 85.7% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:595: GetCompanyByUserID 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:629: UpdateCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:702: DeleteCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:718: ListEmailTemplates 86.7% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:741: GetEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:760: CreateEmailTemplate 80.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:782: UpdateEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:813: DeleteEmailTemplate 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:818: GetEmailSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:838: UpdateEmailSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/services/admin_service.go:870: applyEmailSettingsUpdate 0.0% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:15: NewApplicationService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:19: CreateApplication 83.3% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:57: GetApplications 83.3% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:84: GetApplicationByID 83.3% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:101: UpdateApplicationStatus 0.0% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:116: GetApplicationsByCompany 0.0% github.com/rede5/gohorsejobs/backend/internal/services/application_service.go:145: DeleteApplication 100.0% github.com/rede5/gohorsejobs/backend/internal/services/appwrite_service.go:26: NewAppwriteService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/appwrite_service.go:33: PushMessage 0.0% github.com/rede5/gohorsejobs/backend/internal/services/appwrite_service.go:72: getConfig 0.0% github.com/rede5/gohorsejobs/backend/internal/services/audit_service.go:15: NewAuditService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/audit_service.go:27: RecordLogin 100.0% github.com/rede5/gohorsejobs/backend/internal/services/audit_service.go:37: ListLogins 64.3% github.com/rede5/gohorsejobs/backend/internal/services/chat_service.go:15: NewChatService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/chat_service.go:43: SendMessage 0.0% github.com/rede5/gohorsejobs/backend/internal/services/chat_service.go:86: ListMessages 0.0% github.com/rede5/gohorsejobs/backend/internal/services/chat_service.go:111: ListConversations 0.0% github.com/rede5/gohorsejobs/backend/internal/services/cloudflare_service.go:21: NewCloudflareService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/cloudflare_service.go:26: PurgeCache 0.0% github.com/rede5/gohorsejobs/backend/internal/services/cpanel_service.go:20: NewCPanelService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/cpanel_service.go:25: GetConfig 0.0% github.com/rede5/gohorsejobs/backend/internal/services/cpanel_service.go:44: ListEmailAccounts 0.0% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:25: NewCredentialsService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:33: SaveCredentials 87.5% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:57: GetDecryptedKey 78.6% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:94: decryptPayload 55.0% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:150: ListConfiguredServices 89.5% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:200: DeleteCredentials 87.5% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:216: EncryptPayload 0.0% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:261: BootstrapCredentials 0.0% github.com/rede5/gohorsejobs/backend/internal/services/credentials_service.go:335: isServiceConfigured 0.0% github.com/rede5/gohorsejobs/backend/internal/services/email_service.go:18: NewEmailService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/email_service.go:32: SendTemplateEmail 0.0% github.com/rede5/gohorsejobs/backend/internal/services/fcm_service.go:20: NewFCMService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/fcm_service.go:24: getClient 0.0% github.com/rede5/gohorsejobs/backend/internal/services/fcm_service.go:57: SendPush 0.0% github.com/rede5/gohorsejobs/backend/internal/services/fcm_service.go:77: SubscribeToTopic 0.0% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:17: NewJobService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:21: CreateJob 100.0% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:77: GetJobs 38.1% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:239: GetJobByID 83.3% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:258: UpdateJob 62.1% github.com/rede5/gohorsejobs/backend/internal/services/job_service.go:303: DeleteJob 100.0% github.com/rede5/gohorsejobs/backend/internal/services/location_service.go:14: NewLocationService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/location_service.go:18: ListCountries 0.0% github.com/rede5/gohorsejobs/backend/internal/services/location_service.go:22: ListStates 0.0% github.com/rede5/gohorsejobs/backend/internal/services/location_service.go:26: ListCities 0.0% github.com/rede5/gohorsejobs/backend/internal/services/location_service.go:30: Search 0.0% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:15: NewNotificationService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:19: CreateNotification 100.0% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:28: ListNotifications 58.3% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:63: MarkAsRead 100.0% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:73: MarkAllAsRead 100.0% github.com/rede5/gohorsejobs/backend/internal/services/notification_service.go:83: SaveFCMToken 0.0% github.com/rede5/gohorsejobs/backend/internal/services/settings_service.go:14: NewSettingsService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/settings_service.go:19: GetSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/services/settings_service.go:33: SaveSettings 0.0% github.com/rede5/gohorsejobs/backend/internal/services/storage_service.go:19: NewStorageService 0.0% github.com/rede5/gohorsejobs/backend/internal/services/storage_service.go:32: getClient 0.0% github.com/rede5/gohorsejobs/backend/internal/services/storage_service.go:72: GetPresignedUploadURL 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:15: NewTicketService 100.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:19: CreateTicket 87.5% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:38: ListTickets 83.3% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:64: GetTicket 73.7% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:109: AddMessage 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:140: UpdateTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:186: CloseTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:192: DeleteTicket 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:214: ListAllTickets 0.0% github.com/rede5/gohorsejobs/backend/internal/services/ticket_service.go:248: joinStrings 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/jwt.go:21: GenerateJWT 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/jwt.go:39: ValidateJWT 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/password.go:6: HashPassword 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/password.go:12: CheckPasswordHash 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:19: DefaultSanitizer 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:28: SanitizeString 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:40: SanitizeName 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:50: SanitizeEmail 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:59: SanitizeDescription 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:69: SanitizeSlug 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/sanitizer.go:86: StripHTML 100.0% github.com/rede5/gohorsejobs/backend/internal/utils/uuid/uuid.go:13: V7 0.0% github.com/rede5/gohorsejobs/backend/internal/utils/uuid/uuid.go:47: IsValid 0.0% total: (statements) 27.2%