lens @ 1dea35b9bcb3d37d61e554a99488626da9795331

feat: Remove unecessary param from repo
  1diff --git a/Makefile b/Makefile
  2index 39c579c0bb9e29d7a7407c5f2178d1e6178f32ee..5731808468bf7f1964698229f3399874c8ec2bab 100644
  3--- a/Makefile
  4+++ b/Makefile
  5@@ -13,9 +13,11 @@ 	$(GO_BUILD) -o $(OUT) $(SERVER)
  6 
  7 run: sass
  8 	$(GO_RUN) $(SERVER) \
  9-		--log-level error \
 10+		--db-type psql \
 11+		--db-con "host=localhost user=gabrielgio password=diablo123 dbname=img port=5432 sslmode=disable" \
 12+		--log-level trace \
 13 		--aes-key=6368616e676520746869732070617373 \
 14-		--root=${HOME} \
 15+		--root=${HOME}
 16 
 17 sass:
 18 	@mkdir -p static
 19diff --git a/README.md b/README.md
 20index 817ba0e9711bb18d0e309d69e1764762ed2ecae9..9f05e5fae430a2cb5a909ea86d48170021e97028 100644
 21--- a/README.md
 22+++ b/README.md
 23@@ -1,3 +1,13 @@
 24 # IMG
 25 
 26 A read only file explorer with media capabilities.
 27+
 28+# TODO 
 29+
 30+* Thumbnail system
 31+* Initial setup process
 32+    * Also allow setup user config file
 33+* Single binary output
 34+* Better worker pool. Allow cron job and ui config
 35+* Alpine package and demo site
 36+* Single image viewer and show exif info (not sure how yet)
 37diff --git a/cmd/server/main.go b/cmd/server/main.go
 38index e9314ec813338fb63cf8b4e536eab2ce20a8a446..0abdc09c74554ffe96c2e8d04b63a68923f41f12 100644
 39--- a/cmd/server/main.go
 40+++ b/cmd/server/main.go
 41@@ -112,7 +112,7 @@ 	// worker
 42 	var (
 43 		serverWorker = worker.NewServerWorker(&fasthttp.Server{Handler: r.Handler})
 44 		fileScanner  = worker.NewFileScanner(*root, mediaRepository)
 45-		exifScanner  = worker.NewEXIFScanner(*root, mediaRepository)
 46+		exifScanner  = worker.NewEXIFScanner(mediaRepository)
 47 	)
 48 
 49 	pool := worker.NewWorkerPool()
 50diff --git a/golangci.yml b/golangci.yml
 51index 25b47fd54de1addbcb04a64dd6eaf8a9d4305cf1..1ad6f9c8e4bdc1c983bb2f69ea2550f692625b4e 100644
 52--- a/golangci.yml
 53+++ b/golangci.yml
 54@@ -13,6 +13,8 @@     - unparam
 55     - gci
 56     - bodyclose
 57     - makezero
 58+    - govet
 59+    - contextcheck
 60 
 61 linters-settings:
 62   gci:
 63@@ -31,6 +33,11 @@         severity: error
 64         disabled: false
 65       - name: package-comments
 66         disabled: true
 67+  govet:
 68+    enable-all: true
 69+    disable:
 70+      - fieldalignment
 71+      - shadow
 72 
 73 issues:
 74   exclude-use-default: false
 75diff --git a/main b/main
 76deleted file mode 100644
 77index c2b077f19312c3a1e7db65c962d89510cd2e1a3e..0000000000000000000000000000000000000000
 78Binary files a/main and /dev/null differ
 79diff --git a/pkg/database/sql/media.go b/pkg/database/sql/media.go
 80index 835e262efe59ac90d2cdb27604caabfcd9e27fa4..59a4b83cd13b57b64e643a2b8a87f7f2c18fd9be 100644
 81--- a/pkg/database/sql/media.go
 82+++ b/pkg/database/sql/media.go
 83@@ -223,7 +223,7 @@ 		Joins("left join media_exifs on media.id = media_exifs.media_id").
 84 		Where("media_exifs.media_id IS NULL").
 85 		Offset(pagination.Page * pagination.Size).
 86 		Limit(pagination.Size).
 87-		Order("created_at DESC").
 88+		Order("media.created_at DESC").
 89 		Find(&medias)
 90 
 91 	if result.Error != nil {
 92diff --git a/pkg/worker/exif_scanner.go b/pkg/worker/exif_scanner.go
 93index 66091cd33ff93ebc6dbfda28a74bddef860ab6d3..6d40dbd7435830a06fee5974cda18f20e73f67c0 100644
 94--- a/pkg/worker/exif_scanner.go
 95+++ b/pkg/worker/exif_scanner.go
 96@@ -15,7 +15,7 @@ )
 97 
 98 var _ ListProcessor[*media.Media] = &EXIFScanner{}
 99 
