forked from pace/bricks
/
rest.go
39 lines (32 loc) · 791 Bytes
/
rest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright © 2018 by PACE Telematics GmbH. All rights reserved.
// Created at 2018/08/24 by Vincent Landgraf
package generate
import (
"log"
"os"
"lab.jamit.de/pace/go-microservice/http/jsonapi/generator"
)
// RestOptions options to respect when generating the rest api
type RestOptions struct {
PkgName, Path, Source string
}
// Rest builds a jsonapi rest api
func Rest(options RestOptions) {
// generate jsonapi
g := generator.Generator{}
result, err := g.BuildSource(options.Source, options.Path, options.PkgName)
if err != nil {
log.Fatal(err)
}
// create file
file, err := os.Create(options.Path)
if err != nil {
log.Fatal(err)
}
defer file.Close() // nolint: errcheck
// write file
_, err = file.WriteString(result)
if err != nil {
log.Fatal(err)
}
}