main.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Code generated by go-swagger; DO NOT EDIT.
  2. package main
  3. import (
  4. "log"
  5. "os"
  6. "github.com/go-openapi/loads"
  7. flags "github.com/jessevdk/go-flags"
  8. "gem-spaas-coding-challenge/restapi"
  9. "gem-spaas-coding-challenge/restapi/operations"
  10. )
  11. // This file was generated by the swagger tool.
  12. // Make sure not to overwrite this file after you generated it because all your edits would be lost!
  13. func main() {
  14. swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON)
  15. if err != nil {
  16. log.Fatalln(err)
  17. }
  18. api := operations.NewSpaasAPI(swaggerSpec)
  19. server := restapi.NewServer(api)
  20. defer server.Shutdown()
  21. parser := flags.NewParser(server, flags.Default)
  22. parser.ShortDescription = "Optimal power production allocation service"
  23. parser.LongDescription = "This API exposes an algorithm that computes optimal power production allocation for a given power need and power plant capacity."
  24. server.ConfigureFlags()
  25. for _, optsGroup := range api.CommandLineOptionsGroups {
  26. _, err := parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
  27. if err != nil {
  28. log.Fatalln(err)
  29. }
  30. }
  31. if _, err := parser.Parse(); err != nil {
  32. code := 1
  33. if fe, ok := err.(*flags.Error); ok {
  34. if fe.Type == flags.ErrHelp {
  35. code = 0
  36. }
  37. }
  38. os.Exit(code)
  39. }
  40. server.ConfigureAPI()
  41. if err := server.Serve(); err != nil {
  42. log.Fatalln(err)
  43. }
  44. }