zitadel/internal/usergrant/model/user_grant_view.go
Fabi 710652ef24
feat: delete (#243)
* feat: project role remove

* feat: search queries

* feat: search queries

* feat: cascade remove/change project role

* fix: comment in project grant

* fix: remove projecr grant

* fix: only search usergrants of my org

* fix: delete usergrants

* fix: delete usergrants

* fix: check if role exists on project grant

* feat: bulk add project role

* fix: tests

* fix: update user grants on project update

* fix: return roles

* feat: add resourceowner name on project grants

* fix: migration number

* fix: tests

* fix: generate protos

* fix: some unnecessary code
2020-06-19 15:32:03 +02:00

72 lines
1.5 KiB
Go

package model
import (
"github.com/caos/zitadel/internal/model"
"time"
)
type UserGrantView struct {
ID string
ResourceOwner string
UserID string
ProjectID string
UserName string
FirstName string
LastName string
Email string
ProjectName string
OrgName string
OrgDomain string
RoleKeys []string
CreationDate time.Time
ChangeDate time.Time
State UserGrantState
Sequence uint64
}
type UserGrantSearchRequest struct {
Offset uint64
Limit uint64
SortingColumn UserGrantSearchKey
Asc bool
Queries []*UserGrantSearchQuery
}
type UserGrantSearchKey int32
const (
USERGRANTSEARCHKEY_UNSPECIFIED UserGrantSearchKey = iota
USERGRANTSEARCHKEY_USER_ID
USERGRANTSEARCHKEY_PROJECT_ID
USERGRANTSEARCHKEY_RESOURCEOWNER
USERGRANTSEARCHKEY_STATE
USERGRANTSEARCHKEY_GRANT_ID
USERGRANTSEARCHKEY_ORG_NAME
USERGRANTSEARCHKEY_ROLE_KEY
)
type UserGrantSearchQuery struct {
Key UserGrantSearchKey
Method model.SearchMethod
Value interface{}
}
type UserGrantSearchResponse struct {
Offset uint64
Limit uint64
TotalResult uint64
Result []*UserGrantView
}
func (r *UserGrantSearchRequest) EnsureLimit(limit uint64) {
if r.Limit == 0 || r.Limit > limit {
r.Limit = limit
}
}
func (r *UserGrantSearchRequest) AppendMyOrgQuery(orgID string) {
r.Queries = append(r.Queries, &UserGrantSearchQuery{Key: USERGRANTSEARCHKEY_RESOURCEOWNER, Method: model.SEARCHMETHOD_EQUALS, Value: orgID})
}