Fix counts on upload

This commit is contained in:
Christoph Hagen 2022-06-11 00:38:53 +02:00
parent 23692377e8
commit 2860b5c3fc

View File

@ -176,7 +176,7 @@ final class CapServer {
f = file(of: cap, version: id) f = file(of: cap, version: id)
} }
try data.write(to: f) try data.write(to: f)
caps[cap]!.count += 1 caps[cap]!.count = try count(of: cap)
log("Added image \(id) for cap \(cap)") log("Added image \(id) for cap \(cap)")
} }
@ -192,21 +192,23 @@ final class CapServer {
func addOrUpdate(_ cap: Cap) throws { func addOrUpdate(_ cap: Cap) throws {
if let existingCap = caps[cap.id] { if let existingCap = caps[cap.id] {
try update(existingCap, with: cap) update(existingCap, with: cap)
} else { } else {
try add(cap) try add(cap)
} }
} }
private func add(_ cap: Cap) throws { private func add(_ cap: Cap) throws {
guard cap.mainImage == 0, cap.count == 0 else { guard cap.mainImage == 0 else {
throw CapError.invalidData throw CapError.invalidData
} }
var cap = cap
cap.count = 0
caps[cap.id] = cap caps[cap.id] = cap
log("Added cap \(cap.id) '\(cap.name)'") log("Added cap \(cap.id) '\(cap.name)'")
} }
private func update(_ existingCap: Cap, with cap: Cap) throws { private func update(_ existingCap: Cap, with cap: Cap) {
var updatedCap = existingCap var updatedCap = existingCap
if cap.name != "" { if cap.name != "" {
updatedCap.name = cap.name updatedCap.name = cap.name