gen

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2021 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const NullPackage = "\"gopkg.in/guregu/null.v3\""

NullPackage is the package name used for handling nulls

Variables

This section is empty.

Functions

func FormatCode added in v1.5.0

func FormatCode(code string) ([]byte, error)

FormatCode formats the code

func GenInterface added in v1.5.0

func GenInterface(comment, pkgName, ifaceName, ifaceComment string, methods []string, imports []string) ([]byte, error)

GenInterface takes makes the interface into a byte array

func GenInterfaces added in v1.5.0

func GenInterfaces(files []string, structType, comment, pkgName, ifaceName, ifaceComment string, copyDocuments, copyTypeDoc bool) (result []byte, e error)

GenInterfaces runs GenInterface on all the target files

func InspectFile added in v1.5.0

func InspectFile(filePath string) (s *lib.GoStruct, e error)

InspectFile inspects a file

Types

type Controller added in v1.5.0

type Controller struct {
	Name              string             `json:"Name"`
	Description       string             `json:"Description"`
	Path              string             `json:"-"`
	Routes            []*ControllerRoute `json:"Routes"`
	HasDTOsImport     bool               `json:"-"`
	HasResponseImport bool               `json:"-"`
}

Controller represents a REST controller

type ControllerRoute added in v1.5.0

type ControllerRoute struct {
	Name           string                 `json:"Name"`
	Description    string                 `json:"Description"`
	Raw            string                 `json:"Path"`
	Path           string                 `json:"-"`
	Method         string                 `json:"Method"`
	Params         []ControllerRouteParam `json:"Params"`
	Queries        []ControllerRouteQuery `json:"Queries"`
	IsAuth         bool                   `json:"IsAuth"`
	BodyType       string                 `json:"BodyType"`
	BodyFormat     string                 `json:"BodyFormat"`
	HasBody        bool                   `json:"HasBody"`
	ResponseType   string                 `json:"ResponseType"`
	ResponseFormat string                 `json:"ResponseFormat"`
	ResponseCode   int                    `json:"ResponseCode"`
	Permission     string                 `json:"Permission"`
}

ControllerRoute represents a route inside a REST controller

type ControllerRouteParam added in v1.5.0

type ControllerRouteParam struct {
	Name    string
	Pattern string
	Type    string
}

ControllerRouteParam represents a param inside a controller route

type ControllerRouteQuery added in v1.5.0

type ControllerRouteQuery struct {
	Name         string
	Pattern      string
	Type         string
	VariableName string
	ValueRaw     string
}

ControllerRouteQuery represents a query inside a controller route

type DocRoute added in v1.5.0

type DocRoute struct {
	Name           string
	Description    string
	Method         string
	Path           string
	HasBody        bool
	BodyType       string
	BodyFormat     string
	ResponseType   string
	ResponseFormat string
	ResponseCode   int
}

DocRoute is a route in the documentation

type DocRouteParam added in v1.5.0

type DocRouteParam struct {
	Name    string
	Pattern string
	Type    string
}

DocRouteParam represents a parameter inside a route for documentation

type DocRouteQuery added in v1.5.0

type DocRouteQuery struct {
	Name    string
	Pattern string
	Type    string
}

DocRouteQuery represents a query inside a route for documentation

type Gen

type Gen struct {
	Options lib.Options
	Config  *lib.Config
}

Gen conntains all of the generator functionality

func (*Gen) BuildControllerObjFromControllerFile added in v1.5.0

func (g *Gen) BuildControllerObjFromControllerFile(filePath string, src []byte) (controller *Controller, usesPerms bool, e error)

BuildControllerObjFromControllerFile parses a file and extracts all of its @route comments

func (*Gen) BuildRoutesCodeFromController added in v1.5.0

func (g *Gen) BuildRoutesCodeFromController(controller *Controller) (out string, perms []string)

BuildRoutesCodeFromController builds controller code based on a route

func (*Gen) BuildTypescriptPermissions added in v1.5.0

func (g *Gen) BuildTypescriptPermissions() string

BuildTypescriptPermissions returns a formatted typescript file of permission constants

