From f28c3a6c4224306a6ae1444e957b09b416c5d6f3 Mon Sep 17 00:00:00 2001 From: Alireza Mokhtari G Date: Sat, 16 Dec 2023 10:50:01 +0330 Subject: [PATCH] new_sample_structure --- .idea/.gitignore | 16 +++---- .idea/misc.xml | 7 ---- .idea/modules.xml | 14 +++---- .idea/niki.iml | 4 -- .idea/vcs.xml | 6 --- adapter/storage/action_piggy_bank.go | 23 ---------- adapter/storage/action_piggy_bank_request.go | 30 ------------- adapter/storage/init.go | 22 ---------- adapter/storage/models/actions.go | 32 -------------- adapter/storage/setup.go | 33 --------------- config/config.go | 14 +++++++ delivery/http/V1/init.go | 12 ------ delivery/http/V1/piggy_bank/edit.go | 12 ------ delivery/http/V1/piggy_bank/init.go | 8 ---- delivery/http/V1/piggy_bank/new.go | 13 ------ delivery/http/init.go | 20 --------- delivery/httpserver/server.go | 17 ++++++++ dto/piggy_bank/piggy_bank.go | 17 -------- entity/piggy_bank.go | 11 +++++ entity/piggy_bank/contract.go | 9 ---- entity/piggy_bank/model.go | 9 ---- entity/piggy_bank_request/contract.go | 9 ---- entity/piggy_bank_request/model.go | 12 ------ go.mod | 25 +---------- main.go | 12 +----- param/piggy_bank_delete.go | 7 ++++ param/piggy_bank_get_all.go | 7 ++++ param/piggy_bank_get_by_id.go | 7 ++++ param/piggy_bank_store.go | 7 ++++ param/piggy_bank_update.go | 7 ++++ repository/mysql/db.go | 42 +++++++++++++++++++ repository/mysql/dbconfig.yml | 0 repository/mysql/mysqlpiggybank/db.go | 13 ++++++ repository/mysql/mysqlpiggybank/piggy_bank.go | 1 + service/piggy_bank/edit.go | 11 ----- service/piggy_bank/init.go | 14 ------- service/piggy_bank/new.go | 11 ----- service/piggybankservice/delete.go | 7 ++++ service/piggybankservice/get_all.go | 7 ++++ service/piggybankservice/get_by_id.go | 7 ++++ service/piggybankservice/service.go | 21 ++++++++++ service/piggybankservice/store.go | 7 ++++ service/piggybankservice/update.go | 7 ++++ validator/piggybankvalidator/delete.go | 7 ++++ validator/piggybankvalidator/get_by_id.go | 7 ++++ validator/piggybankvalidator/store.go | 7 ++++ validator/piggybankvalidator/update.go | 7 ++++ validator/piggybankvalidator/validator.go | 12 ++++++ 48 files changed, 247 insertions(+), 363 deletions(-) delete mode 100644 .idea/misc.xml delete mode 100644 .idea/niki.iml delete mode 100644 .idea/vcs.xml delete mode 100644 adapter/storage/action_piggy_bank.go delete mode 100644 adapter/storage/action_piggy_bank_request.go delete mode 100644 adapter/storage/init.go delete mode 100644 adapter/storage/models/actions.go delete mode 100644 adapter/storage/setup.go create mode 100644 config/config.go delete mode 100644 delivery/http/V1/init.go delete mode 100644 delivery/http/V1/piggy_bank/edit.go delete mode 100644 delivery/http/V1/piggy_bank/init.go delete mode 100644 delivery/http/V1/piggy_bank/new.go delete mode 100644 delivery/http/init.go create mode 100644 delivery/httpserver/server.go delete mode 100644 dto/piggy_bank/piggy_bank.go create mode 100644 entity/piggy_bank.go delete mode 100644 entity/piggy_bank/contract.go delete mode 100644 entity/piggy_bank/model.go delete mode 100644 entity/piggy_bank_request/contract.go delete mode 100644 entity/piggy_bank_request/model.go create mode 100644 param/piggy_bank_delete.go create mode 100644 param/piggy_bank_get_all.go create mode 100644 param/piggy_bank_get_by_id.go create mode 100644 param/piggy_bank_store.go create mode 100644 param/piggy_bank_update.go create mode 100644 repository/mysql/db.go create mode 100644 repository/mysql/dbconfig.yml create mode 100644 repository/mysql/mysqlpiggybank/db.go create mode 100644 repository/mysql/mysqlpiggybank/piggy_bank.go delete mode 100644 service/piggy_bank/edit.go delete mode 100644 service/piggy_bank/init.go delete mode 100644 service/piggy_bank/new.go create mode 100644 service/piggybankservice/delete.go create mode 100644 service/piggybankservice/get_all.go create mode 100644 service/piggybankservice/get_by_id.go create mode 100644 service/piggybankservice/service.go create mode 100644 service/piggybankservice/store.go create mode 100644 service/piggybankservice/update.go create mode 100644 validator/piggybankvalidator/delete.go create mode 100644 validator/piggybankvalidator/get_by_id.go create mode 100644 validator/piggybankvalidator/store.go create mode 100644 validator/piggybankvalidator/update.go create mode 100644 validator/piggybankvalidator/validator.go diff --git a/.idea/.gitignore b/.idea/.gitignore index 73f69e0..1c2fda5 100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -1,8 +1,8 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 30bab2a..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index f0bc489..68895b6 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -1,8 +1,8 @@ - - - - - - - + + + + + + + \ No newline at end of file diff --git a/.idea/niki.iml b/.idea/niki.iml deleted file mode 100644 index 7ee078d..0000000 --- a/.idea/niki.iml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/adapter/storage/action_piggy_bank.go b/adapter/storage/action_piggy_bank.go deleted file mode 100644 index 654b923..0000000 --- a/adapter/storage/action_piggy_bank.go +++ /dev/null @@ -1,23 +0,0 @@ -package storage - -import entitypiggybankrequest "git.gocasts.ir/ebhomengo/niki/entity/piggy_bank_request" - -func (d *DBMS) AddPiggyRequestBank([]entitypiggybankrequest.PiggyBankRequest) error { - return nil - -} -func (d *DBMS) EditPiggyRequestBank(PiggyRequestID uint, PiggyRequestBankInput entitypiggybankrequest.PiggyBankRequest) error { - return nil - -} -func (d *DBMS) DeletePiggyRequestBank(PiggyRequestID uint) error { - return nil - -} -func (d *DBMS) GetAllPiggyRequestBank() ([]entitypiggybankrequest.PiggyBankRequest, error) { - return []entitypiggybankrequest.PiggyBankRequest{}, nil - -} -func (d *DBMS) GetPiggyRequestBankByID(PiggyRequestBank uint) (entitypiggybankrequest.PiggyBankRequest, error) { - return entitypiggybankrequest.PiggyBankRequest{}, nil -} diff --git a/adapter/storage/action_piggy_bank_request.go b/adapter/storage/action_piggy_bank_request.go deleted file mode 100644 index 3305125..0000000 --- a/adapter/storage/action_piggy_bank_request.go +++ /dev/null @@ -1,30 +0,0 @@ -package storage - -import ( - storage "git.gocasts.ir/ebhomengo/niki/adapter/storage/models" - entitypiggybank "git.gocasts.ir/ebhomengo/niki/entity/piggy_bank" -) - -func (d *DBMS) AddPiggyBank([]entitypiggybank.PiggyBank) error { - return nil -} -func (d *DBMS) EditPiggyBank(piggyID uint, piggyBankInput entitypiggybank.PiggyBank) error { - return nil -} -func (d *DBMS) DeletePiggyBank(piggyID uint) error { - return nil -} -func (d *DBMS) GetAllPiggyBank() ([]entitypiggybank.PiggyBank, error) { - var storeResponse []storage.PiggyBank - if err := d.db.Find(&storeResponse).Error; err != nil { - return nil, err - } - actionsEntities := make([]entitypiggybank.PiggyBank, len(storeResponse)) - for i := range storeResponse { - actionsEntities[i] = storage.MapActionsStoreToEntity(storeResponse[i]) - } - return actionsEntities, nil -} -func (d *DBMS) GetPiggyBankByID(piggyBankID uint) (entitypiggybank.PiggyBank, error) { - return entitypiggybank.PiggyBank{}, nil -} diff --git a/adapter/storage/init.go b/adapter/storage/init.go deleted file mode 100644 index 0091ef4..0000000 --- a/adapter/storage/init.go +++ /dev/null @@ -1,22 +0,0 @@ -package storage - -import ( - "fmt" -) - -var DB DBMS - -func Init() { - var eErr error - //I. Define a data source name (DSN) - dsn := "niki_user:NIKI_user@123@tcp(127.0.0.1:3306)/niki?charset=utf8mb4&parseTime=True&loc=Local" - //II. Try to connect to dsn address - DB, eErr = GormConnect(dsn) - //III. If gorm connect successfully then try to migrate database - if eErr == nil { - err := GormAutoMigrate(*DB.db) - if err != nil { - fmt.Errorf("some error .... %#v", err) - } - } -} diff --git a/adapter/storage/models/actions.go b/adapter/storage/models/actions.go deleted file mode 100644 index 4b96eaf..0000000 --- a/adapter/storage/models/actions.go +++ /dev/null @@ -1,32 +0,0 @@ -package storage - -import ( - entitypiggybank "git.gocasts.ir/ebhomengo/niki/entity/piggy_bank" - "gorm.io/gorm" - "time" -) - -type PiggyBank struct { - gorm.Model - TotalAmount uint - SerialNumber string - //to don't insert value in "updated_at" at "insert mode" : - //see more: https://gorm.io/docs/update.html - UpdatedAt *time.Time `json:"updated_at" gorm:"<-:update"` -} - -func MapActionsStoreToEntity(piggyBank PiggyBank) entitypiggybank.PiggyBank { - returnModel := entitypiggybank.PiggyBank{ - ID: piggyBank.ID, - SerialNumber: piggyBank.SerialNumber, - TotalAmount: piggyBank.TotalAmount, - } - return returnModel -} - -func MapEntityToActionsStore(input entitypiggybank.PiggyBank) PiggyBank { - return PiggyBank{ - SerialNumber: input.SerialNumber, - TotalAmount: input.TotalAmount, - } -} diff --git a/adapter/storage/setup.go b/adapter/storage/setup.go deleted file mode 100644 index 3dec335..0000000 --- a/adapter/storage/setup.go +++ /dev/null @@ -1,33 +0,0 @@ -package storage - -import ( - storage "git.gocasts.ir/ebhomengo/niki/adapter/storage/models" - "gorm.io/driver/mysql" - "gorm.io/gorm" - "gorm.io/gorm/logger" -) - -type DBMS struct { - db *gorm.DB -} - -func GormConnect(dsn string) (DBMS, error) { - gorm, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ - Logger: logger.Default.LogMode(logger.Info), - }) - if err != nil { - return DBMS{}, err - } - return DBMS{db: gorm}, nil -} - -func GormAutoMigrate(db gorm.DB) error { - // Migrate the schema - err := db.AutoMigrate( - storage.PiggyBank{}, - ) - if err != nil { - panic(any("Storage auto migrate has error")) - } - return err -} diff --git a/config/config.go b/config/config.go new file mode 100644 index 0000000..8349495 --- /dev/null +++ b/config/config.go @@ -0,0 +1,14 @@ +package config + +import ( + "git.gocasts.ir/ebhomengo/niki/repository/mysql" +) + +type HTTPServer struct { + Port int `koanf:"port"` +} + +type Config struct { + HTTPServer HTTPServer `koanf:"http_server"` + Mysql mysql.Config `koanf:"mysql"` +} diff --git a/delivery/http/V1/init.go b/delivery/http/V1/init.go deleted file mode 100644 index 1eda484..0000000 --- a/delivery/http/V1/init.go +++ /dev/null @@ -1,12 +0,0 @@ -package V1 - -import ( - deliverypiggybank "git.gocasts.ir/ebhomengo/niki/delivery/http/V1/piggy_bank" - "github.com/labstack/echo/v4" -) - -func Init(echo *echo.Echo) { - - deliverypiggybank.Routs(echo) - -} diff --git a/delivery/http/V1/piggy_bank/edit.go b/delivery/http/V1/piggy_bank/edit.go deleted file mode 100644 index 6b35b48..0000000 --- a/delivery/http/V1/piggy_bank/edit.go +++ /dev/null @@ -1,12 +0,0 @@ -package deliverypiggybank - -import ( - "github.com/labstack/echo/v4" - "net/http" -) - -func EditPiggyBank() echo.HandlerFunc { - return func(c echo.Context) error { - return c.JSON(http.StatusOK, nil) - } -} diff --git a/delivery/http/V1/piggy_bank/init.go b/delivery/http/V1/piggy_bank/init.go deleted file mode 100644 index e9f4bac..0000000 --- a/delivery/http/V1/piggy_bank/init.go +++ /dev/null @@ -1,8 +0,0 @@ -package deliverypiggybank - -import "github.com/labstack/echo/v4" - -func Routs(e *echo.Echo) { - //initialise piggy_bank details routes - -} diff --git a/delivery/http/V1/piggy_bank/new.go b/delivery/http/V1/piggy_bank/new.go deleted file mode 100644 index ff3cde0..0000000 --- a/delivery/http/V1/piggy_bank/new.go +++ /dev/null @@ -1,13 +0,0 @@ -package deliverypiggybank - -import ( - "github.com/labstack/echo/v4" - "net/http" -) - -func NewPiggyBank() echo.HandlerFunc { - return func(c echo.Context) error { - - return c.JSON(http.StatusCreated, "") - } -} diff --git a/delivery/http/init.go b/delivery/http/init.go deleted file mode 100644 index 6df267f..0000000 --- a/delivery/http/init.go +++ /dev/null @@ -1,20 +0,0 @@ -package http - -import ( - "git.gocasts.ir/ebhomengo/niki/delivery/http/V1" - "github.com/labstack/echo/v4" - "github.com/labstack/echo/v4/middleware" -) - -func Init() { - //initialise new Echo (web framework) - e := echo.New() - e.Use(middleware.CORSWithConfig(middleware.CORSConfig{ - AllowOrigins: []string{"*" /*, "https://labstack.net"*/}, - AllowHeaders: []string{echo.HeaderOrigin, echo.HeaderContentType, echo.HeaderAccept}, - })) - //handle incoming requests: - V1.Init(e) - //serve with port - e.Logger.Fatal(e.Start(":1313")) -} diff --git a/delivery/httpserver/server.go b/delivery/httpserver/server.go new file mode 100644 index 0000000..5a120cb --- /dev/null +++ b/delivery/httpserver/server.go @@ -0,0 +1,17 @@ +package httpserver + +import "git.gocasts.ir/ebhomengo/niki/config" + +type Server struct { + config config.Config +} + +func New(config config.Config) Server { + return Server{ + config: config, + } +} + +func (s Server) Serve() { + +} diff --git a/dto/piggy_bank/piggy_bank.go b/dto/piggy_bank/piggy_bank.go deleted file mode 100644 index 648e31c..0000000 --- a/dto/piggy_bank/piggy_bank.go +++ /dev/null @@ -1,17 +0,0 @@ -package dto - -import ( - entitypiggybank "git.gocasts.ir/ebhomengo/niki/entity/piggy_bank" -) - -type ( - //get - GetPiggyBankRequest struct { - ID uint `json:"id"` - TotalAmount uint `json:"totalAmount"` - SerialNumber string `json:"serialNumber"` - } - GetPiggyBankResponse struct { - Games []entitypiggybank.PiggyBank - } -) diff --git a/entity/piggy_bank.go b/entity/piggy_bank.go new file mode 100644 index 0000000..7cd6eab --- /dev/null +++ b/entity/piggy_bank.go @@ -0,0 +1,11 @@ +package entity + +import "time" + +type PiggyBank struct { + ID uint + TotalAmount uint + SerialNumber string + Status uint + StatusChangedAt *time.Time +} diff --git a/entity/piggy_bank/contract.go b/entity/piggy_bank/contract.go deleted file mode 100644 index 9ab4c07..0000000 --- a/entity/piggy_bank/contract.go +++ /dev/null @@ -1,9 +0,0 @@ -package entitypiggybank - -type PiggyBankServices interface { - AddPiggyBank([]PiggyBank) error - EditPiggyBank(piggyID uint, piggyBankInput PiggyBank) error - DeletePiggyBank(piggyID uint) error - GetAllPiggyBank() ([]PiggyBank, error) - GetPiggyBankByID(piggyBankID uint) (PiggyBank, error) -} diff --git a/entity/piggy_bank/model.go b/entity/piggy_bank/model.go deleted file mode 100644 index 335d391..0000000 --- a/entity/piggy_bank/model.go +++ /dev/null @@ -1,9 +0,0 @@ -package entitypiggybank - -type ( - PiggyBank struct { - ID uint - TotalAmount uint - SerialNumber string - } -) diff --git a/entity/piggy_bank_request/contract.go b/entity/piggy_bank_request/contract.go deleted file mode 100644 index 6edad4b..0000000 --- a/entity/piggy_bank_request/contract.go +++ /dev/null @@ -1,9 +0,0 @@ -package entitypiggybankrequest - -type PiggyRequestBankRequestServices interface { - AddPiggyRequestBank([]PiggyBankRequest) error - EditPiggyRequestBank(PiggyRequestID uint, PiggyRequestBankInput PiggyBankRequest) error - DeletePiggyRequestBank(PiggyRequestID uint) error - GetAllPiggyRequestBank() ([]PiggyBankRequest, error) - GetPiggyRequestBankByID(PiggyRequestBank uint) (PiggyBankRequest, error) -} diff --git a/entity/piggy_bank_request/model.go b/entity/piggy_bank_request/model.go deleted file mode 100644 index fc6e7d7..0000000 --- a/entity/piggy_bank_request/model.go +++ /dev/null @@ -1,12 +0,0 @@ -package entitypiggybankrequest - -type ( - PiggyBankRequest struct { - ID uint - TypeId uint - CountRequested uint - CountAccepted uint - BenefactorID uint - Description string - } -) diff --git a/go.mod b/go.mod index 0f16f59..ea6120e 100644 --- a/go.mod +++ b/go.mod @@ -1,26 +1,3 @@ module git.gocasts.ir/ebhomengo/niki -go 1.21.0 - -require ( - github.com/labstack/echo/v4 v4.11.3 - gorm.io/driver/mysql v1.5.2 - gorm.io/gorm v1.25.5 -) - -require ( - github.com/go-sql-driver/mysql v1.7.0 // indirect - github.com/golang-jwt/jwt v3.2.2+incompatible // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.5 // indirect - github.com/labstack/gommon v0.4.0 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasttemplate v1.2.2 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect - golang.org/x/time v0.3.0 // indirect -) +go 1.21.3 diff --git a/main.go b/main.go index 07b7901..7905807 100644 --- a/main.go +++ b/main.go @@ -1,13 +1,5 @@ -package niki - -import ( - "git.gocasts.ir/ebhomengo/niki/adapter/storage" - "git.gocasts.ir/ebhomengo/niki/delivery/http" -) +package main func main() { - //initialize D.B.M.S. (Database management system) - storage.Init() - //initialize new Echo (web framework) - http.Init() + } diff --git a/param/piggy_bank_delete.go b/param/piggy_bank_delete.go new file mode 100644 index 0000000..e98f3a4 --- /dev/null +++ b/param/piggy_bank_delete.go @@ -0,0 +1,7 @@ +package param + +type PiggyBankDeleteRequest struct { +} + +type PiggyBankDeleteResponse struct { +} diff --git a/param/piggy_bank_get_all.go b/param/piggy_bank_get_all.go new file mode 100644 index 0000000..0316933 --- /dev/null +++ b/param/piggy_bank_get_all.go @@ -0,0 +1,7 @@ +package param + +type PiggyBankGetAllRequest struct { +} + +type PiggyBankGetAllResponse struct { +} diff --git a/param/piggy_bank_get_by_id.go b/param/piggy_bank_get_by_id.go new file mode 100644 index 0000000..fd00b67 --- /dev/null +++ b/param/piggy_bank_get_by_id.go @@ -0,0 +1,7 @@ +package param + +type PiggyBankGetByIdRequest struct { +} + +type PiggyBankGetByIdResponse struct { +} diff --git a/param/piggy_bank_store.go b/param/piggy_bank_store.go new file mode 100644 index 0000000..87a1e7f --- /dev/null +++ b/param/piggy_bank_store.go @@ -0,0 +1,7 @@ +package param + +type PiggyBankStoreRequest struct { +} + +type PiggyBankStoreResponse struct { +} diff --git a/param/piggy_bank_update.go b/param/piggy_bank_update.go new file mode 100644 index 0000000..226e0a8 --- /dev/null +++ b/param/piggy_bank_update.go @@ -0,0 +1,7 @@ +package param + +type PiggyBankUpdateRequest struct { +} + +type PiggyBankUpdateResponse struct { +} diff --git a/repository/mysql/db.go b/repository/mysql/db.go new file mode 100644 index 0000000..4d3dd62 --- /dev/null +++ b/repository/mysql/db.go @@ -0,0 +1,42 @@ +package mysql + +import ( + "database/sql" + "fmt" + "time" +) + +type Config struct { + Username string `koanf:"username"` + Password string `koanf:"password"` + Port int `koanf:"port"` + Host string `koanf:"host"` + DBName string `koanf:"db_name"` +} + +type MySQLDB struct { + config Config + db *sql.DB +} + +func (m *MySQLDB) Conn() *sql.DB { + return m.db +} + +func New(config Config) *MySQLDB { + // parseTime=true changes the output type of DATE and DATETIME values to time.Time + // instead of []byte / string + // The date or datetime like 0000-00-00 00:00:00 is converted into zero value of time.Time + db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@(%s:%d)/%s?parseTime=true", + config.Username, config.Password, config.Host, config.Port, config.DBName)) + if err != nil { + panic(fmt.Errorf("can't open mysql db: %v", err)) + } + + // See "Important settings" section. + db.SetConnMaxLifetime(time.Minute * 3) + db.SetMaxOpenConns(10) + db.SetMaxIdleConns(10) + + return &MySQLDB{config: config, db: db} +} diff --git a/repository/mysql/dbconfig.yml b/repository/mysql/dbconfig.yml new file mode 100644 index 0000000..e69de29 diff --git a/repository/mysql/mysqlpiggybank/db.go b/repository/mysql/mysqlpiggybank/db.go new file mode 100644 index 0000000..2e7040a --- /dev/null +++ b/repository/mysql/mysqlpiggybank/db.go @@ -0,0 +1,13 @@ +package mysqlpiggybank + +import "git.gocasts.ir/ebhomengo/niki/repository/mysql" + +type DB struct { + conn *mysql.MySQLDB +} + +func New(conn *mysql.MySQLDB) *DB { + return &DB{ + conn: conn, + } +} diff --git a/repository/mysql/mysqlpiggybank/piggy_bank.go b/repository/mysql/mysqlpiggybank/piggy_bank.go new file mode 100644 index 0000000..d9fa118 --- /dev/null +++ b/repository/mysql/mysqlpiggybank/piggy_bank.go @@ -0,0 +1 @@ +package mysqlpiggybank diff --git a/service/piggy_bank/edit.go b/service/piggy_bank/edit.go deleted file mode 100644 index 10d4e4a..0000000 --- a/service/piggy_bank/edit.go +++ /dev/null @@ -1,11 +0,0 @@ -package piggy_bank - -import ( - dto "git.gocasts.ir/ebhomengo/niki/dto/piggy_bank" -) - -func (uc Usecase) EditPiggyBank(req dto.GetPiggyBankRequest) error { - //validation DTO request - - return nil -} diff --git a/service/piggy_bank/init.go b/service/piggy_bank/init.go deleted file mode 100644 index 7e90d23..0000000 --- a/service/piggy_bank/init.go +++ /dev/null @@ -1,14 +0,0 @@ -package piggy_bank - -import ( - "git.gocasts.ir/ebhomengo/niki/adapter/storage" - entitypiggybank "git.gocasts.ir/ebhomengo/niki/entity/piggy_bank" -) - -type Usecase struct { - storage entitypiggybank.PiggyBankServices -} - -func InitUsecase() Usecase { - return Usecase{storage: &storage.DB} -} diff --git a/service/piggy_bank/new.go b/service/piggy_bank/new.go deleted file mode 100644 index 420954e..0000000 --- a/service/piggy_bank/new.go +++ /dev/null @@ -1,11 +0,0 @@ -package piggy_bank - -import ( - dto "git.gocasts.ir/ebhomengo/niki/dto/piggy_bank" -) - -func (uc Usecase) NewPiggyBank(req dto.GetPiggyBankRequest) error { - //validation DTO request - - return nil -} diff --git a/service/piggybankservice/delete.go b/service/piggybankservice/delete.go new file mode 100644 index 0000000..018cb51 --- /dev/null +++ b/service/piggybankservice/delete.go @@ -0,0 +1,7 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (s Service) Delete(req param.PiggyBankDeleteRequest) (param.PiggyBankDeleteResponse, error) { + return param.PiggyBankDeleteResponse{}, nil +} diff --git a/service/piggybankservice/get_all.go b/service/piggybankservice/get_all.go new file mode 100644 index 0000000..22815a5 --- /dev/null +++ b/service/piggybankservice/get_all.go @@ -0,0 +1,7 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (s Service) GetAll(req param.PiggyBankGetAllRequest) (param.PiggyBankGetAllResponse, error) { + return param.PiggyBankGetAllResponse{}, nil +} diff --git a/service/piggybankservice/get_by_id.go b/service/piggybankservice/get_by_id.go new file mode 100644 index 0000000..a61326b --- /dev/null +++ b/service/piggybankservice/get_by_id.go @@ -0,0 +1,7 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (s Service) GetById(req param.PiggyBankGetByIdRequest) (param.PiggyBankGetByIdResponse, error) { + return param.PiggyBankGetByIdResponse{}, nil +} diff --git a/service/piggybankservice/service.go b/service/piggybankservice/service.go new file mode 100644 index 0000000..eacf98c --- /dev/null +++ b/service/piggybankservice/service.go @@ -0,0 +1,21 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/entity" + +type Repository interface { + AddPiggyBank(piggy entity.PiggyBank) (entity.PiggyBank, error) + EditPiggyBank(piggyID uint, piggyBankInput entity.PiggyBank) (entity.PiggyBank, error) + DeletePiggyBank(piggyID uint) error + GetAllPiggyBank() ([]entity.PiggyBank, error) + GetPiggyBankByID(piggyBank uint) (entity.PiggyBank, error) +} + +type Service struct { + repo Repository +} + +func New(repository Repository) Service { + return Service{ + repo: repository, + } +} diff --git a/service/piggybankservice/store.go b/service/piggybankservice/store.go new file mode 100644 index 0000000..770e407 --- /dev/null +++ b/service/piggybankservice/store.go @@ -0,0 +1,7 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (s Service) Store(req param.PiggyBankStoreRequest) (param.PiggyBankStoreResponse, error) { + return param.PiggyBankStoreResponse{}, nil +} diff --git a/service/piggybankservice/update.go b/service/piggybankservice/update.go new file mode 100644 index 0000000..720a1b0 --- /dev/null +++ b/service/piggybankservice/update.go @@ -0,0 +1,7 @@ +package piggybankservice + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (s Service) Update(req param.PiggyBankUpdateRequest) (param.PiggyBankUpdateResponse, error) { + return param.PiggyBankUpdateResponse{}, nil +} diff --git a/validator/piggybankvalidator/delete.go b/validator/piggybankvalidator/delete.go new file mode 100644 index 0000000..4f4ad52 --- /dev/null +++ b/validator/piggybankvalidator/delete.go @@ -0,0 +1,7 @@ +package piggybankvalidator + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (v Validator) ValidateDeleteRequest(req param.PiggyBankDeleteRequest) { + +} diff --git a/validator/piggybankvalidator/get_by_id.go b/validator/piggybankvalidator/get_by_id.go new file mode 100644 index 0000000..9dd4122 --- /dev/null +++ b/validator/piggybankvalidator/get_by_id.go @@ -0,0 +1,7 @@ +package piggybankvalidator + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (v Validator) ValidateGetByIdRequest(req param.PiggyBankGetByIdRequest) { + +} diff --git a/validator/piggybankvalidator/store.go b/validator/piggybankvalidator/store.go new file mode 100644 index 0000000..15fa4b9 --- /dev/null +++ b/validator/piggybankvalidator/store.go @@ -0,0 +1,7 @@ +package piggybankvalidator + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (v Validator) ValidateStoreRequest(req param.PiggyBankStoreRequest) { + +} diff --git a/validator/piggybankvalidator/update.go b/validator/piggybankvalidator/update.go new file mode 100644 index 0000000..15c4dd6 --- /dev/null +++ b/validator/piggybankvalidator/update.go @@ -0,0 +1,7 @@ +package piggybankvalidator + +import "git.gocasts.ir/ebhomengo/niki/param" + +func (v Validator) ValidateUpdateRequest(req param.PiggyBankUpdateRequest) { + +} diff --git a/validator/piggybankvalidator/validator.go b/validator/piggybankvalidator/validator.go new file mode 100644 index 0000000..3e7ea90 --- /dev/null +++ b/validator/piggybankvalidator/validator.go @@ -0,0 +1,12 @@ +package piggybankvalidator + +type Repository interface { +} + +type Validator struct { + repo Repository +} + +func New(repo Repository) Validator { + return Validator{repo: repo} +}