micagen

package module
v0.0.0-...-863eaf6 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2021 License: MIT Imports: 10 Imported by: 0

README

micagen

Rest Api Generator for Golang Programming Language

Go Reference

Readme Card

How to install
go get -u github.com/ekokurniadi/micagen
If you are using MySql DB
  • Please run this command on your project terminal
go get -u gorm.io/driver/mysql
If you are using PostgreSql DB
  • Please run this command on your project terminal
go get -u gorm.io/driver/postgres
Then import the package
import "github.com/ekokurniadi/micagen"
Important
  • Create folder with name entity on root directory project
  • Create file on entity folder and create struct
  • Example : create 1 file with name customer.go on entity folder
package entity

import "time"

type Customer struct {
	ID        int
	Name      string
	Address   string
	CreatedAt time.Time
	UpdatedAt time.Time
}
This case i want to migrate struct customer to my database and generate crud rest api using micagen
Example project using micagen and MySql db
package main

import (
	"log"
	"tesss/entity"

	"github.com/ekokurniadi/micagen"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

func main() {
	dsn := "root:@tcp(127.0.0.1:3306)/mica_generator?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

	if err != nil {
		log.Fatal(err.Error())
	}
       
        //call micagen package
	gen := micagen.Micagen{}
        //automigrate struct of customer and generate crud rest api for customer
	gen.GenerateAll(db, &entity.Customer{})

}
Example project using micagen and PostgreSql
package main

import (
	"log"
	"tesss/entity"

	"github.com/ekokurniadi/micagen"
	"gorm.io/driver/postgres"
	"gorm.io/gorm"
)

func main(){

        env := godotenv.Load()
	if env != nil {
	   log.Fatal("Error loading .env file")
	 }

	host := os.Getenv("DB_HOST")
	userHost := os.Getenv("DB_USER")
	userPass := os.Getenv("DB_PASSWORD")
	databaseName := os.Getenv("DB_DATABASE")
	databasePort := os.Getenv("DB_PORT")

	dsn := "host=" + host + " user=" + userHost + " password=" + userPass + " dbname=" + databaseName + " port=" + databasePort + " sslmode=disable TimeZone=Asia/Jakarta"
	db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
	if err != nil {
		log.Fatal(err)
		return
	}

	fmt.Println("Database Connected")

        //call micagen package
	gen := micagen.Micagen{}
        //automigrate struct of customer and generate crud rest api for customer
	gen.GenerateAll(db, &entity.Customer{})

}

https://github.com/ekokurniadi/micagen-example.git

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateAuth

func CreateAuth(db *gorm.DB, mystruct interface{}) string

func CreateEnv

func CreateEnv(db *gorm.DB, mystruct interface{}) string

func CreateFormatter

func CreateFormatter(db *gorm.DB, mystruct interface{}) string

func CreateHandler

func CreateHandler(db *gorm.DB, mystruct interface{}) string

func CreateHelper

func CreateHelper(db *gorm.DB, mystruct interface{}) string

func CreateRepository

func CreateRepository(db *gorm.DB, mystruct interface{}) string

func CreateService

func CreateService(db *gorm.DB, mystruct interface{}) string

func CreateStructInput

func CreateStructInput(mystruct interface{}) string

func GenerateTable

func GenerateTable(db *gorm.DB, model interface{}) (string, error)

Types

type Micagen

type Micagen struct {
}

func (*Micagen) GenerateAll

func (micagen *Micagen) GenerateAll(db *gorm.DB, model interface{})

Jump to

Keyboard shortcuts

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