blob: f0ed3d42e5bcb27396b182d6aade960b3ed3e07f [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
/*
Package service - defines core Milagro D-TA interface
*/
package service
import (
"github.com/apache/incubator-milagro-dta/libs/transport"
"github.com/apache/incubator-milagro-dta/pkg/api"
)
// Service is the CustodyService interface
type Service interface {
//Order
GetOrder(req *api.GetOrderRequest) (*api.GetOrderResponse, error)
OrderList(req *api.OrderListRequest) (*api.OrderListResponse, error)
//Order processing
OrderSecret(req *api.OrderSecretRequest) (*api.OrderSecretResponse, error)
Order(req *api.OrderRequest) (*api.OrderResponse, error)
//Fullfill processing
FulfillOrder(req *api.FulfillOrderRequest) (*api.FulfillOrderResponse, error)
FulfillOrderSecret(req *api.FulfillOrderSecretRequest) (*api.FulfillOrderSecretResponse, error)
NodeID() string
MasterFiduciaryNodeID() string
SetNodeID(nodeID string)
SetMasterFiduciaryNodeID(masterFiduciaryNodeID string)
//System
Status(apiVersion, nopdeType string) (*api.StatusResponse, error)
}
// Endpoints interface to register plugin specific endpoints
type Endpoints interface {
Endpoints() (namespace string, endpoints transport.HTTPEndpoints)
}