|
|
|
@@ -64,20 +64,21 @@ func setDataSetQueryCondition(Keyword string, userId int64) builder.Cond { |
|
|
|
query = query.And(builder.Or(builder.Like{"lower_alias", "%" + strings.ToLower(Keyword) + "%"}, builder.Like{"lower_name", "%" + strings.ToLower(Keyword) + "%"})) |
|
|
|
} |
|
|
|
query = query.And( |
|
|
|
builder.Eq{"owner_id": userId}, |
|
|
|
builder.Or( |
|
|
|
builder.In("id", builder.Select("`subject_access`.subject_id"). |
|
|
|
From("subject_access"). |
|
|
|
Where(builder.Eq{"`subject_access`.user_id": userId}. |
|
|
|
And(builder.Eq{"`subject_access`.subject_type": DatasetSubject}). |
|
|
|
And(builder.In("`subject_access`.mode", int(AccessModeRead), int(AccessModeWrite), int(AccessModeAdmin))))), |
|
|
|
builder.In("id", builder.Select("`team_subject`.subject_id"). |
|
|
|
From("team_subject"). |
|
|
|
Where(builder.Eq{"`team_user`.uid ": userId}. |
|
|
|
And(builder.Neq{"`team`.dataset_authorize": int(AccessModeOwner)})). |
|
|
|
Join("INNER", "team_user", "`team_user`.team_id = `team_subject`.team_id"). |
|
|
|
Join("INNER", "team", "`team`.id = `team_subject`.team_id")), |
|
|
|
), |
|
|
|
builder.Eq{"owner_id": userId}, |
|
|
|
builder.Or( |
|
|
|
builder.In("id", builder.Select("`subject_access`.subject_id"). |
|
|
|
From("subject_access"). |
|
|
|
Where(builder.Eq{"`subject_access`.user_id": userId}. |
|
|
|
And(builder.Eq{"`subject_access`.subject_type": DatasetSubject}). |
|
|
|
And(builder.In("`subject_access`.mode", int(AccessModeRead), int(AccessModeWrite), int(AccessModeAdmin))))), |
|
|
|
builder.In("id", builder.Select("`team_subject`.subject_id"). |
|
|
|
From("team_subject"). |
|
|
|
Where(builder.Eq{"`team_user`.uid ": userId}. |
|
|
|
And(builder.Neq{"`team`.dataset_authorize": int(AccessModeOwner)})). |
|
|
|
Join("INNER", "team_user", "`team_user`.team_id = `team_subject`.team_id"). |
|
|
|
Join("INNER", "team", "`team`.id = `team_subject`.team_id")), |
|
|
|
)), |
|
|
|
) |
|
|
|
query = query.And( |
|
|
|
builder.Eq{"is_private": true}, |
|
|
|
|