Feat: hash id decode and verification

This commit is contained in:
HFO4
2020-01-26 14:57:07 +08:00
parent 880d224169
commit 94b13393a9
7 changed files with 111 additions and 5 deletions

View File

@@ -19,10 +19,14 @@ type ShareCreateService struct {
Score int `json:"score" binding:"gte=0"`
}
// ShareGetService 获取分享服务
type ShareGetService struct {
Password string `form:"password" binding:"max=255"`
}
// Create 创建新分享
func (service *ShareCreateService) Create(c *gin.Context) serializer.Response {
userCtx, _ := c.Get("user")
user := userCtx.(*model.User)
user := currentUser(c)
// 是否拥有权限
if !user.Group.ShareEnabled {
@@ -80,3 +84,27 @@ func (service *ShareCreateService) Create(c *gin.Context) serializer.Response {
}
}
// Get 获取分享内容
func (service *ShareGetService) Get(c *gin.Context) serializer.Response {
user := currentUser(c)
share := model.GetShareByHashID(c.Param("id"))
if share == nil {
return serializer.Err(serializer.CodeNotFound, "分享不存在或已被取消", nil)
}
return serializer.Response{
Code: 0,
Data: user,
}
}
func currentUser(c *gin.Context) *model.User {
var user *model.User
if userCtx, ok := c.Get("user"); ok {
user = userCtx.(*model.User)
} else {
user = model.NewAnonymousUser()
}
return user
}