Documentation
¶
Index ¶
- Constants
- Variables
- func NewService(orgRepo Repository, memberRepo MemberRepository, teamRepo TeamRepository, ...) *organization.Service
- func ResolveInvitationService(container forge.Container) (*organization.InvitationService, error)
- func ResolveMemberService(container forge.Container) (*organization.MemberService, error)
- func ResolveOrganizationService(container forge.Container) (*organization.Service, error)
- func ResolveTeamService(container forge.Container) (*organization.TeamService, error)
- type AcceptInvitationRequest
- type ActionDataDTO
- type BridgeAppInput
- type CancelInvitationInput
- type CancelInvitationResult
- type CompositeOrganizationService
- type Config
- type CreateOrganizationHandlerRequest
- type CreateOrganizationInput
- type CreateOrganizationRequest
- type CreateOrganizationResult
- type CreateRoleTemplateInput
- type CreateRoleTemplateResult
- type CreateTeamHandlerRequest
- type CreateTeamInput
- type CreateTeamRequest
- type CreateTeamResult
- type DashboardExtension
- func (e *DashboardExtension) AddCustomPermission(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) BridgeFunctions() []ui.BridgeFunction
- func (e *DashboardExtension) CancelInvitation(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) CreateOrganization(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) CreateRoleTemplate(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) CreateTeam(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) DashboardWidgets() []ui.DashboardWidget
- func (e *DashboardExtension) DeleteOrganization(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) DeleteRoleTemplate(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) DeleteTeam(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ExtensionID() string
- func (e *DashboardExtension) InviteMember(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) NavigationItems() []ui.NavigationItem
- func (e *DashboardExtension) RemoveMember(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) RenderDashboardWidget(basePath string, currentApp *app.App) g.Node
- func (e *DashboardExtension) RenderSettingsSection(basePath string, currentApp *app.App) g.Node
- func (e *DashboardExtension) Routes() []ui.Route
- func (e *DashboardExtension) SavePluginSettings(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeCreateOrganizationPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeCreateRoleTemplate(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeCreateTeamPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeEditRoleTemplate(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeEditTeamPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationDetailPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationInvitationsPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationMembersPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationRolesPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationSettings(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationTabContent(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationTeamsPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeOrganizationsListPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeRoleTemplatesSettings(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) ServeUpdateOrganizationPage(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) SettingsPages() []ui.SettingsPage
- func (e *DashboardExtension) SettingsSections() []ui.SettingsSection
- func (e *DashboardExtension) UpdateMemberRole(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) UpdateOrganization(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) UpdateRoleTemplate(ctx *router.PageContext) (g.Node, error)
- func (e *DashboardExtension) UpdateTeam(ctx *router.PageContext) (g.Node, error)
- type DeclineInvitationRequest
- type DeleteOrganizationInput
- type DeleteOrganizationRequest
- type DeleteOrganizationResult
- type DeleteRoleTemplateInput
- type DeleteRoleTemplateResult
- type DeleteTeamInput
- type DeleteTeamRequest
- type DeleteTeamResult
- type ErrorResponse
- type GetExtensionDataInput
- type GetExtensionDataResult
- type GetInvitationsInput
- type GetInvitationsResult
- type GetMembersInput
- type GetMembersResult
- type GetOrganizationBySlugRequest
- type GetOrganizationInput
- type GetOrganizationRequest
- type GetOrganizationResult
- type GetOrganizationsInput
- type GetOrganizationsResult
- type GetRoleTemplateInput
- type GetRoleTemplateResult
- type GetRoleTemplatesInput
- type GetRoleTemplatesResult
- type GetSettingsInput
- type GetSettingsResult
- type GetTeamsInput
- type GetTeamsResult
- type Invitation
- type InvitationDTO
- type InvitationOperations
- type InvitationRepository
- type InvitationResponse
- type InviteMemberHandlerRequest
- type InviteMemberInput
- type InviteMemberRequest
- type InviteMemberResult
- type ListInvitationsFilter
- type ListMembersFilter
- type ListMembersRequest
- type ListOrganizationsFilter
- type ListOrganizationsRequest
- type ListTeamMembersFilter
- type ListTeamsFilter
- type ListTeamsRequest
- type Member
- type MemberDTO
- type MemberOperations
- type MemberRepository
- type MembersListResponse
- type MembersResponse
- type MessageResponse
- type MockService
- func (m *MockService) AcceptInvitation(ctx context.Context, token string, userID xid.ID) (*organization.Member, error)
- func (m *MockService) AddMember(ctx context.Context, orgID, userID xid.ID, role string) (*organization.Member, error)
- func (m *MockService) AddTeamMember(ctx context.Context, teamID, memberID, adderUserID xid.ID) error
- func (m *MockService) CancelInvitation(ctx context.Context, id, cancellerUserID xid.ID) error
- func (m *MockService) CheckPermission(ctx context.Context, orgID, userID xid.ID, action, resource string) (bool, error)
- func (m *MockService) CheckPermissionWithContext(ctx context.Context, orgID, userID xid.ID, action, resource string, ...) (bool, error)
- func (m *MockService) CleanupExpiredInvitations(ctx context.Context) (int, error)
- func (m *MockService) CreateOrganization(ctx context.Context, req *organization.CreateOrganizationRequest, ...) (*organization.Organization, error)
- func (m *MockService) CreateTeam(ctx context.Context, orgID xid.ID, req *organization.CreateTeamRequest, ...) (*organization.Team, error)
- func (m *MockService) DeclineInvitation(ctx context.Context, token string) error
- func (m *MockService) DeleteOrganization(ctx context.Context, id, userID xid.ID) error
- func (m *MockService) DeleteTeam(ctx context.Context, id, deleterUserID xid.ID) error
- func (m *MockService) FindInvitationByID(ctx context.Context, id xid.ID) (*organization.Invitation, error)
- func (m *MockService) FindInvitationByToken(ctx context.Context, token string) (*organization.Invitation, error)
- func (m *MockService) FindMember(ctx context.Context, orgID, userID xid.ID) (*organization.Member, error)
- func (m *MockService) FindMemberByID(ctx context.Context, id xid.ID) (*organization.Member, error)
- func (m *MockService) FindOrganizationByID(ctx context.Context, id xid.ID) (*organization.Organization, error)
- func (m *MockService) FindOrganizationBySlug(ctx context.Context, appID, environmentID xid.ID, slug string) (*organization.Organization, error)
- func (m *MockService) FindTeamByID(ctx context.Context, id xid.ID) (*organization.Team, error)
- func (m *MockService) FindTeamByName(ctx context.Context, orgID xid.ID, name string) (*organization.Team, error)
- func (m *MockService) FindTeamMember(ctx context.Context, teamID, memberID xid.ID) (*organization.TeamMember, error)
- func (m *MockService) FindTeamMemberByID(ctx context.Context, id xid.ID) (*organization.TeamMember, error)
- func (m *MockService) ForceDeleteOrganization(ctx context.Context, id xid.ID) error
- func (m *MockService) GetUserMemberships(ctx context.Context, userID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Member], error)
- func (m *MockService) InviteMember(ctx context.Context, orgID xid.ID, req *organization.InviteMemberRequest, ...) (*organization.Invitation, error)
- func (m *MockService) IsAdmin(ctx context.Context, orgID, userID xid.ID) (bool, error)
- func (m *MockService) IsMember(ctx context.Context, orgID, userID xid.ID) (bool, error)
- func (m *MockService) IsOwner(ctx context.Context, orgID, userID xid.ID) (bool, error)
- func (m *MockService) IsTeamMember(ctx context.Context, teamID, memberID xid.ID) (bool, error)
- func (m *MockService) ListInvitations(ctx context.Context, filter *organization.ListInvitationsFilter) (*pagination.PageResponse[*organization.Invitation], error)
- func (m *MockService) ListMemberTeams(ctx context.Context, memberID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Team], error)
- func (m *MockService) ListMembers(ctx context.Context, filter *organization.ListMembersFilter) (*pagination.PageResponse[*organization.Member], error)
- func (m *MockService) ListOrganizations(ctx context.Context, filter *organization.ListOrganizationsFilter) (*pagination.PageResponse[*organization.Organization], error)
- func (m *MockService) ListTeamMembers(ctx context.Context, filter *organization.ListTeamMembersFilter) (*pagination.PageResponse[*organization.TeamMember], error)
- func (m *MockService) ListTeams(ctx context.Context, filter *organization.ListTeamsFilter) (*pagination.PageResponse[*organization.Team], error)
- func (m *MockService) ListUserOrganizations(ctx context.Context, userID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Organization], error)
- func (m *MockService) RemoveMember(ctx context.Context, id, removerUserID xid.ID) error
- func (m *MockService) RemoveTeamMember(ctx context.Context, teamID, memberID, removerUserID xid.ID) error
- func (m *MockService) RemoveUserFromAllOrganizations(ctx context.Context, userID xid.ID) error
- func (m *MockService) RequireAdmin(ctx context.Context, orgID, userID xid.ID) error
- func (m *MockService) RequireOwner(ctx context.Context, orgID, userID xid.ID) error
- func (m *MockService) RequirePermission(ctx context.Context, orgID, userID xid.ID, action, resource string) error
- func (m *MockService) ResendInvitation(ctx context.Context, id, resenderUserID xid.ID) (*organization.Invitation, error)
- func (m *MockService) UpdateMember(ctx context.Context, id xid.ID, req *organization.UpdateMemberRequest, ...) (*organization.Member, error)
- func (m *MockService) UpdateMemberRole(ctx context.Context, orgID, memberID xid.ID, newRole string, ...) (*organization.Member, error)
- func (m *MockService) UpdateOrganization(ctx context.Context, id xid.ID, req *organization.UpdateOrganizationRequest) (*organization.Organization, error)
- func (m *MockService) UpdateTeam(ctx context.Context, id xid.ID, req *organization.UpdateTeamRequest, ...) (*organization.Team, error)
- type OrgDetailStatsDTO
- type Organization
- type OrganizationDetailDTO
- type OrganizationHandler
- func (h *OrganizationHandler) AcceptInvitation(c forge.Context) error
- func (h *OrganizationHandler) CreateOrganization(c forge.Context) error
- func (h *OrganizationHandler) CreateTeam(c forge.Context) error
- func (h *OrganizationHandler) DeclineInvitation(c forge.Context) error
- func (h *OrganizationHandler) DeleteOrganization(c forge.Context) error
- func (h *OrganizationHandler) DeleteTeam(c forge.Context) error
- func (h *OrganizationHandler) GetOrganization(c forge.Context) error
- func (h *OrganizationHandler) GetOrganizationBySlug(c forge.Context) error
- func (h *OrganizationHandler) InviteMember(c forge.Context) error
- func (h *OrganizationHandler) ListMembers(c forge.Context) error
- func (h *OrganizationHandler) ListOrganizations(c forge.Context) error
- func (h *OrganizationHandler) ListTeams(c forge.Context) error
- func (h *OrganizationHandler) RemoveMember(c forge.Context) error
- func (h *OrganizationHandler) UpdateMember(c forge.Context) error
- func (h *OrganizationHandler) UpdateOrganization(c forge.Context) error
- func (h *OrganizationHandler) UpdateTeam(c forge.Context) error
- type OrganizationOperations
- type OrganizationSettingsDTO
- type OrganizationStatsDTO
- type OrganizationSummaryDTO
- type OrganizationUIRegistry
- func (r *OrganizationUIRegistry) GetActions(ctx ui.OrgExtensionContext) []ui.OrganizationAction
- func (r *OrganizationUIRegistry) GetQuickLinks(ctx ui.OrgExtensionContext) []ui.OrganizationQuickLink
- func (r *OrganizationUIRegistry) GetSettingsSections(ctx ui.OrgExtensionContext) []ui.OrganizationSettingsSection
- func (r *OrganizationUIRegistry) GetTabByPath(ctx ui.OrgExtensionContext, path string) *ui.OrganizationTab
- func (r *OrganizationUIRegistry) GetTabs(ctx ui.OrgExtensionContext) []ui.OrganizationTab
- func (r *OrganizationUIRegistry) GetWidgets(ctx ui.OrgExtensionContext) []ui.OrganizationWidget
- func (r *OrganizationUIRegistry) HasExtension(id string) bool
- func (r *OrganizationUIRegistry) ListExtensions() []string
- func (r *OrganizationUIRegistry) Register(ext ui.OrganizationUIExtension) error
- type OrganizationsListResponse
- type PaginationInfo
- type Plugin
- func (p *Plugin) DashboardExtension() ui.DashboardExtension
- func (p *Plugin) GetInvitationService() *organization.InvitationService
- func (p *Plugin) GetMemberService() *organization.MemberService
- func (p *Plugin) GetOrganizationService() *organization.Service
- func (p *Plugin) GetOrganizationUIRegistry() *OrganizationUIRegistry
- func (p *Plugin) GetServices() map[string]any
- func (p *Plugin) GetTeamService() *organization.TeamService
- func (p *Plugin) ID() string
- func (p *Plugin) Init(authInstance core.Authsome) error
- func (p *Plugin) Migrate() error
- func (p *Plugin) RegisterHooks(hookRegistry *hooks.HookRegistry) error
- func (p *Plugin) RegisterRoles(reg any) error
- func (p *Plugin) RegisterRoutes(router forge.Router) error
- func (p *Plugin) RegisterServiceDecorators(services *registry.ServiceRegistry) error
- func (p *Plugin) RegisterServices(container forge.Container) error
- func (p *Plugin) SendInvitationNotification(ctx context.Context, invitation *organization.Invitation, inviter *user.User, ...) error
- type PluginOption
- func WithAllowAppLevelRoles(allow bool) PluginOption
- func WithDefaultConfig(cfg Config) PluginOption
- func WithEnableUserCreation(enabled bool) PluginOption
- func WithEnforceUniqueSlug(enforce bool) PluginOption
- func WithInvitationExpiryHours(hours int) PluginOption
- func WithMaxMembersPerOrganization(max int) PluginOption
- func WithMaxOrganizationsPerUser(max int) PluginOption
- func WithMaxTeamsPerOrganization(max int) PluginOption
- func WithRequireInvitation(required bool) PluginOption
- type QuickLinkDataDTO
- type RemoveMemberInput
- type RemoveMemberRequest
- type RemoveMemberResult
- type Repository
- type RoleTemplateDTO
- type Service
- type StatusResponse
- type TabDataDTO
- type Team
- type TeamDTO
- type TeamMember
- type TeamOperations
- type TeamRepository
- type TeamsListResponse
- type TeamsResponse
- type UpdateMemberHandlerRequest
- type UpdateMemberRequest
- type UpdateMemberRoleInput
- type UpdateMemberRoleResult
- type UpdateOrganizationHandlerRequest
- type UpdateOrganizationInput
- type UpdateOrganizationRequest
- type UpdateOrganizationResult
- type UpdateRoleTemplateInput
- type UpdateRoleTemplateResult
- type UpdateSettingsInput
- type UpdateSettingsResult
- type UpdateTeamHandlerRequest
- type UpdateTeamInput
- type UpdateTeamRequest
- type UpdateTeamResult
- type UserInfo
- type WidgetDataDTO
Constants ¶
const ( RoleOwner = organization.RoleOwner RoleAdmin = organization.RoleAdmin RoleMember = organization.RoleMember )
Organization member roles.
const ( StatusActive = organization.StatusActive StatusSuspended = organization.StatusSuspended StatusPending = organization.StatusPending )
Organization member statuses.
const ( InvitationStatusPending = organization.InvitationStatusPending InvitationStatusAccepted = organization.InvitationStatusAccepted InvitationStatusExpired = organization.InvitationStatusExpired InvitationStatusCancelled = organization.InvitationStatusCancelled InvitationStatusDeclined = organization.InvitationStatusDeclined )
Organization invitation statuses.
const ( ServiceNamePlugin = "organization.plugin" ServiceNameService = "organization.service" ServiceNameMemberService = "organization.member_service" ServiceNameTeamService = "organization.team_service" ServiceNameInvitationService = "organization.invitation_service" )
Service name constants for DI container registration.
Variables ¶
var ( ErrOrganizationNotFound = organization.ErrOrganizationNotFound ErrMemberNotFound = organization.ErrMemberNotFound ErrTeamNotFound = organization.ErrTeamNotFound ErrInvalidRole = organization.ErrInvalidRole ErrInvalidStatus = organization.ErrInvalidStatus ErrOrganizationSlugExists = organization.ErrOrganizationSlugExists ErrMemberAlreadyExists = organization.ErrMemberAlreadyExists ErrNotOwner = organization.ErrNotOwner ErrNotAdmin = organization.ErrNotAdmin ErrCannotRemoveOwner = organization.ErrCannotRemoveOwner ErrMaxOrganizationsReached = organization.ErrMaxOrganizationsReached ErrPermissionDenied = organization.ErrPermissionDenied )
Errors for organization plugin operations.
var CannotRemoveOwner = organization.CannotRemoveOwner
CannotRemoveOwner returns an error indicating owner cannot be removed.
var DefaultConfig = organization.DefaultConfig
DefaultConfig returns the default organization configuration.
var FromSchemaInvitation = organization.FromSchemaInvitation
FromSchemaInvitation converts a schema invitation to domain invitation.
var FromSchemaInvitations = organization.FromSchemaInvitations
FromSchemaInvitations converts multiple schema invitations to domain invitations.
var FromSchemaMember = organization.FromSchemaMember
FromSchemaMember converts a schema member to domain member.
var FromSchemaMembers = organization.FromSchemaMembers
FromSchemaMembers converts multiple schema members to domain members.
var FromSchemaOrganization = organization.FromSchemaOrganization
FromSchemaOrganization converts a schema organization to domain organization.
var FromSchemaOrganizations = organization.FromSchemaOrganizations
FromSchemaOrganizations converts multiple schema organizations to domain organizations.
var FromSchemaTeam = organization.FromSchemaTeam
FromSchemaTeam converts a schema team to domain team.
var FromSchemaTeamMember = organization.FromSchemaTeamMember
FromSchemaTeamMember converts a schema team member to domain team member.
var FromSchemaTeamMembers = organization.FromSchemaTeamMembers
FromSchemaTeamMembers converts multiple schema team members to domain team members.
var FromSchemaTeams = organization.FromSchemaTeams
FromSchemaTeams converts multiple schema teams to domain teams.
var InvalidRole = organization.InvalidRole
InvalidRole returns an error indicating invalid role.
var InvalidStatus = organization.InvalidStatus
InvalidStatus returns an error indicating invalid status.
var InvitationExpired = organization.InvitationExpired
InvitationExpired returns an error indicating invitation has expired.
var InvitationInvalidStatus = organization.InvitationInvalidStatus
InvitationInvalidStatus returns an error indicating invalid invitation status.
var InvitationNotFound = organization.InvitationNotFound
InvitationNotFound returns an error indicating invitation was not found.
var InvitationNotPending = organization.InvitationNotPending
InvitationNotPending returns an error indicating invitation is not pending.
var IsValidInvitationStatus = organization.IsValidInvitationStatus
IsValidInvitationStatus checks if an invitation status is valid.
var IsValidRole = organization.IsValidRole
IsValidRole checks if a role is valid.
var IsValidStatus = organization.IsValidStatus
IsValidStatus checks if a status is valid.
var MaxMembersReached = organization.MaxMembersReached
MaxMembersReached returns an error indicating maximum members limit reached.
var MaxOrganizationsReached = organization.MaxOrganizationsReached
MaxOrganizationsReached returns an error indicating maximum organizations limit reached.
var MaxTeamsReached = organization.MaxTeamsReached
MaxTeamsReached returns an error indicating maximum teams limit reached.
var MemberAlreadyExists = organization.MemberAlreadyExists
MemberAlreadyExists returns an error indicating member already exists.
var MemberNotFound = organization.MemberNotFound
MemberNotFound returns an error indicating member was not found.
var NotAdmin = organization.NotAdmin
NotAdmin returns an error indicating user is not admin.
var NotOwner = organization.NotOwner
NotOwner returns an error indicating user is not owner.
var OrganizationAlreadyExists = organization.OrganizationAlreadyExists
OrganizationAlreadyExists returns an error indicating organization already exists.
var OrganizationCreationDisabled = organization.OrganizationCreationDisabled
OrganizationCreationDisabled returns an error indicating organization creation is disabled.
var OrganizationNotFound = organization.OrganizationNotFound
OrganizationNotFound returns an error indicating organization was not found.
var OrganizationSlugExists = organization.OrganizationSlugExists
OrganizationSlugExists returns an error indicating organization slug already exists.
var PermissionDenied = organization.PermissionDenied
PermissionDenied returns an error indicating permission denied.
var TeamAlreadyExists = organization.TeamAlreadyExists
TeamAlreadyExists returns an error indicating team already exists.
var TeamMemberNotFound = organization.TeamMemberNotFound
TeamMemberNotFound returns an error indicating team member was not found.
var TeamNotFound = organization.TeamNotFound
TeamNotFound returns an error indicating team was not found.
Unauthorized returns an unauthorized error.
UnauthorizedAction returns an error for unauthorized action.
var ValidInvitationStatuses = organization.ValidInvitationStatuses
ValidInvitationStatuses returns all valid invitation statuses.
var ValidRoles = organization.ValidRoles
ValidRoles returns all valid member roles.
var ValidStatuses = organization.ValidStatuses
ValidStatuses returns all valid member statuses.
Functions ¶
func NewService ¶
func NewService( orgRepo Repository, memberRepo MemberRepository, teamRepo TeamRepository, inviteRepo InvitationRepository, config Config, rbacSvc *rbac.Service, roleRepo rbac.RoleRepository, ) *organization.Service
NewService creates a new organization service.
func ResolveInvitationService ¶ added in v0.0.3
func ResolveInvitationService(container forge.Container) (*organization.InvitationService, error)
ResolveInvitationService resolves the invitation service from the container.
func ResolveMemberService ¶ added in v0.0.3
func ResolveMemberService(container forge.Container) (*organization.MemberService, error)
ResolveMemberService resolves the member service from the container.
func ResolveOrganizationService ¶ added in v0.0.3
func ResolveOrganizationService(container forge.Container) (*organization.Service, error)
ResolveOrganizationService resolves the organization service from the container.
func ResolveTeamService ¶ added in v0.0.3
func ResolveTeamService(container forge.Container) (*organization.TeamService, error)
ResolveTeamService resolves the team service from the container.
Types ¶
type AcceptInvitationRequest ¶ added in v0.0.7
type AcceptInvitationRequest struct {
Token string `json:"token" validate:"required"`
}
type ActionDataDTO ¶ added in v0.0.15
type ActionDataDTO struct {
ID string `json:"id"`
Label string `json:"label"`
Icon string `json:"icon"` // Icon name or HTML
Action string `json:"action"` // JavaScript action
Style string `json:"style"` // primary, secondary, danger
Order int `json:"order"`
RequireAdmin bool `json:"requireAdmin"`
}
ActionDataDTO contains action data for extension system.
type BridgeAppInput ¶ added in v0.0.15
type BridgeAppInput struct {
AppID string `json:"appId"`
}
BridgeAppInput input fields.
type CancelInvitationInput ¶ added in v0.0.15
type CancelInvitationInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
InviteID string `json:"inviteId"`
}
CancelInvitationInput is the input for bridgeCancelInvitation.
type CancelInvitationResult ¶ added in v0.0.15
type CancelInvitationResult struct {
Success bool `json:"success"`
}
CancelInvitationResult is the output for bridgeCancelInvitation.
type CompositeOrganizationService ¶ added in v0.0.3
type CompositeOrganizationService = organization.CompositeOrganizationService
CompositeOrganizationService is the full interface for the organization service.
type Config ¶
type Config = organization.Config
Config holds the organization service configuration.
type CreateOrganizationHandlerRequest ¶ added in v0.0.7
type CreateOrganizationHandlerRequest struct {
organization.CreateOrganizationRequest
}
CreateOrganizationHandlerRequest Handler-level request types with path parameters.
type CreateOrganizationInput ¶ added in v0.0.15
type CreateOrganizationInput struct {
AppID string `json:"appId"`
Name string `json:"name"`
Slug string `json:"slug,omitempty"`
Logo string `json:"logo,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
}
CreateOrganizationInput is the input for bridgeCreateOrganization.
type CreateOrganizationRequest ¶
type CreateOrganizationRequest = organization.CreateOrganizationRequest
CreateOrganizationRequest represents the request to create an organization.
type CreateOrganizationResult ¶ added in v0.0.15
type CreateOrganizationResult struct {
Organization OrganizationDetailDTO `json:"organization"`
}
CreateOrganizationResult is the output for bridgeCreateOrganization.
type CreateRoleTemplateInput ¶ added in v0.0.15
type CreateRoleTemplateInput struct {
AppID string `json:"appId"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Permissions []string `json:"permissions,omitempty"`
}
CreateRoleTemplateInput is the input for bridgeCreateRoleTemplate.
type CreateRoleTemplateResult ¶ added in v0.0.15
type CreateRoleTemplateResult struct {
Template RoleTemplateDTO `json:"template"`
}
CreateRoleTemplateResult is the output for bridgeCreateRoleTemplate.
type CreateTeamHandlerRequest ¶ added in v0.0.7
type CreateTeamHandlerRequest struct {
organization.CreateTeamRequest
ID string `path:"id" validate:"required"`
}
type CreateTeamInput ¶ added in v0.0.15
type CreateTeamInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
}
CreateTeamInput is the input for bridgeCreateTeam.
type CreateTeamRequest ¶
type CreateTeamRequest = organization.CreateTeamRequest
CreateTeamRequest represents the request to create a team.
type CreateTeamResult ¶ added in v0.0.15
type CreateTeamResult struct {
Team TeamDTO `json:"team"`
}
CreateTeamResult is the output for bridgeCreateTeam.
type DashboardExtension ¶
type DashboardExtension struct {
// contains filtered or unexported fields
}
DashboardExtension implements the ui.DashboardExtension interface DashboardExtension allows the organization plugin to add its own screens to the dashboard.
func NewDashboardExtension ¶
func NewDashboardExtension(plugin *Plugin) *DashboardExtension
NewDashboardExtension creates a new dashboard extension for organization.
func (*DashboardExtension) AddCustomPermission ¶
func (e *DashboardExtension) AddCustomPermission(ctx *router.PageContext) (g.Node, error)
AddCustomPermission handles creating custom permissions inline.
func (*DashboardExtension) BridgeFunctions ¶ added in v0.0.15
func (e *DashboardExtension) BridgeFunctions() []ui.BridgeFunction
BridgeFunctions returns bridge functions for the organization plugin Note: The extension registry will prefix these with "organization." to create BridgeFunctions the full function name (e.g., "organization.getOrganizations").
func (*DashboardExtension) CancelInvitation ¶
func (e *DashboardExtension) CancelInvitation(ctx *router.PageContext) (g.Node, error)
CancelInvitation handles invitation cancellation.
func (*DashboardExtension) CreateOrganization ¶
func (e *DashboardExtension) CreateOrganization(ctx *router.PageContext) (g.Node, error)
CreateOrganization handles organization creation.
func (*DashboardExtension) CreateRoleTemplate ¶
func (e *DashboardExtension) CreateRoleTemplate(ctx *router.PageContext) (g.Node, error)
CreateRoleTemplate handles role template creation.
func (*DashboardExtension) CreateTeam ¶
func (e *DashboardExtension) CreateTeam(ctx *router.PageContext) (g.Node, error)
CreateTeam handles team creation.
func (*DashboardExtension) DashboardWidgets ¶
func (e *DashboardExtension) DashboardWidgets() []ui.DashboardWidget
DashboardWidgets returns widgets to show on the main dashboard.
func (*DashboardExtension) DeleteOrganization ¶
func (e *DashboardExtension) DeleteOrganization(ctx *router.PageContext) (g.Node, error)
DeleteOrganization handles organization deletion.
func (*DashboardExtension) DeleteRoleTemplate ¶
func (e *DashboardExtension) DeleteRoleTemplate(ctx *router.PageContext) (g.Node, error)
DeleteRoleTemplate handles role template deletion.
func (*DashboardExtension) DeleteTeam ¶
func (e *DashboardExtension) DeleteTeam(ctx *router.PageContext) (g.Node, error)
DeleteTeam handles team deletion.
func (*DashboardExtension) ExtensionID ¶
func (e *DashboardExtension) ExtensionID() string
ExtensionID returns the unique identifier for this extension.
func (*DashboardExtension) InviteMember ¶
func (e *DashboardExtension) InviteMember(ctx *router.PageContext) (g.Node, error)
InviteMember handles member invitation.
func (*DashboardExtension) NavigationItems ¶
func (e *DashboardExtension) NavigationItems() []ui.NavigationItem
NavigationItems returns navigation items to register.
func (*DashboardExtension) RemoveMember ¶
func (e *DashboardExtension) RemoveMember(ctx *router.PageContext) (g.Node, error)
RemoveMember handles member removal.
func (*DashboardExtension) RenderDashboardWidget ¶
RenderDashboardWidget widget rendering.
func (*DashboardExtension) RenderSettingsSection ¶
RenderSettingsSection rendering.
func (*DashboardExtension) Routes ¶
func (e *DashboardExtension) Routes() []ui.Route
Routes returns routes to register under /app/:appId/.
func (*DashboardExtension) SavePluginSettings ¶
func (e *DashboardExtension) SavePluginSettings(ctx *router.PageContext) (g.Node, error)
SavePluginSettings handles plugin settings updates.
func (*DashboardExtension) ServeCreateOrganizationPage ¶
func (e *DashboardExtension) ServeCreateOrganizationPage(ctx *router.PageContext) (g.Node, error)
ServeCreateOrganizationPage renders the create organization page.
func (*DashboardExtension) ServeCreateRoleTemplate ¶
func (e *DashboardExtension) ServeCreateRoleTemplate(ctx *router.PageContext) (g.Node, error)
ServeCreateRoleTemplate renders the create role template form.
func (*DashboardExtension) ServeCreateTeamPage ¶ added in v0.0.15
func (e *DashboardExtension) ServeCreateTeamPage(ctx *router.PageContext) (g.Node, error)
ServeCreateTeamPage renders the create team form page.
func (*DashboardExtension) ServeEditRoleTemplate ¶
func (e *DashboardExtension) ServeEditRoleTemplate(ctx *router.PageContext) (g.Node, error)
ServeEditRoleTemplate renders the edit role template form.
func (*DashboardExtension) ServeEditTeamPage ¶ added in v0.0.15
func (e *DashboardExtension) ServeEditTeamPage(ctx *router.PageContext) (g.Node, error)
ServeEditTeamPage renders the edit team form page.
func (*DashboardExtension) ServeOrganizationDetailPage ¶
func (e *DashboardExtension) ServeOrganizationDetailPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationDetailPage renders the organization detail page.
func (*DashboardExtension) ServeOrganizationInvitationsPage ¶
func (e *DashboardExtension) ServeOrganizationInvitationsPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationInvitationsPage renders the invitations page.
func (*DashboardExtension) ServeOrganizationMembersPage ¶
func (e *DashboardExtension) ServeOrganizationMembersPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationMembersPage renders the members management page.
func (*DashboardExtension) ServeOrganizationRolesPage ¶ added in v0.0.3
func (e *DashboardExtension) ServeOrganizationRolesPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationRolesPage renders the roles page.
func (*DashboardExtension) ServeOrganizationSettings ¶
func (e *DashboardExtension) ServeOrganizationSettings(ctx *router.PageContext) (g.Node, error)
ServeOrganizationSettings renders the organization settings page.
func (*DashboardExtension) ServeOrganizationTabContent ¶ added in v0.0.5
func (e *DashboardExtension) ServeOrganizationTabContent(ctx *router.PageContext) (g.Node, error)
ServeOrganizationTabContent renders extension tab content.
func (*DashboardExtension) ServeOrganizationTeamsPage ¶
func (e *DashboardExtension) ServeOrganizationTeamsPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationTeamsPage renders the teams management page.
func (*DashboardExtension) ServeOrganizationsListPage ¶
func (e *DashboardExtension) ServeOrganizationsListPage(ctx *router.PageContext) (g.Node, error)
ServeOrganizationsListPage renders the organizations list page.
func (*DashboardExtension) ServeRoleTemplatesSettings ¶
func (e *DashboardExtension) ServeRoleTemplatesSettings(ctx *router.PageContext) (g.Node, error)
ServeRoleTemplatesSettings renders the role templates settings page This is an app-level settings page, not an organization-specific page ServeRoleTemplatesSettings Note: RequireAuth and RequireAdmin in route config handle authentication/authorization.
func (*DashboardExtension) ServeUpdateOrganizationPage ¶ added in v0.0.15
func (e *DashboardExtension) ServeUpdateOrganizationPage(ctx *router.PageContext) (g.Node, error)
ServeUpdateOrganizationPage renders the update organization form page.
func (*DashboardExtension) SettingsPages ¶
func (e *DashboardExtension) SettingsPages() []ui.SettingsPage
SettingsPages returns full settings pages for the new sidebar layout.
func (*DashboardExtension) SettingsSections ¶
func (e *DashboardExtension) SettingsSections() []ui.SettingsSection
SettingsSections returns settings sections to add to the settings page SettingsSections Deprecated: Use SettingsPages() instead.
func (*DashboardExtension) UpdateMemberRole ¶
func (e *DashboardExtension) UpdateMemberRole(ctx *router.PageContext) (g.Node, error)
UpdateMemberRole handles member role updates.
func (*DashboardExtension) UpdateOrganization ¶
func (e *DashboardExtension) UpdateOrganization(ctx *router.PageContext) (g.Node, error)
UpdateOrganization handles organization updates.
func (*DashboardExtension) UpdateRoleTemplate ¶
func (e *DashboardExtension) UpdateRoleTemplate(ctx *router.PageContext) (g.Node, error)
UpdateRoleTemplate handles role template updates.
func (*DashboardExtension) UpdateTeam ¶
func (e *DashboardExtension) UpdateTeam(ctx *router.PageContext) (g.Node, error)
UpdateTeam handles team updates.
type DeclineInvitationRequest ¶ added in v0.0.7
type DeclineInvitationRequest struct {
Token string `json:"token" validate:"required"`
}
type DeleteOrganizationInput ¶ added in v0.0.15
DeleteOrganizationInput is the input for bridgeDeleteOrganization.
type DeleteOrganizationRequest ¶ added in v0.0.7
type DeleteOrganizationRequest struct {
ID string `path:"id" validate:"required"`
}
type DeleteOrganizationResult ¶ added in v0.0.15
type DeleteOrganizationResult struct {
Success bool `json:"success"`
}
DeleteOrganizationResult is the output for bridgeDeleteOrganization.
type DeleteRoleTemplateInput ¶ added in v0.0.15
type DeleteRoleTemplateInput struct {
AppID string `json:"appId"`
TemplateID string `json:"templateId"`
}
DeleteRoleTemplateInput is the input for bridgeDeleteRoleTemplate.
type DeleteRoleTemplateResult ¶ added in v0.0.15
type DeleteRoleTemplateResult struct {
Success bool `json:"success"`
}
DeleteRoleTemplateResult is the output for bridgeDeleteRoleTemplate.
type DeleteTeamInput ¶ added in v0.0.15
type DeleteTeamInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
TeamID string `json:"teamId"`
}
DeleteTeamInput is the input for bridgeDeleteTeam.
type DeleteTeamRequest ¶ added in v0.0.7
type DeleteTeamResult ¶ added in v0.0.15
type DeleteTeamResult struct {
Success bool `json:"success"`
}
DeleteTeamResult is the output for bridgeDeleteTeam.
type ErrorResponse ¶
type ErrorResponse = responses.ErrorResponse
ErrorResponse for organization routes - use shared responses from core.
type GetExtensionDataInput ¶ added in v0.0.15
GetExtensionDataInput is the input for bridgeGetExtensionData.
type GetExtensionDataResult ¶ added in v0.0.15
type GetExtensionDataResult struct {
Widgets []WidgetDataDTO `json:"widgets"`
Tabs []TabDataDTO `json:"tabs"`
Actions []ActionDataDTO `json:"actions"`
QuickLinks []QuickLinkDataDTO `json:"quickLinks"`
}
GetExtensionDataResult is the output for bridgeGetExtensionData.
type GetInvitationsInput ¶ added in v0.0.15
type GetInvitationsInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Status string `json:"status,omitempty"` // pending, accepted, declined, expired, all
Page int `json:"page,omitempty"`
Limit int `json:"limit,omitempty"`
}
GetInvitationsInput is the input for bridgeGetInvitations.
type GetInvitationsResult ¶ added in v0.0.15
type GetInvitationsResult struct {
Data []InvitationDTO `json:"data"`
Pagination PaginationInfo `json:"pagination"`
}
GetInvitationsResult is the output for bridgeGetInvitations.
type GetMembersInput ¶ added in v0.0.15
type GetMembersInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Search string `json:"search,omitempty"`
Page int `json:"page,omitempty"`
Limit int `json:"limit,omitempty"`
}
GetMembersInput is the input for bridgeGetMembers.
type GetMembersResult ¶ added in v0.0.15
type GetMembersResult struct {
Data []MemberDTO `json:"data"`
Pagination PaginationInfo `json:"pagination"`
CanManage bool `json:"canManage"`
}
GetMembersResult is the output for bridgeGetMembers.
type GetOrganizationBySlugRequest ¶ added in v0.0.7
type GetOrganizationBySlugRequest struct {
Slug string `path:"slug" validate:"required"`
}
type GetOrganizationInput ¶ added in v0.0.15
GetOrganizationInput is the input for bridgeGetOrganization.
type GetOrganizationRequest ¶ added in v0.0.7
type GetOrganizationRequest struct {
ID string `path:"id" validate:"required"`
}
type GetOrganizationResult ¶ added in v0.0.15
type GetOrganizationResult struct {
Organization OrganizationDetailDTO `json:"organization"`
UserRole string `json:"userRole"`
Stats OrgDetailStatsDTO `json:"stats"`
}
GetOrganizationResult is the output for bridgeGetOrganization.
type GetOrganizationsInput ¶ added in v0.0.15
type GetOrganizationsInput struct {
AppID string `json:"appId"`
Search string `json:"search,omitempty"`
Page int `json:"page,omitempty"`
Limit int `json:"limit,omitempty"`
}
GetOrganizationsInput is the input for bridgeGetOrganizations.
type GetOrganizationsResult ¶ added in v0.0.15
type GetOrganizationsResult struct {
Data []OrganizationSummaryDTO `json:"data"`
Pagination PaginationInfo `json:"pagination"`
Stats OrganizationStatsDTO `json:"stats"`
}
GetOrganizationsResult is the output for bridgeGetOrganizations.
type GetRoleTemplateInput ¶ added in v0.0.15
type GetRoleTemplateInput struct {
AppID string `json:"appId"`
TemplateID string `json:"templateId"`
}
GetRoleTemplateInput is the input for bridgeGetRoleTemplate.
type GetRoleTemplateResult ¶ added in v0.0.15
type GetRoleTemplateResult struct {
Template RoleTemplateDTO `json:"template"`
}
GetRoleTemplateResult is the output for bridgeGetRoleTemplate.
type GetRoleTemplatesInput ¶ added in v0.0.15
type GetRoleTemplatesInput struct {
AppID string `json:"appId"`
}
GetRoleTemplatesInput is the input for bridgeGetRoleTemplates.
type GetRoleTemplatesResult ¶ added in v0.0.15
type GetRoleTemplatesResult struct {
Templates []RoleTemplateDTO `json:"templates"`
}
GetRoleTemplatesResult is the output for bridgeGetRoleTemplates.
type GetSettingsInput ¶ added in v0.0.15
type GetSettingsInput struct {
AppID string `json:"appId"`
}
GetSettingsInput is the input for bridgeGetSettings.
type GetSettingsResult ¶ added in v0.0.15
type GetSettingsResult struct {
Settings OrganizationSettingsDTO `json:"settings"`
}
GetSettingsResult is the output for bridgeGetSettings.
type GetTeamsInput ¶ added in v0.0.15
type GetTeamsInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Search string `json:"search,omitempty"`
Page int `json:"page,omitempty"`
Limit int `json:"limit,omitempty"`
}
GetTeamsInput is the input for bridgeGetTeams.
type GetTeamsResult ¶ added in v0.0.15
type GetTeamsResult struct {
Data []TeamDTO `json:"data"`
Pagination PaginationInfo `json:"pagination"`
CanManage bool `json:"canManage"`
}
GetTeamsResult is the output for bridgeGetTeams.
type Invitation ¶ added in v0.0.3
type Invitation = organization.Invitation
Invitation represents an invitation to join an organization.
type InvitationDTO ¶ added in v0.0.15
type InvitationDTO struct {
ID string `json:"id"`
Email string `json:"email"`
Role string `json:"role"`
Status string `json:"status"`
InvitedBy string `json:"invitedBy"`
InviterName string `json:"inviterName"`
ExpiresAt time.Time `json:"expiresAt"`
CreatedAt time.Time `json:"createdAt"`
}
InvitationDTO is a DTO for organization invitation.
type InvitationOperations ¶ added in v0.0.3
type InvitationOperations = organization.InvitationOperations
InvitationOperations defines operations for managing invitations.
type InvitationRepository ¶
type InvitationRepository = organization.InvitationRepository
InvitationRepository type alias.
type InvitationResponse ¶
type InvitationResponse struct {
Invitation *organization.Invitation `json:"invitation"`
Message string `json:"message,omitempty"`
}
type InviteMemberHandlerRequest ¶ added in v0.0.7
type InviteMemberHandlerRequest struct {
organization.InviteMemberRequest
ID string `path:"id" validate:"required"`
}
type InviteMemberInput ¶ added in v0.0.15
type InviteMemberInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Email string `json:"email"`
Role string `json:"role"`
}
InviteMemberInput is the input for bridgeInviteMember.
type InviteMemberRequest ¶
type InviteMemberRequest = organization.InviteMemberRequest
InviteMemberRequest represents the request to invite a member.
type InviteMemberResult ¶ added in v0.0.15
type InviteMemberResult struct {
Invitation InvitationDTO `json:"invitation"`
}
InviteMemberResult is the output for bridgeInviteMember.
type ListInvitationsFilter ¶ added in v0.0.3
type ListInvitationsFilter = organization.ListInvitationsFilter
ListInvitationsFilter represents filters for listing invitations.
type ListMembersFilter ¶ added in v0.0.3
type ListMembersFilter = organization.ListMembersFilter
ListMembersFilter represents filters for listing members.
type ListMembersRequest ¶ added in v0.0.7
type ListOrganizationsFilter ¶ added in v0.0.3
type ListOrganizationsFilter = organization.ListOrganizationsFilter
ListOrganizationsFilter represents filters for listing organizations.
type ListOrganizationsRequest ¶ added in v0.0.7
type ListTeamMembersFilter ¶ added in v0.0.3
type ListTeamMembersFilter = organization.ListTeamMembersFilter
ListTeamMembersFilter represents filters for listing team members.
type ListTeamsFilter ¶ added in v0.0.3
type ListTeamsFilter = organization.ListTeamsFilter
ListTeamsFilter represents filters for listing teams.
type ListTeamsRequest ¶ added in v0.0.7
type Member ¶ added in v0.0.3
type Member = organization.Member
Member represents a user's membership in an organization.
type MemberDTO ¶ added in v0.0.15
type MemberDTO struct {
ID string `json:"id"`
UserID string `json:"userId"`
UserEmail string `json:"userEmail"`
UserName string `json:"userName"`
Role string `json:"role"`
Status string `json:"status"`
JoinedAt time.Time `json:"joinedAt"`
}
MemberDTO is a DTO for organization member.
type MemberOperations ¶ added in v0.0.3
type MemberOperations = organization.MemberOperations
MemberOperations defines operations for managing organization members.
type MemberRepository ¶
type MemberRepository = organization.MemberRepository
MemberRepository type alias.
type MembersListResponse ¶
type MembersListResponse []schema.OrganizationMember
MembersListResponse represents a list of members.
type MembersResponse ¶
type MembersResponse struct {
Members []*organization.Member `json:"members"`
Total int `json:"total,omitempty"`
}
type MessageResponse ¶
type MessageResponse = responses.MessageResponse
Response types MessageResponse shared response type.
type MockService ¶
type MockService struct {
// Error injection for testing
CreateOrgError error
FindOrgError error
AddMemberError error
InviteMemberError error
AcceptInvitationError error
// contains filtered or unexported fields
}
MockService provides a mock implementation of organization.Service for testing.
func NewMockService ¶
func NewMockService() *MockService
NewMockService creates a new mock organization service.
func (*MockService) AcceptInvitation ¶
func (m *MockService) AcceptInvitation(ctx context.Context, token string, userID xid.ID) (*organization.Member, error)
func (*MockService) AddMember ¶
func (m *MockService) AddMember(ctx context.Context, orgID, userID xid.ID, role string) (*organization.Member, error)
AddMember mocks adding a member.
func (*MockService) AddTeamMember ¶
func (*MockService) CancelInvitation ¶
func (*MockService) CheckPermission ¶ added in v0.0.3
func (m *MockService) CheckPermission(ctx context.Context, orgID, userID xid.ID, action, resource string) (bool, error)
CheckPermission Permission methods.
func (*MockService) CheckPermissionWithContext ¶ added in v0.0.3
func (*MockService) CleanupExpiredInvitations ¶
func (m *MockService) CleanupExpiredInvitations(ctx context.Context) (int, error)
func (*MockService) CreateOrganization ¶
func (m *MockService) CreateOrganization(ctx context.Context, req *organization.CreateOrganizationRequest, creatorUserID, appID, environmentID xid.ID) (*organization.Organization, error)
CreateOrganization mocks creating an organization.
func (*MockService) CreateTeam ¶
func (m *MockService) CreateTeam(ctx context.Context, orgID xid.ID, req *organization.CreateTeamRequest, creatorUserID xid.ID) (*organization.Team, error)
func (*MockService) DeclineInvitation ¶
func (m *MockService) DeclineInvitation(ctx context.Context, token string) error
func (*MockService) DeleteOrganization ¶
DeleteOrganization mocks deleting an organization.
func (*MockService) DeleteTeam ¶
func (*MockService) FindInvitationByID ¶
func (m *MockService) FindInvitationByID(ctx context.Context, id xid.ID) (*organization.Invitation, error)
func (*MockService) FindInvitationByToken ¶
func (m *MockService) FindInvitationByToken(ctx context.Context, token string) (*organization.Invitation, error)
func (*MockService) FindMember ¶
func (m *MockService) FindMember(ctx context.Context, orgID, userID xid.ID) (*organization.Member, error)
FindMember mocks finding a member by org and user ID.
func (*MockService) FindMemberByID ¶
func (m *MockService) FindMemberByID(ctx context.Context, id xid.ID) (*organization.Member, error)
FindMemberByID mocks finding a member by ID.
func (*MockService) FindOrganizationByID ¶
func (m *MockService) FindOrganizationByID(ctx context.Context, id xid.ID) (*organization.Organization, error)
FindOrganizationByID mocks finding an organization by ID.
func (*MockService) FindOrganizationBySlug ¶
func (m *MockService) FindOrganizationBySlug(ctx context.Context, appID, environmentID xid.ID, slug string) (*organization.Organization, error)
FindOrganizationBySlug mocks finding an organization by slug.
func (*MockService) FindTeamByID ¶
func (m *MockService) FindTeamByID(ctx context.Context, id xid.ID) (*organization.Team, error)
func (*MockService) FindTeamByName ¶
func (m *MockService) FindTeamByName(ctx context.Context, orgID xid.ID, name string) (*organization.Team, error)
func (*MockService) FindTeamMember ¶ added in v0.0.3
func (m *MockService) FindTeamMember(ctx context.Context, teamID, memberID xid.ID) (*organization.TeamMember, error)
func (*MockService) FindTeamMemberByID ¶ added in v0.0.3
func (m *MockService) FindTeamMemberByID(ctx context.Context, id xid.ID) (*organization.TeamMember, error)
func (*MockService) ForceDeleteOrganization ¶ added in v0.0.5
ForceDeleteOrganization mocks force deleting an organization without permission checks.
func (*MockService) GetUserMemberships ¶
func (m *MockService) GetUserMemberships(ctx context.Context, userID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Member], error)
GetUserMemberships mocks getting user memberships.
func (*MockService) InviteMember ¶
func (m *MockService) InviteMember(ctx context.Context, orgID xid.ID, req *organization.InviteMemberRequest, inviterUserID xid.ID) (*organization.Invitation, error)
func (*MockService) IsTeamMember ¶
func (*MockService) ListInvitations ¶
func (m *MockService) ListInvitations(ctx context.Context, filter *organization.ListInvitationsFilter) (*pagination.PageResponse[*organization.Invitation], error)
func (*MockService) ListMemberTeams ¶ added in v0.0.3
func (m *MockService) ListMemberTeams(ctx context.Context, memberID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Team], error)
func (*MockService) ListMembers ¶
func (m *MockService) ListMembers(ctx context.Context, filter *organization.ListMembersFilter) (*pagination.PageResponse[*organization.Member], error)
ListMembers mocks listing members.
func (*MockService) ListOrganizations ¶
func (m *MockService) ListOrganizations(ctx context.Context, filter *organization.ListOrganizationsFilter) (*pagination.PageResponse[*organization.Organization], error)
ListOrganizations mocks listing organizations.
func (*MockService) ListTeamMembers ¶
func (m *MockService) ListTeamMembers(ctx context.Context, filter *organization.ListTeamMembersFilter) (*pagination.PageResponse[*organization.TeamMember], error)
func (*MockService) ListTeams ¶
func (m *MockService) ListTeams(ctx context.Context, filter *organization.ListTeamsFilter) (*pagination.PageResponse[*organization.Team], error)
func (*MockService) ListUserOrganizations ¶
func (m *MockService) ListUserOrganizations(ctx context.Context, userID xid.ID, filter *pagination.PaginationParams) (*pagination.PageResponse[*organization.Organization], error)
ListUserOrganizations mocks listing user organizations.
func (*MockService) RemoveMember ¶
RemoveMember mocks removing a member.
func (*MockService) RemoveTeamMember ¶
func (*MockService) RemoveUserFromAllOrganizations ¶
RemoveUserFromAllOrganizations mocks removing user from all orgs.
func (*MockService) RequireAdmin ¶
RequireAdmin mocks requiring admin status.
func (*MockService) RequireOwner ¶
RequireOwner mocks requiring owner status.
func (*MockService) RequirePermission ¶ added in v0.0.3
func (*MockService) ResendInvitation ¶
func (m *MockService) ResendInvitation(ctx context.Context, id, resenderUserID xid.ID) (*organization.Invitation, error)
func (*MockService) UpdateMember ¶
func (m *MockService) UpdateMember(ctx context.Context, id xid.ID, req *organization.UpdateMemberRequest, updaterUserID xid.ID) (*organization.Member, error)
UpdateMember mocks updating a member.
func (*MockService) UpdateMemberRole ¶ added in v0.0.3
func (m *MockService) UpdateMemberRole(ctx context.Context, orgID, memberID xid.ID, newRole string, updaterUserID xid.ID) (*organization.Member, error)
UpdateMemberRole mocks updating only the role of a member.
func (*MockService) UpdateOrganization ¶
func (m *MockService) UpdateOrganization(ctx context.Context, id xid.ID, req *organization.UpdateOrganizationRequest) (*organization.Organization, error)
UpdateOrganization mocks updating an organization.
func (*MockService) UpdateTeam ¶
func (m *MockService) UpdateTeam(ctx context.Context, id xid.ID, req *organization.UpdateTeamRequest, updaterUserID xid.ID) (*organization.Team, error)
type OrgDetailStatsDTO ¶ added in v0.0.15
type OrgDetailStatsDTO struct {
MemberCount int64 `json:"memberCount"`
TeamCount int64 `json:"teamCount"`
InvitationCount int64 `json:"invitationCount"`
}
OrgDetailStatsDTO contains stats for a single organization.
type Organization ¶ added in v0.0.3
type Organization = organization.Organization
Organization represents an organization (workspace/tenant).
type OrganizationDetailDTO ¶ added in v0.0.15
type OrganizationDetailDTO struct {
ID string `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Logo string `json:"logo"`
Metadata map[string]any `json:"metadata"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
OrganizationDetailDTO is a detailed DTO for organization.
type OrganizationHandler ¶
type OrganizationHandler struct {
// contains filtered or unexported fields
}
OrganizationHandler handles organization-related HTTP requests.
func NewOrganizationHandler ¶
func NewOrganizationHandler(orgService *organization.Service) *OrganizationHandler
NewOrganizationHandler creates a new organization handler.
func (*OrganizationHandler) AcceptInvitation ¶
func (h *OrganizationHandler) AcceptInvitation(c forge.Context) error
AcceptInvitation handles invitation acceptance requests.
func (*OrganizationHandler) CreateOrganization ¶
func (h *OrganizationHandler) CreateOrganization(c forge.Context) error
CreateOrganization handles organization creation requests.
func (*OrganizationHandler) CreateTeam ¶
func (h *OrganizationHandler) CreateTeam(c forge.Context) error
CreateTeam handles team creation requests.
func (*OrganizationHandler) DeclineInvitation ¶
func (h *OrganizationHandler) DeclineInvitation(c forge.Context) error
DeclineInvitation handles invitation decline requests.
func (*OrganizationHandler) DeleteOrganization ¶
func (h *OrganizationHandler) DeleteOrganization(c forge.Context) error
DeleteOrganization handles organization deletion requests.
func (*OrganizationHandler) DeleteTeam ¶
func (h *OrganizationHandler) DeleteTeam(c forge.Context) error
DeleteTeam handles team deletion requests.
func (*OrganizationHandler) GetOrganization ¶
func (h *OrganizationHandler) GetOrganization(c forge.Context) error
GetOrganization handles get organization requests.
func (*OrganizationHandler) GetOrganizationBySlug ¶
func (h *OrganizationHandler) GetOrganizationBySlug(c forge.Context) error
GetOrganizationBySlug handles get organization by slug requests.
func (*OrganizationHandler) InviteMember ¶
func (h *OrganizationHandler) InviteMember(c forge.Context) error
InviteMember handles member invitation requests.
func (*OrganizationHandler) ListMembers ¶
func (h *OrganizationHandler) ListMembers(c forge.Context) error
ListMembers handles list organization members requests.
func (*OrganizationHandler) ListOrganizations ¶
func (h *OrganizationHandler) ListOrganizations(c forge.Context) error
ListOrganizations handles list organizations requests (user's organizations).
func (*OrganizationHandler) ListTeams ¶
func (h *OrganizationHandler) ListTeams(c forge.Context) error
ListTeams handles list teams requests.
func (*OrganizationHandler) RemoveMember ¶
func (h *OrganizationHandler) RemoveMember(c forge.Context) error
RemoveMember handles member removal requests.
func (*OrganizationHandler) UpdateMember ¶
func (h *OrganizationHandler) UpdateMember(c forge.Context) error
UpdateMember handles member update requests.
func (*OrganizationHandler) UpdateOrganization ¶
func (h *OrganizationHandler) UpdateOrganization(c forge.Context) error
UpdateOrganization handles organization update requests.
func (*OrganizationHandler) UpdateTeam ¶
func (h *OrganizationHandler) UpdateTeam(c forge.Context) error
UpdateTeam handles team update requests.
type OrganizationOperations ¶ added in v0.0.3
type OrganizationOperations = organization.OrganizationOperations
OrganizationOperations defines operations for managing organizations.
type OrganizationSettingsDTO ¶ added in v0.0.15
type OrganizationSettingsDTO struct {
Enabled bool `json:"enabled,omitempty"`
AllowUserCreation bool `json:"allowUserCreation,omitempty"`
DefaultRole string `json:"defaultRole,omitempty"`
MaxOrgsPerUser int `json:"maxOrgsPerUser,omitempty"`
MaxMembersPerOrg int `json:"maxMembersPerOrg,omitempty"`
MaxTeamsPerOrg int `json:"maxTeamsPerOrg,omitempty"`
RequireInvitation bool `json:"requireInvitation,omitempty"`
InvitationExpiryDays int `json:"invitationExpiryDays,omitempty"`
AllowMultipleMemberships bool `json:"allowMultipleMemberships,omitempty"`
}
OrganizationSettingsDTO contains organization plugin settings.
type OrganizationStatsDTO ¶ added in v0.0.15
type OrganizationStatsDTO struct {
TotalOrganizations int64 `json:"totalOrganizations"`
TotalMembers int64 `json:"totalMembers"`
TotalTeams int64 `json:"totalTeams"`
}
OrganizationStatsDTO contains stats for organizations list.
type OrganizationSummaryDTO ¶ added in v0.0.15
type OrganizationSummaryDTO struct {
ID string `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Logo string `json:"logo"`
MemberCount int64 `json:"memberCount"`
TeamCount int64 `json:"teamCount"`
UserRole string `json:"userRole"`
CreatedAt time.Time `json:"createdAt"`
}
OrganizationSummaryDTO is a summary DTO for organization list.
type OrganizationUIRegistry ¶ added in v0.0.5
type OrganizationUIRegistry struct {
// contains filtered or unexported fields
}
OrganizationUIRegistry manages organization UI extensions from plugins It collects widgets, tabs, actions, and quick links from registered plugins and provides them in sorted, filtered order for rendering.
func NewOrganizationUIRegistry ¶ added in v0.0.5
func NewOrganizationUIRegistry() *OrganizationUIRegistry
NewOrganizationUIRegistry creates a new organization UI registry.
func (*OrganizationUIRegistry) GetActions ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetActions(ctx ui.OrgExtensionContext) []ui.OrganizationAction
GetActions returns all registered actions, sorted by order Filters out actions that require admin if the user is not an admin.
func (*OrganizationUIRegistry) GetQuickLinks ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetQuickLinks(ctx ui.OrgExtensionContext) []ui.OrganizationQuickLink
GetQuickLinks returns all registered quick links, sorted by order Filters out links that require admin if the user is not an admin.
func (*OrganizationUIRegistry) GetSettingsSections ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetSettingsSections(ctx ui.OrgExtensionContext) []ui.OrganizationSettingsSection
GetSettingsSections returns all registered settings sections, sorted by order Filters out sections that require admin if the user is not an admin.
func (*OrganizationUIRegistry) GetTabByPath ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetTabByPath(ctx ui.OrgExtensionContext, path string) *ui.OrganizationTab
GetTabByPath returns a tab by its path, or nil if not found.
func (*OrganizationUIRegistry) GetTabs ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetTabs(ctx ui.OrgExtensionContext) []ui.OrganizationTab
GetTabs returns all registered tabs, sorted by order Filters out tabs that require admin if the user is not an admin.
func (*OrganizationUIRegistry) GetWidgets ¶ added in v0.0.5
func (r *OrganizationUIRegistry) GetWidgets(ctx ui.OrgExtensionContext) []ui.OrganizationWidget
GetWidgets returns all registered widgets, sorted by order Filters out widgets that require admin if the user is not an admin.
func (*OrganizationUIRegistry) HasExtension ¶ added in v0.0.5
func (r *OrganizationUIRegistry) HasExtension(id string) bool
HasExtension checks if an extension with the given ID is registered.
func (*OrganizationUIRegistry) ListExtensions ¶ added in v0.0.5
func (r *OrganizationUIRegistry) ListExtensions() []string
ListExtensions returns the IDs of all registered extensions.
func (*OrganizationUIRegistry) Register ¶ added in v0.0.5
func (r *OrganizationUIRegistry) Register(ext ui.OrganizationUIExtension) error
Register registers an organization UI extension Returns an error if an extension with the same ID is already registered.
type OrganizationsListResponse ¶
type OrganizationsListResponse []schema.Organization
OrganizationsListResponse represents a list of organizations.
type PaginationInfo ¶ added in v0.0.15
type PaginationInfo struct {
CurrentPage int `json:"currentPage"`
PageSize int `json:"pageSize"`
TotalItems int64 `json:"totalItems"`
TotalPages int `json:"totalPages"`
}
PaginationInfo contains pagination metadata.
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements the user-created organizations plugin.
func NewPlugin ¶
func NewPlugin(opts ...PluginOption) *Plugin
NewPlugin creates a new organization plugin instance with optional configuration.
func ResolveOrganizationPlugin ¶ added in v0.0.3
ResolveOrganizationPlugin resolves the organization plugin from the container.
func (*Plugin) DashboardExtension ¶
func (p *Plugin) DashboardExtension() ui.DashboardExtension
DashboardExtension returns the dashboard extension interface implementation.
func (*Plugin) GetInvitationService ¶ added in v0.0.3
func (p *Plugin) GetInvitationService() *organization.InvitationService
GetInvitationService returns the invitation service directly.
func (*Plugin) GetMemberService ¶ added in v0.0.3
func (p *Plugin) GetMemberService() *organization.MemberService
GetMemberService returns the member service directly.
func (*Plugin) GetOrganizationService ¶ added in v0.0.3
func (p *Plugin) GetOrganizationService() *organization.Service
GetOrganizationService returns the organization service directly.
func (*Plugin) GetOrganizationUIRegistry ¶ added in v0.0.5
func (p *Plugin) GetOrganizationUIRegistry() *OrganizationUIRegistry
GetOrganizationUIRegistry returns the UI registry for accessing registered extensions GetOrganizationUIRegistry is used by the dashboard extension to render extension widgets, tabs, and actions.
func (*Plugin) GetServices ¶ added in v0.0.3
GetServices returns a map of all available services for inspection.
func (*Plugin) GetTeamService ¶ added in v0.0.3
func (p *Plugin) GetTeamService() *organization.TeamService
GetTeamService returns the team service directly.
func (*Plugin) RegisterHooks ¶
func (p *Plugin) RegisterHooks(hookRegistry *hooks.HookRegistry) error
RegisterHooks registers the plugin's hooks.
func (*Plugin) RegisterRoles ¶ added in v0.0.3
RegisterRoles implements the PluginWithRoles interface RegisterRoles registers organization-related permissions for platform roles.
func (*Plugin) RegisterRoutes ¶
RegisterRoutes registers the plugin's HTTP routes.
func (*Plugin) RegisterServiceDecorators ¶
func (p *Plugin) RegisterServiceDecorators(services *registry.ServiceRegistry) error
RegisterServiceDecorators registers service decorators.
func (*Plugin) RegisterServices ¶ added in v0.0.3
RegisterServices registers all organization services in the DI container Uses vessel.ProvideConstructor for type-safe, constructor-based dependency injection Note: If services are already registered (e.g., from a previous plugin initialization), this will silently skip re-registration to allow for graceful handling of plugin reloads.
func (*Plugin) SendInvitationNotification ¶ added in v0.0.6
func (p *Plugin) SendInvitationNotification(ctx context.Context, invitation *organization.Invitation, inviter *user.User, org *organization.Organization) error
SendInvitationNotification sends an org.invite notification when an invitation is created SendInvitationNotification should be called by handlers after creating an invitation.
type PluginOption ¶
type PluginOption func(*Plugin)
PluginOption is a functional option for configuring the plugin.
func WithAllowAppLevelRoles ¶ added in v0.0.15
func WithAllowAppLevelRoles(allow bool) PluginOption
WithAllowAppLevelRoles sets whether app-level (global) RBAC roles can be used for organization membership.
func WithDefaultConfig ¶
func WithDefaultConfig(cfg Config) PluginOption
WithDefaultConfig sets the default configuration for the plugin.
func WithEnableUserCreation ¶
func WithEnableUserCreation(enabled bool) PluginOption
WithEnableUserCreation sets whether user creation is enabled.
func WithEnforceUniqueSlug ¶ added in v0.0.3
func WithEnforceUniqueSlug(enforce bool) PluginOption
WithEnforceUniqueSlug sets whether to enforce unique slugs within app+environment scope.
func WithInvitationExpiryHours ¶
func WithInvitationExpiryHours(hours int) PluginOption
WithInvitationExpiryHours sets the invitation expiry hours.
func WithMaxMembersPerOrganization ¶
func WithMaxMembersPerOrganization(max int) PluginOption
WithMaxMembersPerOrganization sets the maximum members per organization.
func WithMaxOrganizationsPerUser ¶
func WithMaxOrganizationsPerUser(max int) PluginOption
WithMaxOrganizationsPerUser sets the maximum organizations per user.
func WithMaxTeamsPerOrganization ¶
func WithMaxTeamsPerOrganization(max int) PluginOption
WithMaxTeamsPerOrganization sets the maximum teams per organization.
func WithRequireInvitation ¶
func WithRequireInvitation(required bool) PluginOption
WithRequireInvitation sets whether invitation is required.
type QuickLinkDataDTO ¶ added in v0.0.15
type QuickLinkDataDTO struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
URL string `json:"url"`
Icon string `json:"icon"` // Icon name or HTML
Order int `json:"order"`
RequireAdmin bool `json:"requireAdmin"`
}
QuickLinkDataDTO contains quick link data for extension system.
type RemoveMemberInput ¶ added in v0.0.15
type RemoveMemberInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
MemberID string `json:"memberId"`
}
RemoveMemberInput is the input for bridgeRemoveMember.
type RemoveMemberRequest ¶ added in v0.0.7
type RemoveMemberResult ¶ added in v0.0.15
type RemoveMemberResult struct {
Success bool `json:"success"`
}
RemoveMemberResult is the output for bridgeRemoveMember.
type Repository ¶
type Repository = organization.OrganizationRepository
Repository type aliases for core organization repositories.
type RoleTemplateDTO ¶ added in v0.0.15
type RoleTemplateDTO struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Permissions []string `json:"permissions"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
RoleTemplateDTO is a DTO for role template.
type StatusResponse ¶
type StatusResponse = responses.StatusResponse
type TabDataDTO ¶ added in v0.0.15
type TabDataDTO struct {
ID string `json:"id"`
Label string `json:"label"`
Path string `json:"path"`
Icon string `json:"icon"` // Icon name or HTML
Order int `json:"order"`
RequireAdmin bool `json:"requireAdmin"`
}
TabDataDTO contains tab data for extension system.
type Team ¶ added in v0.0.3
type Team = organization.Team
Team represents a team within an organization.
type TeamDTO ¶ added in v0.0.15
type TeamDTO struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
MemberCount int64 `json:"memberCount"`
Metadata map[string]any `json:"metadata"`
CreatedAt time.Time `json:"createdAt"`
}
TeamDTO is a DTO for organization team.
type TeamMember ¶ added in v0.0.3
type TeamMember = organization.TeamMember
TeamMember represents a member's assignment to a team.
type TeamOperations ¶ added in v0.0.3
type TeamOperations = organization.TeamOperations
TeamOperations defines operations for managing teams.
type TeamsListResponse ¶
type TeamsListResponse []schema.OrganizationTeam
TeamsListResponse represents a list of teams.
type TeamsResponse ¶
type TeamsResponse struct {
Teams []*organization.Team `json:"teams"`
Total int `json:"total,omitempty"`
}
type UpdateMemberHandlerRequest ¶ added in v0.0.7
type UpdateMemberHandlerRequest struct {
organization.UpdateMemberRequest
ID string `path:"id" validate:"required"`
MemberID string `path:"memberId" validate:"required"`
}
type UpdateMemberRequest ¶
type UpdateMemberRequest = organization.UpdateMemberRequest
UpdateMemberRequest represents the request to update a member.
type UpdateMemberRoleInput ¶ added in v0.0.15
type UpdateMemberRoleInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
MemberID string `json:"memberId"`
Role string `json:"role"`
}
UpdateMemberRoleInput is the input for bridgeUpdateMemberRole.
type UpdateMemberRoleResult ¶ added in v0.0.15
type UpdateMemberRoleResult struct {
Member MemberDTO `json:"member"`
}
UpdateMemberRoleResult is the output for bridgeUpdateMemberRole.
type UpdateOrganizationHandlerRequest ¶ added in v0.0.7
type UpdateOrganizationHandlerRequest struct {
organization.UpdateOrganizationRequest
ID string `path:"id" validate:"required"`
}
type UpdateOrganizationInput ¶ added in v0.0.15
type UpdateOrganizationInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
Name string `json:"name,omitempty"`
Logo string `json:"logo,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
}
UpdateOrganizationInput is the input for bridgeUpdateOrganization.
type UpdateOrganizationRequest ¶
type UpdateOrganizationRequest = organization.UpdateOrganizationRequest
UpdateOrganizationRequest represents the request to update an organization.
type UpdateOrganizationResult ¶ added in v0.0.15
type UpdateOrganizationResult struct {
Organization OrganizationDetailDTO `json:"organization"`
}
UpdateOrganizationResult is the output for bridgeUpdateOrganization.
type UpdateRoleTemplateInput ¶ added in v0.0.15
type UpdateRoleTemplateInput struct {
AppID string `json:"appId"`
TemplateID string `json:"templateId"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Permissions []string `json:"permissions,omitempty"`
}
UpdateRoleTemplateInput is the input for bridgeUpdateRoleTemplate.
type UpdateRoleTemplateResult ¶ added in v0.0.15
type UpdateRoleTemplateResult struct {
Template RoleTemplateDTO `json:"template"`
}
UpdateRoleTemplateResult is the output for bridgeUpdateRoleTemplate.
type UpdateSettingsInput ¶ added in v0.0.15
type UpdateSettingsInput struct {
AppID string `json:"appId"`
Settings OrganizationSettingsDTO `json:"settings"`
}
UpdateSettingsInput is the input for bridgeUpdateSettings.
type UpdateSettingsResult ¶ added in v0.0.15
type UpdateSettingsResult struct {
Success bool `json:"success"`
}
UpdateSettingsResult is the output for bridgeUpdateSettings.
type UpdateTeamHandlerRequest ¶ added in v0.0.7
type UpdateTeamHandlerRequest struct {
organization.UpdateTeamRequest
ID string `path:"id" validate:"required"`
TeamID string `path:"teamId" validate:"required"`
}
type UpdateTeamInput ¶ added in v0.0.15
type UpdateTeamInput struct {
AppID string `json:"appId"`
OrgID string `json:"orgId"`
TeamID string `json:"teamId"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
}
UpdateTeamInput is the input for bridgeUpdateTeam.
type UpdateTeamRequest ¶
type UpdateTeamRequest = organization.UpdateTeamRequest
UpdateTeamRequest represents the request to update a team.
type UpdateTeamResult ¶ added in v0.0.15
type UpdateTeamResult struct {
Team TeamDTO `json:"team"`
}
UpdateTeamResult is the output for bridgeUpdateTeam.
type UserInfo ¶ added in v0.0.3
type UserInfo = organization.UserInfo
UserInfo contains basic user information for display purposes (embedded in Member/TeamMember).
type WidgetDataDTO ¶ added in v0.0.15
type WidgetDataDTO struct {
ID string `json:"id"`
Title string `json:"title"`
Icon string `json:"icon"` // Icon name or HTML
Order int `json:"order"`
Size int `json:"size"`
Content string `json:"content"` // HTML content
RequireAdmin bool `json:"requireAdmin"`
}
WidgetDataDTO contains widget data for extension system.