100-func NewEXIFScanner(root string, repository media.Repository) *EXIFScanner {
101+func NewEXIFScanner(repository media.Repository) *EXIFScanner {
102 	return &EXIFScanner{
103 		repository: repository,
104 	}
105diff --git a/pkg/worker/file_scanner.go b/pkg/worker/file_scanner.go
106index 321fbcac11e422ea6221e8a476ac2f7704b06143..0dc2eb2d4ec01556a88a96ac284a0cd695b68f93 100644
107--- a/pkg/worker/file_scanner.go
108+++ b/pkg/worker/file_scanner.go
109@@ -33,6 +33,12 @@ 	c := make(chan string)
110 	go func() {
111 		defer close(c)
112 		_ = filepath.Walk(f.root, func(path string, info fs.FileInfo, err error) error {
113+			select {
114+			case <-ctx.Done():
115+				return filepath.SkipAll
116+			default:
117+			}
118+
119 			if info.IsDir() && filepath.Base(info.Name())[0] == '.' {
120 				return filepath.SkipDir
121 			}
122diff --git a/pkg/worker/list_processor_test.go b/pkg/worker/list_processor_test.go
123index b7373d183eed5685a26c30a4097a84cd0f36ea42..1e4ed2d7793632a996cb6b828fd21677dcedbb55 100644
124--- a/pkg/worker/list_processor_test.go
125+++ b/pkg/worker/list_processor_test.go
126@@ -1,4 +1,4 @@
127-// go:build unit
128+//go:build unit
129 
130 package worker
131 
132diff --git a/pkg/worker/worker.go b/pkg/worker/worker.go
133index c52f0becef3a84c09caa841e402977c9858e7fb3..18cc0e25c15a57d778a806275f6fa354b637d8c0 100644
134--- a/pkg/worker/worker.go
135+++ b/pkg/worker/worker.go
136@@ -36,12 +36,12 @@ 	})
137 }
138 
139 func (self *WorkerPool) Start(ctx context.Context) {
140+	self.wg.Add(len(self.workers))
141 	for _, w := range self.workers {
142-		self.wg.Add(1)
143 		go func(w *Work) {
144 			defer self.wg.Done()
145 			if err := w.Worker.Start(ctx); err != nil && !errors.Is(err, context.Canceled) {
146-				fmt.Println("Error ", w.Name, err.Error())
147+				fmt.Println("Processes finished, error", w.Name, err.Error())
148 			} else {
149 				fmt.Println(w.Name, "done")
150 			}
151diff --git a/scss/main.scss b/scss/main.scss
152index bf6b3d8dda08d6916c9bae414816f95c84239261..faad1caee8041b36f946b89d7f8b309d042426c2 100644
153--- a/scss/main.scss
154+++ b/scss/main.scss
155@@ -13,6 +13,7 @@ $panel-shadow: 0;
156 
157 $card-shadow: 0;
158 $card-radius: 0;
159+$card-content-padding: 0;
160 
161 @import "bulma/sass/base/_all.sass";
162 @import "bulma/sass/utilities/_all.sass";
163@@ -38,7 +39,6 @@ }
164 
165 nav {
166     border-bottom: 1px solid;
167-    max-width: 1024px;
168     margin: auto;
169 }
170 
171diff --git a/templates/layout.html b/templates/layout.html
172index 56d02f80858fd73559659118b4352bb342f12188..e21ec5e8b6f8c4d9f66356eca18052a829dc7cc4 100644
173--- a/templates/layout.html
174+++ b/templates/layout.html
175@@ -21,7 +21,7 @@                     settings
176                 </a>
177             </div>
178         </nav>
179-        <div class="container is-max-desktop">
180+        <div class="container">
181             {{block "content" .}}noop{{end}}
182         </div>
183     </body>