Skip to content

Instantly share code, notes, and snippets.

@lechuhuuha
Last active August 7, 2023 08:15
Show Gist options
  • Save lechuhuuha/61d39bf5098c0b6e28c12e5881f5066f to your computer and use it in GitHub Desktop.
Save lechuhuuha/61d39bf5098c0b6e28c12e5881f5066f to your computer and use it in GitHub Desktop.
func (u *UserRepository) ListUserName(ctx context.Context, req *repositories.ListUserRequest) ([]*models.UserModel, error) {
	qb := squirrel.Select("username").From(u.tableName).PlaceholderFormat(PlaceHolder)

	if req.Owner != "" {
		if req.Owner != "root" {
			qb = qb.Where(squirrel.Eq{"owner": req.Owner})
		}
	}

	qb = qb.OrderBy("id DESC")
	query, args, err := qb.ToSql()
	log.Error().Msg("query : " + query + " req.Owner : " + req.Owner)
	if err != nil {
		return nil, fmt.Errorf("failed to build query: %w", err)
	}

	var users []*models.UserModel
	if err = getDBFromCtx(ctx, u.db).SelectContext(ctx, &users, query, args...); err != nil {
		return nil, fmt.Errorf("failed to get list user: %w", handleError(err))
	}

	return users, nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment