Skip to content

Conversation

@chendelin1982
Copy link
Contributor

@chendelin1982 chendelin1982 commented Dec 6, 2025

Pull Request

变更类型

请选择适用的变更类型:

  • 新功能 (feature)
  • Bug 修复 (fix)
  • 文档更新 (docs)
  • 代码重构 (refactor)
  • 性能优化 (perf)
  • 测试相关 (test)
  • 构建/CI 相关 (chore)

变更描述

简要描述本次变更的内容和目的:

相关 Issue

关联的 Issue 编号(如果有):

  • Closes #
  • Fixes #
  • Related to #

测试说明

请说明如何测试这些变更:

  • 已添加单元测试
  • 已添加集成测试
  • 已进行手动测试
  • 测试覆盖率 ≥ 80%

测试步骤

检查清单

请确认以下项目:

  • 代码遵循项目编码规范
  • 已更新相关文档
  • 已通过所有自动化测试
  • 已进行代码自查
  • 无明显性能问题
  • 提交消息符合 Conventional Commits 规范

破坏性变更

如果此 PR 包含破坏性变更,请在此处说明:

截图/演示

如果涉及 UI 变更,请提供截图或演示:

其他说明

其他需要说明的内容:


注意: 请确保您的 PR 标题遵循以下格式:

<type>[optional scope]: <description>

例如:

  • feat(auth): add JWT token refresh mechanism
  • fix(api): handle null pointer in user service
  • docs(readme): update installation instructions

eoctet and others added 30 commits September 25, 2025 11:00
feat(plugins): add timezone conversion and permission i18n hooks
- Remove generateSampleData and renderTemplate methods from test logic
- Delete template preview API and related logic
- Add code field to template test request for channel integration
- Implement template variable validation for test
- Update DTO validation to use both binding and validate tags
- Remove redundant email validation in service layer
- Add comprehensive i18n translations for template operations
- Refactor TestTemplate method to reduce complexity
- Update database migrations and init scripts
- Add proper dependency injection for template service
- Fix code analysis issues and reduce cyclomatic complexity
…port in permission listing

- Register custom validator for RFC3339 datetime format with URL decoding support.
- Replace old datetime validation tags with new `rfc3339` validator.
- Extend permission repository List method to support language-based translation matching.
feat(validation): add RFC3339 datetime validation and translation sup…
eoctet and others added 24 commits November 20, 2025 13:52
- Replace `type:bigint unsigned` with `type:integer` for uint fields across various models.
- Remove redundant `autoIncrement` and standardize primary key definitions.
- Ensure consistent use of `json:"id"` and `gorm:"primarykey"` for ID fields.
- Update foreign key and index field types to improve compatibility and consistency.

Closes #227
@github-actions
Copy link

github-actions bot commented Dec 6, 2025

⚠️ Test Coverage Report

Component Coverage Status
API Service 15.5% ⚠️
Websoft9 Agent 14.3% ⚠️
Average Coverage 14.9% ⚠️

Threshold: 80%

⚠️ Warning: Some components have coverage below threshold, recommend adding test cases

Detailed Coverage Information

API Service:

