Compare commits
	
		
			2 Commits
		
	
	
		
			19/post-al
			...
			c81a0d3294
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c81a0d3294 | |||
| dd942f12f7 | 
@@ -49,11 +49,8 @@ func (db *Db) GetUsers() ([]User, error) {
 | 
			
		||||
func (db *Db) GetUser(id int) (*UserWithAllowance, error) {
 | 
			
		||||
	user := &UserWithAllowance{}
 | 
			
		||||
 | 
			
		||||
	err := db.db.Query("select u.id, u.name, sum(h.amount) from users u join history h on h.user_id = u.id where u.id = ?").
 | 
			
		||||
	err := db.db.Query("select u.id, u.name, (select ifnull(sum(h.amount), 0) from history h where h.user_id = u.id) from users u where u.id = ?").
 | 
			
		||||
		Bind(id).ScanSingle(&user.ID, &user.Name, &user.Allowance)
 | 
			
		||||
	if errors.Is(err, mysqlite.ErrNoRows) {
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -62,15 +62,15 @@ func getUser(c *gin.Context) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	user, err := db.GetUser(userId)
 | 
			
		||||
	if errors.Is(err, mysqlite.ErrNoRows) {
 | 
			
		||||
		c.JSON(http.StatusNotFound, gin.H{"error": ErrUserNotFound})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Error getting user: %v", err)
 | 
			
		||||
		c.JSON(http.StatusInternalServerError, gin.H{"error": ErrInternalServerError})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if user == nil {
 | 
			
		||||
		c.JSON(http.StatusNotFound, gin.H{"error": ErrUserNotFound})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	c.IndentedJSON(http.StatusOK, user)
 | 
			
		||||
}
 | 
			
		||||
@@ -305,6 +305,17 @@ func postAllowance(c *gin.Context) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	exists, err := db.UserExists(userId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf(ErrCheckingUserExist, err)
 | 
			
		||||
		c.JSON(http.StatusInternalServerError, gin.H{"error": ErrInternalServerError})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !exists {
 | 
			
		||||
		c.JSON(http.StatusNotFound, gin.H{"error": ErrUserNotFound})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = db.AddAllowance(userId, &allowanceRequest)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Error updating allowance: %v", err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user