chore: implement cli list organization members (#13555)

example cli command: 
`coder organization members`
This commit is contained in:
Steven Masley
2024-06-12 10:07:12 -10:00
committed by GitHub
parent bbe23edc7d
commit d0fc81a51c
10 changed files with 317 additions and 45 deletions
+5 -5
View File
@@ -51,11 +51,11 @@ type Organization struct {
}
type OrganizationMember struct {
UserID uuid.UUID `db:"user_id" json:"user_id" format:"uuid"`
OrganizationID uuid.UUID `db:"organization_id" json:"organization_id" format:"uuid"`
CreatedAt time.Time `db:"created_at" json:"created_at" format:"date-time"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at" format:"date-time"`
Roles []SlimRole `db:"roles" json:"roles"`
UserID uuid.UUID `table:"user id" json:"user_id" format:"uuid"`
OrganizationID uuid.UUID `table:"organization id" json:"organization_id" format:"uuid"`
CreatedAt time.Time `table:"created at" json:"created_at" format:"date-time"`
UpdatedAt time.Time `table:"updated at" json:"updated_at" format:"date-time"`
Roles []SlimRole `table:"organization_roles" json:"roles"`
}
type OrganizationMemberWithName struct {
+16
View File
@@ -19,6 +19,22 @@ type SlimRole struct {
OrganizationID string `json:"organization_id,omitempty"`
}
func (s SlimRole) String() string {
if s.DisplayName != "" {
return s.DisplayName
}
return s.Name
}
// UniqueName concatenates the organization ID to create a globally unique
// string name for the role.
func (s SlimRole) UniqueName() string {
if s.OrganizationID != "" {
return s.Name + ":" + s.OrganizationID
}
return s.Name
}
type AssignableRoles struct {
Role `table:"r,recursive_inline"`
Assignable bool `json:"assignable" table:"assignable"`