Get donor info through /users/self/donor_info
This commit is contained in:
		@@ -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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user