api-service/cmd/server/main.go:64:				main					0.0%
api-service/cmd/server/main.go:135:				initAuthConfig				0.0%
api-service/cmd/server/main.go:142:				initI18n				0.0%
api-service/cmd/server/main.go:149:				initCrypto				0.0%
api-service/cmd/server/main.go:158:				importSQLFile				0.0%
api-service/cmd/server/main.go:184:				setupSQLiteForeignKeys			0.0%
api-service/cmd/server/main.go:200:				restoreSQLiteForeignKeys		0.0%
api-service/cmd/server/main.go:209:				executeStatementsInTransaction		0.0%
api-service/cmd/server/main.go:243:				disableForeignKeyChecksInTransaction	0.0%
api-service/cmd/server/main.go:259:				logStatementError			0.0%
api-service/cmd/server/main.go:271:				disableForeignKeyChecks			0.0%
api-service/cmd/server/main.go:287:				enableForeignKeyChecks			0.0%
api-service/cmd/server/main.go:298:				parseSQLStatements			0.0%
api-service/cmd/server/main.go:353:				initDatabaseWrapper			0.0%
api-service/cmd/server/main.go:437:				initServices				0.0%
api-service/cmd/server/main.go:462:				startServer				0.0%
api-service/cmd/server/main.go:608:				initRepositories			0.0%
api-service/cmd/server/main.go:669:				initBusinessServices			0.0%
api-service/cmd/server/main.go:773:				initAdditionalServices			0.0%
api-service/cmd/server/main.go:790:				initControllers				0.0%
api-service/cmd/server/main.go:851:				shutdownServices			0.0%
api-service/docs/docs.go:12085:					init					0.0%
api-service/internal/config/auth.go:157:			NewAuthConfigManager			0.0%
api-service/internal/config/auth.go:171:			loadConfig				0.0%
api-service/internal/config/auth.go:210:			setDefaults				0.0%
api-service/internal/config/auth.go:256:			createDefaultConfig			0.0%
api-service/internal/config/auth.go:272:			processEnvironmentVariables		0.0%
api-service/internal/config/auth.go:288:			expandEnvironmentVariables		0.0%
api-service/internal/config/auth.go:293:			GetConfig				0.0%
api-service/internal/config/auth.go:298:			UpdateConfig				0.0%
api-service/internal/config/auth.go:319:			validateConfig				0.0%
api-service/internal/config/auth.go:355:			updateViperConfig			0.0%
api-service/internal/config/auth.go:375:			ReloadConfig				0.0%
api-service/internal/config/auth.go:380:			GetOAuth2Provider			0.0%
api-service/internal/config/auth.go:389:			GetEnabledOAuth2Providers		0.0%
api-service/internal/config/auth.go:401:			IsOAuth2Enabled				0.0%
api-service/internal/config/auth.go:406:			IsTwoFactorEnabled			0.0%
api-service/internal/config/auth.go:411:			IsTwoFactorRequiredForRole		0.0%
api-service/internal/config/auth.go:421:			GetPasswordPolicy			0.0%
api-service/internal/config/auth.go:426:			GetLoginSecurity			0.0%
api-service/internal/config/config.go:167:			Load					0.0%
api-service/internal/config/config.go:213:			setDefaults				0.0%
api-service/internal/config/config.go:225:			setServerDefaults			0.0%
api-service/internal/config/config.go:254:			setDatabaseDefaults			0.0%
api-service/internal/config/config.go:271:			setRedisDefaults			0.0%
api-service/internal/config/config.go:277:			setI18nDefaults				0.0%
api-service/internal/config/config.go:282:			setEmailDefaults			0.0%
api-service/internal/config/config.go:291:			setAppDefaults				0.0%
api-service/internal/config/config.go:296:			setAuditLogDefaults			0.0%
api-service/internal/config/config.go:309:			setSecurityDefaults			0.0%
api-service/internal/config/config.go:316:			setSecretsDefaults			0.0%
api-service/internal/constants/constants.go:266:		GetTimezoneConvertibleFields		0.0%
api-service/internal/controller/alert.go:25:			NewAlertController			0.0%
api-service/internal/controller/alert.go:56:			GetAlertRules				0.0%
api-service/internal/controller/alert.go:87:			CreateAlertRule				0.0%
api-service/internal/controller/alert.go:120:			isExpression				0.0%
api-service/internal/controller/alert.go:138:			GetAlertRule				0.0%
api-service/internal/controller/alert.go:172:			UpdateAlertRule				0.0%
api-service/internal/controller/alert.go:219:			DeleteAlertRule				0.0%
api-service/internal/controller/alert.go:256:			GetAlertRecords				0.0%
api-service/internal/controller/alert.go:288:			AcknowledgeAlertRecord			0.0%
api-service/internal/controller/alert.go:333:			ResolveAlertRecord			0.0%
api-service/internal/controller/audit_log.go:27:		NewAuditLogController			0.0%
api-service/internal/controller/audit_log.go:50:		GetAuditLog				0.0%
api-service/internal/controller/audit_log.go:83:		ListAuditLogs				0.0%
api-service/internal/controller/audit_log.go:112:		ExportAuditLogs				0.0%
api-service/internal/controller/audit_log.go:136:		generateExportFilename			0.0%
api-service/internal/controller/audit_log.go:143:		getFileExtensionByFormat		0.0%
api-service/internal/controller/common_validator.go:14:		BindAndValidateRequest			0.0%
api-service/internal/controller/common_validator.go:19:		BindAndValidateQuery			0.0%
api-service/internal/controller/common_validator.go:24:		bindAndValidate				0.0%
api-service/internal/controller/common_validator.go:50:		GetUserID				0.0%
api-service/internal/controller/common_validator.go:60:		ParseIDParam				0.0%
api-service/internal/controller/credential.go:21:		NewCredentialController			0.0%
api-service/internal/controller/credential.go:48:		CreateCredential			0.0%
api-service/internal/controller/credential.go:91:		UpdateCredential			0.0%
api-service/internal/controller/credential.go:137:		DeleteCredential			0.0%
api-service/internal/controller/credential.go:176:		GetCredential				0.0%
api-service/internal/controller/credential.go:212:		ListCredentials				0.0%
api-service/internal/controller/credential.go:242:		ListCredentialTemplates			0.0%
api-service/internal/controller/credential.go:270:		ListCredentialCategories		0.0%
api-service/internal/controller/database_connection.go:23:	NewDatabaseConnectionController		0.0%
api-service/internal/controller/database_connection.go:49:	CreateConnection			0.0%
api-service/internal/controller/database_connection.go:91:	GetConnection				0.0%
api-service/internal/controller/database_connection.go:132:	GetConnectionList			0.0%
api-service/internal/controller/database_connection.go:170:	UpdateConnection			0.0%
api-service/internal/controller/database_connection.go:217:	DeleteConnection			0.0%
api-service/internal/controller/environment_variable.go:24:	NewEnvironmentVariableController	0.0%
api-service/internal/controller/environment_variable.go:50:	CreatePlatformEnvVar			0.0%
api-service/internal/controller/environment_variable.go:92:	CreateProjectEnvVar			0.0%
api-service/internal/controller/environment_variable.go:135:	GetEnvVar				0.0%
api-service/internal/controller/environment_variable.go:169:	GetPlatformEnvVarList			0.0%
api-service/internal/controller/environment_variable.go:204:	GetProjectEnvVarList			0.0%
api-service/internal/controller/environment_variable.go:243:	UpdateEnvVar				0.0%
api-service/internal/controller/environment_variable.go:283:	DeleteEnvVar				0.0%
api-service/internal/controller/environment_variable.go:317:	ResolveEnvVar				0.0%
api-service/internal/controller/health.go:21:			NewHealthController			0.0%
api-service/internal/controller/health.go:37:			DatabaseHealth				0.0%
api-service/internal/controller/health.go:72:			SystemHealth				0.0%
api-service/internal/controller/health.go:92:			checkDatabase				0.0%
api-service/internal/controller/health.go:115:			checkRedis				0.0%
api-service/internal/controller/health.go:143:			checkInfluxDB				0.0%
api-service/internal/controller/health.go:183:			finalizeHealthResponse			0.0%
api-service/internal/controller/health.go:217:			DatabaseStats				0.0%
api-service/internal/controller/health.go:234:			Ping					0.0%
api-service/internal/controller/health.go:250:			Readiness				0.0%
api-service/internal/controller/health.go:275:			Liveness				0.0%
api-service/internal/controller/i18n.go:21:			NewI18nController			0.0%
api-service/internal/controller/i18n.go:42:			GetLanguages				0.0%
api-service/internal/controller/i18n.go:72:			SwitchLanguage				0.0%
api-service/internal/controller/notification_channel.go:25:	NewNotificationChannelController	0.0%
api-service/internal/controller/notification_channel.go:53:	GetChannelList				0.0%
api-service/internal/controller/notification_channel.go:85:	GetChannelByCode			0.0%
api-service/internal/controller/notification_channel.go:120:	CreateEmailChannel			0.0%
api-service/internal/controller/notification_channel.go:161:	CreateWebhookChannel			0.0%
api-service/internal/controller/notification_channel.go:203:	UpdateEmailChannel			0.0%
api-service/internal/controller/notification_channel.go:252:	UpdateWebhookChannel			0.0%
api-service/internal/controller/notification_channel.go:300:	DeleteChannel				0.0%
api-service/internal/controller/notification_channel.go:340:	TestEmailChannel			0.0%
api-service/internal/controller/notification_channel.go:375:	TestWebhookChannel			0.0%
api-service/internal/controller/notification_record.go:26:	NewNotificationRecordController		0.0%
api-service/internal/controller/notification_record.go:56:	GetNotificationRecords			0.0%
api-service/internal/controller/notification_record.go:86:	GetNotificationRecord			0.0%
api-service/internal/controller/notification_template.go:24:	NewNotificationTemplateController	0.0%
api-service/internal/controller/notification_template.go:50:	CreateTemplate				0.0%
api-service/internal/controller/notification_template.go:85:	GetTemplate				0.0%
api-service/internal/controller/notification_template.go:120:	GetTemplateList				0.0%
api-service/internal/controller/notification_template.go:151:	UpdateTemplate				0.0%
api-service/internal/controller/notification_template.go:191:	DeleteTemplate				0.0%
api-service/internal/controller/notification_template.go:226:	TestTemplate				0.0%
api-service/internal/controller/resource_group.go:24:		NewResourceGroupController		0.0%
api-service/internal/controller/resource_group.go:50:		CreateResourceGroup			0.0%
api-service/internal/controller/resource_group.go:92:		GetResourceGroup			0.0%
api-service/internal/controller/resource_group.go:126:		GetResourceGroupList			0.0%
api-service/internal/controller/resource_group.go:165:		UpdateResourceGroup			0.0%
api-service/internal/controller/resource_group.go:212:		DeleteResourceGroup			0.0%
api-service/internal/controller/resource_group.go:249:		GetResourcesByGroupID			0.0%
api-service/internal/controller/resource_group.go:288:		MoveResourcesToGroup			0.0%
api-service/internal/controller/resource_group.go:334:		GetResourceStatistics			0.0%
api-service/internal/controller/role_permission.go:23:		NewRolePermissionController		0.0%
api-service/internal/controller/role_permission.go:49:		CreateRole				0.0%
api-service/internal/controller/role_permission.go:85:		GetRole					0.0%
api-service/internal/controller/role_permission.go:120:		ListRoles				0.0%
api-service/internal/controller/role_permission.go:150:		UpdateRole				0.0%
api-service/internal/controller/role_permission.go:192:		DeleteRole				0.0%
api-service/internal/controller/role_permission.go:221:		AssignPermissions			0.0%
api-service/internal/controller/role_permission.go:263:		RemovePermissions			0.0%
api-service/internal/controller/role_permission.go:300:		GetRoleUsers				0.0%
api-service/internal/controller/role_permission.go:334:		CreatePermission			0.0%
api-service/internal/controller/role_permission.go:369:		GetPermission				0.0%
api-service/internal/controller/role_permission.go:398:		UpdatePermission			0.0%
api-service/internal/controller/role_permission.go:439:		DeletePermission			0.0%
api-service/internal/controller/role_permission.go:475:		ListPermissions				0.0%
api-service/internal/controller/role_permission.go:504:		GetPermissionTree			0.0%
api-service/internal/controller/role_permission.go:535:		GetPermissionRoles			0.0%
api-service/internal/controller/secrets.go:22:			NewSecretController			0.0%
api-service/internal/controller/secrets.go:54:			ListSecrets				0.0%
api-service/internal/controller/secrets.go:92:			CreateTextSecret			0.0%
api-service/internal/controller/secrets.go:134:			CreateAccountSecret			0.0%
api-service/internal/controller/secrets.go:184:			CreateFileSecret			0.0%
api-service/internal/controller/secrets.go:229:			GetSecret				0.0%
api-service/internal/controller/secrets.go:269:			UpdateSecret				0.0%
api-service/internal/controller/secrets.go:316:			DeleteSecret				0.0%
api-service/internal/controller/secrets.go:356:			CreateReference				0.0%
api-service/internal/controller/security.go:56:			NewSecurityController			0.0%
api-service/internal/controller/security.go:86:			RevokeAPIToken				0.0%
api-service/internal/controller/security.go:124:		RefreshAPIToken				0.0%
api-service/internal/controller/security.go:150:		GetAuthConfig				0.0%
api-service/internal/controller/security.go:172:		UpdateAuthConfig			0.0%
api-service/internal/controller/security.go:199:		GetOAuth2Providers			0.0%
api-service/internal/controller/security.go:220:		EnableTOTP				0.0%
api-service/internal/controller/security.go:248:		ConfirmTOTP				0.0%
api-service/internal/controller/security.go:283:		DisableTOTP				0.0%
api-service/internal/controller/security.go:318:		EnableEmailTwoFactor			0.0%
api-service/internal/controller/security.go:352:		DisableEmailTwoFactor			0.0%
api-service/internal/controller/security.go:379:		SendEmailCode				0.0%
api-service/internal/controller/security.go:407:		VerifyTwoFactor				0.0%
api-service/internal/controller/security.go:438:		GetTwoFactorStatus			0.0%
api-service/internal/controller/security.go:465:		GenerateBackupCodes			0.0%
api-service/internal/controller/security.go:492:		DisableTwoFactor			0.0%
api-service/internal/controller/security.go:532:		GenerateTOTPSecret			0.0%
api-service/internal/controller/server.go:35:			NewServerController			0.0%
api-service/internal/controller/server.go:60:			CreateServer				0.0%
api-service/internal/controller/server.go:99:			GetServer				0.0%
api-service/internal/controller/server.go:134:			UpdateServer				0.0%
api-service/internal/controller/server.go:174:			DeleteServer				0.0%
api-service/internal/controller/server.go:210:			ListServers				0.0%
api-service/internal/controller/server.go:250:			GetServerStatus				0.0%
api-service/internal/controller/server.go:282:			CheckServersStatus			0.0%
api-service/internal/controller/server.go:314:			ExecuteServerActions			0.0%
api-service/internal/controller/server.go:349:			UploadFile				0.0%
api-service/internal/controller/server.go:421:			DownloadFile				0.0%
api-service/internal/controller/server.go:477:			DeleteFile				0.0%
api-service/internal/controller/system_config.go:19:		NewSystemConfigController		0.0%
api-service/internal/controller/system_config.go:42:		ListSystemConfigs			0.0%
api-service/internal/controller/system_config.go:69:		TestSMTP				0.0%
api-service/internal/controller/system_config.go:94:		ListBasicConfigs			0.0%
api-service/internal/controller/system_config.go:121:		ListSecurityConfigs			0.0%
api-service/internal/controller/system_config.go:149:		ListEmailConfigs			0.0%
api-service/internal/controller/system_config.go:179:		BatchUpdateSystemConfigs		0.0%
api-service/internal/controller/tag.go:23:			NewTagController			0.0%
api-service/internal/controller/tag.go:46:			CreateTag				0.0%
api-service/internal/controller/tag.go:83:			GetTag					0.0%
api-service/internal/controller/tag.go:115:			UpdateTag				0.0%
api-service/internal/controller/tag.go:157:			DeleteTag				0.0%
api-service/internal/controller/tag.go:193:			ListTags				0.0%
api-service/internal/controller/tag.go:224:			AssignTags				0.0%
api-service/internal/controller/tag.go:264:			ReplaceTags				0.0%
api-service/internal/controller/tag.go:304:			UnassignTags				0.0%
api-service/internal/controller/tag.go:342:			SearchTags				0.0%
api-service/internal/controller/tag.go:374:			GetResourceTags				0.0%
api-service/internal/controller/tag.go:410:			SearchResourcesByTags			0.0%
api-service/internal/controller/user.go:23:			NewUserController			0.0%
api-service/internal/controller/user.go:56:			ListUsers				0.0%
api-service/internal/controller/user.go:90:			CreateUser				0.0%
api-service/internal/controller/user.go:129:			GetUser					0.0%
api-service/internal/controller/user.go:163:			UpdateUser				0.0%
api-service/internal/controller/user.go:206:			DeleteUser				0.0%
api-service/internal/controller/user.go:240:			UpdateUserStatus			0.0%
api-service/internal/controller/user.go:280:			UpdateUserPassword			0.0%
api-service/internal/controller/user_auth.go:24:		NewUserAuthController			0.0%
api-service/internal/controller/user_auth.go:37:		handleLoginRequest			0.0%
api-service/internal/controller/user_auth.go:54:		handleUserAuth				0.0%
api-service/internal/controller/user_auth.go:90:		Register				0.0%
api-service/internal/controller/user_auth.go:109:		Login					0.0%
api-service/internal/controller/user_auth.go:128:		ForgotPassword				0.0%
api-service/internal/controller/user_auth.go:156:		ShowResetPasswordForm			0.0%
api-service/internal/controller/user_auth.go:189:		ResetPassword				0.0%
api-service/internal/controller/user_auth.go:217:		VerifyEmail				0.0%
api-service/internal/controller/user_auth.go:253:		ResendVerificationEmail			0.0%
api-service/internal/controller/user_auth.go:282:		OAuth2Login				0.0%
api-service/internal/controller/user_auth.go:302:		Logout					0.0%
api-service/internal/controller/user_profile.go:23:		NewUserProfileController		0.0%
api-service/internal/controller/user_profile.go:49:		GetProfile				0.0%
api-service/internal/controller/user_profile.go:84:		UpdateProfile				0.0%
api-service/internal/controller/user_profile.go:125:		ChangePassword				0.0%
api-service/internal/controller/user_profile.go:167:		GetLoginHistories			0.0%
api-service/internal/controller/user_profile.go:206:		GetNotificationSettings			0.0%
api-service/internal/controller/user_profile.go:239:		UpdateNotificationSettings		0.0%
api-service/internal/controller/user_profile.go:277:		GetSecuritySettings			0.0%
api-service/internal/controller/user_profile.go:310:		UpdateSecuritySettings			0.0%
api-service/internal/dto/common/common.go:27:			GetPage					0.0%
api-service/internal/dto/common/common.go:35:			GetOffset				0.0%
api-service/internal/dto/common/common.go:40:			GetPageSize				0.0%
api-service/internal/dto/common/common.go:60:			NewPaginationResponse			0.0%
api-service/internal/dto/common/common.go:82:			GetSortOrder				0.0%
api-service/internal/dto/common/common.go:107:			FormatDateTime				0.0%
api-service/internal/dto/common/common.go:120:			GetStartTime				0.0%
api-service/internal/dto/common/common.go:125:			GetEndTime				0.0%
api-service/internal/dto/common/common.go:130:			GetTimeRange				0.0%
api-service/internal/dto/common/response.go:33:			BuildResponseWithI18n			0.0%
api-service/internal/dto/common/response.go:45:			BadRequest				0.0%
api-service/internal/dto/common/response.go:51:			SuccessWithData				0.0%
api-service/internal/dto/common/response.go:57:			Success					0.0%
api-service/internal/dto/common/response.go:63:			DataNotFound				0.0%
api-service/internal/dto/common/response.go:69:			Unauthorized				0.0%
api-service/internal/dto/common/response.go:75:			AccessForbidden				0.0%
api-service/internal/dto/common/response.go:81:			InternalError				0.0%
api-service/internal/dto/common/response.go:87:			ServiceUnavailable			0.0%
api-service/internal/dto/common/response.go:92:			WithErrorAndCode			0.0%
api-service/internal/dto/common/response.go:103:		WithError				0.0%
api-service/internal/dto/common/response.go:114:		WithErrorCode				0.0%
api-service/internal/dto/request/resource_group.go:54:		Validate				0.0%
api-service/internal/dto/response/audit_log.go:35:		FromAuditLog				0.0%
api-service/internal/dto/response/security.go:237:		ConvertToRoleResponse			0.0%
api-service/internal/dto/response/security.go:276:		ConvertToPermissionResponse		0.0%
api-service/internal/dto/response/security.go:321:		ConvertToAPITokenResponse		0.0%
api-service/internal/dto/response/security.go:340:		extractScopes				0.0%
api-service/internal/dto/response/security.go:366:		ConvertToPermissionTreeResponse		0.0%
api-service/internal/dto/response/security.go:395:		ConvertToTwoFactorStatusResponse	0.0%
api-service/internal/dto/response/user.go:44:			BuildUserResponse			0.0%
api-service/internal/middleware/audit_log.go:29:		Write					0.0%
api-service/internal/middleware/audit_log.go:45:		AuditLogMiddleware			0.0%
api-service/internal/middleware/cors.go:9:			CORS					0.0%
api-service/internal/middleware/i18n.go:10:			I18nMiddleware				0.0%
api-service/internal/middleware/i18n.go:46:			GetLanguage				0.0%
api-service/internal/middleware/i18n.go:56:			T					0.0%
api-service/internal/middleware/logger.go:11:			LoggerMiddleware			0.0%
api-service/internal/middleware/logger.go:34:			Logger					0.0%
api-service/internal/middleware/permission.go:79:		isPublicRoute				0.0%
api-service/internal/middleware/permission.go:90:		isWhiteListRoutes			0.0%
api-service/internal/middleware/permission.go:105:		PermissionMiddleware			0.0%
api-service/internal/middleware/permission.go:145:		authenticateRequest			0.0%
api-service/internal/middleware/permission.go:165:		handleAuthError				0.0%
api-service/internal/middleware/permission.go:176:		handleTokenValidationError		0.0%
api-service/internal/middleware/permission.go:187:		checkUserPermission			0.0%
api-service/internal/middleware/permission.go:232:		buildResourceAction			0.0%
api-service/internal/middleware/permission.go:271:		buildResourceFromPath			0.0%
api-service/internal/middleware/permission.go:307:		isPathParameter				0.0%
api-service/internal/middleware/permission.go:321:		isNumericID				0.0%
api-service/internal/model/alert.go:50:				TableName				0.0%
api-service/internal/model/alert.go:75:				TableName				0.0%
api-service/internal/model/audit_log.go:35:			TableName				0.0%
api-service/internal/model/audit_log.go:40:			GetFormattedRequestParams		0.0%
api-service/internal/model/audit_log.go:55:			SanitizeForExport			0.0%
api-service/internal/model/audit_log.go:81:			sanitizeData				0.0%
api-service/internal/model/common.go:13:			Scan					0.0%
api-service/internal/model/common.go:38:			Value					0.0%
api-service/internal/model/credential.go:17:			TableName				0.0%
api-service/internal/model/credential.go:36:			TableName				0.0%
api-service/internal/model/credential.go:57:			TableName				0.0%
api-service/internal/model/database_connection.go:25:		TableName				0.0%
api-service/internal/model/environment_variable.go:19:		ValidEnvVarScopes			0.0%
api-service/internal/model/environment_variable.go:27:		IsValidEnvVarScope			0.0%
api-service/internal/model/environment_variable.go:52:		TableName				0.0%
api-service/internal/model/environment_variable.go:58:		BeforeCreate				0.0%
api-service/internal/model/environment_variable.go:78:		BeforeUpdate				0.0%
api-service/internal/model/module.go:16:			TableName				0.0%
api-service/internal/model/notification_channel.go:49:		TableName				0.0%
api-service/internal/model/notification_record.go:24:		TableName				0.0%
api-service/internal/model/notification_template.go:21:		TableName				0.0%
api-service/internal/model/resource_group.go:22:		TableName				0.0%
api-service/internal/model/resource_type.go:17:			TableName				0.0%
api-service/internal/model/secrets.go:33:			TableName				0.0%
api-service/internal/model/secrets.go:46:			TableName				0.0%
api-service/internal/model/secrets.go:59:			TableName				0.0%
api-service/internal/model/security.go:29:			TableName				0.0%
api-service/internal/model/security.go:34:			IsActive				0.0%
api-service/internal/model/security.go:69:			TableName				0.0%
api-service/internal/model/security.go:74:			IsActive				0.0%
api-service/internal/model/security.go:96:			TableName				0.0%
api-service/internal/model/security.go:117:			TableName				0.0%
api-service/internal/model/security.go:144:			TableName				0.0%
api-service/internal/model/security.go:149:			IsExpired				0.0%
api-service/internal/model/security.go:174:			TableName				0.0%
api-service/internal/model/server.go:43:			TableName				0.0%
api-service/internal/model/server.go:72:			TableName				0.0%
api-service/internal/model/server.go:77:			IsOnline				0.0%
api-service/internal/model/server.go:86:			IsDockerDeployment			0.0%
api-service/internal/model/server.go:91:			IsSystemdDeployment			0.0%
api-service/internal/model/service_config.go:26:		TableName				0.0%
api-service/internal/model/service_config.go:31:		GetEffectiveValue			0.0%
api-service/internal/model/system_config.go:36:			TableName				0.0%
api-service/internal/model/system_config.go:41:			GetEffectiveValue			0.0%
api-service/internal/model/tag.go:22:				TableName				0.0%
api-service/internal/model/tag.go:39:				TableName				0.0%
api-service/internal/model/user.go:33:				TableName				0.0%
api-service/internal/model/user.go:38:				IsActive				0.0%
api-service/internal/model/user.go:43:				GetDisplayName				0.0%
api-service/internal/model/user_profile.go:43:			TableName				0.0%
api-service/internal/model/user_profile.go:49:			GetEffectiveValue			0.0%
api-service/internal/model/user_profile.go:57:			TableName				0.0%
api-service/internal/repository/alert.go:18:			NewAlertRepository			0.0%
api-service/internal/repository/alert.go:25:			CreateAlertRule				0.0%
api-service/internal/repository/alert.go:34:			GetAlertRuleByID			0.0%
api-service/internal/repository/alert.go:48:			ListAlertRules				0.0%
api-service/internal/repository/alert.go:92:			UpdateAlertRule				0.0%
api-service/internal/repository/alert.go:104:			DeleteAlertRule				0.0%
api-service/internal/repository/alert.go:113:			ListAlertRecords			0.0%
api-service/internal/repository/alert.go:157:			GetAlertRecordByID			0.0%
api-service/internal/repository/alert.go:172:			CreateAlertRecord			0.0%
api-service/internal/repository/alert.go:181:			UpdateAlertRecord			0.0%
api-service/internal/repository/alert.go:190:			DeleteAlertRecord			0.0%
api-service/internal/repository/alert.go:199:			ExistsAlertRecord			0.0%
api-service/internal/repository/api_token.go:19:		NewAPITokenRepository			0.0%
api-service/internal/repository/api_token.go:24:		Create					0.0%
api-service/internal/repository/api_token.go:29:		GetByID					0.0%
api-service/internal/repository/api_token.go:48:		GetByToken				0.0%
api-service/internal/repository/api_token.go:65:		Update					0.0%
api-service/internal/repository/api_token.go:77:		Delete					0.0%
api-service/internal/repository/api_token.go:89:		GetByUserID				0.0%
api-service/internal/repository/api_token.go:108:		GetActiveTokenByUserID			0.0%
api-service/internal/repository/api_token.go:133:		UpdateLastUsed				0.0%
api-service/internal/repository/api_token.go:145:		CleanExpiredTokens			0.0%
api-service/internal/repository/api_token.go:152:		CreateWithTx				0.0%
api-service/internal/repository/api_token.go:157:		UpdateWithTx				0.0%
api-service/internal/repository/audit_log.go:20:		NewAuditLogRepository			0.0%
api-service/internal/repository/audit_log.go:27:		Create					0.0%
api-service/internal/repository/audit_log.go:37:		GetByID					0.0%
api-service/internal/repository/audit_log.go:52:		List					0.0%
api-service/internal/repository/audit_log.go:112:		Export					0.0%
api-service/internal/repository/audit_log.go:142:		CleanupOldLogs				0.0%
api-service/internal/repository/config.go:18:			NewConfigRepository			0.0%
api-service/internal/repository/config.go:23:			GetUserProfile				0.0%
api-service/internal/repository/config.go:36:			GetUserProfileByKey			0.0%
api-service/internal/repository/config.go:51:			UpdateUserProfile			0.0%
api-service/internal/repository/config.go:63:			CreateUserProfile			0.0%
api-service/internal/repository/config.go:71:			DeleteUserProfile			0.0%
api-service/internal/repository/credential.go:20:		NewCredentialRepository			0.0%
api-service/internal/repository/credential.go:27:		Create					0.0%
api-service/internal/repository/credential.go:36:		Update					0.0%
api-service/internal/repository/credential.go:45:		Delete					0.0%
api-service/internal/repository/credential.go:54:		GetByID					0.0%
api-service/internal/repository/credential.go:71:		GetByName				0.0%
api-service/internal/repository/credential.go:89:		ExistsByName				0.0%
api-service/internal/repository/credential.go:106:		List					0.0%
api-service/internal/repository/credential_category.go:19:	NewCredentialCategoryRepository		0.0%
api-service/internal/repository/credential_category.go:26:	GetByID					0.0%
api-service/internal/repository/credential_category.go:39:	List					0.0%
api-service/internal/repository/credential_template.go:19:	NewCredentialTemplateRepository		0.0%
api-service/internal/repository/credential_template.go:26:	GetByID					0.0%
api-service/internal/repository/credential_template.go:39:	List					0.0%
api-service/internal/repository/database_connection.go:25:	NewDatabaseConnectionRepository		0.0%
api-service/internal/repository/database_connection.go:32:	Create					0.0%
api-service/internal/repository/database_connection.go:48:	GetByID					0.0%
api-service/internal/repository/database_connection.go:61:	GetList					0.0%
api-service/internal/repository/database_connection.go:102:	Update					0.0%
api-service/internal/repository/database_connection.go:111:	Delete					0.0%
api-service/internal/repository/environment_variable.go:20:	NewEnvironmentVariableRepository	0.0%
api-service/internal/repository/environment_variable.go:27:	Create					0.0%
api-service/internal/repository/environment_variable.go:35:	GetByID					0.0%
api-service/internal/repository/environment_variable.go:47:	GetByNameAndScope			0.0%
api-service/internal/repository/environment_variable.go:67:	GetPlatformList				0.0%
api-service/internal/repository/environment_variable.go:110:	GetProjectList				0.0%
api-service/internal/repository/environment_variable.go:153:	GetAllByScope				0.0%
api-service/internal/repository/environment_variable.go:172:	Update					0.0%
api-service/internal/repository/environment_variable.go:180:	Delete					0.0%
api-service/internal/repository/environment_variable.go:188:	CountByScope				0.0%
api-service/internal/repository/environment_variable.go:207:	ExistsByName				0.0%
api-service/internal/repository/module.go:18:			NewModuleRepository			0.0%
api-service/internal/repository/module.go:23:			GetByCode				0.0%
api-service/internal/repository/notification_channel.go:21:	NewNotificationChannelRepository	0.0%
api-service/internal/repository/notification_channel.go:28:	Create					0.0%
api-service/internal/repository/notification_channel.go:37:	GetByID					0.0%
api-service/internal/repository/notification_channel.go:50:	GetByCode				0.0%
api-service/internal/repository/notification_channel.go:63:	Update					0.0%
api-service/internal/repository/notification_channel.go:72:	Delete					0.0%
api-service/internal/repository/notification_channel.go:82:	GetList					0.0%
api-service/internal/repository/notification_channel.go:124:	CheckCodeExists				0.0%
api-service/internal/repository/notification_record.go:20:	NewNotificationRecordRepository		0.0%
api-service/internal/repository/notification_record.go:25:	GetByID					0.0%
api-service/internal/repository/notification_record.go:38:	GetList					0.0%
api-service/internal/repository/notification_template.go:20:	NewNotificationTemplateRepository	0.0%
api-service/internal/repository/notification_template.go:27:	Create					0.0%
api-service/internal/repository/notification_template.go:36:	GetByID					0.0%
api-service/internal/repository/notification_template.go:49:	GetList					0.0%
api-service/internal/repository/notification_template.go:90:	Update					0.0%
api-service/internal/repository/notification_template.go:99:	Delete					0.0%
api-service/internal/repository/notification_template.go:108:	ExistsByName				0.0%
api-service/internal/repository/permission.go:20:		NewPermissionRepository			0.0%
api-service/internal/repository/permission.go:25:		Create					0.0%
api-service/internal/repository/permission.go:33:		GetByID					0.0%
api-service/internal/repository/permission.go:46:		GetByCode				0.0%
api-service/internal/repository/permission.go:59:		Update					0.0%
api-service/internal/repository/permission.go:90:		Delete					0.0%
api-service/internal/repository/permission.go:148:		List					0.0%
api-service/internal/repository/permission.go:220:		GetTree					0.0%
api-service/internal/repository/permission.go:246:		buildBaseQuery				0.0%
api-service/internal/repository/permission.go:259:		getAllPermissions			0.0%
api-service/internal/repository/permission.go:269:		getPermissionsWithScope			0.0%
api-service/internal/repository/permission.go:293:		getScopedPermissions			0.0%
api-service/internal/repository/permission.go:304:		collectParentCodes			0.0%
api-service/internal/repository/permission.go:325:		getParentPermissions			0.0%
api-service/internal/repository/permission.go:345:		combinePermissions			0.0%
api-service/internal/repository/permission.go:370:		buildPermissionTree			0.0%
api-service/internal/repository/permission.go:400:		filterTreeByScope			0.0%
api-service/internal/repository/permission.go:413:		filterNodeByScope			0.0%
api-service/internal/repository/permission.go:443:		GetWithRoles				0.0%
api-service/internal/repository/permission.go:460:		GetChildren				0.0%
api-service/internal/repository/permission.go:476:		GetRoles				0.0%
api-service/internal/repository/permission.go:481:		CountRoles				0.0%
api-service/internal/repository/permission.go:494:		BatchUpdateStatus			0.0%
api-service/internal/repository/permission.go:511:		GetByIDs				0.0%
api-service/internal/repository/permission.go:527:		GetUserPermissions			0.0%
api-service/internal/repository/permission.go:545:		CheckUserPermission			0.0%
api-service/internal/repository/permission.go:563:		CreateWithTx				0.0%
api-service/internal/repository/permission.go:571:		UpdateWithTx				0.0%
api-service/internal/repository/permission.go:602:		findMatchingPermissionCodes		0.0%
api-service/internal/repository/permission_helpers.go:13:	GetRolesByPermissionID			0.0%
api-service/internal/repository/permission_helpers.go:49:	GetUsersByRoleID			0.0%
api-service/internal/repository/resource_group.go:26:		NewResourceGroupRepository		0.0%
api-service/internal/repository/resource_group.go:33:		Create					0.0%
api-service/internal/repository/resource_group.go:50:		GetByID					0.0%
api-service/internal/repository/resource_group.go:63:		GetByCode				0.0%
api-service/internal/repository/resource_group.go:76:		GetList					0.0%
api-service/internal/repository/resource_group.go:113:		Update					0.0%
api-service/internal/repository/resource_group.go:122:		Delete					0.0%
api-service/internal/repository/resource_group.go:131:		CheckNameExists				0.0%
api-service/internal/repository/resource_group.go:148:		GetDefaultResourceGroup			0.0%
api-service/internal/repository/resource_group.go:163:		GetProjectIDFromResourceCode		0.0%
api-service/internal/repository/resource_group.go:225:		GetResourcesByGroupID			0.0%
api-service/internal/repository/resource_group.go:278:		queryResourcesByType			0.0%
api-service/internal/repository/resource_group.go:308:		MoveResourcesToGroup			0.0%
api-service/internal/repository/resource_group.go:376:		GetResourceStatistics			0.0%
api-service/internal/repository/resource_type.go:19:		NewResourceTypeRepository		0.0%
api-service/internal/repository/resource_type.go:26:		GetByCode				0.0%
api-service/internal/repository/resource_type.go:38:		List					0.0%
api-service/internal/repository/role.go:19:			NewRoleRepository			0.0%
api-service/internal/repository/role.go:24:			Create					0.0%
api-service/internal/repository/role.go:32:			GetByID					0.0%
api-service/internal/repository/role.go:45:			GetByCode				0.0%
api-service/internal/repository/role.go:58:			Update					0.0%
api-service/internal/repository/role.go:89:			Delete					0.0%
api-service/internal/repository/role.go:136:			List					0.0%
api-service/internal/repository/role.go:196:			GetWithPermissions			0.0%
api-service/internal/repository/role.go:213:			GetWithUsers				0.0%
api-service/internal/repository/role.go:230:			AssignPermissionsWithTx			0.0%
api-service/internal/repository/role.go:266:			RemovePermissions			0.0%
api-service/internal/repository/role.go:283:			GetPermissions				0.0%
api-service/internal/repository/role.go:299:			GetUsers				0.0%
api-service/internal/repository/role.go:304:			CountPermissions			0.0%
api-service/internal/repository/role.go:317:			CountUsers				0.0%
api-service/internal/repository/role.go:330:			BatchUpdateStatus			0.0%
api-service/internal/repository/role.go:347:			CreateWithTx				0.0%
api-service/internal/repository/role.go:355:			UpdateWithTx				0.0%
api-service/internal/repository/secrets.go:20:			NewSecretRepository			0.0%
api-service/internal/repository/secrets.go:27:			Create					0.0%
api-service/internal/repository/secrets.go:35:			GetByID					0.0%
api-service/internal/repository/secrets.go:47:			GetByCode				0.0%
api-service/internal/repository/secrets.go:59:			List					0.0%
api-service/internal/repository/secrets.go:106:			Update					0.0%
api-service/internal/repository/secrets.go:114:			Delete					0.0%
api-service/internal/repository/secrets.go:122:			ExistsByName				0.0%
api-service/internal/repository/secrets.go:139:			ExistsByCode				0.0%
api-service/internal/repository/secrets.go:149:			GetReferenceCount			0.0%
api-service/internal/repository/secrets_authorize.go:19:	NewSecretAuthorizeRepository		0.0%
api-service/internal/repository/secrets_authorize.go:26:	Create					0.0%
api-service/internal/repository/secrets_authorize.go:34:	BatchCreate				0.0%
api-service/internal/repository/secrets_authorize.go:46:	ListBySecretID				0.0%
api-service/internal/repository/secrets_authorize.go:55:	Delete					0.0%
api-service/internal/repository/secrets_authorize.go:63:	DeleteBySecretID			0.0%
api-service/internal/repository/secrets_authorize.go:71:	IsAuthorized				0.0%
api-service/internal/repository/secrets_reference.go:19:	NewSecretReferenceRepository		0.0%
api-service/internal/repository/secrets_reference.go:26:	Create					0.0%
api-service/internal/repository/secrets_reference.go:34:	ListBySecretID				0.0%
api-service/internal/repository/secrets_reference.go:43:	ListByResourceCode			0.0%
api-service/internal/repository/secrets_reference.go:52:	Exists					0.0%
api-service/internal/repository/secrets_reference.go:64:	Delete					0.0%
api-service/internal/repository/secrets_reference.go:72:	DeleteBySecretID			0.0%
api-service/internal/repository/secrets_reference.go:80:	HasActiveReferences			0.0%
api-service/internal/repository/server.go:23:			NewServerRepository			0.0%
api-service/internal/repository/server.go:30:			CreateServer				0.0%
api-service/internal/repository/server.go:41:			GetServerByID				0.0%
api-service/internal/repository/server.go:58:			GetServerByName				0.0%
api-service/internal/repository/server.go:75:			UpdateServer				0.0%
api-service/internal/repository/server.go:95:			DeleteServer				0.0%
api-service/internal/repository/server.go:112:			ListServers				0.0%
api-service/internal/repository/server.go:162:			UpdateServerStatus			0.0%
api-service/internal/repository/server.go:183:			UpdateServerLastSeen			0.0%
api-service/internal/repository/server.go:201:			GetServersByStatus			0.0%
api-service/internal/repository/server.go:216:			GetServersByIDs				0.0%
api-service/internal/repository/server.go:231:			BatchUpdateServerStatus			0.0%
api-service/internal/repository/server.go:248:			CountServersByStatus			0.0%
api-service/internal/repository/server.go:274:			ExistsServerByName			0.0%
api-service/internal/repository/server.go:293:			GetServerAgentsByServerID		0.0%
api-service/internal/repository/server_agent.go:21:		NewServerAgentRepository		0.0%
api-service/internal/repository/server_agent.go:28:		CreateAgent				0.0%
api-service/internal/repository/server_agent.go:36:		GetAgentByID				0.0%
api-service/internal/repository/server_agent.go:53:		GetAgentByServerID			0.0%
api-service/internal/repository/server_agent.go:70:		UpdateAgent				0.0%
api-service/internal/repository/server_agent.go:87:		DeleteAgent				0.0%
api-service/internal/repository/server_agent.go:105:		UpdateAgentLastSeen			0.0%
api-service/internal/repository/service_config.go:18:		NewServiceConfigRepository		0.0%
api-service/internal/repository/service_config.go:23:		Create					0.0%
api-service/internal/repository/service_config.go:31:		GetByCode				0.0%
api-service/internal/repository/service_config.go:44:		GetByID					0.0%
api-service/internal/repository/service_config.go:57:		List					0.0%
api-service/internal/repository/service_config.go:67:		ListByOwner				0.0%
api-service/internal/repository/service_config.go:80:		ListByCategory				0.0%
api-service/internal/repository/service_config.go:93:		Update					0.0%
api-service/internal/repository/service_config.go:105:		UpdateValue				0.0%
api-service/internal/repository/service_config.go:120:		Delete					0.0%
api-service/internal/repository/system_config.go:20:		NewSystemConfigRepository		0.0%
api-service/internal/repository/system_config.go:25:		Create					0.0%
api-service/internal/repository/system_config.go:34:		GetByKey				0.0%
api-service/internal/repository/system_config.go:49:		GetByID					0.0%
api-service/internal/repository/system_config.go:64:		List					0.0%
api-service/internal/repository/system_config.go:92:		Update					0.0%
api-service/internal/repository/system_config.go:106:		UpdateValue				0.0%
api-service/internal/repository/system_config.go:124:		Delete					0.0%
api-service/internal/repository/tag.go:19:			NewTagRepository			0.0%
api-service/internal/repository/tag.go:24:			CreateTag				0.0%
api-service/internal/repository/tag.go:29:			GetTagByID				0.0%
api-service/internal/repository/tag.go:42:			GetTagByName				0.0%
api-service/internal/repository/tag.go:55:			UpdateTag				0.0%
api-service/internal/repository/tag.go:60:			DeleteTag				0.0%
api-service/internal/repository/tag.go:65:			ListTags				0.0%
api-service/internal/repository/tag.go:82:			ListTagsWithUsageCount			0.0%
api-service/internal/repository/tag.go:102:			SearchTagsByName			0.0%
api-service/internal/repository/tag.go:116:			ExistsTagByName				0.0%
api-service/internal/repository/tag.go:123:			ExistsTagByNameExcludeID		0.0%
api-service/internal/repository/tag.go:131:			CreateTagging				0.0%
api-service/internal/repository/tag.go:136:			GetTaggingsByResourceCode		0.0%
api-service/internal/repository/tag.go:146:			GetTaggingsByTagID			0.0%
api-service/internal/repository/tag.go:153:			DeleteTagging				0.0%
api-service/internal/repository/tag.go:160:			DeleteTaggingsByResourceCode		0.0%
api-service/internal/repository/tag.go:167:			DeleteTaggingsByTagIDs			0.0%
api-service/internal/repository/tag.go:174:			CreateTaggingsBatch			0.0%
api-service/internal/repository/tag.go:182:			ExistsTagging				0.0%
api-service/internal/repository/tag.go:189:			SearchResourcesByTags			0.0%
api-service/internal/repository/two_factor.go:18:		NewTwoFactorRepository			0.0%
api-service/internal/repository/two_factor.go:23:		Create					0.0%
api-service/internal/repository/two_factor.go:28:		GetByUserIDAndMethod			0.0%
api-service/internal/repository/two_factor.go:41:		Update					0.0%
api-service/internal/repository/two_factor.go:46:		Delete					0.0%
api-service/internal/repository/two_factor.go:51:		GetByUserID				0.0%
api-service/internal/repository/two_factor.go:61:		EnableMethod				0.0%
api-service/internal/repository/two_factor.go:78:		DisableMethod				0.0%
api-service/internal/repository/two_factor.go:89:		IsMethodEnabled				0.0%
api-service/internal/repository/two_factor.go:99:		CreateWithTx				0.0%
api-service/internal/repository/two_factor.go:104:		UpdateWithTx				0.0%
api-service/internal/repository/user.go:19:			NewUserRepository			0.0%
api-service/internal/repository/user.go:24:			Create					0.0%
api-service/internal/repository/user.go:32:			GetByID					0.0%
api-service/internal/repository/user.go:45:			GetByIDWithRelations			0.0%
api-service/internal/repository/user.go:61:			GetByUsername				0.0%
api-service/internal/repository/user.go:74:			GetByEmail				0.0%
api-service/internal/repository/user.go:87:			CreateUserRole				0.0%
api-service/internal/repository/user.go:95:			GetByUsernameOrEmail			0.0%
api-service/internal/repository/user.go:107:			Update					0.0%
api-service/internal/repository/user.go:115:			UpdateStatus				0.0%
api-service/internal/repository/user.go:123:			Delete					0.0%
api-service/internal/repository/user.go:132:			List					0.0%
api-service/internal/repository/user.go:155:			ListWithRelations			0.0%
api-service/internal/repository/user.go:199:			Search					0.0%
api-service/internal/repository/user.go:221:			ExistsByUsername			0.0%
api-service/internal/repository/user.go:228:			ExistsByEmail				0.0%
api-service/internal/repository/user.go:235:			ExistsByUsernameExcludeID		0.0%
api-service/internal/repository/user.go:244:			ExistsByEmailExcludeID			0.0%
api-service/internal/repository/user.go:253:			GetActiveUsers				0.0%
api-service/internal/repository/user.go:270:			CountByStatus				0.0%
api-service/internal/repository/user.go:277:			GetUserStats				0.0%
api-service/internal/repository/user.go:293:			applyFilters				0.0%
api-service/internal/repository/user.go:303:			ExistsByID				0.0%
api-service/internal/repository/user.go:310:			GetRoleIDsByUserID			0.0%
api-service/internal/repository/user.go:323:			DeleteUserRole				0.0%
api-service/internal/repository/user_profile.go:19:		NewUserProfileRepository		0.0%
api-service/internal/repository/user_profile.go:26:		GetUserProfileByID			0.0%
api-service/internal/repository/user_profile.go:41:		LoadUserRoles				0.0%
api-service/internal/repository/user_profile.go:51:		UpdateUserProfile			0.0%
api-service/internal/repository/user_profile.go:65:		UpdateUserPassword			0.0%
api-service/internal/repository/user_profile.go:79:		GetLoginHistories			0.0%
api-service/internal/repository/user_profile.go:106:		GetUserConfig				0.0%
api-service/internal/repository/user_profile.go:121:		GetUserConfigsByCategory		0.0%
api-service/internal/repository/user_profile.go:132:		SaveUserConfig				0.0%
api-service/internal/router/router.go:45:			SetupRouter				0.0%
api-service/internal/router/router.go:83:			setupMiddleware				0.0%
api-service/internal/router/router.go:100:			setupHealthCheck			0.0%
api-service/internal/router/router.go:134:			setupSwaggerRoute			0.0%
api-service/internal/router/router.go:143:			setupAPIRoutes				0.0%
api-service/internal/router/router.go:169:			setupUserAuthRoutes			0.0%
api-service/internal/router/router.go:184:			setupI18nRoutes				0.0%
api-service/internal/router/router.go:199:			setupUserRoutes				0.0%
api-service/internal/router/router.go:213:			setupRoleRoutes				0.0%
api-service/internal/router/router.go:232:			setupPermissionRoutes			0.0%
api-service/internal/router/router.go:248:			setupAPITokenRoutes			0.0%
api-service/internal/router/router.go:259:			setupTwoFactorRoutes			0.0%
api-service/internal/router/router.go:275:			setupAuthConfigRoutes			0.0%
api-service/internal/router/router.go:288:			setupAuditLogRoutes			0.0%
api-service/internal/router/router.go:302:			setupUserProfileRoutes			0.0%
api-service/internal/router/router.go:319:			setupSystemConfigRoutes			0.0%
api-service/internal/router/router.go:337:			setupNotificationRoutes			0.0%
api-service/internal/router/router.go:382:			setupTagRoutes				0.0%
api-service/internal/router/router.go:405:			setupAlertRoutes			0.0%
api-service/internal/router/router.go:423:			setupServerRoutes			0.0%
api-service/internal/router/router.go:448:			setupDatabaseConnectionRoutes		0.0%
api-service/internal/router/router.go:462:			setupResourceGroupRoutes		0.0%
api-service/internal/router/router.go:485:			setupEnvironmentVariableRoutes		0.0%
api-service/internal/router/router.go:511:			setupSecretRoutes			0.0%
api-service/internal/router/router.go:529:			setupCredentialRoutes			0.0%
api-service/internal/service/alert.go:25:			NewAlertService				100.0%
api-service/internal/service/alert.go:38:			CreateAlertRule				77.8%
api-service/internal/service/alert.go:74:			GetAlertRuleByID			66.7%
api-service/internal/service/alert.go:89:			ListAlertRecords			77.8%
api-service/internal/service/alert.go:116:			UpdateAlertRule				73.9%
api-service/internal/service/alert.go:172:			DeleteAlertRule				55.6%
api-service/internal/service/alert.go:196:			buildAlertRuleResponse			100.0%
api-service/internal/service/alert.go:214:			ListAlertRules				77.8%
api-service/internal/service/alert.go:241:			AcknowledgeAlertRecord			68.4%
api-service/internal/service/alert.go:294:			ResolveAlertRecord			70.6%
api-service/internal/service/alert.go:342:			mapAlertRecordToDTO			100.0%
api-service/internal/service/alert.go:364:			determineSeverity			66.7%
api-service/internal/service/api_token.go:27:			NewAPITokenService			0.0%
api-service/internal/service/api_token.go:42:			CleanExpiredTokens			66.7%
api-service/internal/service/api_token.go:57:			RevokeAPITokenByToken			0.0%
api-service/internal/service/api_token.go:95:			RefreshUserAPIToken			0.0%
api-service/internal/service/api_token.go:171:			CheckTokenIsExists			0.0%
api-service/internal/service/audit_log.go:64:			NewAuditLogService			100.0%
api-service/internal/service/audit_log.go:88:			RecordLog				100.0%
api-service/internal/service/audit_log.go:119:			GetAuditLog				100.0%
api-service/internal/service/audit_log.go:147:			ListAuditLogs				95.5%
api-service/internal/service/audit_log.go:200:			ExportAuditLogs				83.3%
api-service/internal/service/audit_log.go:271:			buildExportQueryBuilder			75.0%
api-service/internal/service/audit_log.go:285:			CleanupExpiredLogs			77.8%
api-service/internal/service/audit_log.go:308:			ShouldSkipAudit				100.0%
api-service/internal/service/audit_log.go:313:			shouldSkip				100.0%
api-service/internal/service/audit_log.go:330:			shouldSkipByMethod			94.4%
api-service/internal/service/audit_log.go:377:			extractPathWithoutQuery			66.7%
api-service/internal/service/audit_log.go:385:			RecordAuditFromRequest			0.0%
api-service/internal/service/audit_log.go:394:			SubmitAuditJob				0.0%
api-service/internal/service/audit_log.go:410:			extractAuditInfoFromRequest		0.0%
api-service/internal/service/audit_log.go:462:			getActionFromMethod			0.0%
api-service/internal/service/audit_log.go:478:			buildDescription			0.0%
api-service/internal/service/audit_log.go:488:			getModuleName				0.0%
api-service/internal/service/audit_log.go:514:			getRequestParams			0.0%
api-service/internal/service/audit_log.go:525:			addQueryParams				0.0%
api-service/internal/service/audit_log.go:532:			addPathParams				0.0%
api-service/internal/service/audit_log.go:539:			addPostParams				0.0%
api-service/internal/service/audit_log.go:550:			addFormData				0.0%
api-service/internal/service/audit_log.go:561:			getValueFromSlice			0.0%
api-service/internal/service/audit_log.go:569:			addJSONBodyData				0.0%
api-service/internal/service/audit_log.go:588:			maskSensitiveData			0.0%
api-service/internal/service/audit_log.go:611:			maskSensitiveArray			0.0%
api-service/internal/service/audit_log.go:626:			isSensitiveField			0.0%
api-service/internal/service/audit_log.go:637:			paramsToJSON				0.0%
api-service/internal/service/audit_log.go:650:			extractErrorMessage			0.0%
api-service/internal/service/audit_log_worker.go:39:		NewAuditLogWorkerPool			100.0%
api-service/internal/service/audit_log_worker.go:54:		start					100.0%
api-service/internal/service/audit_log_worker.go:65:		worker					33.3%
api-service/internal/service/audit_log_worker.go:91:		processJob				0.0%
api-service/internal/service/audit_log_worker.go:113:		Submit					0.0%
api-service/internal/service/audit_log_worker.go:127:		Shutdown				0.0%
api-service/internal/service/audit_log_worker.go:155:		GetQueueLength				0.0%
api-service/internal/service/auth_config.go:21:			NewAuthConfigService			0.0%
api-service/internal/service/auth_config.go:29:			GetAuthConfig				0.0%
api-service/internal/service/auth_config.go:121:		UpdateAuthConfig			0.0%
api-service/internal/service/auth_config.go:149:		updateAPIAuthConfig			0.0%
api-service/internal/service/auth_config.go:172:		updateTokenAuthConfig			0.0%
api-service/internal/service/auth_config.go:195:		updateUserAuthConfig			0.0%
api-service/internal/service/auth_config.go:228:		updateSessionConfig			0.0%
api-service/internal/service/auth_config.go:248:		updateBasicAuthConfig			0.0%
api-service/internal/service/auth_config.go:255:		updateEmailAuthConfig			0.0%
api-service/internal/service/auth_config.go:265:		GetOAuth2Providers			0.0%
api-service/internal/service/auth_config.go:296:		convertOAuth2ProvidersToResponse	0.0%
api-service/internal/service/auth_config.go:321:		updatePasswordPolicy			0.0%
api-service/internal/service/auth_config.go:346:		updateLoginSecurity			0.0%
api-service/internal/service/auth_config.go:370:		maskSensitiveValue			0.0%
api-service/internal/service/auth_config.go:381:		updateOAuth2LoginConfig			0.0%
api-service/internal/service/auth_config.go:395:		updateTwoFactorConfig			0.0%
api-service/internal/service/auth_config.go:408:		updateTwoFactorMethodsConfig		0.0%
api-service/internal/service/auth_config.go:418:		updateTOTPMethodConfig			0.0%
api-service/internal/service/auth_config.go:440:		updateEmailMethodConfig			0.0%
api-service/internal/service/config.go:39:			NewConfigService			0.0%
api-service/internal/service/config.go:63:			GetSystemConfig				0.0%
api-service/internal/service/config.go:102:			CreateSystemConfig			0.0%
api-service/internal/service/config.go:131:			UpdateSystemConfig			0.0%
api-service/internal/service/config.go:181:			DeleteSystemConfig			0.0%
api-service/internal/service/config.go:228:			GetServiceConfig			0.0%
api-service/internal/service/config.go:267:			CreateServiceConfig			0.0%
api-service/internal/service/config.go:296:			UpdateServiceConfig			0.0%
api-service/internal/service/config.go:346:			DeleteServiceConfig			0.0%
api-service/internal/service/config.go:393:			GetUserProfile				0.0%
api-service/internal/service/config.go:430:			UpdateUserProfile			0.0%
api-service/internal/service/config.go:472:			SyncUserProfileOnLogin			0.0%
api-service/internal/service/config.go:499:			GetUserPermissions			0.0%
api-service/internal/service/config.go:531:			SyncUserPermissionsOnLogin		0.0%
api-service/internal/service/config.go:555:			SyncUserPermissionsOnChange		0.0%
api-service/internal/service/config.go:570:			PreloadConfigs				0.0%
api-service/internal/service/config.go:626:			cacheSystemConfig			0.0%
api-service/internal/service/config.go:634:			cacheServiceConfig			0.0%
api-service/internal/service/config.go:642:			cacheUserProfile			0.0%
api-service/internal/service/config.go:660:			cacheUserPermissions			0.0%
api-service/internal/service/config.go:678:			systemConfigToHash			0.0%
api-service/internal/service/config.go:692:			hashToSystemConfig			0.0%
api-service/internal/service/config.go:712:			serviceConfigToHash			0.0%
api-service/internal/service/config.go:728:			hashToServiceConfig			0.0%
api-service/internal/service/config.go:749:			encryptSystemConfigValue		0.0%
api-service/internal/service/config.go:769:			decryptSystemConfigValue		0.0%
api-service/internal/service/config.go:789:			encryptServiceConfigValue		0.0%
api-service/internal/service/config.go:809:			decryptServiceConfigValue		0.0%
api-service/internal/service/credential.go:49:			NewCredentialService			100.0%
api-service/internal/service/credential.go:72:			validateCredentialName			100.0%
api-service/internal/service/credential.go:80:			validateTemplate			0.0%
api-service/internal/service/credential.go:109:			validateParameters			0.0%
api-service/internal/service/credential.go:126:			validateRequiredFields			0.0%
api-service/internal/service/credential.go:145:			validateParameterValues			0.0%
api-service/internal/service/credential.go:173:			encryptParameters			0.0%
api-service/internal/service/credential.go:212:			CreateCredential			0.0%
api-service/internal/service/credential.go:281:			buildCredentialResponse			0.0%
api-service/internal/service/credential.go:314:			UpdateCredential			0.0%
api-service/internal/service/credential.go:379:			DeleteCredential			0.0%
api-service/internal/service/credential.go:410:			GetCredential				0.0%
api-service/internal/service/credential.go:478:			ListCredentials				0.0%
api-service/internal/service/credential.go:493:			ListCredentialTemplates			0.0%
api-service/internal/service/credential.go:555:			ListCredentialCategories		0.0%
api-service/internal/service/credential.go:578:			ResolveCredentialReference		83.3%
api-service/internal/service/database_connection.go:24:		NewDatabaseConnectionService		0.0%
api-service/internal/service/database_connection.go:35:		CreateConnection			84.6%
api-service/internal/service/database_connection.go:87:		GetConnection				100.0%
api-service/internal/service/database_connection.go:102:	GetConnectionList			85.7%
api-service/internal/service/database_connection.go:117:	UpdateConnection			59.4%
api-service/internal/service/database_connection.go:189:	DeleteConnection			100.0%
api-service/internal/service/database_connection.go:215:	validateConfig				100.0%
api-service/internal/service/database_connection.go:222:	toResponse				100.0%
api-service/internal/service/database_connection.go:246:	toDetailResponse			100.0%
api-service/internal/service/environment_variable.go:38:	NewEnvironmentVariableService		100.0%
api-service/internal/service/environment_variable.go:48:	validateEnvVarName			100.0%
api-service/internal/service/environment_variable.go:65:	CreatePlatformEnvVar			56.5%
api-service/internal/service/environment_variable.go:131:	CreateProjectEnvVar			45.8%
api-service/internal/service/environment_variable.go:202:	GetEnvVar				100.0%
api-service/internal/service/environment_variable.go:218:	GetPlatformEnvVarList			0.0%
api-service/internal/service/environment_variable.go:247:	GetProjectEnvVarList			0.0%
api-service/internal/service/environment_variable.go:277:	UpdateEnvVar				47.8%
api-service/internal/service/environment_variable.go:332:	DeleteEnvVar				77.8%
api-service/internal/service/environment_variable.go:361:	ResolveEnvVar				90.5%
api-service/internal/service/environment_variable.go:417:	resolveVariableValue			80.0%
api-service/internal/service/environment_variable.go:448:	getDecryptedValue			25.0%
api-service/internal/service/environment_variable.go:468:	buildEnvVarResponse			100.0%
api-service/internal/service/i18n.go:23:			NewI18nService				0.0%
api-service/internal/service/i18n.go:31:			GetSupportedLanguages			0.0%
api-service/internal/service/i18n.go:70:			SwitchUserLanguage			0.0%
api-service/internal/service/i18n.go:129:			isLanguageSupported			0.0%
api-service/internal/service/notification_channel.go:27:	NewNotificationChannelService		0.0%
api-service/internal/service/notification_channel.go:40:	toStringPtr				0.0%
api-service/internal/service/notification_channel.go:48:	GetChannelList				0.0%
api-service/internal/service/notification_channel.go:86:	GetChannelByCode			0.0%
api-service/internal/service/notification_channel.go:106:	CreateEmailChannel			0.0%
api-service/internal/service/notification_channel.go:166:	CreateWebhookChannel			0.0%
api-service/internal/service/notification_channel.go:226:	updateEmailConfigFields			0.0%
api-service/internal/service/notification_channel.go:273:	UpdateEmailChannel			0.0%
api-service/internal/service/notification_channel.go:364:	updateWebhookConfigFields		0.0%
api-service/internal/service/notification_channel.go:402:	UpdateWebhookChannel			0.0%
api-service/internal/service/notification_channel.go:478:	DeleteChannel				0.0%
api-service/internal/service/notification_channel.go:509:	TestEmailChannel			0.0%
api-service/internal/service/notification_channel.go:555:	TestWebhookChannel			0.0%
api-service/internal/service/notification_record.go:20:		NewNotificationRecordService		100.0%
api-service/internal/service/notification_record.go:31:		GetNotificationRecordList		100.0%
api-service/internal/service/notification_record.go:72:		GetNotificationRecordByID		100.0%
api-service/internal/service/notification_template.go:26:	NewNotificationTemplateService		0.0%
api-service/internal/service/notification_template.go:39:	CreateTemplate				0.0%
api-service/internal/service/notification_template.go:82:	GetTemplate				0.0%
api-service/internal/service/notification_template.go:98:	GetTemplateList				0.0%
api-service/internal/service/notification_template.go:128:	UpdateTemplate				0.0%
api-service/internal/service/notification_template.go:182:	DeleteTemplate				0.0%
api-service/internal/service/notification_template.go:215:	TestTemplate				0.0%
api-service/internal/service/notification_template.go:256:	modelToResponse				0.0%
api-service/internal/service/notification_template.go:269:	modelToDetailResponse			0.0%
api-service/internal/service/notification_template.go:287:	renderTemplate				0.0%
api-service/internal/service/notification_template.go:305:	extractTemplateVariables		0.0%
api-service/internal/service/notification_template.go:328:	validateVariableData			0.0%
api-service/internal/service/notification_template.go:360:	validateTemplateVariables		0.0%
api-service/internal/service/notification_template.go:400:	sendTestNotification			0.0%
api-service/internal/service/oauth2.go:45:			NewOAuth2Service			0.0%
api-service/internal/service/oauth2.go:56:			GetAuthorizationURL			0.0%
api-service/internal/service/oauth2.go:102:			ExchangeCodeForToken			0.0%
api-service/internal/service/oauth2.go:164:			GetUserInfo				0.0%
api-service/internal/service/oauth2.go:226:			mapUserInfo				0.0%
api-service/internal/service/oauth2.go:251:			mapUserFields				0.0%
api-service/internal/service/oauth2.go:260:			mapSingleUserField			0.0%
api-service/internal/service/oauth2.go:279:			mapUserID				0.0%
api-service/internal/service/oauth2.go:293:			mapProviderSpecificID			0.0%
api-service/internal/service/oauth2.go:309:			mapGenericUserID			0.0%
api-service/internal/service/oauth2.go:327:			ValidateState				0.0%
api-service/internal/service/oauth2.go:343:			RefreshToken				0.0%
api-service/internal/service/oauth2.go:404:			IsProviderEnabled			0.0%
api-service/internal/service/oauth2.go:410:			GetEnabledProviders			0.0%
api-service/internal/service/permission.go:28:			NewPermissionService			0.0%
api-service/internal/service/permission.go:41:			CreatePermission			57.9%
api-service/internal/service/permission.go:97:			GetPermission				0.0%
api-service/internal/service/permission.go:113:			UpdatePermission			78.9%
api-service/internal/service/permission.go:154:			DeletePermission			58.8%
api-service/internal/service/permission.go:193:			ListPermissions				80.0%
api-service/internal/service/permission.go:222:			GetPermissionTree			71.4%
api-service/internal/service/permission.go:238:			GetPermissionRoles			0.0%
api-service/internal/service/permission.go:265:			CheckUserPermission			66.7%
api-service/internal/service/permission.go:283:			GetUserPermissions			77.8%
api-service/internal/service/permission.go:305:			BatchUpdatePermissionStatus		66.7%
api-service/internal/service/permission.go:324:			getLanguageFromContext			42.9%
api-service/internal/service/resource_group.go:23:		NewResourceGroupService			0.0%
api-service/internal/service/resource_group.go:34:		CreateResourceGroup			100.0%
api-service/internal/service/resource_group.go:88:		GetResourceGroup			100.0%
api-service/internal/service/resource_group.go:98:		GetResourceGroupList			100.0%
api-service/internal/service/resource_group.go:113:		UpdateResourceGroup			90.0%
api-service/internal/service/resource_group.go:163:		DeleteResourceGroup			100.0%
api-service/internal/service/resource_group.go:187:		toResponse				100.0%
api-service/internal/service/resource_group.go:203:		toDetailResponse			100.0%
api-service/internal/service/resource_group.go:210:		GetResourcesByGroupID			100.0%
api-service/internal/service/resource_group.go:232:		MoveResourcesToGroup			100.0%
api-service/internal/service/resource_group.go:290:		GetResourceStatistics			100.0%
api-service/internal/service/role.go:25:			NewRoleService				0.0%
api-service/internal/service/role.go:40:			CreateRole				87.5%
api-service/internal/service/role.go:62:			validateRoleForCreation			75.0%
api-service/internal/service/role.go:79:			validatePermissionIDs			70.0%
api-service/internal/service/role.go:99:			buildRoleEntity				100.0%
api-service/internal/service/role.go:111:			createRoleWithPermissions		100.0%
api-service/internal/service/role.go:116:			GetRole					87.5%
api-service/internal/service/role.go:133:			UpdateRole				81.8%
api-service/internal/service/role.go:163:			getRoleForUpdate			75.0%
api-service/internal/service/role.go:180:			updateRoleFields			100.0%
api-service/internal/service/role.go:192:			updateRoleWithPermissions		100.0%
api-service/internal/service/role.go:198:			saveRoleWithPermissions			81.8%
api-service/internal/service/role.go:223:			DeleteRole				100.0%
api-service/internal/service/role.go:238:			ListRoles				85.7%
api-service/internal/service/role.go:259:			GetRoleWithPermissions			0.0%
api-service/internal/service/role.go:269:			GetRoleUsers				0.0%
api-service/internal/service/role.go:294:			AssignPermissions			61.9%
api-service/internal/service/role.go:341:			RemovePermissions			53.8%
api-service/internal/service/role.go:372:			BatchUpdateRoleStatus			66.7%
api-service/internal/service/secrets.go:60:			NewSecretService			0.0%
api-service/internal/service/secrets.go:87:			encryptSecretField			66.7%
api-service/internal/service/secrets.go:102:			decryptSecretField			0.0%
api-service/internal/service/secrets.go:116:			CreateTextSecret			68.2%
api-service/internal/service/secrets.go:185:			CreateAccountSecret			57.7%
api-service/internal/service/secrets.go:261:			validateFileUpload			100.0%
api-service/internal/service/secrets.go:277:			saveSecretFile				0.0%
api-service/internal/service/secrets.go:325:			buildFileSecretFields			0.0%
api-service/internal/service/secrets.go:345:			CreateFileSecret			0.0%
api-service/internal/service/secrets.go:424:			verifyResourceGroupAndName		81.8%
api-service/internal/service/secrets.go:450:			generateUniqueCode			71.4%
api-service/internal/service/secrets.go:463:			parseExpirationTime			50.0%
api-service/internal/service/secrets.go:474:			handlePostCreation			80.0%
api-service/internal/service/secrets.go:494:			createAuthorizations			90.9%
api-service/internal/service/secrets.go:536:			validateResourceCode			91.3%
api-service/internal/service/secrets.go:597:			createReference				71.4%
api-service/internal/service/secrets.go:617:			toResponse				100.0%
api-service/internal/service/secrets.go:643:			ListSecrets				85.7%
api-service/internal/service/secrets.go:658:			GetSecret				67.6%
api-service/internal/service/secrets.go:753:			updateResourceGroup			14.3%
api-service/internal/service/secrets.go:784:			updateSecretName			70.0%
api-service/internal/service/secrets.go:806:			updateAuthorizedUsers			75.0%
api-service/internal/service/secrets.go:828:			UpdateSecret				60.0%
api-service/internal/service/secrets.go:881:			DeleteSecret				75.7%
api-service/internal/service/secrets.go:973:			CreateReference				78.9%
api-service/internal/service/server.go:74:			NewServerService			100.0%
api-service/internal/service/server.go:87:			CreateServer				58.3%
api-service/internal/service/server.go:163:			GetServer				100.0%
api-service/internal/service/server.go:185:			UpdateServer				43.2%
api-service/internal/service/server.go:287:			DeleteServer				77.8%
api-service/internal/service/server.go:312:			ListServers				75.0%
api-service/internal/service/server.go:335:			GetServerStatus				100.0%
api-service/internal/service/server.go:354:			CheckServersStatus			0.0%
api-service/internal/service/server.go:377:			ExecuteServerActions			0.0%
api-service/internal/service/server.go:398:			UploadFile				0.0%
api-service/internal/service/server.go:459:			DownloadFile				0.0%
api-service/internal/service/server.go:555:			DeleteFile				0.0%
api-service/internal/service/server.go:618:			checkSingleServerStatus			92.3%
api-service/internal/service/server.go:667:			checkSSHConnectivity			31.6%
api-service/internal/service/server.go:778:			checkAgentStatus			100.0%
api-service/internal/service/server.go:791:			checkDockerStatus			100.0%
api-service/internal/service/server.go:803:			testServerConnectivity			57.1%
api-service/internal/service/server.go:821:			testServerConnectivitySync		50.0%
api-service/internal/service/server.go:834:			convertToServerResponse			100.0%
api-service/internal/service/server.go:869:			getSSHCredentials			0.0%
api-service/internal/service/server.go:939:			createSSHClientWithCreds		0.0%
api-service/internal/service/server.go:962:			enrichServerWithStatusData		100.0%
api-service/internal/service/server.go:984:			getSSHTimeout				50.0%
api-service/internal/service/server.go:1005:			getFileUploadMaxSize			0.0%
api-service/internal/service/server.go:1026:			getFileDownloadMaxSize			0.0%
api-service/internal/service/server.go:1047:			getBatchConcurrency			0.0%
api-service/internal/service/server.go:1053:			executeServerActionsAsync		0.0%
api-service/internal/service/server.go:1100:			executeServerAction			0.0%
api-service/internal/service/server.go:1133:			restartServer				0.0%
api-service/internal/service/server.go:1148:			shutdownServer				0.0%
api-service/internal/service/server.go:1160:			rebootServer				0.0%
api-service/internal/service/server.go:1172:			updateServerSystem			0.0%
api-service/internal/service/server.go:1184:			setMaintenanceMode			0.0%
api-service/internal/service/server.go:1202:			performHealthCheck			0.0%
api-service/internal/service/server.go:1222:			validateFileSecurity			0.0%
api-service/internal/service/server.go:1262:			validateFilePath			0.0%
api-service/internal/service/server.go:1304:			validateFileExtension			0.0%
api-service/internal/service/server.go:1346:			getFilePathMode				0.0%
api-service/internal/service/server.go:1367:			getFileExtMode				0.0%
api-service/internal/service/server.go:1388:			getCustomForbiddenPaths			0.0%
api-service/internal/service/server.go:1411:			getCustomAllowedPaths			0.0%
api-service/internal/service/server.go:1428:			getCustomForbiddenExtensions		0.0%
api-service/internal/service/server.go:1445:			getCustomAllowedExtensions		0.0%
api-service/internal/service/server.go:1466:			matchGlobalForbiddenPaths		0.0%
api-service/internal/service/server.go:1476:			matchCustomForbiddenPaths		0.0%
api-service/internal/service/server.go:1487:			matchCustomAllowedPaths			0.0%
api-service/internal/service/server.go:1498:			matchGlobalForbiddenExtensions		0.0%
api-service/internal/service/server.go:1509:			matchCustomForbiddenExtensions		0.0%
api-service/internal/service/server.go:1521:			matchCustomAllowedExtensions		0.0%
api-service/internal/service/server.go:1534:			matchPath				0.0%
api-service/internal/service/server.go:1561:			wildcardMatch				0.0%
api-service/internal/service/server.go:1598:			getFileExtension			0.0%
api-service/internal/service/server.go:1623:			contains				0.0%
api-service/internal/service/server.go:1627:			indexOf					0.0%
api-service/internal/service/server.go:1631:			indexFrom				0.0%
api-service/internal/service/server.go:1657:			startsWith				0.0%
api-service/internal/service/server.go:1669:			endsWith				0.0%
api-service/internal/service/server.go:1682:			splitBy					0.0%
api-service/internal/service/server.go:1709:			generateServerCode			100.0%
api-service/internal/service/server.go:1716:			createSecretReference			0.0%
api-service/internal/service/server.go:1749:			createSSHCredentialSecret		0.0%
api-service/internal/service/server.go:1787:			deleteSecretReferencesByServerCode	50.0%
api-service/internal/service/server_agent.go:37:		NewServerAgentService			100.0%
api-service/internal/service/server_agent.go:46:		DeployAgent				88.2%
api-service/internal/service/server_agent.go:94:		GetAgent				100.0%
api-service/internal/service/server_agent.go:107:		UpdateAgent				77.8%
api-service/internal/service/server_agent.go:129:		UninstallAgent				100.0%
api-service/internal/service/server_agent.go:149:		RestartAgent				100.0%
api-service/internal/service/server_agent.go:169:		GetAgentLogs				80.0%
api-service/internal/service/server_agent.go:187:		GetAgentStatus				100.0%
api-service/internal/service/server_agent.go:206:		validateDeploymentType			100.0%
api-service/internal/service/server_agent.go:217:		executeAgentDeployment			80.0%
api-service/internal/service/server_agent.go:235:		executeAgentUninstallation		80.0%
api-service/internal/service/server_agent.go:251:		executeAgentRestart			80.0%
api-service/internal/service/server_agent.go:267:		mockGetAgentLogs			75.0%
api-service/internal/service/server_agent.go:284:		mockCheckAgentStatus			75.0%
api-service/internal/service/server_agent.go:298:		getAgentStatusMessage			30.0%
api-service/internal/service/server_agent.go:325:		convertToAgentResponse			100.0%
api-service/internal/service/system_config.go:26:		NewSystemConfigService			100.0%
api-service/internal/service/system_config.go:44:		ListSystemConfigs			90.9%
api-service/internal/service/system_config.go:83:		TestSMTP				100.0%
api-service/internal/service/system_config.go:94:		BatchUpdateSystemConfigs		69.2%
api-service/internal/service/system_config.go:147:		encryptConfigValue			20.0%
api-service/internal/service/system_config.go:167:		decryptConfigValue			80.0%
api-service/internal/service/system_config.go:188:		decryptConfigList			60.0%
api-service/internal/service/tag.go:29:				NewTagService				0.0%
api-service/internal/service/tag.go:44:				CreateTag				85.7%
api-service/internal/service/tag.go:80:				GetTag					100.0%
api-service/internal/service/tag.go:93:				UpdateTag				80.0%
api-service/internal/service/tag.go:134:			DeleteTag				80.0%
api-service/internal/service/tag.go:157:			ListTags				86.7%
api-service/internal/service/tag.go:188:			AssignTags				0.0%
api-service/internal/service/tag.go:243:			ReplaceTags				0.0%
api-service/internal/service/tag.go:265:			UnassignTags				0.0%
api-service/internal/service/tag.go:283:			GetResourceTags				100.0%
api-service/internal/service/tag.go:306:			SearchResourcesByTags			82.4%
api-service/internal/service/tag.go:356:			buildSimpleResourceMap			100.0%
api-service/internal/service/tag.go:393:			SearchTags				100.0%
api-service/internal/service/tag.go:416:			convertTagToResponse			100.0%
api-service/internal/service/tag.go:429:			processTagIDsForAssignment		0.0%
api-service/internal/service/tag.go:478:			processTagNamesForAssignment		0.0%
api-service/internal/service/tag.go:541:			collectTagIDs				70.0%
api-service/internal/service/two_factor.go:37:			NewTwoFactorService			0.0%
api-service/internal/service/two_factor.go:50:			GetTwoFactorStatus			0.0%
api-service/internal/service/two_factor.go:66:			EnableTOTP				0.0%
api-service/internal/service/two_factor.go:133:			ConfirmTOTP				0.0%
api-service/internal/service/two_factor.go:191:			DisableTOTP				0.0%
api-service/internal/service/two_factor.go:228:			EnableEmailTwoFactor			0.0%
api-service/internal/service/two_factor.go:269:			DisableEmailTwoFactor			0.0%
api-service/internal/service/two_factor.go:295:			SendEmailCode				0.0%
api-service/internal/service/two_factor.go:331:			VerifyTwoFactor				0.0%
api-service/internal/service/two_factor.go:351:			GenerateBackupCodes			0.0%
api-service/internal/service/two_factor.go:389:			verifyTOTP				0.0%
api-service/internal/service/two_factor.go:407:			verifyEmail				0.0%
api-service/internal/service/two_factor.go:425:			verifyBackupCode			0.0%
api-service/internal/service/two_factor.go:458:			generateBackupCodes			0.0%
api-service/internal/service/two_factor.go:470:			generateEmailCode			0.0%
api-service/internal/service/user.go:29:			NewUserService				100.0%
api-service/internal/service/user.go:37:			ChangePassword				78.6%
api-service/internal/service/user.go:68:			ListUsers				100.0%
api-service/internal/service/user.go:96:			GetUser					100.0%
api-service/internal/service/user.go:109:			CreateUser				68.8%
api-service/internal/service/user.go:150:			UpdateUser				63.2%
api-service/internal/service/user.go:193:			syncUserRoles				80.0%
api-service/internal/service/user.go:247:			UpdateUserStatus			66.7%
api-service/internal/service/user.go:267:			DeleteUser				80.0%
api-service/internal/service/user.go:288:			UpdateUserPassword			0.0%
api-service/internal/service/user.go:319:			ValidateUserAccess			0.0%
api-service/internal/service/user.go:325:			CheckUserQuota				0.0%
api-service/internal/service/user.go:333:			validateEmailUniqueness			66.7%
api-service/internal/service/user.go:348:			validatePhoneFormat			0.0%
api-service/internal/service/user.go:367:			validateUserCreation			53.3%
api-service/internal/service/user.go:396:			createUserFromRequest			66.7%
api-service/internal/service/user.go:433:			updateUserFromRequest			61.1%
api-service/internal/service/user.go:465:			buildUserResponse			42.9%
api-service/internal/service/user_auth.go:60:			NewUserAuthService			0.0%
api-service/internal/service/user_auth.go:94:			Register				0.0%
api-service/internal/service/user_auth.go:172:			Login					0.0%
api-service/internal/service/user_auth.go:267:			ForgotPassword				0.0%
api-service/internal/service/user_auth.go:314:			ValidateResetToken			0.0%
api-service/internal/service/user_auth.go:334:			ResetPassword				0.0%
api-service/internal/service/user_auth.go:388:			VerifyEmail				0.0%
api-service/internal/service/user_auth.go:455:			ResendVerificationEmail			0.0%
api-service/internal/service/user_auth.go:506:			OAuth2Login				0.0%
api-service/internal/service/user_auth.go:591:			generateUsernameFromEmail		0.0%
api-service/internal/service/user_auth.go:612:			findOrCreateOAuth2User			0.0%
api-service/internal/service/user_auth.go:664:			setEmailVerificationLock		0.0%
api-service/internal/service/user_auth.go:679:			hasEmailVerificationLock		0.0%
api-service/internal/service/user_auth.go:698:			deleteEmailVerificationLock		0.0%
api-service/internal/service/user_auth.go:713:			storeTokenInRedis			0.0%
api-service/internal/service/user_auth.go:742:			getTokenFromRedis			0.0%
api-service/internal/service/user_auth.go:775:			storeJWTToken				0.0%
api-service/internal/service/user_auth.go:839:			Logout					0.0%
api-service/internal/service/user_auth.go:874:			generateVerificationToken		0.0%
api-service/internal/service/user_auth.go:911:			validateVerificationToken		0.0%
api-service/internal/service/user_auth.go:953:			markTokenAsUsed				0.0%
api-service/internal/service/user_auth.go:979:			storeUserPreferencesInRedis		0.0%
api-service/internal/service/user_auth.go:1034:			fillMissingPreferences			0.0%
api-service/internal/service/user_auth.go:1074:			getSystemConfigByKey			0.0%
api-service/internal/service/user_profile.go:28:		NewUserProfileService			100.0%
api-service/internal/service/user_profile.go:41:		GetUserProfile				76.9%
api-service/internal/service/user_profile.go:96:		UpdateUserProfile			66.7%
api-service/internal/service/user_profile.go:144:		ChangeProfilePassword			58.8%
api-service/internal/service/user_profile.go:182:		GetLoginHistories			77.8%
api-service/internal/service/user_profile.go:221:		GetNotificationSettings			85.7%
api-service/internal/service/user_profile.go:259:		UpdateNotificationSettings		46.7%
api-service/internal/service/user_profile.go:303:		GetSecuritySettings			78.6%
api-service/internal/service/user_profile.go:338:		UpdateSecuritySettings			60.0%
api-service/internal/service/user_profile.go:368:		saveUserConfig				75.0%
api-service/internal/service/user_profile.go:385:		boolToString				100.0%
api-service/internal/validator/credential_validator.go:18:	ValidateCredentialName			0.0%
api-service/internal/validator/credential_validator.go:34:	RegisterCredentialValidators		0.0%
api-service/internal/validator/time_validator.go:18:		ValidateTimeRange			0.0%
api-service/internal/validator/time_validator.go:44:		ParseTimeWithURLDecoding		0.0%
api-service/internal/validator/time_validator.go:85:		RegisterTimeRangeValidator		0.0%
api-service/pkg/auth/auth_policy.go:27:				NewAuthPolicy				100.0%
api-service/pkg/auth/auth_policy.go:60:				NewValidator				100.0%
api-service/pkg/auth/auth_policy.go:68:				ValidateUsername			100.0%
api-service/pkg/auth/auth_policy.go:108:			ValidateEmail				42.3%
api-service/pkg/auth/auth_policy.go:160:			IsEmail					100.0%
api-service/pkg/auth/auth_policy.go:172:			ValidateUsernameOrEmail			100.0%
api-service/pkg/auth/auth_policy.go:194:			ValidatePasswordWithPolicy		100.0%
api-service/pkg/auth/auth_policy.go:212:			validatePasswordLength			100.0%
api-service/pkg/auth/auth_policy.go:229:			validatePasswordComplexity		86.7%
api-service/pkg/auth/auth_policy.go:259:			analyzePasswordCharacters		100.0%
api-service/pkg/auth/auth_policy.go:278:			ValidateLoginMethod			69.2%
api-service/pkg/auth/auth_policy.go:337:			CheckLoginSecurity			0.0%
api-service/pkg/auth/auth_policy.go:386:			ValidatePassword			0.0%
api-service/pkg/auth/auth_policy.go:400:			checkIPWhitelist			0.0%
api-service/pkg/auth/auth_policy.go:448:			isIPAllowed				0.0%
api-service/pkg/auth/auth_policy.go:481:			checkLoginTimeRestrictions		0.0%
api-service/pkg/auth/auth_policy.go:517:			parseTimeString				83.3%
api-service/pkg/auth/auth_policy.go:543:			checkAccountLockout			0.0%
api-service/pkg/auth/auth_policy.go:577:			recordLoginFailure			0.0%
api-service/pkg/auth/auth_policy.go:664:			clearLoginAttempts			0.0%
api-service/pkg/auth/auth_policy.go:683:			GetLoginAttempts			0.0%
api-service/pkg/auth/auth_policy.go:709:			IsAccountLocked				0.0%
api-service/pkg/auth/auth_policy.go:736:			InitGlobalAuthPolicy			100.0%
api-service/pkg/auth/auth_policy.go:743:			ValidateEmail				100.0%
api-service/pkg/auth/auth_policy.go:759:			IsEmail					100.0%
api-service/pkg/auth/auth_policy.go:772:			ValidateUsernameOrEmail			100.0%
api-service/pkg/auth/jwt.go:36:					NewJWTAuth				0.0%
api-service/pkg/auth/jwt.go:43:					InitJWT					0.0%
api-service/pkg/auth/jwt.go:48:					GetGlobalJWT				0.0%
api-service/pkg/auth/jwt.go:53:					UpdateJWTConfig				0.0%
api-service/pkg/auth/jwt.go:58:					HashToken				0.0%
api-service/pkg/auth/jwt.go:64:					ParseWithClaims				0.0%
api-service/pkg/auth/jwt.go:75:					ExtractTokenFromHeader			0.0%
api-service/pkg/auth/jwt.go:89:					GenerateTokenWithUserInfo		0.0%
api-service/pkg/auth/jwt.go:115:				ValidateToken				0.0%
api-service/pkg/auth/jwt.go:127:				RefreshToken				0.0%
api-service/pkg/auth/jwt.go:138:				GetTokenExpiresInSeconds		0.0%
api-service/pkg/auth/jwt.go:150:				GetTokenSigningMethod			0.0%
api-service/pkg/auth/totp.go:44:				GenerateTOTPSecret			0.0%
api-service/pkg/auth/totp.go:66:				ValidateTOTP				0.0%
api-service/pkg/auth/totp.go:71:				GenerateQRCode				0.0%
api-service/pkg/auth/totp.go:89:				GenerateBackupCodes			0.0%
api-service/pkg/auth/totp.go:104:				generateBackupCode			0.0%
api-service/pkg/auth/totp.go:127:				ValidateBackupCode			0.0%
api-service/pkg/auth/totp.go:137:				RemoveUsedBackupCode			0.0%
api-service/pkg/auth/totp.go:148:				EncodeSecret				0.0%
api-service/pkg/auth/totp.go:153:				DecodeSecret				0.0%
api-service/pkg/auth/totp.go:158:				GenerateSimpleTOTPSecret		0.0%
api-service/pkg/auth/totp.go:167:				GenerateTOTPQRCode			0.0%
api-service/pkg/auth/totp.go:172:				ValidateSimpleTOTP			0.0%
api-service/pkg/crypto/aes.go:30:				NewAESCrypto				100.0%
api-service/pkg/crypto/aes.go:45:				Encrypt					76.9%
api-service/pkg/crypto/aes.go:76:				Decrypt					84.2%
api-service/pkg/crypto/aes.go:119:				RotateKey				100.0%
api-service/pkg/crypto/aes.go:125:				ValidateKey				70.0%
api-service/pkg/crypto/aes.go:152:				InitDefaultCrypto			0.0%
api-service/pkg/crypto/aes.go:166:				GetDefaultCrypto			0.0%
api-service/pkg/database/database.go:36:			parseLogLevel				0.0%
api-service/pkg/database/database.go:71:			InitDB					0.0%
api-service/pkg/database/database.go:124:			initSQLite				0.0%
api-service/pkg/database/database.go:165:			initMySQL				0.0%
api-service/pkg/database/database.go:215:			createMySQLDatabase			0.0%
api-service/pkg/database/database.go:265:			initPostgreSQL				0.0%
api-service/pkg/database/database.go:298:			createPostgreSQLDatabase		0.0%
api-service/pkg/database/database.go:346:			buildMySQLDSN				0.0%
api-service/pkg/database/database.go:389:			buildPostgreSQLDSN			0.0%
api-service/pkg/database/database.go:418:			configureConnectionPool			0.0%
api-service/pkg/database/database.go:443:			TestDatabaseConnection			0.0%
api-service/pkg/database/database.go:465:			GetDatabaseInfo				0.0%
api-service/pkg/database/errors/errors.go:50:			Error					0.0%
api-service/pkg/database/errors/errors.go:56:			Unwrap					0.0%
api-service/pkg/database/errors/errors.go:61:			getTypeString				0.0%
api-service/pkg/database/errors/errors.go:79:			IsRetryable				0.0%
api-service/pkg/database/errors/errors.go:89:			GetRetryDelay				0.0%
api-service/pkg/database/errors/errors.go:106:			NewSQLiteErrorClassifier		0.0%
api-service/pkg/database/errors/errors.go:111:			ClassifyError				0.0%
api-service/pkg/database/errors/errors.go:129:			determineErrorType			0.0%
api-service/pkg/database/errors/errors.go:194:			DefaultRetryConfig			0.0%
api-service/pkg/database/errors/errors.go:215:			NewSQLiteRetryHandler			0.0%
api-service/pkg/database/errors/errors.go:227:			ShouldRetry				0.0%
api-service/pkg/database/errors/errors.go:256:			calculateDelay				0.0%
api-service/pkg/database/errors/errors.go:273:			WrapError				0.0%
api-service/pkg/database/errors/errors.go:288:			containsAny				0.0%
api-service/pkg/database/influxdb.go:10:			InitInfluxDB				0.0%
api-service/pkg/database/manager.go:37:				NewDatabaseManagerFactory		0.0%
api-service/pkg/database/manager.go:44:				CreateManager				0.0%
api-service/pkg/database/manager.go:76:				initTimezonePlugin			0.0%
api-service/pkg/database/manager.go:95:				initPermissionI18nHook			0.0%
api-service/pkg/database/manager.go:115:			NewGenericManager			0.0%
api-service/pkg/database/manager.go:123:			Query					0.0%
api-service/pkg/database/manager.go:135:			Transaction				0.0%
api-service/pkg/database/manager.go:153:			Create					0.0%
api-service/pkg/database/manager.go:158:			Update					0.0%
api-service/pkg/database/manager.go:163:			Delete					0.0%
api-service/pkg/database/manager.go:168:			BatchCreate				0.0%
api-service/pkg/database/manager.go:173:			GetDB					0.0%
api-service/pkg/database/manager.go:178:			HealthCheck				0.0%
api-service/pkg/database/manager.go:195:			Close					0.0%
api-service/pkg/database/migrations.go:43:			NewMigrator				0.0%
api-service/pkg/database/migrations.go:51:			AddMigration				0.0%
api-service/pkg/database/migrations.go:61:			InitMigrationTable			0.0%
api-service/pkg/database/migrations.go:69:			Migrate					0.0%
api-service/pkg/database/migrations.go:132:			Rollback				0.0%
api-service/pkg/database/migrations.go:192:			Status					0.0%
api-service/pkg/database/migrations.go:206:			getCurrentBatch				0.0%
api-service/pkg/database/migrations.go:215:			RunMigrations				0.0%
api-service/pkg/database/migrations.go:245:			addSQLiteMigrations			0.0%
api-service/pkg/database/migrations.go:261:			addMySQLMigrations			0.0%
api-service/pkg/database/migrations.go:274:			addPostgresMigrations			0.0%
api-service/pkg/database/plugins/datetime_serializer.go:21:	Scan					0.0%
api-service/pkg/database/plugins/datetime_serializer.go:28:	Value					0.0%
api-service/pkg/database/plugins/permission_hook.go:23:		NewPermissionI18nHook			0.0%
api-service/pkg/database/plugins/permission_hook.go:31:		RegisterPermissionI18nHook		0.0%
api-service/pkg/database/plugins/permission_hook.go:56:		afterQueryCallback			0.0%
api-service/pkg/database/plugins/permission_hook.go:84:		isPermissionQuery			0.0%
api-service/pkg/database/plugins/permission_hook.go:97:		shouldSkipTranslation			0.0%
api-service/pkg/database/plugins/permission_hook.go:103:	getUserLanguage				0.0%
api-service/pkg/database/plugins/permission_hook.go:164:	getSystemLanguage			0.0%
api-service/pkg/database/plugins/permission_hook.go:191:	translatePermissionNames		0.0%
api-service/pkg/database/plugins/permission_hook.go:199:	translatePermissionName			0.0%
api-service/pkg/database/plugins/permission_hook.go:277:	SkipPermissionI18n			0.0%
api-service/pkg/database/plugins/query_utils.go:14:		shouldSkipQuery				0.0%
api-service/pkg/database/plugins/query_utils.go:61:		processQueryResult			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:30:		NewTimezonePlugin			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:53:		WithCustomFields			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:62:		WithCustomTimezone			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:79:		Name					0.0%
api-service/pkg/database/plugins/timezone_plugin.go:86:		Initialize				0.0%
api-service/pkg/database/plugins/timezone_plugin.go:139:	afterOperationCallback			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:178:	beforeOperationCallback			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:189:	shouldSkipConversion			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:195:	getUserTimezone				0.0%
api-service/pkg/database/plugins/timezone_plugin.go:260:	getSystemTimezone			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:295:	convertTimezoneInResult			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:303:	convertStructTimezone			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:394:	isConvertibleField			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:400:	convertTimeField			0.0%
api-service/pkg/database/plugins/timezone_plugin.go:455:	SkipTimezoneConversion			0.0%
api-service/pkg/database/sqlite_manager.go:35:			NewSQLiteManager			0.0%
api-service/pkg/database/sqlite_manager.go:51:			initializePragmas			0.0%
api-service/pkg/database/sqlite_manager.go:81:			WithRetry				0.0%
api-service/pkg/database/sqlite_manager.go:121:			Transaction				0.0%
api-service/pkg/database/sqlite_manager.go:128:			executeTransaction			0.0%
api-service/pkg/database/sqlite_manager.go:166:			Query					0.0%
api-service/pkg/database/sqlite_manager.go:173:			Create					0.0%
api-service/pkg/database/sqlite_manager.go:180:			Update					0.0%
api-service/pkg/database/sqlite_manager.go:187:			Delete					0.0%
api-service/pkg/database/sqlite_manager.go:194:			BatchCreate				0.0%
api-service/pkg/database/sqlite_manager.go:201:			GetDB					0.0%
api-service/pkg/database/sqlite_manager.go:206:			GetActiveTransactions			0.0%
api-service/pkg/database/sqlite_manager.go:213:			SetRetryHandler				0.0%
api-service/pkg/database/sqlite_manager.go:218:			HealthCheck				0.0%
api-service/pkg/database/sqlite_manager.go:237:			Close					0.0%
api-service/pkg/database/wrapper.go:26:				InitDBWrapper				0.0%
api-service/pkg/database/wrapper.go:46:				GetDBWrapper				0.0%
api-service/pkg/database/wrapper.go:51:				newDBWrapper				0.0%
api-service/pkg/database/wrapper.go:81:				GetManager				0.0%
api-service/pkg/database/wrapper.go:88:				GetDB					0.0%
api-service/pkg/database/wrapper.go:95:				Query					0.0%
api-service/pkg/database/wrapper.go:100:			Transaction				0.0%
api-service/pkg/database/wrapper.go:105:			Create					0.0%
api-service/pkg/database/wrapper.go:110:			Update					0.0%
api-service/pkg/database/wrapper.go:115:			Delete					0.0%
api-service/pkg/database/wrapper.go:120:			BatchCreate				0.0%
api-service/pkg/database/wrapper.go:125:			HealthCheck				0.0%
api-service/pkg/database/wrapper.go:130:			Close					0.0%
api-service/pkg/database/wrapper.go:148:			GetConfig				0.0%
api-service/pkg/database/wrapper.go:153:			IsSQLite				0.0%
api-service/pkg/database/wrapper.go:158:			GetActiveTransactions			0.0%
api-service/pkg/database/wrapper.go:166:			ResetConnection				0.0%
api-service/pkg/email/email.go:56:				NewEmailService				0.0%
api-service/pkg/email/email.go:66:				SendVerificationEmail			0.0%
api-service/pkg/email/email.go:90:				SendPasswordResetEmail			0.0%
api-service/pkg/email/email.go:114:				renderTemplate				0.0%
api-service/pkg/email/email.go:139:				getFieldValue				0.0%
api-service/pkg/email/email.go:179:				SendEmail				0.0%
api-service/pkg/email/email.go:217:				sendWithTLS				0.0%
api-service/pkg/email/email.go:277:				buildMessage				0.0%
api-service/pkg/errors/errors.go:22:				Error					0.0%
api-service/pkg/errors/errors.go:41:				GetI18nKey				0.0%
api-service/pkg/errors/errors.go:47:				NewAppErrorWithI18n			0.0%
api-service/pkg/errors/errors.go:56:				NewAppErrorWithI18nDetails		0.0%
api-service/pkg/errors/errors.go:67:				NewAppError				0.0%
api-service/pkg/errors/errors.go:73:				NewAppErrorWithDetails			0.0%
api-service/pkg/errors/errors.go:84:				NewAppErrorWrapError			0.0%
api-service/pkg/errors/errors.go:90:				getHTTPStatusByCode			0.0%
api-service/pkg/errors/errors.go:99:				getI18nKeyByCode			0.0%
api-service/pkg/errors/errors.go:108:				getDefaultStatusByCodeRange		0.0%
api-service/pkg/errors/errors.go:132:				Is					0.0%
api-service/pkg/errors/handler.go:15:				ErrorHandler				0.0%
api-service/pkg/errors/handler.go:39:				processes				0.0%
api-service/pkg/errors/handler.go:69:				sendErrorResponse			0.0%
api-service/pkg/files/file_storage.go:28:			InitFileStorage				100.0%
api-service/pkg/files/file_storage.go:38:			GetInstance				80.0%
api-service/pkg/files/file_storage.go:58:			SaveFile				70.0%
api-service/pkg/files/file_storage.go:109:			GetFile					88.9%
api-service/pkg/files/file_storage.go:139:			DeleteFile				80.0%
api-service/pkg/files/file_storage.go:172:			RenameFile				80.0%
api-service/pkg/files/file_storage.go:214:			Exists					90.9%
api-service/pkg/i18n/i18n.go:32:				getProjectRoot				0.0%
api-service/pkg/i18n/i18n.go:63:				Init					0.0%
api-service/pkg/i18n/i18n.go:69:				InitWithConfig				0.0%
api-service/pkg/i18n/i18n.go:100:				loadLanguageFile			0.0%
api-service/pkg/i18n/i18n.go:136:				GetLocalizer				0.0%
api-service/pkg/i18n/i18n.go:153:				T					0.0%
api-service/pkg/i18n/i18n.go:175:				TWithPlural				0.0%
api-service/pkg/i18n/i18n.go:198:				NormalizeLanguage			0.0%
api-service/pkg/i18n/i18n.go:203:				normalizeLanguage			0.0%
api-service/pkg/i18n/i18n.go:225:				isLanguageSupported			0.0%
api-service/pkg/i18n/i18n.go:235:				GetSupportedLanguages			0.0%
api-service/pkg/i18n/i18n.go:240:				DetectLanguageFromHeader		0.0%
api-service/pkg/i18n/i18n.go:265:				MustT					0.0%
api-service/pkg/i18n/i18n.go:273:				GetAvailableKeys			0.0%
api-service/pkg/i18n/i18n.go:302:				GetLanguageInfo				0.0%
api-service/pkg/i18n/i18n.go:336:				GetInstance				0.0%
api-service/pkg/i18n/i18n.go:349:				NewI18n					0.0%
api-service/pkg/logger/logger.go:30:				String					0.0%
api-service/pkg/logger/logger.go:48:				ParseLevel				71.4%
api-service/pkg/logger/logger.go:112:				String					100.0%
api-service/pkg/logger/logger.go:117:				Int					100.0%
api-service/pkg/logger/logger.go:122:				Int64					100.0%
api-service/pkg/logger/logger.go:127:				Uint					100.0%
api-service/pkg/logger/logger.go:132:				Float64					100.0%
api-service/pkg/logger/logger.go:137:				Bool					100.0%
api-service/pkg/logger/logger.go:142:				Duration				0.0%
api-service/pkg/logger/logger.go:147:				Time					0.0%
api-service/pkg/logger/logger.go:152:				ErrorField				100.0%
api-service/pkg/logger/logger.go:160:				Any					100.0%
api-service/pkg/logger/logger.go:168:				SetDefault				0.0%
api-service/pkg/logger/logger.go:173:				GetDefault				0.0%
api-service/pkg/logger/logger.go:178:				Debug					0.0%
api-service/pkg/logger/logger.go:184:				Info					0.0%
api-service/pkg/logger/logger.go:190:				Warn					0.0%
api-service/pkg/logger/logger.go:196:				Error					0.0%
api-service/pkg/logger/logger.go:202:				Fatal					0.0%
api-service/pkg/logger/zap.go:54:				NewZapLogger				85.7%
api-service/pkg/logger/zap.go:77:				NewDefaultZapLogger			0.0%
api-service/pkg/logger/zap.go:82:				NewZapLoggerWithConfig			100.0%
api-service/pkg/logger/zap.go:95:				NewZapLoggerWithServerConfig		100.0%
api-service/pkg/logger/zap.go:109:				createEncoderConfig			100.0%
api-service/pkg/logger/zap.go:126:				createOutput				85.7%
api-service/pkg/logger/zap.go:145:				createFileOutput			75.0%
api-service/pkg/logger/zap.go:192:				ensureLogDir				83.3%
api-service/pkg/logger/zap.go:206:				validateFilePath			92.3%
api-service/pkg/logger/zap.go:238:				convertToZapLevel			85.7%
api-service/pkg/logger/zap.go:256:				Debug					100.0%
api-service/pkg/logger/zap.go:261:				Info					100.0%
api-service/pkg/logger/zap.go:266:				Warn					100.0%
api-service/pkg/logger/zap.go:271:				Error					100.0%
api-service/pkg/logger/zap.go:276:				Fatal					0.0%
api-service/pkg/logger/zap.go:281:				DebugContext				100.0%
api-service/pkg/logger/zap.go:286:				InfoContext				100.0%
api-service/pkg/logger/zap.go:291:				WarnContext				100.0%
api-service/pkg/logger/zap.go:296:				ErrorContext				100.0%
api-service/pkg/logger/zap.go:301:				IsDebugEnabled				100.0%
api-service/pkg/logger/zap.go:306:				IsInfoEnabled				100.0%
api-service/pkg/logger/zap.go:311:				IsWarnEnabled				100.0%
api-service/pkg/logger/zap.go:316:				IsErrorEnabled				100.0%
api-service/pkg/logger/zap.go:321:				WithFields				66.7%
api-service/pkg/logger/zap.go:333:				WithContext				100.0%
api-service/pkg/logger/zap.go:338:				SetLevel				100.0%
api-service/pkg/logger/zap.go:343:				SetOutput				0.0%
api-service/pkg/logger/zap.go:348:				convertFields				100.0%
api-service/pkg/logger/zap.go:361:				convertField				72.7%
api-service/pkg/logger/zap.go:386:				extractContextFields			100.0%
api-service/pkg/redis/redis.go:34:				Init					0.0%
api-service/pkg/redis/redis.go:72:				GetClient				0.0%
api-service/pkg/redis/redis.go:85:				Close					0.0%
api-service/pkg/redis/redis.go:94:				Ping					0.0%
api-service/pkg/redis/redis.go:102:				Set					0.0%
api-service/pkg/redis/redis.go:108:				Get					0.0%
api-service/pkg/redis/redis.go:114:				GetDel					0.0%
api-service/pkg/redis/redis.go:120:				Exists					0.0%
api-service/pkg/redis/redis.go:126:				Del					0.0%
api-service/pkg/redis/redis.go:132:				Expire					0.0%
api-service/pkg/redis/redis.go:138:				TTL					0.0%
api-service/pkg/redis/redis.go:144:				Incr					0.0%
api-service/pkg/redis/redis.go:150:				IncrBy					0.0%
api-service/pkg/redis/redis.go:156:				SetNX					0.0%
api-service/pkg/redis/redis.go:162:				MGet					0.0%
api-service/pkg/redis/redis.go:168:				MSet					0.0%
api-service/pkg/redis/redis.go:176:				LPush					0.0%
api-service/pkg/redis/redis.go:182:				RPush					0.0%
api-service/pkg/redis/redis.go:188:				LPop					0.0%
api-service/pkg/redis/redis.go:194:				RPop					0.0%
api-service/pkg/redis/redis.go:200:				LLen					0.0%
api-service/pkg/redis/redis.go:206:				LRange					0.0%
api-service/pkg/redis/redis.go:212:				LIndex					0.0%
api-service/pkg/redis/redis.go:218:				LSet					0.0%
api-service/pkg/redis/redis.go:224:				LTrim					0.0%
api-service/pkg/redis/redis.go:232:				HSet					0.0%
api-service/pkg/redis/redis.go:238:				HGet					0.0%
api-service/pkg/redis/redis.go:244:				HGetAll					0.0%
api-service/pkg/redis/redis.go:250:				HDel					0.0%
api-service/pkg/redis/redis.go:256:				HExists					0.0%
api-service/pkg/redis/redis.go:262:				HLen					0.0%
api-service/pkg/redis/redis.go:268:				HKeys					0.0%
api-service/pkg/redis/redis.go:274:				HVals					0.0%
api-service/pkg/redis/redis.go:280:				HIncrBy					0.0%
api-service/pkg/redis/redis.go:286:				HMGet					0.0%
api-service/pkg/redis/redis.go:294:				SAdd					0.0%
api-service/pkg/redis/redis.go:300:				SMembers				0.0%
api-service/pkg/redis/redis.go:306:				SIsMember				0.0%
api-service/pkg/redis/redis.go:312:				SCard					0.0%
api-service/pkg/redis/redis.go:318:				SRem					0.0%
api-service/pkg/redis/redis.go:324:				SPop					0.0%
api-service/pkg/redis/redis.go:330:				SRandMember				0.0%
api-service/pkg/redis/redis.go:336:				SDiff					0.0%
api-service/pkg/redis/redis.go:342:				SInter					0.0%
api-service/pkg/redis/redis.go:348:				SUnion					0.0%
api-service/pkg/redis/redis.go:356:				Publish					0.0%
api-service/pkg/redis/redis.go:362:				Subscribe				0.0%
api-service/pkg/redis/redis.go:368:				PSubscribe				0.0%
api-service/pkg/redis/redis.go:374:				BLPop					0.0%
api-service/pkg/redis/redis.go:380:				BRPop					0.0%
api-service/pkg/redis/redis.go:386:				RPoplPush				0.0%
api-service/pkg/redis/redis.go:392:				BRPopLPush				0.0%
api-service/pkg/redis/redis_keys.go:37:				FormatRedisKey				0.0%
api-service/pkg/redis/redis_keys.go:42:				FormatRedisKeyWithID			0.0%
api-service/pkg/ssh/client.go:32:				NewClient				42.9%
api-service/pkg/ssh/client.go:83:				Close					0.0%
api-service/pkg/ssh/client.go:106:				UploadFile				0.0%
api-service/pkg/ssh/client.go:124:				DownloadFile				0.0%
api-service/pkg/ssh/client.go:142:				DeleteFile				0.0%
api-service/pkg/ssh/client.go:151:				FileExists				0.0%
api-service/pkg/ssh/client.go:163:				GetFileSize				0.0%
api-service/pkg/ssh/client.go:172:				TestConnection				0.0%
api-service/pkg/ssh/client.go:194:				ExecuteCommand				0.0%
api-service/pkg/ssh/client.go:210:				ReadFileContent				0.0%
api-service/pkg/ssh/client.go:219:				WriteFileContent			0.0%
api-service/pkg/utils/code_generator.go:21:			GenerateCode				0.0%
api-service/pkg/utils/code_generator.go:32:			generateRandomString			0.0%
api-service/pkg/utils/code_generator.go:58:			GenerateCodeWithRetry			0.0%
api-service/pkg/utils/context.go:24:				GetUserIDFromContext			81.8%
api-service/pkg/utils/context.go:52:				SetUserIDInContext			100.0%
api-service/pkg/utils/context.go:58:				ContextWithUserID			100.0%
api-service/pkg/utils/context.go:69:				GetUserLangFromRedis			0.0%
api-service/pkg/utils/error_format.go:10:			FormatErrorWithStack			0.0%
api-service/pkg/utils/exporter.go:52:				NewDBExporter				0.0%
api-service/pkg/utils/exporter.go:57:				Export					0.0%
api-service/pkg/utils/exporter.go:73:				validateConfig				0.0%
api-service/pkg/utils/exporter.go:90:				setDefaultLimits			0.0%
api-service/pkg/utils/exporter.go:104:				executeQuery				0.0%
api-service/pkg/utils/exporter.go:137:				exportData				0.0%
api-service/pkg/utils/exporter.go:151:				exportToJSON				0.0%
api-service/pkg/utils/exporter.go:156:				exportToCSV				0.0%
api-service/pkg/utils/exporter.go:182:				prepareCSVHeaders			0.0%
api-service/pkg/utils/exporter.go:191:				writeCSVHeaders				0.0%
api-service/pkg/utils/exporter.go:199:				writeCSVData				0.0%
api-service/pkg/utils/exporter.go:215:				exportToExcel				0.0%
api-service/pkg/utils/exporter.go:245:				writeEmptyExcelFile			0.0%
api-service/pkg/utils/exporter.go:254:				prepareExcelHeaders			0.0%
api-service/pkg/utils/exporter.go:263:				extractSortedHeaders			0.0%
api-service/pkg/utils/exporter.go:280:				writeExcelHeaders			0.0%
api-service/pkg/utils/exporter.go:291:				writeExcelData				0.0%
api-service/pkg/utils/exporter.go:308:				saveExcelToBuffer			0.0%
api-service/pkg/utils/exporter.go:317:				formatValue				0.0%
api-service/pkg/utils/exporter.go:340:				columnName				0.0%
api-service/pkg/utils/exporter.go:350:				GetRowCount				0.0%
api-service/pkg/utils/exporter.go:375:				NewExportConfigBuilder			0.0%
api-service/pkg/utils/exporter.go:385:				TableName				0.0%
api-service/pkg/utils/exporter.go:391:				Fields					0.0%
api-service/pkg/utils/exporter.go:397:				QueryBuilder				0.0%
api-service/pkg/utils/exporter.go:403:				Format					0.0%
api-service/pkg/utils/exporter.go:409:				Limit					0.0%
api-service/pkg/utils/exporter.go:415:				OrderBy					0.0%
api-service/pkg/utils/exporter.go:421:				Build					0.0%
api-service/pkg/utils/exporter.go:437:				WhereEqual				0.0%
api-service/pkg/utils/exporter.go:444:				WhereBetween				0.0%
api-service/pkg/utils/exporter.go:451:				WhereLike				0.0%
api-service/pkg/utils/exporter.go:458:				WhereIn					0.0%
api-service/pkg/utils/exporter.go:465:				WhereNotNull				0.0%
api-service/pkg/utils/exporter.go:472:				WhereIsNull				0.0%
api-service/pkg/utils/exporter.go:479:				CombineQueryBuilders			0.0%
api-service/pkg/utils/network.go:26:				GetRealIP				85.7%
api-service/pkg/utils/network.go:53:				extractIPFromHeader			100.0%
api-service/pkg/utils/network.go:73:				getFirstValidIP				85.7%
api-service/pkg/utils/network.go:87:				extractIPFromForwardedHeader		83.3%
api-service/pkg/utils/network.go:109:				IsPrivateIP				100.0%
api-service/pkg/utils/network.go:119:				isPrivateIPv4				100.0%
api-service/pkg/utils/network.go:128:				isIPv4InPrivateRange			100.0%
api-service/pkg/utils/network.go:149:				isPrivateIPv6				100.0%
api-service/tools/migrate-db/main.go:9:				main					0.0%
api-service/tools/test-db/main.go:9:				main					0.0%
total:								(statements)				15.5%

