Updates for G Maintenance release
[nonrtric/plt/sme.git] / capifcore / internal / providermanagementapi / typeaccess.go
1 // -
2 //   ========================LICENSE_START=================================
3 //   O-RAN-SC
4 //   %%
5 //   Copyright (C) 2023: Nordix Foundation
6 //   %%
7 //   Licensed under the Apache License, Version 2.0 (the "License");
8 //   you may not use this file except in compliance with the License.
9 //   You may obtain a copy of the License at
10 //
11 //        http://www.apache.org/licenses/LICENSE-2.0
12 //
13 //   Unless required by applicable law or agreed to in writing, software
14 //   distributed under the License is distributed on an "AS IS" BASIS,
15 //   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 //   See the License for the specific language governing permissions and
17 //   limitations under the License.
18 //   ========================LICENSE_END===================================
19 //
20
21 package providermanagementapi
22
23 func (ed APIProviderEnrolmentDetails) GetExposingFunctionIdsForPublisher(apfId string) []string {
24         for _, registeredFunc := range *ed.ApiProvFuncs {
25                 if *registeredFunc.ApiProvFuncId == apfId && registeredFunc.isProvidingFunction() {
26                         return ed.getExposingFunctionIds()
27                 }
28         }
29         return nil
30 }
31
32 func (ed APIProviderEnrolmentDetails) getExposingFunctionIds() []string {
33         exposedFuncs := []string{}
34         for _, registeredFunc := range *ed.ApiProvFuncs {
35                 if registeredFunc.isExposingFunction() {
36                         exposedFuncs = append(exposedFuncs, *registeredFunc.ApiProvFuncId)
37                 }
38         }
39         return exposedFuncs
40 }
41
42 func (ed APIProviderEnrolmentDetails) IsFunctionRegistered(functionId string) bool {
43         for _, registeredFunc := range *ed.ApiProvFuncs {
44                 if *registeredFunc.ApiProvFuncId == functionId {
45                         return true
46                 }
47         }
48         return false
49 }
50
51 func (fd APIProviderFunctionDetails) isProvidingFunction() bool {
52         return fd.ApiProvFuncRole == ApiProviderFuncRoleAPF
53 }
54
55 func (fd APIProviderFunctionDetails) isExposingFunction() bool {
56         return fd.ApiProvFuncRole == ApiProviderFuncRoleAEF
57 }