Documentation
¶
Overview ¶
Package defaultstore implements the SQL-backed default store for the organizations plugin.
Dialect selection happens once in NewDefaultOrganizationStore; all methods are dialect-agnostic and delegate to the unexported querier interface.
Index ¶
- type DefaultOrganizationStore
- func (s *DefaultOrganizationStore) CanAccessTeam(ctx context.Context, userID, teamID string) (bool, error)
- func (s *DefaultOrganizationStore) CountInvitations(ctx context.Context, orgID string, teamID string) (int, error)
- func (s *DefaultOrganizationStore) CountOrganizationMembers(ctx context.Context, orgID string) (int, error)
- func (s *DefaultOrganizationStore) CountOrganizationMembersWithRole(ctx context.Context, orgID, role string) (int, error)
- func (s *DefaultOrganizationStore) CountTeamMembers(ctx context.Context, teamID string) (int, error)
- func (s *DefaultOrganizationStore) CountTeams(ctx context.Context, orgID string) (int, error)
- func (s *DefaultOrganizationStore) CountUserOrganizations(ctx context.Context, userID string) (int, error)
- func (s *DefaultOrganizationStore) CreateInvitation(ctx context.Context, inv orgtypes.Invitation) error
- func (s *DefaultOrganizationStore) CreateMember(ctx context.Context, id, userID, orgID, role string, ...) error
- func (s *DefaultOrganizationStore) CreateMemberPermissionOverride(ctx context.Context, o orgtypes.MemberPermissionOverride) error
- func (s *DefaultOrganizationStore) CreateOrganization(ctx context.Context, id, name, slug string, createdAt, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) CreateOrganizationRole(ctx context.Context, role orgtypes.OrganizationRole) error
- func (s *DefaultOrganizationStore) CreateTeam(ctx context.Context, id, orgID, name, description string, ...) error
- func (s *DefaultOrganizationStore) CreateTeamMember(ctx context.Context, id, teamID, userID, role string, ...) error
- func (s *DefaultOrganizationStore) DeleteInvitation(ctx context.Context, id string) error
- func (s *DefaultOrganizationStore) DeleteMemberPermissionOverrides(ctx context.Context, orgID, userID string) error
- func (s *DefaultOrganizationStore) DeleteOrganization(ctx context.Context, id string, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) DeleteOrganizationRole(ctx context.Context, orgID, name string) error
- func (s *DefaultOrganizationStore) DeleteTeam(ctx context.Context, id string) error
- func (s *DefaultOrganizationStore) GetInvitationByID(ctx context.Context, id string) (orgtypes.Invitation, error)
- func (s *DefaultOrganizationStore) GetInvitationByTokenHash(ctx context.Context, tokenHash string) (orgtypes.Invitation, error)
- func (s *DefaultOrganizationStore) GetMember(ctx context.Context, userID, orgID string) (orgtypes.Member, error)
- func (s *DefaultOrganizationStore) GetOrganization(ctx context.Context, id string) (orgtypes.Organization, error)
- func (s *DefaultOrganizationStore) GetOrganizationBySlug(ctx context.Context, slug string) (orgtypes.Organization, error)
- func (s *DefaultOrganizationStore) GetOrganizationRole(ctx context.Context, orgID, name string) (orgtypes.OrganizationRole, error)
- func (s *DefaultOrganizationStore) GetTeam(ctx context.Context, id string) (orgtypes.Team, error)
- func (s *DefaultOrganizationStore) GetTeamMember(ctx context.Context, teamID, userID string) (orgtypes.TeamMember, error)
- func (s *DefaultOrganizationStore) HasOrgRole(ctx context.Context, userID, orgID string, roles ...string) (bool, error)
- func (s *DefaultOrganizationStore) HasTeamRole(ctx context.Context, userID, teamID string, roles ...string) (bool, error)
- func (s *DefaultOrganizationStore) IsOrganizationMember(ctx context.Context, userID, orgID string) (bool, error)deprecated
- func (s *DefaultOrganizationStore) IsOwner(ctx context.Context, userID, orgID string) (bool, error)
- func (s *DefaultOrganizationStore) IsOwnerOrAdmin(ctx context.Context, userID, orgID string) (bool, error)deprecated
- func (s *DefaultOrganizationStore) ListInvitations(ctx context.Context, orgID string, teamID string, offset, limit int) ([]orgtypes.Invitation, error)
- func (s *DefaultOrganizationStore) ListMemberPermissionOverrides(ctx context.Context, orgID, userID string) ([]orgtypes.MemberPermissionOverride, error)
- func (s *DefaultOrganizationStore) ListOrganizationMembers(ctx context.Context, orgID string, offset, limit int) ([]orgtypes.Member, error)
- func (s *DefaultOrganizationStore) ListOrganizationRoles(ctx context.Context, orgID string) ([]orgtypes.OrganizationRole, error)
- func (s *DefaultOrganizationStore) ListTeamMembers(ctx context.Context, teamID string, offset, limit int) ([]orgtypes.TeamMember, error)
- func (s *DefaultOrganizationStore) ListTeams(ctx context.Context, orgID string, offset, limit int) ([]orgtypes.Team, error)
- func (s *DefaultOrganizationStore) ListUserOrganizations(ctx context.Context, userID string, offset, limit int) ([]orgtypes.Organization, error)
- func (s *DefaultOrganizationStore) RemoveMember(ctx context.Context, userID, orgID string) error
- func (s *DefaultOrganizationStore) RemoveTeamMember(ctx context.Context, teamID, userID string) error
- func (s *DefaultOrganizationStore) UpdateInvitationStatus(ctx context.Context, id, status string, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) UpdateMemberRole(ctx context.Context, userID, orgID, role string, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) UpdateOrganization(ctx context.Context, id, name, slug string, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) UpdateOrganizationRole(ctx context.Context, role orgtypes.OrganizationRole) error
- func (s *DefaultOrganizationStore) UpdateTeam(ctx context.Context, id, name, description string, updatedAt time.Time) error
- func (s *DefaultOrganizationStore) UpdateTeamMemberRole(ctx context.Context, teamID, userID, role string, updatedAt time.Time) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultOrganizationStore ¶
type DefaultOrganizationStore struct {
// contains filtered or unexported fields
}
DefaultOrganizationStore implements orgtypes.OrganizationStore using a SQL database.
All dialect logic is confined to the querier: this struct holds only the single chosen querier and delegates every operation to it.
func NewDefaultOrganizationStore ¶
func NewDefaultOrganizationStore(db *sql.DB, dialect plugins.Dialect) (*DefaultOrganizationStore, error)
NewDefaultOrganizationStore creates a DefaultOrganizationStore for the given dialect.
func (*DefaultOrganizationStore) CanAccessTeam ¶
func (s *DefaultOrganizationStore) CanAccessTeam(ctx context.Context, userID, teamID string) (bool, error)
CanAccessTeam checks whether a user can access a team.
Access requires being a member of the parent organization AND a member of the team, with any role in each — custom roles are not second-class here.
func (*DefaultOrganizationStore) CountInvitations ¶
func (s *DefaultOrganizationStore) CountInvitations(ctx context.Context, orgID string, teamID string) (int, error)
CountInvitations returns the total number of invitations matching filters.
func (*DefaultOrganizationStore) CountOrganizationMembers ¶
func (s *DefaultOrganizationStore) CountOrganizationMembers(ctx context.Context, orgID string) (int, error)
CountOrganizationMembers returns the total number of members in an organization.
func (*DefaultOrganizationStore) CountOrganizationMembersWithRole ¶ added in v2.1.0
func (s *DefaultOrganizationStore) CountOrganizationMembersWithRole(ctx context.Context, orgID, role string) (int, error)
CountOrganizationMembersWithRole counts members holding a role.
func (*DefaultOrganizationStore) CountTeamMembers ¶
func (s *DefaultOrganizationStore) CountTeamMembers(ctx context.Context, teamID string) (int, error)
CountTeamMembers returns the total number of members in a team.
func (*DefaultOrganizationStore) CountTeams ¶
CountTeams returns the total number of teams within an organization.
func (*DefaultOrganizationStore) CountUserOrganizations ¶
func (s *DefaultOrganizationStore) CountUserOrganizations(ctx context.Context, userID string) (int, error)
CountUserOrganizations returns the total number of organizations the user belongs to.
func (*DefaultOrganizationStore) CreateInvitation ¶
func (s *DefaultOrganizationStore) CreateInvitation(ctx context.Context, inv orgtypes.Invitation) error
CreateInvitation stores a new invitation.
func (*DefaultOrganizationStore) CreateMember ¶
func (s *DefaultOrganizationStore) CreateMember(ctx context.Context, id, userID, orgID, role string, createdAt, updatedAt time.Time) error
CreateMember adds a user as a member of an organization with the given role.
func (*DefaultOrganizationStore) CreateMemberPermissionOverride ¶ added in v2.1.0
func (s *DefaultOrganizationStore) CreateMemberPermissionOverride(ctx context.Context, o orgtypes.MemberPermissionOverride) error
CreateMemberPermissionOverride stores one override.
func (*DefaultOrganizationStore) CreateOrganization ¶
func (s *DefaultOrganizationStore) CreateOrganization(ctx context.Context, id, name, slug string, createdAt, updatedAt time.Time) error
CreateOrganization creates a new organization with the given attributes.
func (*DefaultOrganizationStore) CreateOrganizationRole ¶ added in v2.1.0
func (s *DefaultOrganizationStore) CreateOrganizationRole(ctx context.Context, role orgtypes.OrganizationRole) error
CreateOrganizationRole stores a new custom role.
func (*DefaultOrganizationStore) CreateTeam ¶
func (s *DefaultOrganizationStore) CreateTeam(ctx context.Context, id, orgID, name, description string, createdAt, updatedAt time.Time) error
CreateTeam creates a new team within an organization.
func (*DefaultOrganizationStore) CreateTeamMember ¶
func (s *DefaultOrganizationStore) CreateTeamMember(ctx context.Context, id, teamID, userID, role string, createdAt, updatedAt time.Time) error
CreateTeamMember adds a user as a member of a team with the given role.
func (*DefaultOrganizationStore) DeleteInvitation ¶
func (s *DefaultOrganizationStore) DeleteInvitation(ctx context.Context, id string) error
DeleteInvitation deletes an invitation by ID.
func (*DefaultOrganizationStore) DeleteMemberPermissionOverrides ¶ added in v2.1.0
func (s *DefaultOrganizationStore) DeleteMemberPermissionOverrides(ctx context.Context, orgID, userID string) error
DeleteMemberPermissionOverrides removes every override for a member.
func (*DefaultOrganizationStore) DeleteOrganization ¶
func (s *DefaultOrganizationStore) DeleteOrganization(ctx context.Context, id string, updatedAt time.Time) error
DeleteOrganization soft-deletes an organization by ID.
func (*DefaultOrganizationStore) DeleteOrganizationRole ¶ added in v2.1.0
func (s *DefaultOrganizationStore) DeleteOrganizationRole(ctx context.Context, orgID, name string) error
DeleteOrganizationRole removes a custom role.
func (*DefaultOrganizationStore) DeleteTeam ¶
func (s *DefaultOrganizationStore) DeleteTeam(ctx context.Context, id string) error
DeleteTeam removes a team by its ID.
func (*DefaultOrganizationStore) GetInvitationByID ¶
func (s *DefaultOrganizationStore) GetInvitationByID(ctx context.Context, id string) (orgtypes.Invitation, error)
GetInvitationByID retrieves an invitation by ID.
func (*DefaultOrganizationStore) GetInvitationByTokenHash ¶
func (s *DefaultOrganizationStore) GetInvitationByTokenHash(ctx context.Context, tokenHash string) (orgtypes.Invitation, error)
GetInvitationByTokenHash retrieves an invitation by token hash.
func (*DefaultOrganizationStore) GetMember ¶
func (s *DefaultOrganizationStore) GetMember(ctx context.Context, userID, orgID string) (orgtypes.Member, error)
GetMember retrieves the membership record for a user in an organization.
func (*DefaultOrganizationStore) GetOrganization ¶
func (s *DefaultOrganizationStore) GetOrganization(ctx context.Context, id string) (orgtypes.Organization, error)
GetOrganization retrieves an organization by its ID.
func (*DefaultOrganizationStore) GetOrganizationBySlug ¶
func (s *DefaultOrganizationStore) GetOrganizationBySlug(ctx context.Context, slug string) (orgtypes.Organization, error)
GetOrganizationBySlug retrieves an organization by its URL slug.
func (*DefaultOrganizationStore) GetOrganizationRole ¶ added in v2.1.0
func (s *DefaultOrganizationStore) GetOrganizationRole(ctx context.Context, orgID, name string) (orgtypes.OrganizationRole, error)
GetOrganizationRole retrieves a persisted role by name.
func (*DefaultOrganizationStore) GetTeamMember ¶
func (s *DefaultOrganizationStore) GetTeamMember(ctx context.Context, teamID, userID string) (orgtypes.TeamMember, error)
GetTeamMember retrieves the membership record for a user in a team.
func (*DefaultOrganizationStore) HasOrgRole ¶
func (s *DefaultOrganizationStore) HasOrgRole(ctx context.Context, userID, orgID string, roles ...string) (bool, error)
HasOrgRole checks whether the user has any of the given org-level roles.
func (*DefaultOrganizationStore) HasTeamRole ¶
func (s *DefaultOrganizationStore) HasTeamRole(ctx context.Context, userID, teamID string, roles ...string) (bool, error)
HasTeamRole checks whether the user has any of the given team-level roles.
func (*DefaultOrganizationStore) IsOrganizationMember
deprecated
func (*DefaultOrganizationStore) IsOwner ¶
IsOwner reports whether the user is the owner of the organization.
func (*DefaultOrganizationStore) IsOwnerOrAdmin
deprecated
func (*DefaultOrganizationStore) ListInvitations ¶
func (s *DefaultOrganizationStore) ListInvitations(ctx context.Context, orgID string, teamID string, offset, limit int) ([]orgtypes.Invitation, error)
ListInvitations returns a paginated list of invitations for an org.
func (*DefaultOrganizationStore) ListMemberPermissionOverrides ¶ added in v2.1.0
func (s *DefaultOrganizationStore) ListMemberPermissionOverrides(ctx context.Context, orgID, userID string) ([]orgtypes.MemberPermissionOverride, error)
ListMemberPermissionOverrides returns the member's permission overrides.
func (*DefaultOrganizationStore) ListOrganizationMembers ¶
func (s *DefaultOrganizationStore) ListOrganizationMembers(ctx context.Context, orgID string, offset, limit int) ([]orgtypes.Member, error)
ListOrganizationMembers returns a paginated list of members in an organization.
func (*DefaultOrganizationStore) ListOrganizationRoles ¶ added in v2.1.0
func (s *DefaultOrganizationStore) ListOrganizationRoles(ctx context.Context, orgID string) ([]orgtypes.OrganizationRole, error)
ListOrganizationRoles returns the organization's persisted custom roles.
func (*DefaultOrganizationStore) ListTeamMembers ¶
func (s *DefaultOrganizationStore) ListTeamMembers(ctx context.Context, teamID string, offset, limit int) ([]orgtypes.TeamMember, error)
ListTeamMembers returns a paginated list of members in a team.
func (*DefaultOrganizationStore) ListTeams ¶
func (s *DefaultOrganizationStore) ListTeams(ctx context.Context, orgID string, offset, limit int) ([]orgtypes.Team, error)
ListTeams returns a paginated list of teams within an organization.
func (*DefaultOrganizationStore) ListUserOrganizations ¶
func (s *DefaultOrganizationStore) ListUserOrganizations(ctx context.Context, userID string, offset, limit int) ([]orgtypes.Organization, error)
ListUserOrganizations returns a paginated list of organizations the user belongs to.
func (*DefaultOrganizationStore) RemoveMember ¶
func (s *DefaultOrganizationStore) RemoveMember(ctx context.Context, userID, orgID string) error
RemoveMember removes a user from an organization.
func (*DefaultOrganizationStore) RemoveTeamMember ¶
func (s *DefaultOrganizationStore) RemoveTeamMember(ctx context.Context, teamID, userID string) error
RemoveTeamMember removes a user from a team.
func (*DefaultOrganizationStore) UpdateInvitationStatus ¶
func (s *DefaultOrganizationStore) UpdateInvitationStatus(ctx context.Context, id, status string, updatedAt time.Time) error
UpdateInvitationStatus updates the status of an invitation.
func (*DefaultOrganizationStore) UpdateMemberRole ¶
func (s *DefaultOrganizationStore) UpdateMemberRole(ctx context.Context, userID, orgID, role string, updatedAt time.Time) error
UpdateMemberRole updates the role of a member within an organization.
func (*DefaultOrganizationStore) UpdateOrganization ¶
func (s *DefaultOrganizationStore) UpdateOrganization(ctx context.Context, id, name, slug string, updatedAt time.Time) error
UpdateOrganization updates the name, slug, and updatedAt timestamp for an organization.
func (*DefaultOrganizationStore) UpdateOrganizationRole ¶ added in v2.1.0
func (s *DefaultOrganizationStore) UpdateOrganizationRole(ctx context.Context, role orgtypes.OrganizationRole) error
UpdateOrganizationRole replaces a role's permissions.
func (*DefaultOrganizationStore) UpdateTeam ¶
func (s *DefaultOrganizationStore) UpdateTeam(ctx context.Context, id, name, description string, updatedAt time.Time) error
UpdateTeam updates the name, description, and updatedAt timestamp for a team.
func (*DefaultOrganizationStore) UpdateTeamMemberRole ¶
func (s *DefaultOrganizationStore) UpdateTeamMemberRole(ctx context.Context, teamID, userID, role string, updatedAt time.Time) error
UpdateTeamMemberRole updates the role of a member within a team.