/*
 * MEC On-boarded Demo 4 API
 *
 * Demo 4 is an device application that can be instanciated over the UE Application interface
 *
 * API version: 0.0.1
 * Generated by: OpenAPI Generator (https://openapi-generator.tech)
 */

package server

import (
	"context"
	"syscall"
)

// FrontendApiService is a service that implents the logic for the FrontendApiServicer
// This service should implement the business logic for every endpoint for the FrontendApi API.
// Include any external packages or services that will be required by this service.
type FrontendApiService struct {
}

// NewFrontendApiService creates a default api service
func NewFrontendApiService() FrontendApiServicer {
	return &FrontendApiService{}
}

// Ping - Await for ping request and reply winth pong text body
func (s *FrontendApiService) Ping(ctx context.Context) (interface{}, error) {
	// TODO - update Ping with the required logic for this service method.
	// Add api_frontend_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
	//return nil, errors.New("service method 'Ping' not implemented")
	return "pong", nil
}

// Terminate - Terminate gracefully the application
func (s *FrontendApiService) Terminate(ctx context.Context) (interface{}, error) {
	// TODO - update Terminate with the required logic for this service method.
	// Add api_frontend_service.go to the .openapi-generator-ignore to avoid overwriting this service implementation when updating open api generation.
	//return nil, errors.New("service method 'Terminate' not implemented")

	syscall.Kill(syscall.Getpid(), syscall.SIGINT)

	return nil, nil
}
