Updates for G Maintenance release
[nonrtric/plt/sme.git] / capifcore / internal / publishserviceapi / typevalidation.go
1 // -
2 //
3 //      ========================LICENSE_START=================================
4 //      O-RAN-SC
5 //      %%
6 //      Copyright (C) 2023: Nordix Foundation
7 //      %%
8 //      Licensed under the Apache License, Version 2.0 (the "License");
9 //      you may not use this file except in compliance with the License.
10 //      You may obtain a copy of the License at
11 //
12 //           http://www.apache.org/licenses/LICENSE-2.0
13 //
14 //      Unless required by applicable law or agreed to in writing, software
15 //      distributed under the License is distributed on an "AS IS" BASIS,
16 //      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 //      See the License for the specific language governing permissions and
18 //      limitations under the License.
19 //      ========================LICENSE_END===================================
20 package publishserviceapi
21
22 import (
23         "errors"
24         //"fmt"
25         "strings"
26 )
27
28 func (sd ServiceAPIDescription) Validate() error {
29         if len(strings.TrimSpace(sd.ApiName)) == 0 {
30                 return errors.New("ServiceAPIDescription missing required apiName")
31         }
32         return nil
33 }
34
35 func (sd ServiceAPIDescription) ValidateAlreadyPublished(otherService ServiceAPIDescription) error {
36         if sd.ApiName == otherService.ApiName {
37                 return errors.New("service with identical apiName is already published")
38         }
39         return nil
40 }