2025-07-29 17:59:02 +02:00
|
|
|
package domain
|
|
|
|
|
|
|
|
import "context"
|
|
|
|
|
|
|
|
var _ Commander = (*AddOrgMemberCommand)(nil)
|
|
|
|
|
|
|
|
// AddOrgMemberCommand adds an existing user as an organization member.
|
|
|
|
type AddOrgMemberCommand struct {
|
|
|
|
InstanceID string `json:"instanceId"`
|
|
|
|
OrgID string `json:"orgId"`
|
|
|
|
UserID string `json:"userId"`
|
|
|
|
Roles []string `json:"roles"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// Execute implements [Commander].
|
|
|
|
func (a *AddOrgMemberCommand) Execute(ctx context.Context, opts *CommandOpts) (err error) {
|
|
|
|
panic("unimplemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// String implements [Commander].
|
|
|
|
func (a *AddOrgMemberCommand) String() string {
|
|
|
|
return "AddOrgMemberCommand"
|
|
|
|
}
|
|
|
|
|
|
|
|
var _ Commander = (*CreateOrgMemberCommand)(nil)
|
|
|
|
|
|
|
|
// CreateOrgMemberCommand creates a new user and adds them as an organization member.
|
|
|
|
type CreateOrgMemberCommand struct{}
|
|
|
|
|
|
|
|
// Execute implements [Commander].
|
|
|
|
func (c *CreateOrgMemberCommand) Execute(ctx context.Context, opts *CommandOpts) (err error) {
|
|
|
|
panic("unimplemented")
|
|
|
|
}
|
|
|
|
|
|
|
|
// String implements [Commander].
|
|
|
|
func (c *CreateOrgMemberCommand) String() string {
|
2025-07-29 18:10:35 +02:00
|
|
|
return "CreateOrgMemberCommand"
|
2025-07-29 17:59:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// MemberRepository is a sub repository of the org repository and maybe the instance repository.
|
|
|
|
type MemberRepository interface {
|
|
|
|
AddMember(ctx context.Context, orgID, userID string, roles []string) error
|
|
|
|
SetMemberRoles(ctx context.Context, orgID, userID string, roles []string) error
|
|
|
|
RemoveMember(ctx context.Context, orgID, userID string) error
|
|
|
|
}
|