Websoft9 Agent:

websoft9-agent/cmd/agent/main.go:20:			main			0.0%
websoft9-agent/cmd/agent/main.go:65:			NewAgent		100.0%
websoft9-agent/cmd/agent/main.go:78:			StartMonitoring		0.0%
websoft9-agent/cmd/agent/main.go:97:			StartTaskExecutor	0.0%
websoft9-agent/cmd/agent/main.go:114:			StartCommunication	0.0%
websoft9-agent/cmd/agent/main.go:133:			ProcessTask		100.0%
websoft9-agent/cmd/agent/main.go:142:			GetSystemInfo		100.0%
websoft9-agent/internal/agent/agent.go:32:		New			0.0%
websoft9-agent/internal/agent/agent.go:60:		Start			0.0%
websoft9-agent/internal/agent/agent.go:88:		Stop			0.0%
websoft9-agent/internal/agent/agent.go:108:		startHeartbeat		0.0%
websoft9-agent/internal/agent/agent.go:128:		sendHeartbeat		0.0%
websoft9-agent/internal/communication/grpc.go:24:	NewGRPCClient		0.0%
websoft9-agent/internal/communication/grpc.go:31:	Start			0.0%
websoft9-agent/internal/communication/grpc.go:58:	Stop			0.0%
websoft9-agent/internal/communication/grpc.go:67:	SendHeartbeat		0.0%
websoft9-agent/internal/communication/grpc.go:83:	SendMetrics		0.0%
websoft9-agent/internal/communication/grpc.go:99:	SendTaskResult		0.0%
websoft9-agent/internal/communication/grpc.go:115:	ReceiveTasks		0.0%
websoft9-agent/internal/communication/manager.go:29:	NewManager		0.0%
websoft9-agent/internal/communication/manager.go:56:	Start			0.0%
websoft9-agent/internal/communication/manager.go:77:	Stop			0.0%
websoft9-agent/internal/communication/manager.go:96:	listenMessages		0.0%
websoft9-agent/internal/communication/manager.go:116:	handleMessage		0.0%
websoft9-agent/internal/communication/manager.go:128:	SendHeartbeat		0.0%
websoft9-agent/internal/communication/manager.go:133:	SendMetrics		0.0%
websoft9-agent/internal/communication/manager.go:138:	SendTaskResult		0.0%
websoft9-agent/internal/communication/manager.go:143:	SendEvent		0.0%
websoft9-agent/internal/config/config.go:51:		Load			0.0%
websoft9-agent/internal/config/config.go:90:		setDefaults		0.0%
websoft9-agent/internal/config/config.go:118:		validateConfig		0.0%
websoft9-agent/internal/monitor/container.go:47:	NewContainerMonitor	0.0%
websoft9-agent/internal/monitor/container.go:54:	Collect			0.0%
websoft9-agent/internal/monitor/health.go:38:		NewHealthChecker	0.0%
websoft9-agent/internal/monitor/health.go:48:		Check			0.0%
websoft9-agent/internal/monitor/health.go:63:		getHealthChecks		0.0%
websoft9-agent/internal/monitor/health.go:77:		performCheck		0.0%
websoft9-agent/internal/monitor/health.go:101:		httpCheck		0.0%
websoft9-agent/internal/monitor/health.go:122:		tcpCheck		0.0%
websoft9-agent/internal/monitor/health.go:132:		scriptCheck		0.0%
websoft9-agent/internal/monitor/monitor.go:30:		New			0.0%
websoft9-agent/internal/monitor/monitor.go:55:		Start			0.0%
websoft9-agent/internal/monitor/monitor.go:85:		Stop			0.0%
websoft9-agent/internal/monitor/monitor.go:93:		runSystemMonitor	0.0%
websoft9-agent/internal/monitor/monitor.go:110:		runContainerMonitor	0.0%
websoft9-agent/internal/monitor/monitor.go:127:		runHealthChecker	0.0%
websoft9-agent/internal/monitor/system.go:60:		NewSystemMonitor	0.0%
websoft9-agent/internal/monitor/system.go:67:		Collect			0.0%
websoft9-agent/internal/monitor/system.go:81:		collectMetrics		0.0%
websoft9-agent/internal/task/executor.go:51:		NewExecutor		0.0%
websoft9-agent/internal/task/executor.go:64:		Start			0.0%
websoft9-agent/internal/task/executor.go:80:		Stop			0.0%
websoft9-agent/internal/task/executor.go:88:		registerHandlers	0.0%
websoft9-agent/internal/task/executor.go:97:		listenTasks		0.0%
websoft9-agent/internal/task/handlers.go:17:		Execute			0.0%
websoft9-agent/internal/task/handlers.go:39:		Execute			0.0%
websoft9-agent/internal/task/handlers.go:61:		NewSystemCommandHandler	0.0%
websoft9-agent/internal/task/handlers.go:67:		Execute			0.0%
websoft9-agent/internal/task/handlers.go:134:		Execute			0.0%
websoft9-agent/internal/task/handlers.go:156:		NewServiceManageHandler	0.0%
websoft9-agent/internal/task/handlers.go:162:		Execute			0.0%
websoft9-agent/pkg/security/validator.go:27:		NewCommandValidator	100.0%
websoft9-agent/pkg/security/validator.go:64:		ValidateCommand		85.0%
websoft9-agent/pkg/security/validator.go:108:		ValidateSystemctlAction	100.0%
websoft9-agent/pkg/security/validator.go:127:		ValidateServiceName	100.0%
websoft9-agent/pkg/security/validator.go:157:		NewPathValidator	100.0%
websoft9-agent/pkg/security/validator.go:169:		ValidateConfigPath	94.1%
websoft9-agent/pkg/security/validator.go:211:		SanitizeInput		80.0%
websoft9-agent/pkg/security/validator.go:227:		ValidateTaskParams	100.0%
total:							(statements)		14.3%

@github-actions
Copy link

github-actions bot commented Dec 6, 2025

📊 PR Check Results Summary

Commit Message Check: failure
Code Format Check: success
Unit Tests: success
Build Check: success
Security Scan: success

⚠️ Some checks failed Please fix the failed checks and resubmit.

🔧 Fix Suggestions

  • Commit Message Format: Please use Conventional Commits format, e.g. feat(auth): add login functionality

💡 Tip: If you need help, please check the Development Specification Document or contact team members.

⚠️ Note: Consecutive multiple check failures may result in this PR being automatically closed, please fix issues promptly.

@github-actions
Copy link

github-actions bot commented Dec 6, 2025

🚨 PR Auto-Close Notification

@chendelin1982 Hello,

This PR has failed checks 1 times consecutively and will be automatically closed according to project specifications.

📋 Failure Summary

Please review the check results above, fix all failed items, and create a new PR.

🔄 Next Steps

  1. Fix all check failure issues locally
  2. Ensure code meets project specifications
  3. Run local tests to ensure they pass
  4. Create a new PR

📚 Reference Resources


This PR will be automatically closed in 1 minute. If you have questions, please contact project maintainers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants