How do I run the fx_forward_instruments commands from the shell?

Table of Contents

This file documents the fx_forward_instruments resource at the shell, one section per command. Every command is a subcommand of fx_forward_instruments, and every section exports its own script into projects/ores.shell/scripts/library/. Loading a script runs that one command, so a failure names the command it came from.

1. Commands

1.1. list

Reads one page of the collection. Nothing addresses it but the caller's tenant, so it is the read that shows what exists.

The command is shaped like this:

fx_forward_instruments list [--offset <n>] [--limit <n>] [--order <field>] [--desc]

It is addressed at trading.v1.fx_forward_instruments.list.

fx_forward_instruments list --limit 1

1.2. get

Reads the one row its key addresses. A key states every identifying column, so a partial key is refused rather than answered with an arbitrary row.

The command is shaped like this:

fx_forward_instruments get <trade_id>

It is addressed at trading.v1.fx_forward_instruments.get.

fx_forward_instruments get 00000000-0000-0000-0000-000000000000

1.3. get-many

Reads several rows in one request, one key group per row.

The command is shaped like this:

fx_forward_instruments get-many <trade_id>

It is addressed at trading.v1.fx_forward_instruments.get_many.

fx_forward_instruments get-many 00000000-0000-0000-0000-000000000000

1.4. add

Writes a row. The change states that the row must not exist, so a create that collides with an existing row is refused rather than replacing it. The change carries a reason and a commentary, which the server records on it so the row's history says why it moved.

The command is shaped like this:

fx_forward_instruments add <trade_id> <trade_type_code> <trade_activity_id> <bought_currency> <bought_amount> <sold_currency> <sold_amount> <value_date> <settlement> <settlement_currency> <settlement_fx_index> <settlement_date> <settlement_payment_lag> <settlement_payment_calendar> <settlement_payment_convention> <far_date> <far_bought_amount> <far_sold_amount> <description> <reason> <commentary>

It is addressed at trading.v1.fx_forward_instruments.put.

fx_forward_instruments add 00000000-0000-0000-0000-000000000000 __none__ 00000000-0000-0000-0000-000000000000 __none__ 1 __none__ 1 1970-01-01 __none__ - - - - - - - - - __none__ system.new_record generated_script

1.5. set

Writes a row. The change states no precondition, so it replaces whatever row the key already addresses. The change carries a reason and a commentary, which the server records on it so the row's history says why it moved. Passing –version makes the write conditional on the version the caller last read.

The command is shaped like this:

fx_forward_instruments set <trade_id> <trade_type_code> <trade_activity_id> <bought_currency> <bought_amount> <sold_currency> <sold_amount> <value_date> <settlement> <settlement_currency> <settlement_fx_index> <settlement_date> <settlement_payment_lag> <settlement_payment_calendar> <settlement_payment_convention> <far_date> <far_bought_amount> <far_sold_amount> <description> <reason> <commentary> [--version <n>]

It is addressed at trading.v1.fx_forward_instruments.put.

fx_forward_instruments set 00000000-0000-0000-0000-000000000000 __none__ 00000000-0000-0000-0000-000000000000 __none__ 1 __none__ 1 1970-01-01 __none__ - - - - - - - - - __none__ system.new_record generated_script

1.6. put-many

Writes several rows in one request. The count states how many field groups follow. The change carries a reason and a commentary, which the server records on it so the row's history says why it moved.

The command is shaped like this:

fx_forward_instruments put-many --count <n> <trade_id> <trade_type_code> <trade_activity_id> <bought_currency> <bought_amount> <sold_currency> <sold_amount> <value_date> <settlement> <settlement_currency> <settlement_fx_index> <settlement_date> <settlement_payment_lag> <settlement_payment_calendar> <settlement_payment_convention> <far_date> <far_bought_amount> <far_sold_amount> <description> <reason> <commentary>

It is addressed at trading.v1.fx_forward_instruments.put_many.

fx_forward_instruments put-many --count 1 00000000-0000-0000-0000-000000000000 __none__ 00000000-0000-0000-0000-000000000000 __none__ 1 __none__ 1 1970-01-01 __none__ - - - - - - - - - __none__ system.new_record generated_script

1.7. delete

Removes a row. The change carries a reason and a commentary, which the server records on it so the row's history says why it moved. Passing –version makes the write conditional on the version the caller last read.

The command is shaped like this:

fx_forward_instruments delete <trade_id> <reason> <commentary> [--version <n>]

It is addressed at trading.v1.fx_forward_instruments.delete.

fx_forward_instruments delete 00000000-0000-0000-0000-000000000000 system.new_record generated_script

1.8. delete-many

Removes several rows in one request. The change carries a reason and a commentary, which the server records on it so the row's history says why it moved.

The command is shaped like this:

fx_forward_instruments delete-many <trade_id> <reason> <commentary>

It is addressed at trading.v1.fx_forward_instruments.delete_many.

fx_forward_instruments delete-many 00000000-0000-0000-0000-000000000000 system.new_record generated_script

1.9. versions

Reads the row's recorded history, newest first.

The command is shaped like this:

fx_forward_instruments versions <trade_id> [--offset <n>] [--limit <n>] [--order <field>] [--desc]

It is addressed at trading.v1.fx_forward_instruments_versions.list.

fx_forward_instruments versions 00000000-0000-0000-0000-000000000000 --limit 1

1.10. version

Reads one recorded version of the row.

The command is shaped like this:

fx_forward_instruments version <trade_id> --version <n>

It is addressed at trading.v1.fx_forward_instruments_versions.get.

fx_forward_instruments version 00000000-0000-0000-0000-000000000000 --version 1

Emacs 29.3 (Org mode 9.6.15)