Skip to content

Instantly share code, notes, and snippets.

View bykof's full-sized avatar
:electron:
Let's go to java and have a brainfuck

Michael Bykovski bykof

:electron:
Let's go to java and have a brainfuck
View GitHub Profile
// domain/product.go
package domain
type Product struct {
Name string
Description string
Amount int
)
@bykof
bykof / module.go
Last active February 18, 2020 13:15
func (module *Module) Configure(injector *dingo.Injector) {
web.BindRoutes(injector, new(Routes))
if os.Getenv("fake") == "true" {
injector.Bind(new(service.IOrderService)).To(infrastructure.FakeOrderService{})
} else {
injector.Bind(new(service.IOrderService)).To(infrastructure.OrderService{})
}
}
package infrastructure
import (
"dashboard/order/domain/entity"
)
type FakeOrderService struct{}
func (fakeOrderService FakeOrderService) GetOrder(id string) (entity.Order, error) {
return entity.Order{
package main
import (
"dashboard/api"
"flamingo.me/dingo"
"flamingo.me/flamingo/v3"
"flamingo.me/flamingo/v3/core/requestlogger"
)
func main() {
package api
import (
"dashboard/order/domain/service"
"dashboard/order/infrastructure"
"flamingo.me/dingo"
"flamingo.me/flamingo/v3/framework/web"
"os"
)
@bykof
bykof / routes.go
Last active February 18, 2020 13:55
package api
import (
"dashboard/api/interfaces"
"flamingo.me/flamingo/v3/framework/web"
)
type Routes struct {
orderController application.OrderController
}
func (orderController *OrderController) Get(ctx context.Context, req *web.Request) web.Result {
orderID, err := req.Query1(orderIDKey)
if err != nil {
return orderController.responder.ServerError(err)
}
order, err := orderController.orderService.GetOrder(orderID)
if err != nil {
return orderController.responder.ServerError(err)
}
func (orderController *OrderController) Inject(
responder *web.Responder,
orderService service.IOrderService,
) {
orderController.responder = responder
orderController.orderService = orderService
}
type (
OrderController struct {
responder *web.Responder
orderService service.IOrderService
}
GetOrderResponse struct {
Order entity.Order
}
)
package main
import (
"flamingo.me/dingo"
"flamingo.me/flamingo/v3"
"flamingo.me/flamingo/v3/core/requestlogger"
)
func main() {
flamingo.App(