uh oh first commit

This commit is contained in:
2026-03-07 10:31:30 +03:00
commit adf21aad25
64 changed files with 2049 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
package commands
import collection.CollectionManager
import input.HumanBeingBuilder
import input.InputManager
import java.util.UUID
/**
* Обновляет элемент коллекции по его id.
* Синтаксис: update <uuid>
* Новые поля вводятся интерактивно через [HumanBeingBuilder].
*/
class UpdateCommand(
private val manager: CollectionManager,
private val inputManager: InputManager
) : Command {
override val name = "update"
override val description = "обновить элемент по id: update <uuid>"
override fun execute(args: List<String>) {
if (args.isEmpty()) {
println("[Ошибка] Укажите id элемента. Пример: update <uuid>")
return
}
val id = try {
UUID.fromString(args[0])
} catch (e: IllegalArgumentException) {
println("[Ошибка] Некорректный UUID: '${args[0]}'")
return
}
if (manager.getById(id) == null) {
println("[Ошибка] Элемент с id '$id' не найден.")
return
}
val updated = HumanBeingBuilder(inputManager).build()
manager.update(id, updated)
println("Элемент обновлён.")
}
}