get by id
This commit is contained in:
		
							
								
								
									
										42
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								main.go
									
									
									
									
									
								
							@@ -132,6 +132,48 @@ func Get(username string) (*UserData, bool) {
 | 
			
		||||
	return u, ok
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetById(id int64) (*UserData, bool) {
 | 
			
		||||
	u := NewUser()
 | 
			
		||||
	q := fmt.Sprintf("select username, password, id from %s_users where id=?", c.TablePrefix)
 | 
			
		||||
	err := c.db.Get(u, q, id)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if err == sql.ErrNoRows {
 | 
			
		||||
			return nil, false
 | 
			
		||||
		}
 | 
			
		||||
		log.Printf("scsusers.Get: %s", err.Error())
 | 
			
		||||
		return nil, false
 | 
			
		||||
	}
 | 
			
		||||
	ok := u.LoadMeta()
 | 
			
		||||
	return u, ok
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetUsersByMeta(key string, value string) []string {
 | 
			
		||||
	var u []string
 | 
			
		||||
	var userids []int64
 | 
			
		||||
	q := fmt.Sprintf("select user from %s_meta where meta_key=? AND meta_value=?", c.TablePrefix)
 | 
			
		||||
	err := c.db.Select(&userids, q, key, value)
 | 
			
		||||
	if err != nil && err != sql.ErrNoRows {
 | 
			
		||||
		log.Printf("scsusers.getusersByMeta: %s", err)
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	if len(userids) == 0 {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	q = fmt.Sprintf("select username from %s_users where id IN (?)", c.TablePrefix)
 | 
			
		||||
	query, args, err := sqlx.In(q, userids)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("scsusers.getusersbymeta: %s", err.Error())
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	query = c.db.Rebind(query)
 | 
			
		||||
	err = c.db.Select(&u, query, args...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("scsusers.getusersbymeta: %s", err.Error())
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	return u
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetUserid(username string) int64 {
 | 
			
		||||
	var i int64
 | 
			
		||||
	username = strings.ToLower(username)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user