Documentation ¶
Index ¶
- Constants
- func BuildRoutesCodeFromController(permissionMap map[string]string, controller *Controller) (out string, perms []string, e error)
- func CleanGoDALs(dir string, database *schema.Schema) (e error)
- func CleanGoModels(dir string, database *schema.Schema) (e error)
- func GenDALs(dalsDir string, config *lib.Config, force, clean bool) error
- func GenInterface(comment, pkgName, ifaceName, ifaceComment string, methods []string, ...) ([]byte, error)
- func GenInterfaces(srcDir, destDir string) error
- func GenModels(modelsDir string, force bool, clean bool) error
- func GenPermissionsGoFile()
- func GenRoutes(config *lib.Config) (e error)
- func GenerateDALsBootstrapFile(config *lib.Config, dir string, schemaList *schema.SchemaList) (e error)
- func GenerateGoDAL(config *lib.Config, table *schema.Table, dir string) (e error)
- func GenerateGoModel(dir string, table *schema.Table) (e error)
- func InspectFile(filePath string) (s *lib.GoStruct, e error)
- type Controller
- type ControllerRoute
- type ControllerRouteParam
- type ControllerRouteQuery
- type DocRoute
- type DocRouteParam
- type DocRouteQuery
- type Gen
- func (g *Gen) BuildTypescriptPermissions() string
- func (g *Gen) GenAPITests() (e error)
- func (g *Gen) GenMeta(dir string, database *schema.Schema) (e error)
- func (g *Gen) GenerateAPIRoutes(apiDir string) error
- func (g *Gen) GenerateDALSQL(dir string, database *schema.Schema) (e error)
- func (g *Gen) GenerateGoAPI(dir string) error
- func (g *Gen) GenerateGoApp(dir string) error
- func (g *Gen) GenerateServiceBootstrapFile(servicesDir string) (e error)
- func (g *Gen) GenerateServiceInterfaces(definitionsDir string, servicesDir string) error
- func (g *Gen) GenerateTypescriptType(table *schema.Table) (goCode string, e error)
- func (g *Gen) GenerateTypescriptTypes(database *schema.Schema) (goCode string, e error)
- func (g *Gen) GenerateTypescriptTypesFile(dir string, database *schema.Schema) (e error)
- func (g *Gen) GetOrphanedDals(dir string, database *schema.Schema) []string
- type RoutesJSONContainer
Constants ¶
const NullPackage = "\"gopkg.in/guregu/null.v3\""
NullPackage is the package name used for handling nulls
Variables ¶
This section is empty.
Functions ¶
func BuildRoutesCodeFromController ¶
func BuildRoutesCodeFromController(permissionMap map[string]string, controller *Controller) (out string, perms []string, e error)
BuildRoutesCodeFromController builds controller code based on a route
func CleanGoDALs ¶
CleanGoDALs removes any repo files that aren't in the database.Tables map
func CleanGoModels ¶
CleanGoModels removes model files that are not found in the database.Tables map
func GenInterface ¶
func GenInterface(comment, pkgName, ifaceName, ifaceComment string, methods []string, imports []string) ([]byte, error)
GenInterface takes makes the interface into a byte array
func GenInterfaces ¶
func GenPermissionsGoFile ¶
func GenPermissionsGoFile()
func GenerateDALsBootstrapFile ¶
func GenerateDALsBootstrapFile(config *lib.Config, dir string, schemaList *schema.SchemaList) (e error)
GenerateDALsBootstrapFile generates a dal bootstrap file in golang
func GenerateGoDAL ¶
GenerateGoDAL returns a string for a repo in golang
func GenerateGoModel ¶
GenerateGoModel returns a string for a model in golang
Types ¶
type Controller ¶
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
func BuildControllerObjFromControllerFile ¶
func BuildControllerObjFromControllerFile(filePath string, src []byte) (controller *Controller, usesPerms bool, e error)
BuildControllerObjFromControllerFile parses a file and extracts all of its @route comments
type ControllerRoute ¶
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 ¶
ControllerRouteParam represents a param inside a controller route
type ControllerRouteQuery ¶
type ControllerRouteQuery struct { Name string Pattern string Type string VariableName string ValueRaw string }
ControllerRouteQuery represents a query inside a controller route
type DocRoute ¶
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 ¶
DocRouteParam represents a parameter inside a route for documentation
type DocRouteQuery ¶
DocRouteQuery represents a query inside a route for documentation
type Gen ¶
Gen conntains all of the generator functionality
func (*Gen) BuildTypescriptPermissions ¶
BuildTypescriptPermissions returns a formatted typescript file of permission constants
func (*Gen) GenerateAPIRoutes ¶
func (*Gen) GenerateDALSQL ¶
GenerateDALSQL generates a constants file filled with sql statements
func (*Gen) GenerateGoAPI ¶
func (*Gen) GenerateGoApp ¶
GenerateGoApp generates the base app code
func (*Gen) GenerateServiceBootstrapFile ¶
@deprecated
func (*Gen) GenerateServiceInterfaces ¶
GenerateServiceInterfaces scans the services directory and outputs 2 files
- A services bootstrap file in the services directory
- A services definition file in the definitions directory
func (*Gen) GenerateTypescriptType ¶
GenerateTypescriptType returns a string for a type in typescript
func (*Gen) GenerateTypescriptTypes ¶
GenerateTypescriptTypes returns a string for a typscript types file
func (*Gen) GenerateTypescriptTypesFile ¶
GenerateTypescriptTypesFile generates a typescript type file
type RoutesJSONContainer ¶
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