[MM-63421] add openID Authorization API-compliant PDP interface (#30462)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
f8e16780ef
Коммит
3eb854c58d
62
server/einterfaces/mocks/PolicyDecisionPointInterface.go
Обычный файл
62
server/einterfaces/mocks/PolicyDecisionPointInterface.go
Обычный файл
@@ -0,0 +1,62 @@
|
||||
// Code generated by mockery v2.42.2. DO NOT EDIT.
|
||||
|
||||
// Regenerate this file using `make einterfaces-mocks`.
|
||||
|
||||
package mocks
|
||||
|
||||
import (
|
||||
model "github.com/mattermost/mattermost/server/public/model"
|
||||
request "github.com/mattermost/mattermost/server/public/shared/request"
|
||||
mock "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
// PolicyDecisionPointInterface is an autogenerated mock type for the PolicyDecisionPointInterface type
|
||||
type PolicyDecisionPointInterface struct {
|
||||
mock.Mock
|
||||
}
|
||||
|
||||
// AccessEvaluation provides a mock function with given fields: rctx, accessRequest
|
||||
func (_m *PolicyDecisionPointInterface) AccessEvaluation(rctx request.CTX, accessRequest model.AccessRequest) (*model.AccessDecision, *model.AppError) {
|
||||
ret := _m.Called(rctx, accessRequest)
|
||||
|
||||
if len(ret) == 0 {
|
||||
panic("no return value specified for AccessEvaluation")
|
||||
}
|
||||
|
||||
var r0 *model.AccessDecision
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, model.AccessRequest) (*model.AccessDecision, *model.AppError)); ok {
|
||||
return rf(rctx, accessRequest)
|
||||
}
|
||||
if rf, ok := ret.Get(0).(func(request.CTX, model.AccessRequest) *model.AccessDecision); ok {
|
||||
r0 = rf(rctx, accessRequest)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(*model.AccessDecision)
|
||||
}
|
||||
}
|
||||
|
||||
if rf, ok := ret.Get(1).(func(request.CTX, model.AccessRequest) *model.AppError); ok {
|
||||
r1 = rf(rctx, accessRequest)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// NewPolicyDecisionPointInterface creates a new instance of PolicyDecisionPointInterface. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
||||
// The first argument is typically a *testing.T value.
|
||||
func NewPolicyDecisionPointInterface(t interface {
|
||||
mock.TestingT
|
||||
Cleanup(func())
|
||||
}) *PolicyDecisionPointInterface {
|
||||
mock := &PolicyDecisionPointInterface{}
|
||||
mock.Mock.Test(t)
|
||||
|
||||
t.Cleanup(func() { mock.AssertExpectations(t) })
|
||||
|
||||
return mock
|
||||
}
|
||||
16
server/einterfaces/pdp.go
Обычный файл
16
server/einterfaces/pdp.go
Обычный файл
@@ -0,0 +1,16 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package einterfaces
|
||||
|
||||
import (
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/request"
|
||||
)
|
||||
|
||||
// PolicyDecisionPointInterface is the service that evaluates access requests
|
||||
// using the OpenID Auth API spec. It determines whether a subject can perform
|
||||
// an action on a resource based on the resource policy.
|
||||
type PolicyDecisionPointInterface interface {
|
||||
AccessEvaluation(rctx request.CTX, accessRequest model.AccessRequest) (*model.AccessDecision, *model.AppError)
|
||||
}
|
||||
Ссылка в новой задаче
Block a user