diff --git a/daemon/http.go b/daemon/http.go index b45d732..978a424 100644 --- a/daemon/http.go +++ b/daemon/http.go @@ -3,7 +3,6 @@ package daemon import ( "net" - "elyby/minecraft-skinsystem/model" "elyby/minecraft-skinsystem/ui" "fmt" @@ -13,13 +12,14 @@ import ( "syscall" "github.com/mono83/slf/wd" + "elyby/minecraft-skinsystem/repositories" ) type Config struct { ListenSpec string - SkinsRepo model.SkinsRepository - CapesRepo model.CapesRepository + SkinsRepo repositories.SkinsRepository + CapesRepo repositories.CapesRepository Logger wd.Watchdog UI ui.Config } diff --git a/db/capes/config.go b/db/capes/config.go index 6b2c7a2..1f3fa34 100644 --- a/db/capes/config.go +++ b/db/capes/config.go @@ -1,7 +1,9 @@ package capes -import "elyby/minecraft-skinsystem/model" +import ( + "elyby/minecraft-skinsystem/repositories" +) type CapesRepositoryCreator interface { - Create() (model.CapesRepository, error) + Create() (repositories.CapesRepository, error) } diff --git a/db/capes/files/db.go b/db/capes/files/db.go index 41fc2b2..f220ee2 100644 --- a/db/capes/files/db.go +++ b/db/capes/files/db.go @@ -1,11 +1,13 @@ package files -import "elyby/minecraft-skinsystem/model" +import ( + "elyby/minecraft-skinsystem/repositories" +) type FilesystemCapesFactory struct { StoragePath string } -func (cfg *FilesystemCapesFactory) Create() (model.CapesRepository, error) { +func (cfg *FilesystemCapesFactory) Create() (repositories.CapesRepository, error) { return &filesDb{path: cfg.StoragePath}, nil } diff --git a/db/skins/config.go b/db/skins/config.go index 7911bbd..48ab60a 100644 --- a/db/skins/config.go +++ b/db/skins/config.go @@ -1,7 +1,9 @@ package skins -import "elyby/minecraft-skinsystem/model" +import ( + "elyby/minecraft-skinsystem/repositories" +) type SkinsRepositoryCreator interface { - Create() (model.SkinsRepository, error) + Create() (repositories.SkinsRepository, error) } diff --git a/db/skins/redis/db.go b/db/skins/redis/db.go index b224a7f..2df1e01 100644 --- a/db/skins/redis/db.go +++ b/db/skins/redis/db.go @@ -1,8 +1,7 @@ package redis import ( - "elyby/minecraft-skinsystem/model" - + "elyby/minecraft-skinsystem/repositories" "github.com/mediocregopher/radix.v2/pool" ) @@ -11,7 +10,7 @@ type RedisSkinsFactory struct { PollSize int } -func (cfg *RedisSkinsFactory) Create() (model.SkinsRepository, error) { +func (cfg *RedisSkinsFactory) Create() (repositories.SkinsRepository, error) { conn, err := pool.New("tcp", cfg.Addr, cfg.PollSize) if err != nil { return nil, err diff --git a/model/cape.go b/model/cape.go index 67b84cb..355aef7 100644 --- a/model/cape.go +++ b/model/cape.go @@ -3,9 +3,5 @@ package model import "os" type Cape struct { - File *os.File -} - -type CapesRepository interface { - FindByUsername(username string) (Cape, error) + File *os.File // TODO: нужно абстрагироваться в отдельный файл с инфой о скине } diff --git a/model/skin.go b/model/skin.go index 27858ca..ef288e1 100644 --- a/model/skin.go +++ b/model/skin.go @@ -13,8 +13,3 @@ type Skin struct { MojangSignature string `json:"mojangSignature"` OldUsername string } - -type SkinsRepository interface { - FindByUsername(username string) (Skin, error) - FindByUserId(id int) (Skin, error) -} diff --git a/repositories/capes.go b/repositories/capes.go new file mode 100644 index 0000000..40b7348 --- /dev/null +++ b/repositories/capes.go @@ -0,0 +1,7 @@ +package repositories + +import "elyby/minecraft-skinsystem/model" + +type CapesRepository interface { + FindByUsername(username string) (model.Cape, error) +} diff --git a/repositories/skins.go b/repositories/skins.go new file mode 100644 index 0000000..9c8ccb3 --- /dev/null +++ b/repositories/skins.go @@ -0,0 +1,8 @@ +package repositories + +import "elyby/minecraft-skinsystem/model" + +type SkinsRepository interface { + FindByUsername(username string) (model.Skin, error) + FindByUserId(id int) (model.Skin, error) +} diff --git a/ui/service.go b/ui/service.go index 237ab5c..b589b63 100644 --- a/ui/service.go +++ b/ui/service.go @@ -1,21 +1,20 @@ package ui import ( - "elyby/minecraft-skinsystem/model" - "github.com/mono83/slf/wd" + "elyby/minecraft-skinsystem/repositories" ) type uiService struct { logger wd.Watchdog - skinsRepo model.SkinsRepository - capesRepo model.CapesRepository + skinsRepo repositories.SkinsRepository + capesRepo repositories.CapesRepository } func NewUiService( logger wd.Watchdog, - skinsRepo model.SkinsRepository, - capesRepo model.CapesRepository, + skinsRepo repositories.SkinsRepository, + capesRepo repositories.CapesRepository, ) (*uiService, error) { return &uiService{ logger: logger,