Feat: list/search/update/delete shares

This commit is contained in:
HFO4
2020-02-13 11:53:24 +08:00
parent bb63ea7142
commit cfbfbc3c55
9 changed files with 290 additions and 5 deletions

View File

@@ -33,6 +33,50 @@ func GetShare(c *gin.Context) {
}
}
// ListShare 列出分享
func ListShare(c *gin.Context) {
var service share.ShareListService
if err := c.ShouldBindQuery(&service); err == nil {
res := service.List(c, CurrentUser(c))
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}
// SearchShare 搜索分享
func SearchShare(c *gin.Context) {
var service share.ShareListService
if err := c.ShouldBindQuery(&service); err == nil {
res := service.Search(c)
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}
// UpdateShare 更新分享属性
func UpdateShare(c *gin.Context) {
var service share.ShareUpdateService
if err := c.ShouldBindJSON(&service); err == nil {
res := service.Update(c)
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}
// DeleteShare 删除分享
func DeleteShare(c *gin.Context) {
var service share.Service
if err := c.ShouldBindUri(&service); err == nil {
res := service.Delete(c, CurrentUser(c))
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}
// GetShareDownload 创建分享下载会话
func GetShareDownload(c *gin.Context) {
var service share.Service

View File

@@ -320,6 +320,10 @@ func InitMasterRouter() *gin.Engine {
{
// 创建新分享
share.POST("", controllers.CreateShare)
// 列出我的分享
share.GET("", controllers.ListShare)
// 搜索公共分享
share.GET("search", controllers.SearchShare)
// 转存他人分享
share.POST("save/:id",
middleware.ShareAvailable(),
@@ -327,6 +331,16 @@ func InitMasterRouter() *gin.Engine {
middleware.BeforeShareDownload(),
controllers.SaveShare,
)
// 更新分享属性
share.PATCH(":id",
middleware.ShareAvailable(),
middleware.ShareOwner(),
controllers.UpdateShare,
)
// 删除分享
share.DELETE(":id",
controllers.DeleteShare,
)
}
// 用户标签