2 * Copyright 2020 Huawei Technologies Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
22 "github.com/apache/servicecomb-service-center/pkg/log"
23 "github.com/apache/servicecomb-service-center/server/core"
24 "github.com/apache/servicecomb-service-center/server/core/proto"
26 "mepserver/mp1/arch/workspace"
29 type DeleteService struct {
30 HttpErrInf *proto.Response `json:"httpErrInf,out"`
32 Ctx context.Context `json:"ctx,in"`
33 ServiceId string `json:"serviceId,in"`
36 func (t *DeleteService) OnRequest(data string) workspace.TaskCode {
37 if t.ServiceId == "" {
38 t.SetFirstErrorCode(SerErrServiceDelFailed, "param is empty")
39 return workspace.TaskFinish
41 serviceID := t.ServiceId[:len(t.ServiceId)/2]
42 instanceID := t.ServiceId[len(t.ServiceId)/2:]
43 req := &proto.UnregisterInstanceRequest{
45 InstanceId: instanceID,
47 resp, err := core.InstanceAPI.Unregister(t.Ctx, req)
49 log.Errorf(err, "Service delete failed!")
51 t.HttpErrInf = resp.Response
53 return workspace.TaskFinish