| DATE | 2023-12-16T17:05:50+00:00 |
| DESCRIPTION | User manual for the cardant server. |
| IDENTIFIER | 9e6e25d5-7759-49a9-97b4-d0c645799e42 |
| LANGUAGE | en |
| SOURCE | https://www.io7m.com/software/cardant/ |
| TITLE | Cardant User Manual 1.0.0-beta0002 |
$ gpg --verify com.io7m.cardant.main-1.0.0-beta0002-distribution.zip.asc gpg: assuming signed data in 'com.io7m.cardant.main-1.0.0-beta0002-distribution.zip.asc' gpg: Signature made Tue 28 Jun 2022 15:01:56 GMT gpg: using RSA key 3CCE59428B30462D10459909C5607DA146E128B8 gpg: issuer "contact@io7m.com" gpg: using pgp trust model gpg: Good signature from "io7m.com (2022 maven-rsa-key) <contact@io7m.com>" [unknown]
$ unzip com.io7m.cardant.main-1.0.0-beta0002-distribution.zip $ export CARDANT_HOME=$(realpath cardant) $ ./cardant/bin/cardant cardant: usage: cardant [command] [arguments ...] ...
$ podman pull quay.io/io7mcom/cardant:1.0.0-beta0002 $ podman run quay.io/io7mcom/cardant:1.0.0-beta0002 cardant: usage: cardant [command] [arguments ...] ...
$ curl http://localhost:30000/health OK
$ cardant initialize \ --admin-id '92f83bce-3973-4db8-8aaf-d401443a9772' \ --admin-name 'someone' \ --configuration server.conf
$ cardant server --configuration server.conf info: [localhost/<unresolved>:30000] Inventory API server started
$ cardant shell [cardant]# version com.io7m.cardant 0.0.1-SNAPSHOT 20af71248a7784b0e5247eab4b1ebd28de284739
$ podman run \ --name some-postgres \ -e POSTGRES_USER=cardant_install \ -e POSTGRES_PASSWORD=mysecretpassword \ -d postgres
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration xmlns="com.io7m.cardant:configuration:1"
xmlns:ct="com.io7m.cardant:tls:1">
<InventoryService ListenAddress="[::]"
ListenPort="30000"
SessionExpiration="PT30M"
ExternalAddress="http://cardant.example.com:30000">
<ct:TLSDisabled/>
</InventoryService>
<Database Kind="POSTGRESQL"
OwnerRoleName="cardant_install"
OwnerRolePassword="892a2b68-2ddf-478a-a8ab-37172f6ac2fe"
WorkerRolePassword="e61135dc-1d3f-4ab2-85ef-95ef49d66285"
ReaderRolePassword="c2026069-97e7-45b1-85c4-a2349bbb847b"
Address="db.example.com"
Port="5432"
Name="cardant"
Create="true"
Upgrade="true"
Language="english"/>
<Idstore BaseURI="https://idstore.example.com:50000"
PasswordResetURI="https://idstore.example.com:50001/reset"/>
<Limits MaximumFileUploadSizeOctets="10000000"
MaximumCommandSizeOctets="10000000"/>
<Maintenance TLSReloadInterval="PT24H"/>
<OpenTelemetry LogicalServiceName="cardant01">
<Logs Endpoint="http://logs.example.com:4317"
Protocol="GRPC"/>
<Metrics Endpoint="http://metrics.example.com:4317"
Protocol="GRPC"/>
<Traces Endpoint="http://traces.example.com:4317"
Protocol="GRPC"/>
</OpenTelemetry>
</Configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<InventoryService xmlns="com.io7m.cardant:configuration:1"
xmlns:tls="com.io7m.cardant:tls:1"
ListenAddress="[::]"
ListenPort="30000"
SessionExpiration="PT30M"
ExternalAddress="http://cardant.example.com:30000">
<tls:TLSEnabled>
<tls:KeyStore Type="CANONMILL"
Provider="CANONMILL"
Password="ignored"
File="/cardant/keystore.xml"/>
<tls:TrustStore Type="JKS"
Provider="SUN"
Password="changeit"
File="/usr/lib/jvm/java-21-openjdk/lib/security/cacerts"/>
</tls:TLSEnabled>
</InventoryService>
<?xml version="1.0" encoding="UTF-8" ?>
<Idstore xmlns="com.io7m.cardant:configuration:1"
BaseURI="https://idstore.example.com:50000"
PasswordResetURI="https://idstore.example.com:50001/reset"/>
<Maintenance TLSReloadInterval="PT30M"/>
<Limits MaximumFileUploadSizeOctets="10000000"
MaximumCommandSizeOctets="10000000"/>
<Database Kind="POSTGRESQL"
OwnerRoleName="cardant_install"
OwnerRolePassword="mydatabase"
WorkerRolePassword="willquickly"
ReaderRolePassword="becompromised"
Address="db.example.com"
Port="5432"
Name="cardant"
Create="true"
Upgrade="true"
Language="english"
MinimumPoolConnections="1"
MaximumPoolConnections="5"/>
<OpenTelemetry LogicalServiceName="idstore">
<Logs Endpoint="http://logs.example.com:4317"
Protocol="GRPC"/>
<Metrics Endpoint="http://metrics.example.com:4317"
Protocol="GRPC"/>
<Traces Endpoint="http://traces.example.com:4317"
Protocol="GRPC"/>
</OpenTelemetry>
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright © 2023 Mark Raynsford <code@io7m.com> https://www.io7m.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="com.io7m.cardant:configuration:1"
xmlns:ct="com.io7m.cardant:tls:1"
xmlns:c="com.io7m.cardant:configuration:1">
<import namespace="com.io7m.cardant:tls:1"/>
<annotation>
<documentation>
The schema for server configuration files.
</documentation>
</annotation>
<simpleType name="DatabaseKind">
<annotation>
<documentation>
The kind of the target database. Currently, only PostgreSQL is supported.
</documentation>
</annotation>
<restriction base="string">
<enumeration value="POSTGRESQL">
<annotation>
<documentation>
The database is PostgreSQL.
</documentation>
</annotation>
</enumeration>
</restriction>
</simpleType>
<element name="Idstore">
<annotation>
<documentation>
Configuration for the idstore server that will be used for user identity information.
</documentation>
</annotation>
<complexType>
<attribute name="BaseURI"
type="anyURI"
use="required">
<annotation>
<documentation>
The base URI of the idstore user API.
</documentation>
</annotation>
</attribute>
<attribute name="PasswordResetURI"
type="anyURI"
use="required">
<annotation>
<documentation>
The password reset URI to which to redirect users who want to reset their password.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<simpleType name="OpenTelemetryProtocol">
<annotation>
<documentation>
The protocol used to deliver OpenTelemetry data.
</documentation>
</annotation>
<restriction base="string">
<enumeration value="GRPC">
<annotation>
<documentation>
The data will be sent using gRPC.
</documentation>
</annotation>
</enumeration>
<enumeration value="HTTP">
<annotation>
<documentation>
The data will be sent using HTTP(s).
</documentation>
</annotation>
</enumeration>
</restriction>
</simpleType>
<element name="Logs">
<annotation>
<documentation>
Configuration information for OpenTelemetry logs.
</documentation>
</annotation>
<complexType>
<attribute name="Endpoint"
use="required"
type="anyURI">
<annotation>
<documentation>
The endpoint to which OTLP log data will be sent.
</documentation>
</annotation>
</attribute>
<attribute name="Protocol"
use="required"
type="c:OpenTelemetryProtocol">
<annotation>
<documentation>
The protocol used to send log data.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="Metrics">
<annotation>
<documentation>
Configuration information for OpenTelemetry metrics.
</documentation>
</annotation>
<complexType>
<attribute name="Endpoint"
use="required"
type="anyURI">
<annotation>
<documentation>
The endpoint to which OTLP metrics data will be sent.
</documentation>
</annotation>
</attribute>
<attribute name="Protocol"
use="required"
type="c:OpenTelemetryProtocol">
<annotation>
<documentation>
The protocol used to send metrics data.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="Traces">
<annotation>
<documentation>
Configuration information for OpenTelemetry traces.
</documentation>
</annotation>
<complexType>
<attribute name="Endpoint"
use="required"
type="anyURI">
<annotation>
<documentation>
The endpoint to which OTLP trace data will be sent.
</documentation>
</annotation>
</attribute>
<attribute name="Protocol"
use="required"
type="c:OpenTelemetryProtocol">
<annotation>
<documentation>
The protocol used to send trace data.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="OpenTelemetry">
<annotation>
<documentation>
Configuration information for OpenTelemetry.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="c:Logs"
minOccurs="0"
maxOccurs="1"/>
<element ref="c:Metrics"
minOccurs="0"
maxOccurs="1"/>
<element ref="c:Traces"
minOccurs="0"
maxOccurs="1"/>
</sequence>
<attribute name="LogicalServiceName"
use="required"
type="string">
<annotation>
<documentation>
The logical name of the service as it will appear in OpenTelemetry.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="Database">
<annotation>
<documentation>
Configuration information for the database.
</documentation>
</annotation>
<complexType>
<attribute name="Kind"
type="c:DatabaseKind"
use="required"/>
<attribute name="OwnerRoleName"
use="required"
type="string">
<annotation>
<documentation>
The name of the role that owns the database. This is used for the initial database setup, and for upgrades.
</documentation>
</annotation>
</attribute>
<attribute name="OwnerRolePassword"
use="required"
type="string">
<annotation>
<documentation>
The password of the role that owns the database.
</documentation>
</annotation>
</attribute>
<attribute name="WorkerRolePassword"
use="required"
type="string">
<annotation>
<documentation>
The password of the role used for normal database operation. This is an unprivileged role that does not have
the ability to perform DDL or other database-changing operations.
</documentation>
</annotation>
</attribute>
<attribute name="ReaderRolePassword"
use="optional"
type="string">
<annotation>
<documentation>
The password of the role used for read-only database operation. If this attribute is not specified, the
read-only role is not allowed to log in.
</documentation>
</annotation>
</attribute>
<attribute name="Address"
type="string"
use="required">
<annotation>
<documentation>
The address of the database.
</documentation>
</annotation>
</attribute>
<attribute name="Port"
type="integer"
use="required">
<annotation>
<documentation>
The port used to connect to the database.
</documentation>
</annotation>
</attribute>
<attribute name="Name"
type="string"
use="required">
<annotation>
<documentation>
The name of the database.
</documentation>
</annotation>
</attribute>
<attribute name="Create"
type="boolean"
use="required">
<annotation>
<documentation>
If set to true, the database and tables will be created if they do not already exist.
</documentation>
</annotation>
</attribute>
<attribute name="Upgrade"
type="boolean"
use="required">
<annotation>
<documentation>
If set to true, the database and tables will be upgraded to the latest supported schema version.
</documentation>
</annotation>
</attribute>
<attribute name="Language"
type="string"
use="required">
<annotation>
<documentation>
The language used for database search indexes (such as 'english'). See
https://www.postgresql.org/docs/current/locale.html.
</documentation>
</annotation>
</attribute>
<attribute name="MinimumPoolConnections"
use="optional"
default="1"
type="unsignedInt">
<annotation>
<documentation>
The minimum number of connections to keep idle in the database connection pool.
</documentation>
</annotation>
</attribute>
<attribute name="MaximumPoolConnections"
use="optional"
default="10"
type="unsignedInt">
<annotation>
<documentation>
The maximum number of connections to allow in the database connection pool. When this number of
connections is active in the pool, the application will be forced to wait until a connection
becomes idle upon requesting another connection.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<complexType name="HTTPService">
<sequence minOccurs="1"
maxOccurs="1">
<group ref="ct:TLSGroup"/>
</sequence>
<attribute name="ListenAddress"
type="string"
use="required">
<annotation>
<documentation>
The address upon which this HTTP service will listen.
</documentation>
</annotation>
</attribute>
<attribute name="ListenPort"
type="integer"
use="required">
<annotation>
<documentation>
The port upon which this HTTP service will listen.
</documentation>
</annotation>
</attribute>
<attribute name="ExternalAddress"
type="anyURI"
use="required">
<annotation>
<documentation>
The address by which this service is accessible to the outside world. The service will typically be configured
behind a reverse proxy to provide TLS.
</documentation>
</annotation>
</attribute>
<attribute name="SessionExpiration"
type="duration"
use="optional">
<annotation>
<documentation>
The expiration time for sessions.
</documentation>
</annotation>
</attribute>
</complexType>
<element name="InventoryService"
type="c:HTTPService">
<annotation>
<documentation>
Configuration for the Inventory API service.
</documentation>
</annotation>
</element>
<element name="Limits">
<annotation>
<documentation>
Configuration for various limits.
</documentation>
</annotation>
<complexType>
<attribute name="MaximumFileUploadSizeOctets"
type="unsignedLong"
use="required">
<annotation>
<documentation>
The maximum permitted size of uploaded files (in octets).
</documentation>
</annotation>
</attribute>
<attribute name="MaximumCommandSizeOctets"
type="unsignedLong"
use="required">
<annotation>
<documentation>
The maximum permitted size of ordinary commands (in octets).
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="Maintenance">
<annotation>
<documentation>
Configuration for the server's periodic maintenance tasks.
</documentation>
</annotation>
<complexType>
<attribute name="TLSReloadInterval"
type="duration"
use="optional">
<annotation>
<documentation>
The interval at which TLS contexts will be reloaded. If not
specified, TLS contexts will not be reloaded.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="Configuration">
<annotation>
<documentation>
The top-level configuration element.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="c:InventoryService"/>
<element ref="c:Database"/>
<element ref="c:Idstore"/>
<element ref="c:Limits"/>
<element ref="c:Maintenance"/>
<element ref="c:OpenTelemetry"
minOccurs="0"
maxOccurs="1"/>
</sequence>
</complexType>
</element>
</schema>
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright © 2023 Mark Raynsford <code@io7m.com> https://www.io7m.com
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="com.io7m.cardant:tls:1"
xmlns:nt="com.io7m.cardant:tls:1">
<xsd:complexType name="StoreType"
abstract="true">
<xsd:attribute name="Type"
type="xsd:string"
use="required"/>
<xsd:attribute name="Provider"
type="xsd:string"
use="required"/>
<xsd:attribute name="Password"
type="xsd:string"
use="required"/>
<xsd:attribute name="File"
type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="KeyStoreType">
<xsd:complexContent>
<xsd:extension base="nt:StoreType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TrustStoreType">
<xsd:complexContent>
<xsd:extension base="nt:StoreType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="KeyStore"
type="nt:KeyStoreType"/>
<xsd:element name="TrustStore"
type="nt:TrustStoreType"/>
<xsd:complexType name="TLSType"
abstract="true"/>
<xsd:complexType name="TLSDisabledType">
<xsd:complexContent>
<xsd:extension base="nt:TLSType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TLSDisabled"
type="nt:TLSDisabledType"/>
<xsd:complexType name="TLSEnabledType">
<xsd:complexContent>
<xsd:extension base="nt:TLSType">
<xsd:sequence>
<xsd:element ref="nt:KeyStore"/>
<xsd:element ref="nt:TrustStore"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TLSEnabled"
type="nt:TLSEnabledType"/>
<xsd:group name="TLSGroup">
<xsd:choice>
<xsd:element ref="nt:TLSDisabled"/>
<xsd:element ref="nt:TLSEnabled"/>
</xsd:choice>
</xsd:group>
</xsd:schema>
| Name | Description |
|---|---|
| Integral | A type used to express integer values. |
| Real | A type used to express real/fractional values. |
| Monetary | A type used to express monetary values. All values include an associated currency unit. |
| Time | A type used to express timestamp values. All values include a time zone value. |
| Text | A type used to express plain string values. |
type StockReposit = | CAStockRepositRemove CAStockInstanceID | CAStockRepositSerialIntroduce CAStockInstanceID CAItemID CALocationID CAItemSerial | CAStockRepositSerialMove CAStockInstanceID CALocationID | CAStockRepositSerialNumberAdd CAStockInstanceID CAItemSerial | CAStockRepositSerialNumberRemove CAStockInstanceID CAItemSerial | CAStockRepositSetAdd CAStockInstanceID Long | CAStockRepositSetIntroduce CAStockInstanceID CAItemID CALocationID Long | CAStockRepositSetMove CAStockInstanceID CAStockInstanceID CALocationID Long | CAStockRepositSetRemove CAStockInstanceID Long
| Name | Description |
|---|---|
| inventory.files.writer | A writer of inventory files. |
| inventory.files.reader | A reader of inventory files. |
| inventory.items.writer | A writer of inventory items. |
| inventory.items.reader | A reader of inventory items. |
| inventory.locations.writer | A writer of inventory locations. |
| inventory.locations.reader | A reader of inventory locations. |
| audit.reader | A reader of the audit log. |
| inventory.admin | An all-powerful administrator of inventories. |
| Name | Description |
|---|---|
| cardant_up | A gauge that displays a constant 1 value while the server is up. |
| cardant_http_time | A gauge that logs the time each HTTP request has taken in nanoseconds. |
| cardant_http_requests | A counter that is incremented every time an HTTP request is handled. |
| cardant_http_requests_size | A counter that is incremented with the size of every HTTP request. |
| cardant_http_responses_size | A counter that is incremented with the size of every produced HTTP response. |
| cardant_http_responses_2xx | A counter that is incremented with every HTTP response that produces a 2xx status code. |
| cardant_http_responses_4xx | A counter that is incremented with every HTTP response that produces a 4xx status code. A 4xx status code should be understood to mean "blame the client". |
| cardant_http_responses_5xx | A counter that is incremented with every HTTP response that produces a 5xx status code. A 5xx status code should be understood to mean "blame the server". |
| cardant_sessions | A gauge that displays the number of currently active user sessions. |
cardant: usage: cardant [command] [arguments ...]
The cardant server command-line application.
Use the "help" command to examine specific commands:
$ cardant help help.
Command-line arguments can be placed one per line into a file, and
the file can be referenced using the @ symbol:
$ echo help > file.txt
$ echo help >> file.txt
$ cardant @file.txt
Commands:
help Show usage information for a command.
initialize Initialize the server and database.
server Start the server.
shell Start the shell.
version Show the application version.
Documentation:
https://www.io7m.com/software/cardant/
$ cardant server --configuration server.conf $ (cat <<EOF --configuration server.conf EOF ) > args.txt $ cardant @args.txt
| Attribute | Value |
|---|---|
| Name | --admin-id |
| Type | com.io7m.cardant.model.CAUserID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The ID of the user that will be the initial administrator. |
| Attribute | Value |
|---|---|
| Name | --admin-name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The name of the user that will be the initial administrator. |
| Attribute | Value |
|---|---|
| Name | --configuration |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The configuration file. |
| Attribute | Value |
|---|---|
| Name | --verbose |
| Type | com.io7m.quarrel.ext.logback.QLogLevel |
| Default Value | info |
| Cardinality | [1, 1] |
| Description | Set the logging level of the application. |
$ cardant initialize \ --admin-id '92f83bce-3973-4db8-8aaf-d401443a9772' \ --admin-name 'someone' \ --configuration server.conf
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The package name. |
| Attribute | Value |
|---|---|
| Name | --output |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The output file. |
| Attribute | Value |
|---|---|
| Name | --version |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The package version. |
$ cardant package get --name cardant.product --version 1.0.0
<?xml version="1.0" encoding="UTF-8" ?>
<Package xmlns="com.io7m.cardant:type_packages:1">
<PackageInfo Name="cardant.product"
Version="1.0.0"
Description="Manufactured products."/>
<TypeScalarText Name="manufacturer"
...
$ cardant package get --name cardant.product --version 1.0.0 --output out.xml
$ cardant package list # Package Version cardant.product 1.0.0-SNAPSHOT
| Attribute | Value |
|---|---|
| Name | --configuration |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The configuration file. |
| Attribute | Value |
|---|---|
| Name | --verbose |
| Type | com.io7m.quarrel.ext.logback.QLogLevel |
| Default Value | info |
| Cardinality | [1, 1] |
| Description | Set the logging level of the application. |
$ cardant server --configuration server.conf info: [localhost/<unresolved>:30000] Inventory API server started
| Attribute | Value |
|---|---|
| Name | --verbose |
| Type | com.io7m.quarrel.ext.logback.QLogLevel |
| Default Value | info |
| Cardinality | [1, 1] |
| Description | Set the logging level of the application. |
$ cardant shell [cardant]# version com.io7m.cardant 0.0.1-SNAPSHOT 20af71248a7784b0e5247eab4b1ebd28de284739
cardant: usage: version
Show the application version.
The command does not accept any named arguments.
The command does not accept any positional arguments.
The version command produces the following output, in order:
* The application ID (such as "com.io7m.quarrel")
* The application version (such as "1.2.0")
* The application build (such as "eacd59a2")
For example, for a hypothetical application named "quarrel":
$ quarrel version
com.io7m.quarrel 1.2.0 eacd59a2
| Name | Description |
|---|---|
| PRETTY | Provides pretty Unicode tables. |
| RAW | Provides raw tables. |
[cardant]$ set --formatter PRETTY
[cardant]$ audit-search-begin
Search results: Page 1 of 1
┌────┬──────────────────────────────────────┬────────────────┬─────────────────────────────┬─────────────────────────────────────────────────────────────────────────┐
│ ID │ Owner │ Type │ Time │ Data │
├────┼──────────────────────────────────────┼────────────────┼─────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
│ 1 │ c5574d46-7413-43c8-b6db-31001c382ca3 │ USER_LOGGED_IN │ 2023-12-21T11:30:11.171839Z │ {UserAgent=com.io7m.cardant.client/0.0.1-SNAPSHOT, Host=10.1.6.1:53236} │
└────┴──────────────────────────────────────┴────────────────┴─────────────────────────────┴─────────────────────────────────────────────────────────────────────────┘
[cardant]$ set --formatter RAW
[cardant]$ audit-search-begin
# Search results: Page 1 of 1
#--------------------------------
1 c5574d46-7413-43c8-b6db-31001c382ca3 USER_LOGGED_IN 2023-12-21T11:30:11.171839Z {UserAgent=com.io7m.cardant.client/0.0.1-SNAPSHOT, Host=10.1.6.1:53236}
[cardant]$ bookmark-put --user example --password F7B7D37C620C70BF03353148582AC97D --hostname 10.1.6.1 --name local0 [cardant]$ bookmark-list ┌─────────────────┬─────────────────────────┬───────┬───────┬──────────────────┐ │ Name │ Host │ Port │ TLS │ User │ ├─────────────────┼─────────────────────────┼───────┼───────┼──────────────────┤ │ local0 │ 10.1.6.1 │ 30000 │ false │ example │ └─────────────────┴─────────────────────────┴───────┴───────┴──────────────────┘ [cardant]$ bookmark-login --name local0 [cardant]$ self User ID: c5574d46-7413-43c8-b6db-31001c382ca3 ┌────────────────────────────────────────────────────────────────────────────────┐ │ Role │ ├────────────────────────────────────────────────────────────────────────────────┤ │ audit.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.admin │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.files.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.files.writer │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.items.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.items.writer │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.locations.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.locations.writer │ └────────────────────────────────────────────────────────────────────────────────┘
match_name_evaluate with-any-name n ⇒ true match_name_evaluate (with-name-equal-to m) n ⇒ n = m match_name_evaluate (with-name-not-equal-to m) n ⇒ n ≠ m match_name_evaluate (with-name-similar-to m) n ⇒ n ≃ m match_name_evaluate (with-name-not-similar-to m) n ⇒ not (n ≃ m)
match_name ::=
"with-any-name"
| "(" "with-name-equal-to" <name> ")"
| "(" "with-name-not-equal-to" <name> ")"
| "(" "with-name-similar-to" <string> ")"
| "(" "with-name-not-similar-to" <string> ")"
;
match_name_evaluate with-any-type s ⇒ true match_name_evaluate (with-types-to t) s ⇒ s = t match_name_evaluate (with-types-not-equal-to t) s ⇒ s ≠ t match_name_evaluate (with-types-superset-of t) s ⇒ s ⊆ t match_name_evaluate (with-types-subset-of t) s ⇒ s ⊇ t match_name_evaluate (with-types-overlapping t) s ⇒ ∃ e. e ∈ t ∧ e ∈ s
match_type ::=
"with-any-type"
| "(" "with-types-equal-to" <type-record-identifier> [<type-record-identifier>, ...] ")"
| "(" "with-types-not-equal-to" <type-record-identifier> [<type-record-identifier>, ...] ")"
| "(" "with-types-superset-of" <type-record-identifier> [<type-record-identifier>, ...] ")"
| "(" "with-types-subset-of" <type-record-identifier> [<type-record-identifier>, ...] ")"
| "(" "with-types-overlapping" <type-record-identifier> [<type-record-identifier>, ...] ")"
;
match_description_evaluate with-any-description n ⇒ true match_description_evaluate (with-description-equal-to m) n ⇒ n = m match_description_evaluate (with-description-not-equal-to m) n ⇒ n ≠ m match_description_evaluate (with-description-similar-to m) n ⇒ n ≃ m match_description_evaluate (with-description-not-similar-to m) n ⇒ not (n ≃ m)
match_description ::=
"with-any-description"
| "(" "with-description-equal-to" <description> ")"
| "(" "with-description-not-equal-to" <description> ")"
| "(" "with-description-similar-to" <string> ")"
| "(" "with-description-not-similar-to" <string> ")"
;
match_mediatype_evaluate with-any-mediatype n ⇒ true match_mediatype_evaluate (with-mediatype-equal-to m) n ⇒ n = m match_mediatype_evaluate (with-mediatype-not-equal-to m) n ⇒ n ≠ m match_mediatype_evaluate (with-mediatype-similar-to m) n ⇒ n ≃ m match_mediatype_evaluate (with-mediatype-not-similar-to m) n ⇒ not (n ≃ m)
match_mediatype ::=
"with-any-mediatype"
| "(" "with-mediatype-equal-to" <mediatype> ")"
| "(" "with-mediatype-not-equal-to" <mediatype> ")"
| "(" "with-mediatype-similar-to" <string> ")"
| "(" "with-mediatype-not-similar-to" <string> ")"
;
match_serial_evaluate with-any-serial n ⇒ true match_serial_evaluate (with-serial-equal-to m) n ⇒ n = m match_serial_evaluate (with-serial-not-equal-to m) n ⇒ n ≠ m
match_serial ::=
"with-any-serial"
| "(" "with-serial-equal-to" <serial> ")"
| "(" "with-serial-not-equal-to" <serial> ")"
;
match_package_evaluate with-any-package n ⇒ true match_package_evaluate (with-package-equal-to m) n ⇒ n = m match_package_evaluate (with-package-not-equal-to m) n ⇒ n ≠ m
match_package ::=
"with-any-package"
| "(" "with-package-equal-to" <package> ")"
| "(" "with-package-not-equal-to" <package> ")"
;
match_field_evaluate with-any-field n ⇒ true match_field_evaluate (with-field-equal-to m) n ⇒ n = m match_field_evaluate (with-field-not-equal-to m) n ⇒ n ≠ m
match_field ::=
"with-any-field"
| "(" "with-field-equal-to" <type-record-field-identifier> ")"
| "(" "with-field-not-equal-to" <type-record-field-identifier> ")"
;
| Attribute | Value |
|---|---|
| Name | --limit |
| Type | java.lang.Integer |
| Default Value | 10 |
| Cardinality | [1, 1] |
| Description | The maximum number of results per page. |
| Attribute | Value |
|---|---|
| Name | --time-from |
| Type | java.time.OffsetDateTime |
| Default Value | 1970-01-01T00:00Z |
| Cardinality | [1, 1] |
| Description | Return audit events later than this date. |
| Attribute | Value |
|---|---|
| Name | --time-to |
| Type | java.time.OffsetDateTime |
| Default Value | +101970-01-01T00:00Z |
| Cardinality | [1, 1] |
| Description | Return audit events earlier than this date. |
| Attribute | Value |
|---|---|
| Name | --type-equal-to |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Filter events by type. |
| Attribute | Value |
|---|---|
| Name | --type-not-equal-to |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Filter events by type. |
| Attribute | Value |
|---|---|
| Name | --user |
| Type | com.io7m.cardant.model.CAUserID |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Filter events by user. |
$ audit-search-begin
Search results: Page 1 of 1
┌────┬──────────────────────────────────────┬────────────────┬─────────────────────────────┬─────────────────────────────────────────────────────────────────────────┐
│ ID │ Owner │ Type │ Time │ Data │
├────┼──────────────────────────────────────┼────────────────┼─────────────────────────────┼─────────────────────────────────────────────────────────────────────────┤
│ 1 │ c5574d46-7413-43c8-b6db-31001c382ca3 │ USER_LOGGED_IN │ 2023-12-21T11:30:11.171839Z │ {UserAgent=com.io7m.cardant.client/0.0.1-SNAPSHOT, Host=10.1.6.1:53236} │
└────┴──────────────────────────────────────┴────────────────┴─────────────────────────────┴─────────────────────────────────────────────────────────────────────────┘
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The name of the bookmark. |
| Attribute | Value |
|---|---|
| Name | --hostname |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The hostname of the server. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The name of the bookmark. |
| Attribute | Value |
|---|---|
| Name | --password |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The password for the server. |
| Attribute | Value |
|---|---|
| Name | --port |
| Type | java.lang.Integer |
| Default Value | 30000 |
| Cardinality | [1, 1] |
| Description | The port used for the server. |
| Attribute | Value |
|---|---|
| Name | --tls |
| Type | java.lang.Boolean |
| Default Value | false |
| Cardinality | [1, 1] |
| Description | Whether to use TLS to connect to the server. |
| Attribute | Value |
|---|---|
| Name | --user |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The username for the server. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The name of the bookmark. |
| Attribute | Value |
|---|---|
| Name | --download-to |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [0, 1] |
| Description | If specified, the file will be downloaded to this path. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --content-type |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The content type (inferred if not specified). |
| Attribute | Value |
|---|---|
| Name | --description |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The file description. |
| Attribute | Value |
|---|---|
| Name | --file |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --description-match |
| Type | com.io7m.cardant.model.CADescriptionMatch |
| Default Value | with-any-description |
| Cardinality | [1, 1] |
| Description | Only include files that have descriptions matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --limit |
| Type | java.lang.Long |
| Default Value | 100 |
| Cardinality | [1, 1] |
| Description | The maximum number of results per page. |
| Attribute | Value |
|---|---|
| Name | --mediatype-match |
| Type | com.io7m.cardant.model.CAMediaTypeMatch |
| Default Value | with-any-mediatype |
| Cardinality | [1, 1] |
| Description | Only include files that have media types matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --size-maximum |
| Type | java.lang.Long |
| Default Value | 9223372036854775807 |
| Cardinality | [1, 1] |
| Description | The maximum file size. |
| Attribute | Value |
|---|---|
| Name | --size-minimum |
| Type | java.lang.Long |
| Default Value | 0 |
| Cardinality | [1, 1] |
| Description | The minimum file size. |
[cardant]$ help file-put
cardant: usage: file-put [named-arguments ...]
Upload a file.
Named parameters:
--content-type
Description : The content type (inferred if not specified).
Type : String
Cardinality : [0, 1]; Specify at most once.
Syntax : <any sequence of characters>
--description
Description : The file description.
Type : String
Cardinality : [0, 1]; Specify at most once.
Syntax : <any sequence of characters>
* --file
Description : The file.
Type : Path
Cardinality : [1]; Specify exactly once.
Syntax : <platform-specific path syntax>
* --id
Description : The file ID.
Type : CAFileID
Cardinality : [1]; Specify exactly once.
Syntax : [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
The command does not accept any positional arguments.
| Attribute | Value |
|---|---|
| Name | --file-id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --relation |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The attachment relation. |
| Attribute | Value |
|---|---|
| Name | --file-id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --relation |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The attachment relation. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item name. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --metadata |
| Type | com.io7m.cardant.model.CAMetadataType |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | The metadata key. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --key |
| Type | com.io7m.cardant.model.CATypeRecordFieldIdentifier |
| Default Value | [] |
| Cardinality | [1, N] |
| Description | The metadata key. |
| Attribute | Value |
|---|---|
| Name | --description-match |
| Type | com.io7m.cardant.model.CADescriptionMatch |
| Default Value | with-any-description |
| Cardinality | [1, 1] |
| Description | Only include items that have descriptions matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --limit |
| Type | java.lang.Integer |
| Default Value | 100 |
| Cardinality | [1, 1] |
| Description | The maximum number of results per page. |
| Attribute | Value |
|---|---|
| Name | --location-match |
| Type | com.io7m.cardant.model.CALocationMatchType |
| Default Value | any-location |
| Cardinality | [1, 1] |
| Description | Only include items in locations matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --metadata-match |
| Type | com.io7m.cardant.model.CAMetadataElementMatchType |
| Default Value | anything |
| Cardinality | [1, 1] |
| Description | Only include items with metadata matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --name-match |
| Type | com.io7m.cardant.model.CANameMatchFuzzy |
| Default Value | with-any-name |
| Cardinality | [1, 1] |
| Description | Only include items that have names matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --serial-match |
| Type | com.io7m.cardant.model.CAItemSerialMatch |
| Default Value | with-any-serial |
| Cardinality | [1, 1] |
| Description | Only include items with serial numbers matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --type-match |
| Type | com.io7m.cardant.model.CATypeMatch |
| Default Value | with-any-type |
| Cardinality | [1, 1] |
| Description | Only include items that have types matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --type |
| Type | com.io7m.cardant.model.CATypeRecordIdentifier |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | The item types. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --type |
| Type | com.io7m.cardant.model.CATypeRecordIdentifier |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | The item types. |
| Attribute | Value |
|---|---|
| Name | --file-id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The location ID. |
| Attribute | Value |
|---|---|
| Name | --relation |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The attachment relation. |
| Attribute | Value |
|---|---|
| Name | --file-id |
| Type | com.io7m.cardant.model.CAFileID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The file ID. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The location ID. |
| Attribute | Value |
|---|---|
| Name | --relation |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The attachment relation. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The location ID. |
| Attribute | Value |
|---|---|
| Name | --detach |
| Type | java.lang.Boolean |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Detach the location from its parent. |
| Attribute | Value |
|---|---|
| Name | --id |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | d37d0dd8-8f98-4f55-80f7-752471271bb3 |
| Cardinality | [1, 1] |
| Description | The location ID. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The location name. |
| Attribute | Value |
|---|---|
| Name | --parent |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The parent location ID. |
| Attribute | Value |
|---|---|
| Name | --role |
| Type | com.io7m.medrina.api.MRoleName |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | The role name. |
| Attribute | Value |
|---|---|
| Name | --user |
| Type | com.io7m.cardant.model.CAUserID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The user ID. |
| Attribute | Value |
|---|---|
| Name | --user |
| Type | com.io7m.cardant.model.CAUserID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The user ID. |
| Attribute | Value |
|---|---|
| Name | --role |
| Type | com.io7m.medrina.api.MRoleName |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | The role name. |
| Attribute | Value |
|---|---|
| Name | --user |
| Type | com.io7m.cardant.model.CAUserID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The user ID. |
[cardant]$ self User ID: c5574d46-7413-43c8-b6db-31001c382ca3 ┌────────────────────────────────────────────────────────────────────────────────┐ │ Role │ ├────────────────────────────────────────────────────────────────────────────────┤ │ audit.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.admin │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.files.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.files.writer │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.items.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.items.writer │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.locations.reader │ ├────────────────────────────────────────────────────────────────────────────────┤ │ inventory.locations.writer │ └────────────────────────────────────────────────────────────────────────────────┘
| Attribute | Value |
|---|---|
| Name | --formatter |
| Type | com.io7m.cardant.shell.internal.CAShellCmdSet.Formatter |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Set the shell formatter. |
| Attribute | Value |
|---|---|
| Name | --terminate-on-errors |
| Type | java.lang.Boolean |
| Default Value | |
| Cardinality | [0, 1] |
| Description | Terminate execution on the first command that returns an error. |
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
[cardant]$ stock-reposit-remove --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --item |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --location |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The location ID. |
| Attribute | Value |
|---|---|
| Name | --serial |
| Type | com.io7m.cardant.model.CAItemSerial |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item serial number. |
[cardant]$ stock-reposit-serial-introduce \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --item 98725a33-5202-4143-820e-75b60a1df4d3 \ --location 2bbc8132-cae3-4d51-95a0-0ab5318b3745 \ --serial manufacturer_serial:91FA61CC
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --location-to |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The destination location ID. |
[cardant]$ stock-reposit-serial-move \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --location-to 2bbc8132-cae3-4d51-95a0-0ab5318b3745
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --serial |
| Type | com.io7m.cardant.model.CAItemSerial |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item serial number. |
[cardant]$ stock-reposit-serial-number-add \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --serial manufacturer_serial:33CBE10A
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --serial |
| Type | com.io7m.cardant.model.CAItemSerial |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item serial number. |
[cardant]$ stock-reposit-serial-number-remove \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --serial manufacturer_serial:33CBE10A
| Attribute | Value |
|---|---|
| Name | --count |
| Type | java.lang.Long |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The number of instances of the item to add. |
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
[cardant]$ stock-reposit-set-add \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --count 100
| Attribute | Value |
|---|---|
| Name | --count |
| Type | java.lang.Long |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The number of instances of the item to introduce. |
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --item |
| Type | com.io7m.cardant.model.CAItemID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The item ID. |
| Attribute | Value |
|---|---|
| Name | --location |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The location ID. |
[cardant]$ stock-reposit-set-introduce \ --instance 3cb641ac-182f-4f44-98f6-a3e0fe752297 \ --location 55311cea-052f-4f72-9e34-bc01d0e43fee \ --item 102c2df9-bbb4-4e5d-948f-0d8620704b97 \ --count 100
| Attribute | Value |
|---|---|
| Name | --count |
| Type | java.lang.Long |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The number of instances of the item to remove. |
| Attribute | Value |
|---|---|
| Name | --instance-from |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The source stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --instance-to |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The target stock instance ID. |
| Attribute | Value |
|---|---|
| Name | --location-to |
| Type | com.io7m.cardant.model.CALocationID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The destination location ID. |
[cardant]$ stock-reposit-set-move \ --instance-from 0b041ff1-4bbe-4265-b0f2-51f0c5ff6757 \ --instance-to d7c18055-cadb-4701-aa3d-9207711f6c8a --location-to 55311cea-052f-4f72-9e34-bc01d0e43fee \ --count 50
| Attribute | Value |
|---|---|
| Name | --count |
| Type | java.lang.Long |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The number of instances of the item to remove. |
| Attribute | Value |
|---|---|
| Name | --instance |
| Type | com.io7m.cardant.model.CAStockInstanceID |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The stock instance ID. |
[cardant]$ stock-reposit-set-remove \ --instance 0b041ff1-4bbe-4265-b0f2-51f0c5ff6757 \ --count 50
| Attribute | Value |
|---|---|
| Name | --exclude-stock-kind |
| Type | com.io7m.cardant.model.CAStockOccurrenceKind |
| Default Value | [] |
| Cardinality | [0, N] |
| Description | Exclude stock occurrences of the given kinds. |
| Attribute | Value |
|---|---|
| Name | --item-match |
| Type | com.io7m.cardant.model.CAItemIDMatch |
| Default Value | with-any-item |
| Cardinality | [1, 1] |
| Description | Only include items with IDs matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --limit |
| Type | java.lang.Integer |
| Default Value | 100 |
| Cardinality | [1, 1] |
| Description | The maximum number of results per page. |
| Attribute | Value |
|---|---|
| Name | --location-match |
| Type | com.io7m.cardant.model.CALocationMatchType |
| Default Value | any-location |
| Cardinality | [1, 1] |
| Description | Only include stock in locations matching the given expression. |
[cardant]$ stock-search-begin
[cardant]$ stock-search-next
[cardant]$ stock-search-previous
[cardant]$ syntax-list ┌───────────────────────────────────────────────────────────────────────────────────┐ │ Name │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-equal-to │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-match │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-not-equal-to │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-not-similar-to │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-similar-to │ ├───────────────────────────────────────────────────────────────────────────────────┤ │ description-with-any │ ├───────────────────────────────────────────────────────────────────────────────────┤ ...
[cardant]$ syntax-show --rule metadata-type-match metadata-type-match := metadata-type-any | metadata-type-equal-to | metadata-type-not-equal-to metadata-type-any := with-any-type metadata-type-equal-to := (with-type-equal-to <type>) metadata-type-not-equal-to := (with-type-not-equal-to <type>) [cardant]$ syntax-show --rule metadata-type-match --example true [with-type-equal-to "com.io7m:t"] [with-type-not-equal-to "com.io7m:t"]
| Attribute | Value |
|---|---|
| Name | --example |
| Type | java.lang.Boolean |
| Default Value | false |
| Cardinality | [1, 1] |
| Description | Show a syntax example. |
| Attribute | Value |
|---|---|
| Name | --rule |
| Type | java.lang.String |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The syntax rule name. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | com.io7m.lanark.core.RDottedName |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package name. |
| Attribute | Value |
|---|---|
| Name | --output |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The output file. |
| Attribute | Value |
|---|---|
| Name | --version |
| Type | com.io7m.verona.core.Version |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package version. |
[cardant]$ type-package-get-text --name com.io7m.example --version 1.0.0 --output file.xml
| Attribute | Value |
|---|---|
| Name | --file |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package file. |
| Attribute | Value |
|---|---|
| Name | --output |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [0, 1] |
| Description | The output file. |
[cardant]$ type-package-schema
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:p="com.io7m.cardant:type_packages:1"
targetNamespace="com.io7m.cardant:type_packages:1">
<xsd:simpleType name="UnqualifiedNameType">
<xsd:annotation>
...
| Attribute | Value |
|---|---|
| Name | --description-match |
| Type | com.io7m.cardant.model.CADescriptionMatch |
| Default Value | with-any-description |
| Cardinality | [1, 1] |
| Description | Only include types that have descriptions matching the given expression. |
| Attribute | Value |
|---|---|
| Name | --limit |
| Type | java.lang.Integer |
| Default Value | 100 |
| Cardinality | [1, 1] |
| Description | The maximum number of results per page. |
| Attribute | Value |
|---|---|
| Name | --behavior |
| Type | com.io7m.cardant.model.type_package.CATypePackageTypeRemovalBehavior |
| Default Value | TYPE_REMOVAL_FAIL_IF_TYPES_REFERENCED |
| Cardinality | [1, 1] |
| Description | The uninstall behavior. |
| Attribute | Value |
|---|---|
| Name | --name |
| Type | com.io7m.lanark.core.RDottedName |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package name. |
| Attribute | Value |
|---|---|
| Name | --version |
| Type | com.io7m.verona.core.Version |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package version. |
| Attribute | Value |
|---|---|
| Name | --file |
| Type | java.nio.file.Path |
| Default Value | |
| Cardinality | [1, 1] |
| Description | The type package file. |
| Attribute | Value |
|---|---|
| Name | --type-removal-behavior |
| Type | com.io7m.cardant.model.type_package.CATypePackageTypeRemovalBehavior |
| Default Value | TYPE_REMOVAL_FAIL_IF_TYPES_REFERENCED |
| Cardinality | [1, 1] |
| Description | The type removal behavior. |
| Attribute | Value |
|---|---|
| Name | --version-behavior |
| Type | com.io7m.cardant.model.type_package.CATypePackageVersionBehavior |
| Default Value | VERSION_DISALLOW_DOWNGRADES |
| Cardinality | [1, 1] |
| Description | The version behavior. |
$ curl https://cardant.example.com:30000/ | jq
{
"%Schema": "urn:com.io7m.ventrad:1",
"Protocols": [
{
"Id": "8ee23158-f8db-317a-a58b-45bd9d702040",
"VersionMajor": 1,
"VersionMinor": 0,
"Endpoint": "/inventory/1/0/",
"Description": "Cardant Inventory v1.0"
}
]
}
$ cat message.json
{
"@type": "Login",
"userName": "example",
"password": "validpassword"
}
$ curl -c cookies.txt -d @message.json http://cardant.example.com:30000/inventory/1/0/login | jq
{
"@type": "ResponseLogin",
"requestId": "23d56c39-9582-42af-a3a3-7d94bf944f35",
"userId": "57733ee9-2c62-4b62-bd7f-b5bbc9cd915a"
}
$ cat cookies.txt
cardant.example.com FALSE /inventory/1/0/ FALSE 1761297157 CARDANT_INVENTORY_SESSION 47E3D6E4133D04FD33125F5A3598B79089F7A7DA3AC507ADB13DAEF12934B88C
$ cat message.json
{
"@type": "ItemSearchBegin",
"parameters": {
"matchName": {
"@type": "Anything"
},
"matchDescription": {
"@type": "Anything"
},
"matchTypes": {
"@type": "Anything"
},
"matchMetadata": {
"@type": "Specific",
"packageName": {
"@type": "Anything"
},
"typeName": {
"@type": "Anything"
},
"fieldName": {
"@type": "Anything"
},
"value": {
"@type": "Anything"
}
},
"includeDeleted": "INCLUDE_ONLY_LIVE",
"orderBy": {
"column": "BY_ID",
"ascending": true
},
"pageSize": 5
}
}
$ curl -b cookies.txt -d @message.json http://cardant.example.com:30000/inventory/1/0/command | jq
{
"@type": "ResponseItemSearch",
"requestId": "cf47d6f4-1441-4b79-9cd5-f80e21f1bc11",
"results": {
"items": [
{
"id": "0214d4fa-1fbb-47b9-bb57-f12d9bf2735e",
"name": "Siglent SPD1305X DC Power Supply",
"timeCreated": "2024-07-22T19:34:52.954587Z",
"timeUpdated": "2024-07-22T19:34:52.954587Z"
},
{
"id": "02f63b7e-4c0a-4f1c-81d6-862da8d2e5ac",
"name": "Western Digital SN570 1TB",
"timeCreated": "2024-01-12T21:01:15.973701Z",
"timeUpdated": "2024-01-12T21:01:15.973701Z"
},
{
"id": "0556121f-9aab-4e89-a413-08214d8ae74d",
"name": "Seagate Exos X16 16TB",
"timeCreated": "2024-01-12T21:05:33.547416Z",
"timeUpdated": "2025-03-09T18:22:22Z"
},
{
"id": "06946960-e508-4eeb-b297-715e1bcec843",
"name": "Samsung 870 EVO 1TB",
"timeCreated": "2024-05-18T12:28:43.607659Z",
"timeUpdated": "2024-05-18T12:28:43.607659Z"
},
{
"id": "0adb8f6a-ed35-479d-baf9-2e2f9a50b622",
"name": "AMD Ryzen 5 3600",
"timeCreated": "2024-01-12T21:02:01.738558Z",
"timeUpdated": "2024-12-07T17:41:22Z"
}
],
"pageIndex": {
"value": 1
},
"pageCount": {
"value": 23
},
"pageFirstOffset": 0
}
}
$ cat transaction.json
{
"@type": "Transaction",
"commands": [
{
"@type": "ItemSearchBegin",
"parameters": {
"matchName": {
"@type": "Anything"
},
"matchDescription": {
"@type": "Anything"
},
"matchTypes": {
"@type": "Anything"
},
"matchMetadata": {
"@type": "Specific",
"packageName": {
"@type": "Anything"
},
"typeName": {
"@type": "Anything"
},
"fieldName": {
"@type": "Anything"
},
"value": {
"@type": "Anything"
}
},
"includeDeleted": "INCLUDE_ONLY_LIVE",
"orderBy": {
"column": "BY_ID",
"ascending": true
},
"pageSize": 3
}
},
{
"@type": "ItemSearchNext"
},
{
"@type": "ItemSearchNext"
}
]
}
$ curl -b cookies.txt -d @message.json http://cardant.example.com:30000/inventory/1/0/transaction | jq
{
"@type": "TransactionResponse",
"requestId": "7c411039-7ca0-4e53-a9d1-0f7fd1b33919",
"responses": [
{
"@type": "ResponseItemSearch",
"requestId": "7c411039-7ca0-4e53-a9d1-0f7fd1b33919",
"results": {
"items": [
{
"id": "16208353-0cd6-4082-89b9-170b87e31000",
"name": "AMD Radeon RX 5700",
"timeCreated": "2024-01-12T21:02:28.13536Z",
"timeUpdated": "2024-12-07T17:37:16Z"
},
{
"id": "c1ef2558-9b2f-4a84-ba75-8a9fe5276e80",
"name": "AMD Ryzen 3 3200G",
"timeCreated": "2024-01-12T21:03:44.878024Z",
"timeUpdated": "2024-12-07T17:38:49Z"
},
{
"id": "0d5e8aca-0826-4e85-8a71-ffd26f4137c1",
"name": "AMD Ryzen 5 1400",
"timeCreated": "2024-01-12T21:06:34.568583Z",
"timeUpdated": "2024-12-07T17:39:31Z"
}
],
"pageIndex": {
"value": 1
},
"pageCount": {
"value": 37
},
"pageFirstOffset": 0
}
},
{
"@type": "ResponseItemSearch",
"requestId": "7c411039-7ca0-4e53-a9d1-0f7fd1b33919",
"results": {
"items": [
{
"id": "d9e12864-7411-43a4-9030-ebfaf94cd0bf",
"name": "AMD Ryzen 5 3400G",
"timeCreated": "2024-01-12T21:02:43.436395Z",
"timeUpdated": "2024-12-07T17:40:46Z"
},
{
"id": "0adb8f6a-ed35-479d-baf9-2e2f9a50b622",
"name": "AMD Ryzen 5 3600",
"timeCreated": "2024-01-12T21:02:01.738558Z",
"timeUpdated": "2024-12-07T17:41:22Z"
},
{
"id": "a92f27cf-aacc-48fb-aeb9-5afa92af8f46",
"name": "AMD Ryzen 5 5600G",
"timeCreated": "2024-01-12T21:03:57.892137Z",
"timeUpdated": "2024-12-07T17:41:56Z"
}
],
"pageIndex": {
"value": 2
},
"pageCount": {
"value": 37
},
"pageFirstOffset": 3
}
},
{
"@type": "ResponseItemSearch",
"requestId": "7c411039-7ca0-4e53-a9d1-0f7fd1b33919",
"results": {
"items": [
{
"id": "58794e07-532d-4143-905c-bcb65bdbd1e4",
"name": "AMD Ryzen 7 3700X",
"timeCreated": "2024-04-04T16:27:38.009937Z",
"timeUpdated": "2024-12-07T17:42:35Z"
},
{
"id": "922af91f-761e-438a-aaa9-055efa5d4360",
"name": "Antec Neo ECO 520",
"timeCreated": "2025-03-07T11:18:42Z",
"timeUpdated": "2025-03-07T11:20:40Z"
},
{
"id": "c75b8537-2725-452e-adb1-eaa3dfd5a286",
"name": "Antec VP450P 450W",
"timeCreated": "2025-03-07T11:15:24Z",
"timeUpdated": "2025-03-07T11:16:58Z"
}
],
"pageIndex": {
"value": 3
},
"pageCount": {
"value": 37
},
"pageFirstOffset": 6
}
}
]
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:com.io7m.cardant.inventory:1.0",
"title": "Cardant Inventory 1.0",
"oneOf": [
{
"$ref": "#/$defs/CJ1MessageType"
}
],
"$defs": {
"BigDecimal": {
"description": "An arbitrary real number.",
"type": "number"
},
"CAErrorCode": {
"description": "An error code.",
"type": "string",
"pattern": "[a-z][a-z\\-]+"
},
"CJ1Attachment": {
"description": "An attachment on an item or location.",
"type": "object",
"properties": {
"file": {
"description": "The file.",
"$ref": "#/$defs/CJ1FileType"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
}
},
"required": [
"file",
"relation"
]
},
"CJ1AttachmentItem": {
"description": "An attachment.",
"type": "object",
"properties": {
"attachment": {
"description": "The attachment.",
"$ref": "#/$defs/CJ1Attachment"
},
"key": {
"description": "The attachment key.",
"$ref": "#/$defs/CJ1AttachmentKey"
}
},
"required": [
"attachment",
"key"
]
},
"CJ1AttachmentKey": {
"description": "An attachment key.",
"type": "object",
"properties": {
"file": {
"description": "The attachment file.",
"$ref": "#/$defs/UUID"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
}
},
"required": [
"file",
"relation"
]
},
"CJ1AuditEvent": {
"description": "An audit event.",
"type": "object",
"properties": {
"data": {
"description": "The event data.",
"$ref": "#/$defs/Map<String,String>"
},
"id": {
"description": "The event ID.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"owner": {
"description": "The event owner.",
"$ref": "#/$defs/UUID"
},
"time": {
"description": "The event time.",
"$ref": "#/$defs/OffsetDateTime"
},
"type": {
"description": "The event type.",
"$ref": "#/$defs/String"
}
},
"required": [
"data",
"id",
"owner",
"time",
"type"
]
},
"CJ1AuditSearchParameters": {
"description": "Parameters to search for audit events.",
"type": "object",
"properties": {
"matchEventType": {
"description": "Include events with types matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonExactType<String>"
},
"matchOwner": {
"description": "Include audit results for the given user.",
"$ref": "#/$defs/Optional<UUID>"
},
"matchTimeRange": {
"description": "Include events within the given time range.",
"$ref": "#/$defs/CJ1TimeRange"
},
"pageSize": {
"description": "The maximum number of events per page.",
"$ref": "#/$defs/CJ1UnsignedLong"
}
},
"required": [
"matchEventType",
"matchTimeRange",
"pageSize"
]
},
"CJ1CommandAuditSearchBegin": {
"description": "Start searching for audit events.",
"type": "object",
"properties": {
"parameters": {
"description": "The search parameters.",
"$ref": "#/$defs/CJ1AuditSearchParameters"
},
"@type": {
"type": "string",
"pattern": "AuditSearchBegin"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandAuditSearchNext": {
"description": "Get the next page of audit events.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "AuditSearchNext"
}
},
"required": [
"@type"
]
},
"CJ1CommandAuditSearchPrevious": {
"description": "Get the previous page of audit events.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "AuditSearchPrevious"
}
},
"required": [
"@type"
]
},
"CJ1CommandFileDelete": {
"description": "Delete a file.",
"type": "object",
"properties": {
"id": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "FileDelete"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandFileGet": {
"description": "Get a file.",
"type": "object",
"properties": {
"id": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "FileGet"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandFilePut": {
"description": "Create or update a file.",
"type": "object",
"properties": {
"file": {
"description": "The file.",
"$ref": "#/$defs/CJ1FileType"
},
"@type": {
"type": "string",
"pattern": "FilePut"
}
},
"required": [
"@type",
"file"
]
},
"CJ1CommandFileSearchBegin": {
"description": "Start searching for files.",
"type": "object",
"properties": {
"parameters": {
"description": "The search parameters.",
"$ref": "#/$defs/CJ1FileSearchParameters"
},
"@type": {
"type": "string",
"pattern": "FileSearchBegin"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandFileSearchNext": {
"description": "Get the next page of files.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "FileSearchNext"
}
},
"required": [
"@type"
]
},
"CJ1CommandFileSearchPrevious": {
"description": "Get the previous page of files.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "FileSearchPrevious"
}
},
"required": [
"@type"
]
},
"CJ1CommandItemAttachmentAdd": {
"description": "Add an attachment to an item.",
"type": "object",
"properties": {
"file": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "ItemAttachmentAdd"
}
},
"required": [
"@type",
"file",
"item",
"relation"
]
},
"CJ1CommandItemAttachmentRemove": {
"description": "Remove an attachment from an item.",
"type": "object",
"properties": {
"file": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "ItemAttachmentRemove"
}
},
"required": [
"@type",
"file",
"item",
"relation"
]
},
"CJ1CommandItemCreate": {
"description": "Create an item.",
"type": "object",
"properties": {
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"name": {
"description": "The item name.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "ItemCreate"
}
},
"required": [
"@type",
"id",
"name"
]
},
"CJ1CommandItemDelete": {
"description": "Delete an item.",
"type": "object",
"properties": {
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ItemDelete"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandItemGet": {
"description": "Retrieve an item.",
"type": "object",
"properties": {
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ItemGet"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandItemMetadataPut": {
"description": "Create or update metadata on an item.",
"type": "object",
"properties": {
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"metadatas": {
"description": "The item metadata values.",
"$ref": "#/$defs/Set<CJ1MetadataType>"
},
"@type": {
"type": "string",
"pattern": "ItemMetadataPut"
}
},
"required": [
"@type",
"item",
"metadatas"
]
},
"CJ1CommandItemMetadataRemove": {
"description": "Remove metadata from an item.",
"type": "object",
"properties": {
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"metadataNames": {
"description": "The item metadata names.",
"$ref": "#/$defs/Set<CJ1TypeRecordFieldIdentifier>"
},
"@type": {
"type": "string",
"pattern": "ItemMetadataRemove"
}
},
"required": [
"@type",
"item",
"metadataNames"
]
},
"CJ1CommandItemSearchBegin": {
"description": "Start searching for items.",
"type": "object",
"properties": {
"parameters": {
"description": "The item search parameters.",
"$ref": "#/$defs/CJ1ItemSearchParameters"
},
"@type": {
"type": "string",
"pattern": "ItemSearchBegin"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandItemSearchNext": {
"description": "Get the next page of items.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "ItemSearchNext"
}
},
"required": [
"@type"
]
},
"CJ1CommandItemSearchPrevious": {
"description": "Get the previous page of items.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "ItemSearchPrevious"
}
},
"required": [
"@type"
]
},
"CJ1CommandItemSetName": {
"description": "Set the name of an item.",
"type": "object",
"properties": {
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"name": {
"description": "The item name.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "ItemSetName"
}
},
"required": [
"@type",
"id",
"name"
]
},
"CJ1CommandItemTypesAssign": {
"description": "Assign types to an item.",
"type": "object",
"properties": {
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"types": {
"description": "The types.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "ItemTypesAssign"
}
},
"required": [
"@type",
"item"
]
},
"CJ1CommandItemTypesRevoke": {
"description": "Revoke types from an item.",
"type": "object",
"properties": {
"item": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"types": {
"description": "The types.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "ItemTypesRevoke"
}
},
"required": [
"@type",
"item"
]
},
"CJ1CommandLocationAttachmentAdd": {
"description": "Add an attachment to a location.",
"type": "object",
"properties": {
"file": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "LocationAttachmentAdd"
}
},
"required": [
"@type",
"file",
"location",
"relation"
]
},
"CJ1CommandLocationAttachmentRemove": {
"description": "Remove an attachment from a location.",
"type": "object",
"properties": {
"file": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"relation": {
"description": "The attachment relation.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "LocationAttachmentRemove"
}
},
"required": [
"@type",
"file",
"location",
"relation"
]
},
"CJ1CommandLocationDelete": {
"description": "Delete a location.",
"type": "object",
"properties": {
"id": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "LocationDelete"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandLocationGet": {
"description": "Retrieve a location.",
"type": "object",
"properties": {
"id": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "LocationGet"
}
},
"required": [
"@type",
"id"
]
},
"CJ1CommandLocationList": {
"description": "List locations.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "LocationList"
}
},
"required": [
"@type"
]
},
"CJ1CommandLocationMetadataPut": {
"description": "Create or update metadata on a location.",
"type": "object",
"properties": {
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"metadatas": {
"description": "The location metadata values.",
"$ref": "#/$defs/Set<CJ1MetadataType>"
},
"@type": {
"type": "string",
"pattern": "LocationMetadataPut"
}
},
"required": [
"@type",
"location",
"metadatas"
]
},
"CJ1CommandLocationMetadataRemove": {
"description": "Remove metadata from a location.",
"type": "object",
"properties": {
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"metadataNames": {
"description": "The location metadata names.",
"$ref": "#/$defs/Set<CJ1TypeRecordFieldIdentifier>"
},
"@type": {
"type": "string",
"pattern": "LocationMetadataRemove"
}
},
"required": [
"@type",
"location",
"metadataNames"
]
},
"CJ1CommandLocationPut": {
"description": "Create or update a location.",
"type": "object",
"properties": {
"location": {
"description": "The location.",
"$ref": "#/$defs/CJ1Location"
},
"@type": {
"type": "string",
"pattern": "LocationPut"
}
},
"required": [
"@type",
"location"
]
},
"CJ1CommandLocationTypesAssign": {
"description": "Assign types to a location.",
"type": "object",
"properties": {
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"types": {
"description": "The location types.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "LocationTypesAssign"
}
},
"required": [
"@type",
"location"
]
},
"CJ1CommandLocationTypesRevoke": {
"description": "Revoke types from a location.",
"type": "object",
"properties": {
"location": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"types": {
"description": "The location type names.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "LocationTypesRevoke"
}
},
"required": [
"@type",
"location"
]
},
"CJ1CommandLogin": {
"description": "Log in.",
"type": "object",
"properties": {
"metadata": {
"description": "The extra metadata.",
"$ref": "#/$defs/Map<String,String>"
},
"password": {
"description": "The password.",
"$ref": "#/$defs/String"
},
"userName": {
"description": "The user name.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "Login"
}
},
"required": [
"@type",
"password",
"userName"
]
},
"CJ1CommandRolesAssign": {
"description": "Assign roles to a user.",
"type": "object",
"properties": {
"roles": {
"description": "The roles.",
"$ref": "#/$defs/Set<String>"
},
"user": {
"description": "The user ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "RolesAssign"
}
},
"required": [
"@type",
"user"
]
},
"CJ1CommandRolesGet": {
"description": "Get roles assigned to a user.",
"type": "object",
"properties": {
"user": {
"description": "The user ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "RolesGet"
}
},
"required": [
"@type",
"user"
]
},
"CJ1CommandRolesRevoke": {
"description": "Revoke roles from a user.",
"type": "object",
"properties": {
"roles": {
"description": "The roles.",
"$ref": "#/$defs/Set<String>"
},
"user": {
"description": "The user ID.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "RolesRevoke"
}
},
"required": [
"@type",
"user"
]
},
"CJ1CommandStockCount": {
"description": "Count stock matching the given search parameters.",
"type": "object",
"properties": {
"parameters": {
"description": "The stock search parameters.",
"$ref": "#/$defs/CJ1StockSearchParameters"
},
"@type": {
"type": "string",
"pattern": "StockCount"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandStockReposit": {
"description": "Execute a stock reposition.",
"type": "object",
"properties": {
"reposit": {
"description": "The stock reposition.",
"$ref": "#/$defs/CJ1StockRepositType"
},
"@type": {
"type": "string",
"pattern": "StockReposit"
}
},
"required": [
"@type",
"reposit"
]
},
"CJ1CommandStockSearchBegin": {
"description": "Start searching for stock.",
"type": "object",
"properties": {
"parameters": {
"description": "The stock search parameters.",
"$ref": "#/$defs/CJ1StockSearchParameters"
},
"@type": {
"type": "string",
"pattern": "StockSearchBegin"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandStockSearchNext": {
"description": "Get the next page of stock.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "StockSearchNext"
}
},
"required": [
"@type"
]
},
"CJ1CommandStockSearchPrevious": {
"description": "Get the previous page of stock.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "StockSearchPrevious"
}
},
"required": [
"@type"
]
},
"CJ1CommandType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1CommandAuditSearchBegin"
},
{
"$ref": "#/$defs/CJ1CommandAuditSearchNext"
},
{
"$ref": "#/$defs/CJ1CommandAuditSearchPrevious"
},
{
"$ref": "#/$defs/CJ1CommandFileDelete"
},
{
"$ref": "#/$defs/CJ1CommandFileGet"
},
{
"$ref": "#/$defs/CJ1CommandFilePut"
},
{
"$ref": "#/$defs/CJ1CommandFileSearchBegin"
},
{
"$ref": "#/$defs/CJ1CommandFileSearchNext"
},
{
"$ref": "#/$defs/CJ1CommandFileSearchPrevious"
},
{
"$ref": "#/$defs/CJ1CommandItemAttachmentAdd"
},
{
"$ref": "#/$defs/CJ1CommandItemAttachmentRemove"
},
{
"$ref": "#/$defs/CJ1CommandItemCreate"
},
{
"$ref": "#/$defs/CJ1CommandItemDelete"
},
{
"$ref": "#/$defs/CJ1CommandItemGet"
},
{
"$ref": "#/$defs/CJ1CommandItemMetadataPut"
},
{
"$ref": "#/$defs/CJ1CommandItemMetadataRemove"
},
{
"$ref": "#/$defs/CJ1CommandItemSearchBegin"
},
{
"$ref": "#/$defs/CJ1CommandItemSearchNext"
},
{
"$ref": "#/$defs/CJ1CommandItemSearchPrevious"
},
{
"$ref": "#/$defs/CJ1CommandItemSetName"
},
{
"$ref": "#/$defs/CJ1CommandItemTypesAssign"
},
{
"$ref": "#/$defs/CJ1CommandItemTypesRevoke"
},
{
"$ref": "#/$defs/CJ1CommandLocationAttachmentAdd"
},
{
"$ref": "#/$defs/CJ1CommandLocationAttachmentRemove"
},
{
"$ref": "#/$defs/CJ1CommandLocationDelete"
},
{
"$ref": "#/$defs/CJ1CommandLocationGet"
},
{
"$ref": "#/$defs/CJ1CommandLocationList"
},
{
"$ref": "#/$defs/CJ1CommandLocationMetadataPut"
},
{
"$ref": "#/$defs/CJ1CommandLocationMetadataRemove"
},
{
"$ref": "#/$defs/CJ1CommandLocationPut"
},
{
"$ref": "#/$defs/CJ1CommandLocationTypesAssign"
},
{
"$ref": "#/$defs/CJ1CommandLocationTypesRevoke"
},
{
"$ref": "#/$defs/CJ1CommandLogin"
},
{
"$ref": "#/$defs/CJ1CommandRolesAssign"
},
{
"$ref": "#/$defs/CJ1CommandRolesGet"
},
{
"$ref": "#/$defs/CJ1CommandRolesRevoke"
},
{
"$ref": "#/$defs/CJ1CommandStockCount"
},
{
"$ref": "#/$defs/CJ1CommandStockReposit"
},
{
"$ref": "#/$defs/CJ1CommandStockSearchBegin"
},
{
"$ref": "#/$defs/CJ1CommandStockSearchNext"
},
{
"$ref": "#/$defs/CJ1CommandStockSearchPrevious"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageGetText"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageInstall"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageSearchBegin"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageSearchNext"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageSearchPrevious"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageUninstall"
},
{
"$ref": "#/$defs/CJ1CommandTypePackageUpgrade"
}
]
},
"CJ1CommandTypePackageGetText": {
"description": "Get the text of a type package.",
"type": "object",
"properties": {
"identifier": {
"description": "The type package identifier.",
"$ref": "#/$defs/CJ1TypePackageIdentifier"
},
"@type": {
"type": "string",
"pattern": "TypePackageGetText"
}
},
"required": [
"@type",
"identifier"
]
},
"CJ1CommandTypePackageInstall": {
"description": "Install a type package.",
"type": "object",
"properties": {
"text": {
"description": "The type package text.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "TypePackageInstall"
}
},
"required": [
"@type",
"text"
]
},
"CJ1CommandTypePackageSearchBegin": {
"description": "Start searching for type packages.",
"type": "object",
"properties": {
"parameters": {
"description": "The type package search parameters.",
"$ref": "#/$defs/CJ1TypePackageSearchParameters"
},
"@type": {
"type": "string",
"pattern": "TypePackageSearchBegin"
}
},
"required": [
"@type",
"parameters"
]
},
"CJ1CommandTypePackageSearchNext": {
"description": "Get the next page of type packages.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "TypePackageSearchNext"
}
},
"required": [
"@type"
]
},
"CJ1CommandTypePackageSearchPrevious": {
"description": "Get the previous page of type packages.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "TypePackageSearchPrevious"
}
},
"required": [
"@type"
]
},
"CJ1CommandTypePackageUninstall": {
"description": "Uninstall a type package.",
"type": "object",
"properties": {
"uninstall": {
"description": "The type package uninstall parameters.",
"$ref": "#/$defs/CJ1TypePackageUninstall"
},
"@type": {
"type": "string",
"pattern": "TypePackageUninstall"
}
},
"required": [
"@type",
"uninstall"
]
},
"CJ1CommandTypePackageUpgrade": {
"description": "Upgrade a type package.",
"type": "object",
"properties": {
"text": {
"description": "The type package text.",
"$ref": "#/$defs/String"
},
"typeRemovalBehavior": {
"description": "The type removal behavior.",
"$ref": "#/$defs/CJ1TypePackageTypeRemovalBehavior"
},
"versionBehavior": {
"description": "The type version behavior.",
"$ref": "#/$defs/CJ1TypePackageVersionBehavior"
},
"@type": {
"type": "string",
"pattern": "TypePackageUpgrade"
}
},
"required": [
"@type",
"text",
"typeRemovalBehavior",
"versionBehavior"
]
},
"CJ1ComparisonExactAnything<RDottedName>": {
"description": "Match anything.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1ComparisonExactAnything<String>": {
"description": "Match anything.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1ComparisonExactAnything<UUID>": {
"description": "Match anything.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1ComparisonExactIsEqualTo<RDottedName>": {
"description": "Matches values exactly equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/RDottedName"
},
"@type": {
"type": "string",
"pattern": "IsEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactIsEqualTo<String>": {
"description": "Matches values exactly equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactIsEqualTo<UUID>": {
"description": "Matches values exactly equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "IsEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactIsNotEqualTo<RDottedName>": {
"description": "Matches values not equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/RDottedName"
},
"@type": {
"type": "string",
"pattern": "IsNotEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactIsNotEqualTo<String>": {
"description": "Matches values not equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsNotEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactIsNotEqualTo<UUID>": {
"description": "Matches values not equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "IsNotEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonExactType<RDottedName>": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ComparisonExactAnything<RDottedName>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsEqualTo<RDottedName>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsNotEqualTo<RDottedName>"
}
]
},
"CJ1ComparisonExactType<String>": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ComparisonExactAnything<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsEqualTo<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsNotEqualTo<String>"
}
]
},
"CJ1ComparisonExactType<UUID>": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ComparisonExactAnything<UUID>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsEqualTo<UUID>"
},
{
"$ref": "#/$defs/CJ1ComparisonExactIsNotEqualTo<UUID>"
}
]
},
"CJ1ComparisonFuzzyAnything<String>": {
"description": "Match anything.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1ComparisonFuzzyIsEqualTo<String>": {
"description": "Matches values exactly equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonFuzzyIsNotEqualTo<String>": {
"description": "Matches values not equal to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsNotEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonFuzzyIsNotSimilarTo<String>": {
"description": "Matches values not similar to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsNotSimilarTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonFuzzyIsSimilarTo<String>": {
"description": "Matches values similar to the given value.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "IsSimilarTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonFuzzyType<String>": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ComparisonFuzzyAnything<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonFuzzyIsEqualTo<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonFuzzyIsNotEqualTo<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonFuzzyIsNotSimilarTo<String>"
},
{
"$ref": "#/$defs/CJ1ComparisonFuzzyIsSimilarTo<String>"
}
]
},
"CJ1ComparisonSetAnything<CJ1TypeRecordIdentifier>": {
"description": "Match anything.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1ComparisonSetIsEqualTo<CJ1TypeRecordIdentifier>": {
"description": "Match sets equal to the given set.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "IsEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonSetIsNotEqualTo<CJ1TypeRecordIdentifier>": {
"description": "Match sets not equal to the given set.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "IsNotEqualTo"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonSetIsOverlapping<CJ1TypeRecordIdentifier>": {
"description": "Match sets overlapping the given set.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "IsOverlapping"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonSetIsSubsetOf<CJ1TypeRecordIdentifier>": {
"description": "Match sets that are a subset of the given set.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "IsSubsetOf"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonSetIsSupersetOf<CJ1TypeRecordIdentifier>": {
"description": "Match sets that are a superset of the given set.",
"type": "object",
"properties": {
"value": {
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
},
"@type": {
"type": "string",
"pattern": "IsSupersetOf"
}
},
"required": [
"@type",
"value"
]
},
"CJ1ComparisonSetType<CJ1TypeRecordIdentifier>": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ComparisonSetAnything<CJ1TypeRecordIdentifier>"
},
{
"$ref": "#/$defs/CJ1ComparisonSetIsEqualTo<CJ1TypeRecordIdentifier>"
},
{
"$ref": "#/$defs/CJ1ComparisonSetIsNotEqualTo<CJ1TypeRecordIdentifier>"
},
{
"$ref": "#/$defs/CJ1ComparisonSetIsOverlapping<CJ1TypeRecordIdentifier>"
},
{
"$ref": "#/$defs/CJ1ComparisonSetIsSubsetOf<CJ1TypeRecordIdentifier>"
},
{
"$ref": "#/$defs/CJ1ComparisonSetIsSupersetOf<CJ1TypeRecordIdentifier>"
}
]
},
"CJ1FileColumn": {
"type": "string",
"enum": [
"BY_ID",
"BY_DESCRIPTION"
]
},
"CJ1FileColumnOrdering": {
"type": "object",
"properties": {
"ascending": {
"$ref": "#/$defs/boolean"
},
"column": {
"description": "The column used to order results.",
"$ref": "#/$defs/CJ1FileColumn"
}
},
"required": [
"ascending",
"column"
]
},
"CJ1FileSearchParameters": {
"description": "Parameters to search for files.",
"type": "object",
"properties": {
"matchDescription": {
"description": "Include files with descriptions matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonFuzzyType<String>"
},
"matchMediaType": {
"description": "Include files with media types matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonFuzzyType<String>"
},
"matchSizeRange": {
"description": "Include files with sizes matching the given expression.",
"$ref": "#/$defs/CJ1SizeRange"
},
"orderBy": {
"description": "The result ordering.",
"$ref": "#/$defs/CJ1FileColumnOrdering"
},
"pageSize": {
"description": "The maximum number of results per page.",
"$ref": "#/$defs/CJ1UnsignedLong"
}
},
"required": [
"matchDescription",
"matchMediaType",
"matchSizeRange",
"orderBy",
"pageSize"
]
},
"CJ1FileType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1FileWithData"
},
{
"$ref": "#/$defs/CJ1FileWithoutData"
}
]
},
"CJ1FileWithData": {
"description": "A file with the data included.",
"type": "object",
"properties": {
"data": {
"description": "The file data.",
"$ref": "#/$defs/byte[]"
},
"description": {
"description": "The file description.",
"$ref": "#/$defs/String"
},
"hashAlgorithm": {
"description": "The file hash algorithm.",
"$ref": "#/$defs/String"
},
"hashValue": {
"description": "The file hash value.",
"$ref": "#/$defs/String"
},
"id": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"mediaType": {
"description": "The file media type.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "FileWithData"
}
},
"required": [
"@type",
"data",
"description",
"hashAlgorithm",
"hashValue",
"id",
"mediaType"
]
},
"CJ1FileWithoutData": {
"description": "A file without the data included.",
"type": "object",
"properties": {
"description": {
"description": "The file description.",
"$ref": "#/$defs/String"
},
"hashAlgorithm": {
"description": "The file hash algorithm.",
"$ref": "#/$defs/String"
},
"hashValue": {
"description": "The file hash value.",
"$ref": "#/$defs/String"
},
"id": {
"description": "The file ID.",
"$ref": "#/$defs/UUID"
},
"mediaType": {
"description": "The file media type.",
"$ref": "#/$defs/String"
},
"size": {
"description": "The file size.",
"$ref": "#/$defs/long"
},
"@type": {
"type": "string",
"pattern": "FileWithoutData"
}
},
"required": [
"@type",
"description",
"hashAlgorithm",
"hashValue",
"id",
"mediaType",
"size"
]
},
"CJ1IncludeDeleted": {
"type": "string",
"enum": [
"INCLUDE_ONLY_LIVE",
"INCLUDE_ONLY_DELETED",
"INCLUDE_BOTH_LIVE_AND_DELETED"
]
},
"CJ1Item": {
"description": "An item.",
"type": "object",
"properties": {
"attachments": {
"description": "The item attachments.",
"$ref": "#/$defs/List<CJ1AttachmentItem>"
},
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"metadata": {
"description": "The item metadata.",
"$ref": "#/$defs/Map<CJ1TypeRecordFieldIdentifier,CJ1MetadataType>"
},
"name": {
"description": "The item name.",
"$ref": "#/$defs/String"
},
"timeCreated": {
"description": "The item creation time.",
"$ref": "#/$defs/OffsetDateTime"
},
"timeUpdated": {
"description": "The item most recent update time.",
"$ref": "#/$defs/OffsetDateTime"
},
"types": {
"description": "The item types.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
}
},
"required": [
"id",
"name",
"timeCreated",
"timeUpdated"
]
},
"CJ1ItemColumn": {
"type": "string",
"enum": [
"BY_ID",
"BY_NAME"
]
},
"CJ1ItemColumnOrdering": {
"type": "object",
"properties": {
"ascending": {
"$ref": "#/$defs/boolean"
},
"column": {
"description": "The column used to order results.",
"$ref": "#/$defs/CJ1ItemColumn"
}
},
"required": [
"ascending",
"column"
]
},
"CJ1ItemSearchParameters": {
"description": "Parameters to search for items.",
"type": "object",
"properties": {
"includeDeleted": {
"description": "Include deleted items.",
"$ref": "#/$defs/CJ1IncludeDeleted"
},
"matchDescription": {
"description": "Include items with descriptions matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonFuzzyType<String>"
},
"matchMetadata": {
"description": "Include items with metadata matching the given expression.",
"$ref": "#/$defs/CJ1MetadataElementMatchType"
},
"matchName": {
"description": "Include items with names matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonFuzzyType<String>"
},
"matchTypes": {
"description": "Include items with types matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonSetType<CJ1TypeRecordIdentifier>"
},
"orderBy": {
"description": "The result ordering.",
"$ref": "#/$defs/CJ1ItemColumnOrdering"
},
"pageSize": {
"description": "The maximum number of results per page.",
"$ref": "#/$defs/CJ1UnsignedLong"
}
},
"required": [
"includeDeleted",
"matchDescription",
"matchMetadata",
"matchName",
"matchTypes",
"orderBy",
"pageSize"
]
},
"CJ1ItemSerial": {
"description": "A serial number.",
"type": "object",
"properties": {
"type": {
"description": "The serial number type.",
"$ref": "#/$defs/RDottedName"
},
"value": {
"description": "The serial number value.",
"$ref": "#/$defs/String"
}
},
"required": [
"type",
"value"
]
},
"CJ1ItemSummary": {
"description": "An item summary.",
"type": "object",
"properties": {
"id": {
"description": "The item ID.",
"$ref": "#/$defs/UUID"
},
"name": {
"description": "The item name.",
"$ref": "#/$defs/String"
},
"timeCreated": {
"description": "The item creation time.",
"$ref": "#/$defs/OffsetDateTime"
},
"timeUpdated": {
"description": "The item most recent update time.",
"$ref": "#/$defs/OffsetDateTime"
}
},
"required": [
"id",
"name",
"timeCreated",
"timeUpdated"
]
},
"CJ1Location": {
"description": "A location.",
"type": "object",
"properties": {
"attachments": {
"description": "The location attachments.",
"$ref": "#/$defs/List<CJ1AttachmentItem>"
},
"id": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"metadata": {
"description": "The location metadata.",
"$ref": "#/$defs/Map<CJ1TypeRecordFieldIdentifier,CJ1MetadataType>"
},
"parent": {
"description": "The location parent.",
"$ref": "#/$defs/Optional<UUID>"
},
"path": {
"description": "The location path.",
"$ref": "#/$defs/List<String>"
},
"timeCreated": {
"description": "The location creation time.",
"$ref": "#/$defs/OffsetDateTime"
},
"timeUpdated": {
"description": "The location most recent update time.",
"$ref": "#/$defs/OffsetDateTime"
},
"types": {
"description": "The location types.",
"$ref": "#/$defs/Set<CJ1TypeRecordIdentifier>"
}
},
"required": [
"id",
"path",
"timeCreated",
"timeUpdated"
]
},
"CJ1LocationMatchAll": {
"description": "Match all locations.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "All"
}
},
"required": [
"@type"
]
},
"CJ1LocationMatchExact": {
"description": "Match an exact location.",
"type": "object",
"properties": {
"location": {
"description": "The location.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "Exact"
}
},
"required": [
"@type",
"location"
]
},
"CJ1LocationMatchType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1LocationMatchAll"
},
{
"$ref": "#/$defs/CJ1LocationMatchExact"
},
{
"$ref": "#/$defs/CJ1LocationMatchWithDescendants"
}
]
},
"CJ1LocationMatchWithDescendants": {
"description": "Match an exact location and descendants of that location.",
"type": "object",
"properties": {
"location": {
"description": "The location.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "WithDescendants"
}
},
"required": [
"@type",
"location"
]
},
"CJ1LocationSummary": {
"description": "A location summary.",
"type": "object",
"properties": {
"id": {
"description": "The location ID.",
"$ref": "#/$defs/UUID"
},
"parent": {
"description": "The location parent.",
"$ref": "#/$defs/Optional<UUID>"
},
"path": {
"description": "The location path.",
"$ref": "#/$defs/List<String>"
},
"timeCreated": {
"description": "The location creation time.",
"$ref": "#/$defs/OffsetDateTime"
},
"timeUpdated": {
"description": "The location most recent update time.",
"$ref": "#/$defs/OffsetDateTime"
}
},
"required": [
"id",
"timeCreated",
"timeUpdated"
]
},
"CJ1MessageType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1CommandType"
},
{
"$ref": "#/$defs/CJ1ResponseType"
},
{
"$ref": "#/$defs/CJ1Transaction"
},
{
"$ref": "#/$defs/CJ1TransactionResponse"
}
]
},
"CJ1MetadataElementMatchAnd": {
"description": "Match metadata elements that match both expressions.",
"type": "object",
"properties": {
"expression0": {
"description": "The left expression.",
"$ref": "#/$defs/CJ1MetadataElementMatchType"
},
"expression1": {
"description": "The right expression.",
"$ref": "#/$defs/CJ1MetadataElementMatchType"
},
"@type": {
"type": "string",
"pattern": "And"
}
},
"required": [
"@type",
"expression0",
"expression1"
]
},
"CJ1MetadataElementMatchOr": {
"description": "Match metadata elements that match either expression.",
"type": "object",
"properties": {
"expression0": {
"description": "The left expression.",
"$ref": "#/$defs/CJ1MetadataElementMatchType"
},
"expression1": {
"description": "The right expression.",
"$ref": "#/$defs/CJ1MetadataElementMatchType"
},
"@type": {
"type": "string",
"pattern": "Or"
}
},
"required": [
"@type",
"expression0",
"expression1"
]
},
"CJ1MetadataElementMatchSpecific": {
"description": "Match specific metadata elements.",
"type": "object",
"properties": {
"fieldName": {
"description": "An expression that matches metadata field names.",
"$ref": "#/$defs/CJ1ComparisonExactType<String>"
},
"packageName": {
"description": "An expression that matches metadata package names.",
"$ref": "#/$defs/CJ1ComparisonExactType<RDottedName>"
},
"typeName": {
"description": "An expression that matches metadata type names.",
"$ref": "#/$defs/CJ1ComparisonExactType<String>"
},
"value": {
"description": "An expression that matches metadata values.",
"$ref": "#/$defs/CJ1MetadataValueMatchType"
},
"@type": {
"type": "string",
"pattern": "Specific"
}
},
"required": [
"@type",
"fieldName",
"packageName",
"typeName",
"value"
]
},
"CJ1MetadataElementMatchType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataElementMatchAnd"
},
{
"$ref": "#/$defs/CJ1MetadataElementMatchOr"
},
{
"$ref": "#/$defs/CJ1MetadataElementMatchSpecific"
}
]
},
"CJ1MetadataIntegral": {
"description": "An integral metadata value.",
"type": "object",
"properties": {
"name": {
"description": "The metadata field name.",
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
},
"value": {
"description": "The metadata value.",
"$ref": "#/$defs/long"
},
"@type": {
"type": "string",
"pattern": "Integral"
}
},
"required": [
"@type",
"name",
"value"
]
},
"CJ1MetadataMonetary": {
"description": "A monetary metadata value.",
"type": "object",
"properties": {
"currency": {
"description": "The metadata currency value.",
"$ref": "#/$defs/CurrencyUnit"
},
"name": {
"description": "The metadata field name.",
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
},
"value": {
"description": "The metadata value.",
"$ref": "#/$defs/BigDecimal"
},
"@type": {
"type": "string",
"pattern": "Monetary"
}
},
"required": [
"@type",
"currency",
"name",
"value"
]
},
"CJ1MetadataReal": {
"description": "A real metadata value.",
"type": "object",
"properties": {
"name": {
"description": "The metadata field name.",
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
},
"value": {
"description": "The metadata value.",
"$ref": "#/$defs/double"
},
"@type": {
"type": "string",
"pattern": "Real"
}
},
"required": [
"@type",
"name",
"value"
]
},
"CJ1MetadataText": {
"description": "A text metadata value.",
"type": "object",
"properties": {
"name": {
"description": "The metadata field name.",
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
},
"value": {
"description": "The metadata value.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "Text"
}
},
"required": [
"@type",
"name",
"value"
]
},
"CJ1MetadataTime": {
"description": "A time metadata value.",
"type": "object",
"properties": {
"name": {
"description": "The metadata field name.",
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
},
"value": {
"description": "The metadata value.",
"$ref": "#/$defs/OffsetDateTime"
},
"@type": {
"type": "string",
"pattern": "Time"
}
},
"required": [
"@type",
"name",
"value"
]
},
"CJ1MetadataType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataIntegral"
},
{
"$ref": "#/$defs/CJ1MetadataMonetary"
},
{
"$ref": "#/$defs/CJ1MetadataReal"
},
{
"$ref": "#/$defs/CJ1MetadataText"
},
{
"$ref": "#/$defs/CJ1MetadataTime"
}
]
},
"CJ1MetadataValueMatchAnyValue": {
"description": "Match any metadata value.",
"type": "object",
"properties": {
"@type": {
"type": "string",
"pattern": "Anything"
}
},
"required": [
"@type"
]
},
"CJ1MetadataValueMatchIntegralType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchIntegralWithinRange"
}
]
},
"CJ1MetadataValueMatchIntegralWithinRange": {
"description": "Match an integral metadata value within the given range.",
"type": "object",
"properties": {
"lower": {
"description": "The lower bound.",
"$ref": "#/$defs/long"
},
"upper": {
"description": "The upper bound.",
"$ref": "#/$defs/long"
},
"@type": {
"type": "string",
"pattern": "IntegralWithinRange"
}
},
"required": [
"@type",
"lower",
"upper"
]
},
"CJ1MetadataValueMatchMonetaryType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchMonetaryWithCurrency"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchMonetaryWithinRange"
}
]
},
"CJ1MetadataValueMatchMonetaryWithCurrency": {
"description": "Match monetary metadata values with the given currency.",
"type": "object",
"properties": {
"currency": {
"description": "The currency unit.",
"$ref": "#/$defs/CurrencyUnit"
},
"@type": {
"type": "string",
"pattern": "MonetaryWithCurrency"
}
},
"required": [
"@type",
"currency"
]
},
"CJ1MetadataValueMatchMonetaryWithinRange": {
"description": "Match a monetary metadata value within the given range.",
"type": "object",
"properties": {
"lower": {
"description": "The lower bound.",
"$ref": "#/$defs/BigDecimal"
},
"upper": {
"description": "The upper bound.",
"$ref": "#/$defs/BigDecimal"
},
"@type": {
"type": "string",
"pattern": "MonetaryWithinRange"
}
},
"required": [
"@type",
"lower",
"upper"
]
},
"CJ1MetadataValueMatchRealType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchRealWithinRange"
}
]
},
"CJ1MetadataValueMatchRealWithinRange": {
"description": "Match a real metadata value within the given range.",
"type": "object",
"properties": {
"lower": {
"description": "The lower bound.",
"$ref": "#/$defs/double"
},
"upper": {
"description": "The upper bound.",
"$ref": "#/$defs/double"
},
"@type": {
"type": "string",
"pattern": "RealWithinRange"
}
},
"required": [
"@type",
"lower",
"upper"
]
},
"CJ1MetadataValueMatchTextExact": {
"description": "Match a text metadata value with the given text.",
"type": "object",
"properties": {
"text": {
"description": "The text value.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "TextExact"
}
},
"required": [
"@type",
"text"
]
},
"CJ1MetadataValueMatchTextSearch": {
"description": "Match a text metadata value with the given search query.",
"type": "object",
"properties": {
"query": {
"description": "The search query.",
"$ref": "#/$defs/String"
},
"@type": {
"type": "string",
"pattern": "TextSearch"
}
},
"required": [
"@type",
"query"
]
},
"CJ1MetadataValueMatchTextType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchTextExact"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchTextSearch"
}
]
},
"CJ1MetadataValueMatchTimeType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchTimeWithinRange"
}
]
},
"CJ1MetadataValueMatchTimeWithinRange": {
"description": "Match a time metadata value within the given range.",
"type": "object",
"properties": {
"lower": {
"description": "The lower bound.",
"$ref": "#/$defs/OffsetDateTime"
},
"upper": {
"description": "The upper bound.",
"$ref": "#/$defs/OffsetDateTime"
},
"@type": {
"type": "string",
"pattern": "TimeWithinRange"
}
},
"required": [
"@type",
"lower",
"upper"
]
},
"CJ1MetadataValueMatchType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1MetadataValueMatchAnyValue"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchIntegralType"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchMonetaryType"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchRealType"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchTextType"
},
{
"$ref": "#/$defs/CJ1MetadataValueMatchTimeType"
}
]
},
"CJ1Page<CJ1AuditEvent>": {
"description": "A page of results.",
"type": "object",
"properties": {
"items": {
"description": "The results.",
"$ref": "#/$defs/List<CJ1AuditEvent>"
},
"pageCount": {
"description": "The total number of pages.",
"$ref": "#/$defs/CJ1UnsignedInt"
},
"pageFirstOffset": {
"description": "The offset of the first result in the page.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"pageIndex": {
"description": "The page number.",
"$ref": "#/$defs/CJ1UnsignedInt"
}
},
"required": [
"items",
"pageCount",
"pageFirstOffset",
"pageIndex"
]
},
"CJ1Page<CJ1FileWithoutData>": {
"description": "A page of results.",
"type": "object",
"properties": {
"items": {
"description": "The results.",
"$ref": "#/$defs/List<CJ1FileWithoutData>"
},
"pageCount": {
"description": "The total number of pages.",
"$ref": "#/$defs/CJ1UnsignedInt"
},
"pageFirstOffset": {
"description": "The offset of the first result in the page.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"pageIndex": {
"description": "The page number.",
"$ref": "#/$defs/CJ1UnsignedInt"
}
},
"required": [
"items",
"pageCount",
"pageFirstOffset",
"pageIndex"
]
},
"CJ1Page<CJ1ItemSummary>": {
"description": "A page of results.",
"type": "object",
"properties": {
"items": {
"description": "The results.",
"$ref": "#/$defs/List<CJ1ItemSummary>"
},
"pageCount": {
"description": "The total number of pages.",
"$ref": "#/$defs/CJ1UnsignedInt"
},
"pageFirstOffset": {
"description": "The offset of the first result in the page.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"pageIndex": {
"description": "The page number.",
"$ref": "#/$defs/CJ1UnsignedInt"
}
},
"required": [
"items",
"pageCount",
"pageFirstOffset",
"pageIndex"
]
},
"CJ1Page<CJ1StockOccurrenceType>": {
"description": "A page of results.",
"type": "object",
"properties": {
"items": {
"description": "The results.",
"$ref": "#/$defs/List<CJ1StockOccurrenceType>"
},
"pageCount": {
"description": "The total number of pages.",
"$ref": "#/$defs/CJ1UnsignedInt"
},
"pageFirstOffset": {
"description": "The offset of the first result in the page.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"pageIndex": {
"description": "The page number.",
"$ref": "#/$defs/CJ1UnsignedInt"
}
},
"required": [
"items",
"pageCount",
"pageFirstOffset",
"pageIndex"
]
},
"CJ1ResponseAuditSearch": {
"description": "A response to AuditSearch.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"results": {
"$ref": "#/$defs/CJ1Page<CJ1AuditEvent>"
},
"@type": {
"type": "string",
"pattern": "ResponseAuditSearch"
}
},
"required": [
"@type",
"requestId",
"results"
]
},
"CJ1ResponseBlame": {
"type": "string",
"enum": [
"BLAME_CLIENT",
"BLAME_SERVER"
]
},
"CJ1ResponseError": {
"type": "object",
"properties": {
"attributes": {
"$ref": "#/$defs/Map<String,String>"
},
"blame": {
"$ref": "#/$defs/CJ1ResponseBlame"
},
"errorCode": {
"$ref": "#/$defs/CAErrorCode"
},
"extras": {
"$ref": "#/$defs/List<CJ1StructuredError>"
},
"message": {
"$ref": "#/$defs/String"
},
"remediatingAction": {
"$ref": "#/$defs/Optional<String>"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseError"
}
},
"required": [
"@type",
"errorCode",
"message",
"requestId"
]
},
"CJ1ResponseFileDelete": {
"description": "A response to FileDelete.",
"type": "object",
"properties": {
"file": {
"$ref": "#/$defs/UUID"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseFileDelete"
}
},
"required": [
"@type",
"file",
"requestId"
]
},
"CJ1ResponseFileGet": {
"description": "A response to FileGet.",
"type": "object",
"properties": {
"file": {
"$ref": "#/$defs/CJ1FileWithoutData"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseFileGet"
}
},
"required": [
"@type",
"file",
"requestId"
]
},
"CJ1ResponseFilePut": {
"description": "A response to FilePut.",
"type": "object",
"properties": {
"file": {
"$ref": "#/$defs/CJ1FileType"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseFilePut"
}
},
"required": [
"@type",
"file",
"requestId"
]
},
"CJ1ResponseFileSearch": {
"description": "A response to FileSearch.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"results": {
"$ref": "#/$defs/CJ1Page<CJ1FileWithoutData>"
},
"@type": {
"type": "string",
"pattern": "ResponseFileSearch"
}
},
"required": [
"@type",
"requestId",
"results"
]
},
"CJ1ResponseItemAttachmentAdd": {
"description": "A response to ItemAttachmentAdd.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemAttachmentAdd"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemAttachmentRemove": {
"description": "A response to ItemAttachmentRemove.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemAttachmentRemove"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemCreate": {
"description": "A response to ItemCreate.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemCreate"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemDelete": {
"description": "A response to ItemDelete.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/UUID"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemDelete"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemGet": {
"description": "A response to ItemGet.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemGet"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemMetadataPut": {
"description": "A response to ItemMetadataPut.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemMetadataPut"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemMetadataRemove": {
"description": "A response to ItemMetadataRemove.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemMetadataRemove"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemSearch": {
"description": "A response to ItemSearch.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"results": {
"$ref": "#/$defs/CJ1Page<CJ1ItemSummary>"
},
"@type": {
"type": "string",
"pattern": "ResponseItemSearch"
}
},
"required": [
"@type",
"requestId",
"results"
]
},
"CJ1ResponseItemSetName": {
"description": "A response to ItemSetName.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemSetName"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemTypesAssign": {
"description": "A response to ItemTypesAssign.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemTypesAssign"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseItemTypesRevoke": {
"description": "A response to ItemTypesRevoke.",
"type": "object",
"properties": {
"item": {
"$ref": "#/$defs/CJ1Item"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseItemTypesRevoke"
}
},
"required": [
"@type",
"item",
"requestId"
]
},
"CJ1ResponseLocationAttachmentAdd": {
"description": "A response to LocationAttachmentAdd.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationAttachmentAdd"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationAttachmentRemove": {
"description": "A response to LocationAttachmentRemove.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationAttachmentRemove"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationDelete": {
"description": "A response to LocationDelete.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/UUID"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationDelete"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationGet": {
"description": "A response to LocationGet.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationGet"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationList": {
"description": "A response to LocationList.",
"type": "object",
"properties": {
"locations": {
"$ref": "#/$defs/Map<UUID,CJ1LocationSummary>"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationList"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseLocationMetadataPut": {
"description": "A response to LocationMetadataPut.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationMetadataPut"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationMetadataRemove": {
"description": "A response to LocationMetadataRemove.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationMetadataRemove"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationPut": {
"description": "A response to LocationPut.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationPut"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationTypesAssign": {
"description": "A response to LocationTypesAssign.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationTypesAssign"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLocationTypesRevoke": {
"description": "A response to LocationTypesRevoke.",
"type": "object",
"properties": {
"location": {
"$ref": "#/$defs/CJ1Location"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLocationTypesRevoke"
}
},
"required": [
"@type",
"location",
"requestId"
]
},
"CJ1ResponseLogin": {
"description": "A response to Login.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"userId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseLogin"
}
},
"required": [
"@type",
"requestId",
"userId"
]
},
"CJ1ResponseRolesAssign": {
"description": "A response to RolesAssign.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseRolesAssign"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseRolesGet": {
"description": "A response to RolesGet.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"roles": {
"$ref": "#/$defs/Set<String>"
},
"@type": {
"type": "string",
"pattern": "ResponseRolesGet"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseRolesRevoke": {
"description": "A response to RolesRevoke.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseRolesRevoke"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseStockCount": {
"description": "A response to StockCount.",
"type": "object",
"properties": {
"count": {
"$ref": "#/$defs/CJ1UnsignedLong"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseStockCount"
}
},
"required": [
"@type",
"count",
"requestId"
]
},
"CJ1ResponseStockReposit": {
"description": "A response to StockReposit.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"stockOccurrence": {
"$ref": "#/$defs/Optional<CJ1StockOccurrenceType>"
},
"@type": {
"type": "string",
"pattern": "ResponseStockReposit"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseStockSearch": {
"description": "A response to StockSearch.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"results": {
"$ref": "#/$defs/CJ1Page<CJ1StockOccurrenceType>"
},
"@type": {
"type": "string",
"pattern": "ResponseStockSearch"
}
},
"required": [
"@type",
"requestId",
"results"
]
},
"CJ1ResponseType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1ResponseAuditSearch"
},
{
"$ref": "#/$defs/CJ1ResponseError"
},
{
"$ref": "#/$defs/CJ1ResponseFileDelete"
},
{
"$ref": "#/$defs/CJ1ResponseFileGet"
},
{
"$ref": "#/$defs/CJ1ResponseFilePut"
},
{
"$ref": "#/$defs/CJ1ResponseFileSearch"
},
{
"$ref": "#/$defs/CJ1ResponseItemAttachmentAdd"
},
{
"$ref": "#/$defs/CJ1ResponseItemAttachmentRemove"
},
{
"$ref": "#/$defs/CJ1ResponseItemCreate"
},
{
"$ref": "#/$defs/CJ1ResponseItemDelete"
},
{
"$ref": "#/$defs/CJ1ResponseItemGet"
},
{
"$ref": "#/$defs/CJ1ResponseItemMetadataPut"
},
{
"$ref": "#/$defs/CJ1ResponseItemMetadataRemove"
},
{
"$ref": "#/$defs/CJ1ResponseItemSearch"
},
{
"$ref": "#/$defs/CJ1ResponseItemSetName"
},
{
"$ref": "#/$defs/CJ1ResponseItemTypesAssign"
},
{
"$ref": "#/$defs/CJ1ResponseItemTypesRevoke"
},
{
"$ref": "#/$defs/CJ1ResponseLocationAttachmentAdd"
},
{
"$ref": "#/$defs/CJ1ResponseLocationAttachmentRemove"
},
{
"$ref": "#/$defs/CJ1ResponseLocationDelete"
},
{
"$ref": "#/$defs/CJ1ResponseLocationGet"
},
{
"$ref": "#/$defs/CJ1ResponseLocationList"
},
{
"$ref": "#/$defs/CJ1ResponseLocationMetadataPut"
},
{
"$ref": "#/$defs/CJ1ResponseLocationMetadataRemove"
},
{
"$ref": "#/$defs/CJ1ResponseLocationPut"
},
{
"$ref": "#/$defs/CJ1ResponseLocationTypesAssign"
},
{
"$ref": "#/$defs/CJ1ResponseLocationTypesRevoke"
},
{
"$ref": "#/$defs/CJ1ResponseLogin"
},
{
"$ref": "#/$defs/CJ1ResponseRolesAssign"
},
{
"$ref": "#/$defs/CJ1ResponseRolesGet"
},
{
"$ref": "#/$defs/CJ1ResponseRolesRevoke"
},
{
"$ref": "#/$defs/CJ1ResponseStockCount"
},
{
"$ref": "#/$defs/CJ1ResponseStockReposit"
},
{
"$ref": "#/$defs/CJ1ResponseStockSearch"
},
{
"$ref": "#/$defs/CJ1ResponseTypePackageGetText"
},
{
"$ref": "#/$defs/CJ1ResponseTypePackageInstall"
},
{
"$ref": "#/$defs/CJ1ResponseTypePackageSearch"
},
{
"$ref": "#/$defs/CJ1ResponseTypePackageUninstall"
},
{
"$ref": "#/$defs/CJ1ResponseTypePackageUpgrade"
}
]
},
"CJ1ResponseTypePackageGetText": {
"description": "A response to TypePackageGetText.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseTypePackageGetText"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseTypePackageInstall": {
"description": "A response to TypePackageInstall.",
"type": "object",
"properties": {
"identifier": {
"$ref": "#/$defs/CJ1TypePackageIdentifier"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseTypePackageInstall"
}
},
"required": [
"@type",
"identifier",
"requestId"
]
},
"CJ1ResponseTypePackageSearch": {
"description": "A response to TypePackageSearch.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseTypePackageSearch"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseTypePackageUninstall": {
"description": "A response to TypePackageUninstall.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseTypePackageUninstall"
}
},
"required": [
"@type",
"requestId"
]
},
"CJ1ResponseTypePackageUpgrade": {
"description": "A response to TypePackageUpgrade.",
"type": "object",
"properties": {
"identifier": {
"$ref": "#/$defs/CJ1TypePackageIdentifier"
},
"requestId": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "ResponseTypePackageUpgrade"
}
},
"required": [
"@type",
"identifier",
"requestId"
]
},
"CJ1SizeRange": {
"type": "object",
"properties": {
"sizeMaximum": {
"description": "The inclusive upper bound.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"sizeMinimum": {
"description": "The inclusive lower bound.",
"$ref": "#/$defs/CJ1UnsignedLong"
}
},
"required": [
"sizeMaximum",
"sizeMinimum"
]
},
"CJ1StockOccurrenceKind": {
"type": "string",
"enum": [
"SERIAL",
"SET"
]
},
"CJ1StockOccurrenceSerial": {
"type": "object",
"properties": {
"instance": {
"$ref": "#/$defs/UUID"
},
"item": {
"$ref": "#/$defs/CJ1ItemSummary"
},
"location": {
"$ref": "#/$defs/CJ1LocationSummary"
},
"serials": {
"$ref": "#/$defs/List<CJ1ItemSerial>"
},
"@type": {
"type": "string",
"pattern": "Serial"
}
},
"required": [
"@type",
"instance",
"item",
"location"
]
},
"CJ1StockOccurrenceSet": {
"type": "object",
"properties": {
"count": {
"$ref": "#/$defs/long"
},
"instance": {
"$ref": "#/$defs/UUID"
},
"item": {
"$ref": "#/$defs/CJ1ItemSummary"
},
"location": {
"$ref": "#/$defs/CJ1LocationSummary"
},
"@type": {
"type": "string",
"pattern": "Set"
}
},
"required": [
"@type",
"count",
"instance",
"item",
"location"
]
},
"CJ1StockOccurrenceType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1StockOccurrenceSerial"
},
{
"$ref": "#/$defs/CJ1StockOccurrenceSet"
}
]
},
"CJ1StockRepositRemove": {
"description": "Remove the given stock occurrence.",
"type": "object",
"properties": {
"instance": {
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "Remove"
}
},
"required": [
"@type",
"instance"
]
},
"CJ1StockRepositSerialIntroduce": {
"description": "Introduce a new serial stock occurrence.",
"type": "object",
"properties": {
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"item": {
"description": "The item.",
"$ref": "#/$defs/UUID"
},
"location": {
"description": "The location.",
"$ref": "#/$defs/UUID"
},
"serial": {
"description": "The serial number.",
"$ref": "#/$defs/CJ1ItemSerial"
},
"@type": {
"type": "string",
"pattern": "SerialIntroduce"
}
},
"required": [
"@type",
"instance",
"item",
"location",
"serial"
]
},
"CJ1StockRepositSerialMove": {
"description": "Move a serial stock occurrence to a new location.",
"type": "object",
"properties": {
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"toLocation": {
"description": "The new location.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "SerialMove"
}
},
"required": [
"@type",
"instance",
"toLocation"
]
},
"CJ1StockRepositSerialNumberAdd": {
"description": "Add a new serial number to a stock occurrence.",
"type": "object",
"properties": {
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"serial": {
"description": "The serial number.",
"$ref": "#/$defs/CJ1ItemSerial"
},
"@type": {
"type": "string",
"pattern": "SerialNumberAdd"
}
},
"required": [
"@type",
"instance",
"serial"
]
},
"CJ1StockRepositSerialNumberRemove": {
"description": "Remove a serial number from a stock occurrence.",
"type": "object",
"properties": {
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"serial": {
"description": "The serial number.",
"$ref": "#/$defs/CJ1ItemSerial"
},
"@type": {
"type": "string",
"pattern": "SerialNumberRemove"
}
},
"required": [
"@type",
"instance",
"serial"
]
},
"CJ1StockRepositSetAdd": {
"description": "Add to an existing set stock occurrence.",
"type": "object",
"properties": {
"count": {
"description": "The number of items to add.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "SetAdd"
}
},
"required": [
"@type",
"count",
"instance"
]
},
"CJ1StockRepositSetIntroduce": {
"description": "Introduce a new set stock occurrence.",
"type": "object",
"properties": {
"count": {
"description": "The number of items to introduce.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"item": {
"description": "The item.",
"$ref": "#/$defs/UUID"
},
"location": {
"description": "The location.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "SetIntroduce"
}
},
"required": [
"@type",
"count",
"instance",
"item",
"location"
]
},
"CJ1StockRepositSetMove": {
"description": "Move between stock occurrences.",
"type": "object",
"properties": {
"count": {
"description": "The number of items to move.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"instanceSource": {
"description": "The source stock occurrence.",
"$ref": "#/$defs/UUID"
},
"instanceTarget": {
"description": "The target stock occurrence.",
"$ref": "#/$defs/UUID"
},
"toLocation": {
"description": "The new location.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "SetMove"
}
},
"required": [
"@type",
"count",
"instanceSource",
"instanceTarget",
"toLocation"
]
},
"CJ1StockRepositSetRemove": {
"description": "Remove from a set stock occurrence.",
"type": "object",
"properties": {
"count": {
"description": "The number of items to remove.",
"$ref": "#/$defs/CJ1UnsignedLong"
},
"instance": {
"description": "The stock occurrence.",
"$ref": "#/$defs/UUID"
},
"@type": {
"type": "string",
"pattern": "SetRemove"
}
},
"required": [
"@type",
"count",
"instance"
]
},
"CJ1StockRepositType": {
"oneOf": [
{
"$ref": "#/$defs/CJ1StockRepositRemove"
},
{
"$ref": "#/$defs/CJ1StockRepositSerialIntroduce"
},
{
"$ref": "#/$defs/CJ1StockRepositSerialMove"
},
{
"$ref": "#/$defs/CJ1StockRepositSerialNumberAdd"
},
{
"$ref": "#/$defs/CJ1StockRepositSerialNumberRemove"
},
{
"$ref": "#/$defs/CJ1StockRepositSetAdd"
},
{
"$ref": "#/$defs/CJ1StockRepositSetIntroduce"
},
{
"$ref": "#/$defs/CJ1StockRepositSetMove"
},
{
"$ref": "#/$defs/CJ1StockRepositSetRemove"
}
]
},
"CJ1StockSearchParameters": {
"description": "Parameters to search for stock.",
"type": "object",
"properties": {
"includeDeleted": {
"description": "Include deleted stock.",
"$ref": "#/$defs/CJ1IncludeDeleted"
},
"includeOccurrences": {
"description": "Include stock of the given occurrence kinds.",
"$ref": "#/$defs/Set<CJ1StockOccurrenceKind>"
},
"matchItem": {
"description": "Include stock with items matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonExactType<UUID>"
},
"matchLocation": {
"description": "Include stock with locations matching the given expression.",
"$ref": "#/$defs/CJ1LocationMatchType"
},
"pageSize": {
"description": "The maximum number of results per page.",
"$ref": "#/$defs/CJ1UnsignedLong"
}
},
"required": [
"includeDeleted",
"includeOccurrences",
"matchItem",
"matchLocation",
"pageSize"
]
},
"CJ1StructuredError": {
"description": "A structured error value.",
"type": "object",
"properties": {
"attributes": {
"description": "The error attributes.",
"$ref": "#/$defs/Map<String,String>"
},
"errorCode": {
"description": "The error code.",
"$ref": "#/$defs/String"
},
"message": {
"description": "The error message.",
"$ref": "#/$defs/String"
},
"remediatingAction": {
"description": "The remediating action.",
"$ref": "#/$defs/Optional<String>"
}
},
"required": [
"errorCode",
"message"
]
},
"CJ1TimeRange": {
"description": "A range of time.",
"type": "object",
"properties": {
"lower": {
"description": "The inclusive lower bound.",
"$ref": "#/$defs/OffsetDateTime"
},
"upper": {
"description": "The inclusive upper bound.",
"$ref": "#/$defs/OffsetDateTime"
}
},
"required": [
"lower",
"upper"
]
},
"CJ1Transaction": {
"description": "A set of commands to execute in a single transaction.",
"type": "object",
"properties": {
"commands": {
"description": "The commands that will be executed in the given order.",
"$ref": "#/$defs/List<CJ1CommandType>"
},
"@type": {
"type": "string",
"pattern": "Transaction"
}
},
"required": [
"@type"
]
},
"CJ1TransactionResponse": {
"description": "A transaction response.",
"type": "object",
"properties": {
"requestId": {
"$ref": "#/$defs/UUID"
},
"responses": {
"description": "The command responses.",
"$ref": "#/$defs/List<CJ1ResponseType>"
},
"@type": {
"type": "string",
"pattern": "TransactionResponse"
}
},
"required": [
"@type",
"requestId",
"responses"
]
},
"CJ1TypePackageIdentifier": {
"description": "A type package identifier.",
"type": "string"
},
"CJ1TypePackageSearchParameters": {
"description": "Parameters to search for type packages.",
"type": "object",
"properties": {
"matchDescription": {
"description": "Include packages with descriptions matching the given expression.",
"$ref": "#/$defs/CJ1ComparisonFuzzyType<String>"
},
"pageSize": {
"description": "The maximum number of results per page.",
"$ref": "#/$defs/long"
}
},
"required": [
"matchDescription",
"pageSize"
]
},
"CJ1TypePackageTypeRemovalBehavior": {
"description": "Type package removal behavior.",
"type": "string",
"enum": [
"TYPE_REMOVAL_FAIL_IF_TYPES_REFERENCED",
"TYPE_REMOVAL_REVOKE_TYPES"
]
},
"CJ1TypePackageUninstall": {
"description": "Parameters for uninstalling type packages.",
"type": "object",
"properties": {
"packageIdentifier": {
"description": "The type package identifier.",
"$ref": "#/$defs/CJ1TypePackageIdentifier"
},
"typeRemovalBehavior": {
"description": "The type removal behavior.",
"$ref": "#/$defs/CJ1TypePackageTypeRemovalBehavior"
}
},
"required": [
"packageIdentifier",
"typeRemovalBehavior"
]
},
"CJ1TypePackageVersionBehavior": {
"description": "Type package version behavior.",
"type": "string",
"enum": [
"VERSION_ALLOW_DOWNGRADES",
"VERSION_DISALLOW_DOWNGRADES"
]
},
"CJ1TypeRecordFieldIdentifier": {
"description": "A type record field identifier.",
"type": "string"
},
"CJ1TypeRecordIdentifier": {
"description": "A type record identifier.",
"type": "string"
},
"CJ1UnsignedInt": {
"description": "A 32-bit unsigned integer value.",
"type": "number",
"minimum": 0,
"exclusiveMaximum": 4294967296
},
"CJ1UnsignedLong": {
"description": "A 64-bit unsigned integer value.",
"type": "number",
"minimum": 0,
"exclusiveMaximum": 18446744073709551616
},
"CurrencyUnit": {
"description": "An ISO 4217 currency code.",
"type": "string",
"pattern": "[A-Z][A-Z][A-Z]"
},
"List<CJ1AttachmentItem>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1AttachmentItem"
}
},
"List<CJ1AuditEvent>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1AuditEvent"
}
},
"List<CJ1CommandType>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1CommandType"
}
},
"List<CJ1FileWithoutData>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1FileWithoutData"
}
},
"List<CJ1ItemSerial>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1ItemSerial"
}
},
"List<CJ1ItemSummary>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1ItemSummary"
}
},
"List<CJ1ResponseType>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1ResponseType"
}
},
"List<CJ1StockOccurrenceType>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1StockOccurrenceType"
}
},
"List<CJ1StructuredError>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1StructuredError"
}
},
"List<String>": {
"type": "array",
"items": {
"$ref": "#/$defs/String"
}
},
"Map<CJ1TypeRecordFieldIdentifier,CJ1MetadataType>": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/CJ1MetadataType"
}
},
"Map<String,String>": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/String"
}
},
"Map<UUID,CJ1LocationSummary>": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/CJ1LocationSummary"
}
},
"OffsetDateTime": {
"description": "An ISO 8601 timestamp.",
"type": "string",
"format": "date-time"
},
"Optional<CJ1StockOccurrenceType>": {
"$ref": "#/$defs/CJ1StockOccurrenceType"
},
"Optional<String>": {
"$ref": "#/$defs/String"
},
"Optional<UUID>": {
"$ref": "#/$defs/UUID"
},
"RDottedName": {
"description": "A Lanark dotted name.",
"type": "string",
"pattern": "([a-z][a-z0-9_-]{0,63})(\\.[a-z][a-z0-9_-]{0,62}){0,15}"
},
"Set<CJ1MetadataType>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1MetadataType"
}
},
"Set<CJ1StockOccurrenceKind>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1StockOccurrenceKind"
}
},
"Set<CJ1TypeRecordFieldIdentifier>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1TypeRecordFieldIdentifier"
}
},
"Set<CJ1TypeRecordIdentifier>": {
"type": "array",
"items": {
"$ref": "#/$defs/CJ1TypeRecordIdentifier"
}
},
"Set<String>": {
"type": "array",
"items": {
"$ref": "#/$defs/String"
}
},
"String": {
"description": "An arbitrary string.",
"type": "string"
},
"UUID": {
"description": "An RFC 9562 UUID string.",
"type": "string",
"format": "uuid"
},
"boolean": {
"type": "boolean"
},
"byte[]": {
"description": "An RFC 4648 'standard' base64 encoded byte array.",
"type": "string",
"format": "base64"
},
"double": {
"description": "An arbitrary real number.",
"type": "number"
},
"long": {
"description": "A 64-bit signed integer.",
"type": "number",
"minimum": -9223372036854775808,
"maximum": 9223372036854775807
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:p="com.io7m.cardant:type_packages:1"
targetNamespace="com.io7m.cardant:type_packages:1">
<xsd:simpleType name="UnqualifiedNameType">
<xsd:annotation>
<xsd:documentation>
The type of unqualified names.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-z][a-z0-9_-]{0,62}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PackageNameType">
<xsd:annotation>
<xsd:documentation>
The type of fully qualified package names.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([a-z][a-z0-9_-]{0,63})(\.[a-z][a-z0-9_-]{0,62}){0,15}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PackageVersionType">
<xsd:annotation>
<xsd:documentation>
The type of package versions.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([0-9]+)\.([0-9]+)\.([0-9]+)(-(.+))?"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="PackageInfo">
<xsd:complexType>
<xsd:attribute name="Name"
type="p:PackageNameType"
use="required">
<xsd:annotation>
<xsd:documentation>
The name of the package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Version"
type="p:PackageVersionType"
use="required">
<xsd:annotation>
<xsd:documentation>
The version of the package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Description"
type="xsd:string"
use="required">
<xsd:annotation>
<xsd:documentation>
The description of the package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="VersionRange">
<xsd:complexType>
<xsd:attribute name="VersionLower"
type="p:PackageVersionType"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower bound on the versions of the imported package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="VersionLowerInclusive"
type="xsd:boolean"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower bound is inclusive.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="VersionUpper"
type="p:PackageVersionType"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper bound on the versions of the imported package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="VersionUpperInclusive"
type="xsd:boolean"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper bound is inclusive.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="Import">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="p:VersionRange"/>
</xsd:sequence>
<xsd:attribute name="Package"
type="p:PackageNameType"
use="required">
<xsd:annotation>
<xsd:documentation>
The name of the imported package.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="TypeDeclarationType"
abstract="true">
<xsd:annotation>
<xsd:documentation>
The base type of type declarations.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="Name"
type="p:UnqualifiedNameType"
use="required">
<xsd:annotation>
<xsd:documentation>
The name of the type.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Description"
type="xsd:string"
use="required">
<xsd:annotation>
<xsd:documentation>
The humanly-readable description of the type.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TypeScalarType"
abstract="true">
<xsd:complexContent>
<xsd:extension base="p:TypeDeclarationType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar type.
</xsd:documentation>
</xsd:annotation>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TypeScalarTextType">
<xsd:complexContent>
<xsd:extension base="p:TypeScalarType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar text type.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="Pattern"
type="xsd:string"
use="required">
<xsd:annotation>
<xsd:documentation>
The pattern that constrains text values.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeScalarText"
type="p:TypeScalarTextType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar text type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeScalarIntegralType">
<xsd:complexContent>
<xsd:extension base="p:TypeScalarType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar integral type.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="RangeLower"
type="xsd:long"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="RangeUpper"
type="xsd:long"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeScalarIntegral"
type="p:TypeScalarIntegralType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar integral type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeScalarRealType">
<xsd:complexContent>
<xsd:extension base="p:TypeScalarType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar real type.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="RangeLower"
type="xsd:double"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="RangeUpper"
type="xsd:double"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeScalarReal"
type="p:TypeScalarRealType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar real type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeScalarTimeType">
<xsd:complexContent>
<xsd:extension base="p:TypeScalarType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar time type.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="RangeLower"
type="xsd:dateTime"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="RangeUpper"
type="xsd:dateTime"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeScalarTime"
type="p:TypeScalarTimeType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar time type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeScalarMonetaryType">
<xsd:complexContent>
<xsd:extension base="p:TypeScalarType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar monetary type.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="RangeLower"
type="xsd:decimal"
use="required">
<xsd:annotation>
<xsd:documentation>
The lower inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="RangeUpper"
type="xsd:decimal"
use="required">
<xsd:annotation>
<xsd:documentation>
The upper inclusive bound.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="TypeScalarMonetary"
type="p:TypeScalarMonetaryType">
<xsd:annotation>
<xsd:documentation>
A declaration of a scalar monetary type.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="TypeFieldType"
abstract="true">
<xsd:attribute name="Name"
type="p:UnqualifiedNameType"
use="required">
<xsd:annotation>
<xsd:documentation>
The name of the record field.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Required"
type="xsd:boolean"
default="true">
<xsd:annotation>
<xsd:documentation>
Whether the record field is required to be present.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Description"
type="xsd:string"
use="required">
<xsd:annotation>
<xsd:documentation>
A description of the record field.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TypeFieldLocalType">
<xsd:annotation>
<xsd:documentation>
A field that refers to a type within this package.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="p:TypeFieldType">
<xsd:attribute name="Type"
use="required"
type="p:UnqualifiedNameType">
<xsd:annotation>
<xsd:documentation>
The scalar type of the field.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Field"
type="p:TypeFieldLocalType"/>
<xsd:complexType name="TypeFieldWithExternalTypeType">
<xsd:annotation>
<xsd:documentation>
A field that refers to a type within another package.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="p:TypeFieldType">
<xsd:attribute name="Package"
use="required"
type="p:PackageNameType">
<xsd:annotation>
<xsd:documentation>
The package containing the target type.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="Type"
use="required"
type="p:UnqualifiedNameType">
<xsd:annotation>
<xsd:documentation>
The scalar type of the field.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="FieldWithExternalType"
type="p:TypeFieldWithExternalTypeType"/>
<xsd:group name="TypeFieldGroup">
<xsd:choice>
<xsd:element ref="p:Field"/>
<xsd:element ref="p:FieldWithExternalType"/>
</xsd:choice>
</xsd:group>
<xsd:element name="TypeRecord">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>
A declaration of a record type.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="p:TypeDeclarationType">
<xsd:group ref="p:TypeFieldGroup"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:unique name="TypeRecordFieldsUnique">
<xsd:selector xpath="p:Field|p:FieldWithExternalType"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:element>
<xsd:group name="TypeDeclarationGroup">
<xsd:choice>
<xsd:element ref="p:TypeRecord"/>
<xsd:element ref="p:TypeScalarIntegral"/>
<xsd:element ref="p:TypeScalarMonetary"/>
<xsd:element ref="p:TypeScalarReal"/>
<xsd:element ref="p:TypeScalarText"/>
<xsd:element ref="p:TypeScalarTime"/>
</xsd:choice>
</xsd:group>
<xsd:element name="Package">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="p:PackageInfo"/>
<xsd:sequence minOccurs="0"
maxOccurs="unbounded">
<xsd:element ref="p:Import"/>
</xsd:sequence>
<xsd:sequence minOccurs="0"
maxOccurs="unbounded">
<xsd:group ref="p:TypeDeclarationGroup"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:key name="TypeScalarsUnique">
<xsd:annotation>
<xsd:documentation>
Scalar types must be uniquely named within a package.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="p:TypeScalarIntegral|p:TypeScalarMonetary|p:TypeScalarReal|p:TypeScalarText|p:TypeScalarTime"/>
<xsd:field xpath="@Name"/>
</xsd:key>
<xsd:key name="TypeRecordsUnique">
<xsd:annotation>
<xsd:documentation>
Record types must be uniquely named within a package.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="p:TypeRecord"/>
<xsd:field xpath="@Name"/>
</xsd:key>
<xsd:key name="ImportsUnique">
<xsd:annotation>
<xsd:documentation>
Imports must be unique within a package.
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="p:Import"/>
<xsd:field xpath="@Package"/>
</xsd:key>
</xsd:element>
</xsd:schema>