Merge "Automation of nodeb health check"
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / get_nodeb_id_request_handler.go
1 //
2 // Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 //  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 //  platform project (RICP).
19
20 package httpmsghandlers
21
22 import (
23         "e2mgr/logger"
24         "e2mgr/managers"
25         "e2mgr/models"
26 )
27
28 type GetNodebIdRequestHandler struct {
29         logger          *logger.Logger
30         ranListManager  managers.RanListManager
31 }
32
33 func NewGetNodebIdRequestHandler(logger *logger.Logger, ranListManager managers.RanListManager) *GetNodebIdRequestHandler {
34         return &GetNodebIdRequestHandler{
35                 logger:          logger,
36                 ranListManager:  ranListManager,
37         }
38 }
39
40 func (h *GetNodebIdRequestHandler) Handle(request models.Request) (models.IResponse, error) {
41         getNodebIdRequest := request.(models.GetNodebIdRequest)
42         ranName := getNodebIdRequest.RanName
43
44         nodebId, err := h.ranListManager.GetNbIdentity(ranName)
45         if err != nil {
46                 return nil, err
47         }
48
49         return models.NewNodebIdResponse(nodebId), nil
50 }