refactor(service): adopt feature-based architecture and rename pkg/diskcache

- Moved GORM/Redis CAPTCHA manager from internal/service/cap directly into the cohesive CAPTCHA app folder at internal/apps/cap/.
- Moved background system cleanup handler from internal/service/cleanup.go into internal/apps/upload/cleanup.go.
- Completely removed the global internal/service directory to keep module logic self-contained.
- Renamed the core utility engine pkg/diskcache to pkg/cache/disk to separate underlying utility code from db/config integrations.
- Renamed DiskCache struct in pkg/cache/disk to Cache to resolve revive package-name stuttering warning.
- Regenerated Swagger API documentation and confirmed all tests compile and pass with 0 linter issues.
This commit is contained in:
ryan
2026-06-15 16:45:26 +08:00
parent 953af7d8db
commit 239711cea7
17 changed files with 73 additions and 78 deletions
+7 -7
View File
@@ -55,7 +55,7 @@ const docTemplate = `{
"500": {
"description": "内部服务错误",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
}
}
@@ -89,19 +89,19 @@ const docTemplate = `{
"200": {
"description": "核销成功,返回 X-Cap-Token",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
},
"400": {
"description": "参数错误或核销失败",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
},
"500": {
"description": "内部服务错误",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
}
}
@@ -620,7 +620,7 @@ const docTemplate = `{
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_diskcache.Status"
"$ref": "#/definitions/diskcache.Status"
}
}
}
@@ -5648,7 +5648,7 @@ const docTemplate = `{
}
}
},
"github_com_Rain-kl_Wavelet_internal_diskcache.Status": {
"diskcache.Status": {
"type": "object",
"properties": {
"base_path": {
@@ -5671,7 +5671,7 @@ const docTemplate = `{
}
}
},
"github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse": {
"github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse": {
"type": "object",
"properties": {
"error": {
+7 -7
View File
@@ -48,7 +48,7 @@
"500": {
"description": "内部服务错误",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
}
}
@@ -82,19 +82,19 @@
"200": {
"description": "核销成功,返回 X-Cap-Token",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
},
"400": {
"description": "参数错误或核销失败",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
},
"500": {
"description": "内部服务错误",
"schema": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse"
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse"
}
}
}
@@ -613,7 +613,7 @@
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/github_com_Rain-kl_Wavelet_internal_diskcache.Status"
"$ref": "#/definitions/diskcache.Status"
}
}
}
@@ -5641,7 +5641,7 @@
}
}
},
"github_com_Rain-kl_Wavelet_internal_diskcache.Status": {
"diskcache.Status": {
"type": "object",
"properties": {
"base_path": {
@@ -5664,7 +5664,7 @@
}
}
},
"github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse": {
"github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse": {
"type": "object",
"properties": {
"error": {
+7 -7
View File
@@ -117,7 +117,7 @@ definitions:
description: '"select" 或 "exec"'
type: string
type: object
github_com_Rain-kl_Wavelet_internal_diskcache.Status:
diskcache.Status:
properties:
base_path:
type: string
@@ -132,7 +132,7 @@ definitions:
ttl_minutes:
type: integer
type: object
github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse:
github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse:
properties:
error:
type: string
@@ -1431,7 +1431,7 @@ paths:
"500":
description: 内部服务错误
schema:
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse'
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse'
summary: 生成人机验证难题
tags:
- cap
@@ -1453,15 +1453,15 @@ paths:
"200":
description: 核销成功,返回 X-Cap-Token
schema:
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse'
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse'
"400":
description: 参数错误或核销失败
schema:
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse'
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse'
"500":
description: 内部服务错误
schema:
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_service_cap.RedeemResponse'
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_apps_cap.RedeemResponse'
summary: 校验人机验证解答
tags:
- cap
@@ -1773,7 +1773,7 @@ paths:
- $ref: '#/definitions/response.Any'
- properties:
data:
$ref: '#/definitions/github_com_Rain-kl_Wavelet_internal_diskcache.Status'
$ref: '#/definitions/diskcache.Status'
type: object
"401":
description: 未登录