# The app's public surface, written by `tilo-app surface`: its resources' verbs
# and stored fields. Review changes to it like an API change; `tilo-app check`
# fails when the code and this file disagree.

[[resources]]
kind = "disks.system"
label = "Storage devices"
version = 1

[[resources.fields]]
owner = "disks"
path = "names"
stored = "value"
title = "Drive serial number to the name the person gave it. A name is written"
type = "BTreeMap<String, Atom>"

[[resources.verbs]]
description = "The name follows the drive to every device it is plugged into."
id = "name-drive"
kind = "undoable"
label = "Name a drive, or forget its name"

[[resources.verbs.params]]
name = "serial"
required = true

[resources.verbs.params.schema]
type = "string"

[[resources.verbs.params]]
name = "name"
required = false

[resources.verbs.params.schema]
type = [
    "string",
    "null",
]