func (*Gen) CleanGoDALs added in v1.4.0

func (g *Gen) CleanGoDALs(dir string, database *lib.Database) (e error)

CleanGoDALs removes any repo files that aren't in the database.Tables map

func (*Gen) CleanGoModels added in v1.4.0

func (g *Gen) CleanGoModels(dir string, database *lib.Database) (e error)

CleanGoModels removes model files that are not found in the database.Tables map

func (*Gen) GenAPITests added in v1.5.3

func (g *Gen) GenAPITests() (e error)

GenAPITests generates api tests

func (*Gen) GenMeta added in v1.5.0

func (g *Gen) GenMeta(dir string, database *lib.Database) (e error)

GenMeta returns a string for a model in golang

func (*Gen) GenRoutes added in v1.5.0

func (g *Gen) GenRoutes() (e error)

GenRoutes generates a list of routes from a directory of controller files

func (*Gen) GenServiceTest added in v1.5.0

func (g *Gen) GenServiceTest(serviceName, filePath string) (e error)

GenServiceTest generates a test for a service file

func (*Gen) GenerateAPIRoutes added in v1.4.0

func (g *Gen) GenerateAPIRoutes(apiDir string)

func (*Gen) GenerateDALSQL added in v1.5.0

func (g *Gen) GenerateDALSQL(dir string, database *lib.Database) (e error)

GenerateDALSQL generates a constants file filled with sql statements

func (*Gen) GenerateDALsBootstrapFile added in v1.4.0

func (g *Gen) GenerateDALsBootstrapFile(dir string, database *lib.Database) (e error)

GenerateDALsBootstrapFile generates a dal bootstrap file in golang

func (*Gen) GenerateGoAPI added in v1.4.0

func (g *Gen) GenerateGoAPI(dir string)

func (*Gen) GenerateGoApp added in v1.4.0

func (g *Gen) GenerateGoApp(dir string) (e error)

GenerateGoApp generates the base app code

func (*Gen) GenerateGoDAL added in v1.4.0

func (g *Gen) GenerateGoDAL(table *lib.Table, dir string) (e error)

GenerateGoDAL returns a string for a repo in golang

func (*Gen) GenerateGoModel

func (g *Gen) GenerateGoModel(dir string, table *lib.Table) (e error)

GenerateGoModel returns a string for a model in golang

func (*Gen) GenerateServiceBootstrapFile added in v1.4.0

func (g *Gen) GenerateServiceBootstrapFile(servicesDir string) (e error)

func (*Gen) GenerateServiceInterfaces added in v1.4.0

func (g *Gen) GenerateServiceInterfaces(definitionsDir string, servicesDir string) (e error)

GenerateServiceInterfaces scans the services directory and outputs 2 files

  1. A services bootstrap file in the services directory
  2. A services definition file in the definitions directory

func (*Gen) GenerateTypescriptType

func (g *Gen) GenerateTypescriptType(table *lib.Table) (goCode string, e error)

GenerateTypescriptType returns a string for a type in typescript

func (*Gen) GenerateTypescriptTypes

func (g *Gen) GenerateTypescriptTypes(database *lib.Database) (goCode string, e error)

GenerateTypescriptTypes returns a string for a typscript types file

func (*Gen) GenerateTypescriptTypesFile

func (g *Gen) GenerateTypescriptTypesFile(dir string, database *lib.Database) (e error)

GenerateTypescriptTypesFile generates a typescript type file

func (*Gen) GetOrphanedDals added in v1.4.0

func (g *Gen) GetOrphanedDals(dir string, database *lib.Database) []string

GetOrphanedDals gets repo files that aren't in the database.Tables map

type RoutesJSONContainer added in v1.5.0

type RoutesJSONContainer struct {
	Routes     map[string]*ControllerRoute  `json:"routes"`
	DTOs       map[string]map[string]string `json:"dtos"`
	Models     map[string]map[string]string `json:"models"`
	Aggregates map[string]map[string]string `json:"aggregates"`
	Constants  map[string][]string          `json:"constants"`
}

RoutesJSONContainer is a container for JSON Routes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL