Get donor info through /users/self/donor_info
This commit is contained in:
parent
92be078783
commit
61527882d1
|
@ -95,6 +95,7 @@ func Start(conf common.Conf, dbO *sqlx.DB) *gin.Engine {
|
|||
// ReadConfidential privilege required
|
||||
gv1.GET("/friends", Method(v1.FriendsGET, common.PrivilegeReadConfidential))
|
||||
gv1.GET("/friends/with", Method(v1.FriendsWithGET, common.PrivilegeReadConfidential))
|
||||
gv1.GET("/users/self/donor_info", Method(v1.UsersSelfDonorInfoGET, common.PrivilegeReadConfidential))
|
||||
|
||||
// Write privilege required
|
||||
gv1.GET("/friends/add", Method(v1.FriendsAddGET, common.PrivilegeWrite))
|
||||
|
|
24
app/v1/self.go
Normal file
24
app/v1/self.go
Normal file
|
@ -0,0 +1,24 @@
|
|||
package v1
|
||||
|
||||
import "git.zxq.co/ripple/rippleapi/common"
|
||||
|
||||
type donorInfoResponse struct {
|
||||
common.ResponseBase
|
||||
HasDonor bool `json:"has_donor"`
|
||||
Expiration common.UnixTimestamp `json:"expiration"`
|
||||
}
|
||||
|
||||
// UsersSelfDonorInfoGET returns information about the users' donor status
|
||||
func UsersSelfDonorInfoGET(md common.MethodData) common.CodeMessager {
|
||||
var r donorInfoResponse
|
||||
var privileges uint64
|
||||
err := md.DB.QueryRow("SELECT privileges, donor_expire FROM users WHERE id = ?", md.ID()).
|
||||
Scan(&privileges, &r.Expiration)
|
||||
if err != nil {
|
||||
md.Err(err)
|
||||
return Err500
|
||||
}
|
||||
r.HasDonor = common.UserPrivileges(privileges)&common.UserPrivilegeDonor > 0
|
||||
r.Code = 200
|
||||
return r
|
||||
}
|
Loading…
Reference in New Issue
Block a user