lens @ 7a414da9a802d5eeee911b3536790a061e1d7503

ref: Move all controller under the same folder

Move all controller to the same folder and rename them to service.

Moving them to the same folder allow an easier setup for testing.
  1diff --git a/cmd/server/main.go b/cmd/server/main.go
  2index 76cf0c087be14c81404492af02b7c4875d4dd1b9..702ca6e7756dc49c9e23d3a6483a0caada72042b 100644
  3--- a/cmd/server/main.go
  4+++ b/cmd/server/main.go
  5@@ -17,12 +17,11 @@ 	"gorm.io/driver/sqlite"
  6 	"gorm.io/gorm"
  7 
  8 	"git.sr.ht/~gabrielgio/img"
  9-	"git.sr.ht/~gabrielgio/img/pkg/components/auth"
 10-	"git.sr.ht/~gabrielgio/img/pkg/components/filesystem"
 11 	"git.sr.ht/~gabrielgio/img/pkg/database/localfs"
 12 	"git.sr.ht/~gabrielgio/img/pkg/database/repository"
 13 	"git.sr.ht/~gabrielgio/img/pkg/database/sql"
 14 	"git.sr.ht/~gabrielgio/img/pkg/ext"
 15+	"git.sr.ht/~gabrielgio/img/pkg/service"
 16 	"git.sr.ht/~gabrielgio/img/pkg/view"
 17 	"git.sr.ht/~gabrielgio/img/pkg/worker"
 18 )
 19@@ -97,8 +96,8 @@ 	scheduler := worker.NewScheduler(*schedulerCount)
 20 
 21 	// controller
 22 	var (
 23-		userController       = auth.NewController(userRepository, userRepository, hexKey)
 24-		fileSystemController = filesystem.NewController(fileSystemRepository)
 25+		userController       = service.NewAuthController(userRepository, userRepository, hexKey)
 26+		fileSystemController = service.NewFileSystemController(fileSystemRepository)
 27 	)
 28 
 29 	// view
 30diff --git a/pkg/components/auth/controller.go b/pkg/service/auth.go
 31rename from pkg/components/auth/controller.go
 32rename to pkg/service/auth.go
 33index 0b08fccedac11e0cc5970a746e46432b2390134f..4358a8a6b422a441b85c61c78d13090add66fc84 100644
 34--- a/pkg/components/auth/controller.go
 35+++ b/pkg/service/auth.go
 36@@ -1,34 +1,33 @@
 37-package auth
 38+package service
 39 
 40 import (
 41 	"context"
 42 
 43 	"golang.org/x/crypto/bcrypt"
 44 
 45-	"git.sr.ht/~gabrielgio/img/pkg/components"
 46 	"git.sr.ht/~gabrielgio/img/pkg/database/repository"
 47 	"git.sr.ht/~gabrielgio/img/pkg/ext"
 48 )
 49 
 50-type Controller struct {
 51+type AuthController struct {
 52 	authRepository repository.AuthRepository
 53 	userRepository repository.UserRepository
 54 	key            []byte
 55 }
 56 
 57-func NewController(
 58+func NewAuthController(
 59 	authRepository repository.AuthRepository,
 60 	userRepository repository.UserRepository,
 61 	key []byte,
 62-) *Controller {
 63-	return &Controller{
 64+) *AuthController {
 65+	return &AuthController{
 66 		authRepository: authRepository,
 67 		userRepository: userRepository,
 68 		key:            key,
 69 	}
 70 }
 71 
 72-func (c *Controller) Login(ctx context.Context, username, password []byte) ([]byte, error) {
 73+func (c *AuthController) Login(ctx context.Context, username, password []byte) ([]byte, error) {
 74 	id, err := c.authRepository.GetIDByUsername(ctx, string(username))
 75 	if err != nil {
 76 		return nil, err
 77@@ -52,14 +51,14 @@ }
 78 
 79 // InitialRegister register a initial user, it will validate if there is another
 80 // user stored already. If so an error `InvlidaInput` will be returned
 81-func (c *Controller) InitialRegister(ctx context.Context, username, password []byte, path []byte) error {
 82+func (c *AuthController) InitialRegister(ctx context.Context, username, password []byte, path []byte) error {
 83 	exist, err := c.userRepository.Any(ctx)
 84 	if err != nil {
 85 		return err
 86 	}
 87 
 88 	if exist {
 89-		return components.InvlidaInput
 90+		return InvlidInput
 91 	}
 92 
 93 	hash, err := bcrypt.GenerateFromPassword(password, bcrypt.MinCost)
 94diff --git a/pkg/components/auth/controller_test.go b/pkg/service/auth_test.go
 95rename from pkg/components/auth/controller_test.go
 96rename to pkg/service/auth_test.go
 97index b1ca065d481107931ccca4ee3cc48d581472c5f5..35b247575a785ddb5db5c0df0b810c2b6ec08fd8 100644
 98--- a/pkg/components/auth/controller_test.go
 99+++ b/pkg/service/auth_test.go
100@@ -1,6 +1,6 @@
101 //go:build unit
102 
103-package auth
104+package service
105 
106 import (
107 	"context"
108@@ -16,7 +16,7 @@ 	scene struct {
109 		ctx            context.Context
110 		authRepository repository.AuthRepository
111 		userRepository repository.UserRepository
112-		controller     *Controller
113+		controller     *AuthController
114 	}
115 )
116 
117@@ -30,7 +30,7 @@ 	return &scene{
118 		ctx:            context.Background(),
119 		authRepository: userRepository,
120 		userRepository: userRepository,
121-		controller:     NewController(userRepository, userRepository, key),
122+		controller:     NewAuthController(userRepository, userRepository, key),
123 	}
124 }
125 
126diff --git a/pkg/components/auth/mock_test.go b/pkg/service/main_test.go
127rename from pkg/components/auth/mock_test.go
128rename to pkg/service/main_test.go
129index 885f64316d474bdf213965a55660ee94fd6bd5b2..5c10ecd7fc5d57b30c8344a2b00354b26cdbbef1 100644
130--- a/pkg/components/auth/mock_test.go
131+++ b/pkg/service/main_test.go
132@@ -1,6 +1,6 @@
133 //go:build unit
134 
135-package auth
136+package service
137 
138 import (
139 	"context"
140diff --git a/pkg/components/errors.go b/pkg/components/errors.go
141deleted file mode 100644
142index aedbe889b5f1e2d54616f746b859da359a288be5..0000000000000000000000000000000000000000
143--- a/pkg/components/errors.go
144+++ /dev/null
145@@ -1,8 +0,0 @@
146-package components
147-
148-import "errors"
149-
150-var (
151-	NotFound     = errors.New("Not found")
152-	InvlidaInput = errors.New("Invalid Input")
153-)
154diff --git a/pkg/components/filesystem/controller.go b/pkg/service/filesystem.go
155rename from pkg/components/filesystem/controller.go
156rename to pkg/service/filesystem.go
157index 6c613a3c0c1e1cd8ba152e855deeb12e8fb2b1a3..3516ce2642ba63e2d8ef7f774469657d64123c70 100644
158--- a/pkg/components/filesystem/controller.go
159+++ b/pkg/service/filesystem.go
160@@ -1,4 +1,4 @@
161-package filesystem
162+package service
163 
164 import (
165 	"io/fs"
166@@ -10,7 +10,7 @@ 	"git.sr.ht/~gabrielgio/img/pkg/database/repository"
167 )
168 
169 type (
170-	Controller struct {
171+	FileSystemController struct {
172 		repository repository.FileSystemRepository
173 	}
174 
175@@ -30,8 +30,8 @@ 		Files   []*FileParam
176 	}
177 )
178 
179-func NewController(repository repository.FileSystemRepository) *Controller {
180-	return &Controller{
181+func NewFileSystemController(repository repository.FileSystemRepository) *FileSystemController {
182+	return &FileSystemController{
183 		repository: repository,
184 	}
185 }
186@@ -63,7 +63,7 @@ 	}
187 	return result
188 }
189 
190-func (self *Controller) GetPage(filepath string) (*Page, error) {
191+func (self *FileSystemController) GetPage(filepath string) (*Page, error) {
192 	decodedPath, err := url.QueryUnescape(filepath)
193 	if err != nil {
194 		return nil, err
195diff --git a/pkg/components/user/controller.go b/pkg/components/user/controller.go
196deleted file mode 100644
197index a00006b65468ecad731002a1e2c54884759656ed..0000000000000000000000000000000000000000
198--- a/pkg/components/user/controller.go
199+++ /dev/null
200@@ -1 +0,0 @@
201-package user
202diff --git a/pkg/service/errors.go b/pkg/service/errors.go
203new file mode 100644
204index 0000000000000000000000000000000000000000..65984642e7efd0eb0b975777cc4a4a942fadd207
205--- /dev/null
206+++ b/pkg/service/errors.go
207@@ -0,0 +1,8 @@
208+package service
209+
210+import "errors"
211+
212+var (
213+	NotFound    = errors.New("Not found")
214+	InvlidInput = errors.New("Invalid Input")
215+)
216diff --git a/pkg/view/auth.go b/pkg/view/auth.go
217index 3f9e4140365dbed89f490c6d39e066670fc3d1b4..6b096d9ff553f6d8329eacf7265142696db11d4b 100644
218--- a/pkg/view/auth.go
219+++ b/pkg/view/auth.go
220@@ -6,15 +6,15 @@
221 	"github.com/valyala/fasthttp"
222 
223 	"git.sr.ht/~gabrielgio/img"
224-	"git.sr.ht/~gabrielgio/img/pkg/components/auth"
225 	"git.sr.ht/~gabrielgio/img/pkg/ext"
226+	"git.sr.ht/~gabrielgio/img/pkg/service"
227 )
228 
229 type AuthView struct {
230-	userController *auth.Controller
231+	userController *service.AuthController
232 }
233 
234-func NewAuthView(userController *auth.Controller) *AuthView {
235+func NewAuthView(userController *service.AuthController) *AuthView {
236 	return &AuthView{
237 		userController: userController,
238 	}
239diff --git a/pkg/view/filesystem.go b/pkg/view/filesystem.go
240index d2ebff41d46fb2a9cb581d29ee31bca4af814216..d598b88014738c96532ea5b265f804ac9f87fcf2 100644
241--- a/pkg/view/filesystem.go
242+++ b/pkg/view/filesystem.go
243@@ -4,25 +4,25 @@ import (
244 	"github.com/valyala/fasthttp"
245 
246 	"git.sr.ht/~gabrielgio/img"
247-	"git.sr.ht/~gabrielgio/img/pkg/components/filesystem"
248 	"git.sr.ht/~gabrielgio/img/pkg/database/repository"
249 	"git.sr.ht/~gabrielgio/img/pkg/ext"
250+	"git.sr.ht/~gabrielgio/img/pkg/service"
251 )
252 
253 type (
254 	FileSystemView struct {
255-		controller filesystem.Controller
256+		controller service.FileSystemController
257 		settings   repository.SettingsRepository
258 	}
259 	FilePage struct {
260-		Page      *filesystem.Page
261+		Page      *service.Page
262 		ShowMode  bool
263 		ShowOwner bool
264 	}
265 )
266 
267 func NewFileSystemView(
268-	controller filesystem.Controller,
269+	controller service.FileSystemController,
270 	settingsRepository repository.SettingsRepository,
271 ) *FileSystemView {
272 	return &FileSystemView{