Documentation
¶
Overview ¶
Copyright (C) 2023 Tim Bastin, l3montree GmbH
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (C) 2025 l3montree GmbH ¶
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
Index ¶
- Variables
- func FetchMembersOfOrganization(ctx shared.Context) ([]dtos.UserDTO, error)
- func GetOryAPIClient(url string) *client.APIClient
- func NewCasbinRBACProvider(db *gorm.DB, broker database.Broker) (casbinRBACProvider, error)
- func NewExternalEntityProviderRBAC(ctx shared.Context, rootAccessControl shared.AccessControl, ...) *externalEntityProviderRBAC
- func NewSession(userID string, scopes []string) session
Constants ¶
This section is empty.
Variables ¶
var AccessControlModule = fx.Options( fx.Provide(newCasbinPubSubWatcher), fx.Provide(fx.Annotate(NewCasbinRBACProvider, fx.As(new(shared.RBACProvider)))), fx.Provide(NewExternalEntityProviderRBAC), fx.Provide(func() shared.PublicClient { return shared.NewPublicClient(GetOryAPIClient(os.Getenv("ORY_KRATOS_PUBLIC"))) }), fx.Provide(func() shared.AdminClient { return shared.NewAdminClient(GetOryAPIClient(os.Getenv("ORY_KRATOS_ADMIN"))) }), )
var NoSession session = session{ // contains filtered or unexported fields }
Functions ¶
func FetchMembersOfOrganization ¶
FetchMembersOfOrganization retrieves all members of an organization including their roles from both the RBAC system and third-party integrations
func GetOryAPIClient ¶
func NewCasbinRBACProvider ¶
the provider can be used to create domain specific RBAC instances
func NewExternalEntityProviderRBAC ¶
func NewExternalEntityProviderRBAC(ctx shared.Context, rootAccessControl shared.AccessControl, thirdPartyIntegration shared.IntegrationAggregate, externalEntityProviderID string, adminToken *string) *externalEntityProviderRBAC
func NewSession ¶
Types ¶
This section is empty.