feature: add user project count to Admin component
This commit is contained in:
		@@ -158,6 +158,66 @@ func (q *Queries) GetAllProjectsForTeam(ctx context.Context, teamID uuid.UUID) (
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getMemberProjectIDsForUserID = `-- name: GetMemberProjectIDsForUserID :many
 | 
			
		||||
SELECT project_id FROM project_member WHERE user_id = $1
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
func (q *Queries) GetMemberProjectIDsForUserID(ctx context.Context, userID uuid.UUID) ([]uuid.UUID, error) {
 | 
			
		||||
	rows, err := q.db.QueryContext(ctx, getMemberProjectIDsForUserID, userID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
	var items []uuid.UUID
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var project_id uuid.UUID
 | 
			
		||||
		if err := rows.Scan(&project_id); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		items = append(items, project_id)
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Close(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getOwnedProjectsForUserID = `-- name: GetOwnedProjectsForUserID :many
 | 
			
		||||
SELECT project_id, team_id, created_at, name, owner FROM project WHERE owner = $1
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
func (q *Queries) GetOwnedProjectsForUserID(ctx context.Context, owner uuid.UUID) ([]Project, error) {
 | 
			
		||||
	rows, err := q.db.QueryContext(ctx, getOwnedProjectsForUserID, owner)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
	var items []Project
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var i Project
 | 
			
		||||
		if err := rows.Scan(
 | 
			
		||||
			&i.ProjectID,
 | 
			
		||||
			&i.TeamID,
 | 
			
		||||
			&i.CreatedAt,
 | 
			
		||||
			&i.Name,
 | 
			
		||||
			&i.Owner,
 | 
			
		||||
		); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		items = append(items, i)
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Close(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getOwnedTeamProjectsForUserID = `-- name: GetOwnedTeamProjectsForUserID :many
 | 
			
		||||
SELECT project_id FROM project WHERE owner = $1 AND team_id = $2
 | 
			
		||||
`
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,11 @@ type Querier interface {
 | 
			
		||||
	GetAssignedMembersForTask(ctx context.Context, taskID uuid.UUID) ([]TaskAssigned, error)
 | 
			
		||||
	GetLabelColorByID(ctx context.Context, labelColorID uuid.UUID) (LabelColor, error)
 | 
			
		||||
	GetLabelColors(ctx context.Context) ([]LabelColor, error)
 | 
			
		||||
	GetMemberProjectIDsForUserID(ctx context.Context, userID uuid.UUID) ([]uuid.UUID, error)
 | 
			
		||||
	GetMemberTeamIDsForUserID(ctx context.Context, userID uuid.UUID) ([]uuid.UUID, error)
 | 
			
		||||
	GetOwnedProjectsForUserID(ctx context.Context, owner uuid.UUID) ([]Project, error)
 | 
			
		||||
	GetOwnedTeamProjectsForUserID(ctx context.Context, arg GetOwnedTeamProjectsForUserIDParams) ([]uuid.UUID, error)
 | 
			
		||||
	GetOwnedTeamsForUserID(ctx context.Context, owner uuid.UUID) ([]Team, error)
 | 
			
		||||
	GetProjectByID(ctx context.Context, projectID uuid.UUID) (Project, error)
 | 
			
		||||
	GetProjectIDForTask(ctx context.Context, taskID uuid.UUID) (uuid.UUID, error)
 | 
			
		||||
	GetProjectLabelByID(ctx context.Context, projectLabelID uuid.UUID) (ProjectLabel, error)
 | 
			
		||||
 
 | 
			
		||||
@@ -39,3 +39,9 @@ UPDATE project_member SET role_code = $3 WHERE project_id = $1 AND user_id = $2
 | 
			
		||||
 | 
			
		||||
-- name: GetOwnedTeamProjectsForUserID :many
 | 
			
		||||
SELECT project_id FROM project WHERE owner = $1 AND team_id = $2;
 | 
			
		||||
 | 
			
		||||
-- name: GetOwnedProjectsForUserID :many
 | 
			
		||||
SELECT * FROM project WHERE owner = $1;
 | 
			
		||||
 | 
			
		||||
-- name: GetMemberProjectIDsForUserID :many
 | 
			
		||||
SELECT project_id FROM project_member WHERE user_id = $1;
 | 
			
		||||
 
 | 
			
		||||
@@ -15,3 +15,9 @@ SELECT * FROM team WHERE organization_id = $1;
 | 
			
		||||
 | 
			
		||||
-- name: SetTeamOwner :one
 | 
			
		||||
UPDATE team SET owner = $2 WHERE team_id = $1 RETURNING *;
 | 
			
		||||
 | 
			
		||||
-- name: GetOwnedTeamsForUserID :many
 | 
			
		||||
SELECT * FROM team WHERE owner = $1;
 | 
			
		||||
 | 
			
		||||
-- name: GetMemberTeamIDsForUserID :many
 | 
			
		||||
SELECT team_id FROM team_member WHERE user_id = $1;
 | 
			
		||||
 
 | 
			
		||||
@@ -81,6 +81,66 @@ func (q *Queries) GetAllTeams(ctx context.Context) ([]Team, error) {
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getMemberTeamIDsForUserID = `-- name: GetMemberTeamIDsForUserID :many
 | 
			
		||||
SELECT team_id FROM team_member WHERE user_id = $1
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
func (q *Queries) GetMemberTeamIDsForUserID(ctx context.Context, userID uuid.UUID) ([]uuid.UUID, error) {
 | 
			
		||||
	rows, err := q.db.QueryContext(ctx, getMemberTeamIDsForUserID, userID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
	var items []uuid.UUID
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var team_id uuid.UUID
 | 
			
		||||
		if err := rows.Scan(&team_id); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		items = append(items, team_id)
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Close(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getOwnedTeamsForUserID = `-- name: GetOwnedTeamsForUserID :many
 | 
			
		||||
SELECT team_id, created_at, name, organization_id, owner FROM team WHERE owner = $1
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
func (q *Queries) GetOwnedTeamsForUserID(ctx context.Context, owner uuid.UUID) ([]Team, error) {
 | 
			
		||||
	rows, err := q.db.QueryContext(ctx, getOwnedTeamsForUserID, owner)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	defer rows.Close()
 | 
			
		||||
	var items []Team
 | 
			
		||||
	for rows.Next() {
 | 
			
		||||
		var i Team
 | 
			
		||||
		if err := rows.Scan(
 | 
			
		||||
			&i.TeamID,
 | 
			
		||||
			&i.CreatedAt,
 | 
			
		||||
			&i.Name,
 | 
			
		||||
			&i.OrganizationID,
 | 
			
		||||
			&i.Owner,
 | 
			
		||||
		); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		items = append(items, i)
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Close(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if err := rows.Err(); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return items, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const getTeamByID = `-- name: GetTeamByID :one
 | 
			
		||||
SELECT team_id, created_at, name, organization_id, owner FROM team WHERE team_id = $1
 | 
			
		||||
`
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user