import React from 'react';
export let types = {
id: {
name: 'id',
type: 'string',
description: (
UUID
),
},
month: {
name: 'month',
type: 'string',
description: YYYY-MM,
},
date: {
name: 'date',
type: 'string',
description: YYYY-MM-DD,
},
amount: {
name: 'amount',
type: 'integer',
description: (
A currency amount is an integer representing the value without any
decimal places. Usually it’s value * 100, but it depends on
your currency. For example, a USD amount of $120.30 would
be 12030.
),
},
};
export let objects = {
initConfig: [
{
name: 'serverURL',
type: 'string',
description: (
The URL of your Actual Budget server.
),
},
{
name: 'password',
type: 'string',
description: (
The password of your Actual Budget server.
),
},
{
name: 'dataDir',
type: 'string',
description: (
The directory to store locally cached budget files.
),
},
{
name: 'verbose',
type: 'boolean',
description: (
Enable/disable logging from actual internals
),
},
],
transaction: [
{
name: 'id',
type: types.id,
},
{ name: 'account', type: types.id, required: true },
{ name: 'date', type: 'date', required: true },
{ name: 'amount', type: types.amount },
{
name: 'payee',
type: types.id,
description: (
In a create request, this overrides{' '}
payee_name.
),
},
{
name: 'payee_name',
type: 'string',
description: (
id of the corresponding transaction in the other
account. See transfers.
),
},
{
name: 'cleared',
type: 'boolean',
description: (
A flag indicating if the transaction has cleared or not.
),
},
{
name: 'subtransactions',
type: 'Transaction[]',
description: (
false
),
},
{
name: 'closed',
type: 'bool',
description: (
Defaults to false
),
},
],
category: [
{ name: 'id', type: types.id },
{ name: 'name', type: 'string', required: true },
{ name: 'group_id', type: types.id, required: true },
{
name: 'is_income',
type: 'bool',
description: (
Defaults to false
),
},
],
categoryGroup: [
{ name: 'id', type: types.id },
{ name: 'name', type: 'string', required: true },
{
name: 'is_income',
type: 'bool',
description: (
Defaults to false
),
},
{
name: 'categories',
type: 'Category[]',
description: (
get.
id of the account this payee transfers to/from, if
this is a transfer payee.
),
},
],
condition: [
{ name: 'field', type: 'string', required: true },
{ name: 'op', type: 'string', required: true },
{ name: 'value', type: 'string', required: true },
],
rule: [
{ name: 'id', type: types.id },
{
name: 'stage',
type: 'string',
required: true,
description: (
Must be one of pre, default, or post.
),
},
{
name: 'conditionsOp',
type: 'string',
description: (
Must be one of and or or.
),
},
{ name: 'conditions', type: 'ConditionOrAction[]' },
{ name: 'actions', type: 'ConditionOrAction[]' },
],
payeeRule: [
{ name: 'id', type: types.id },
{ name: 'payee_id', type: types.id, required: true },
{
name: 'stage',
type: 'string',
required: true,
description: (
Must be one of pre, default, or post.
),
},
{
name: 'conditionsOp',
type: 'string',
description: (
Must be one of and or or.
),
},
{ name: 'conditions', type: 'ConditionOrAction[]' },
{ name: 'actions', type: 'ConditionOrAction[]' },
],
budgetFile: [
{
name: 'name',
type: 'string',
required: true,
description: (
The budget's name.
),
},
{
name: 'cloudFileId',
type: 'string',
required: true,
description: (
The id for the budget on the server. This is usually a UUID.
),
},
{
name: 'groupId',
type: 'string',
required: true,
description: (
The group id for the budget.
),
},
{
name: 'hasKey',
type: 'boolean',
required: true,
description: (
If the file has an encryption key.
),
},
{
name: 'encryptKeyId',
type: 'string',
description: (
The encryption key ID for the file, if it is encrypted.
),
},
{
name: 'state',
type: 'string',
description: (
Remote files have this set to "remote".
),
},
{
name: 'id',
type: 'string',
description: (
The local budget file's local ID.
),
},
],
};
function Table({ style, headers, className, children }) {
return (
| {header} | ))}
|---|
{name}
{type}
{field.name}
|
{typeof field.type === 'string'
? field.type
: field.type.name}
|
{field.required ? 'yes' : 'no'} | {field.description} |
{name}({args.map(arg => ).map(insertCommas)}){' '}
→ {returns}