Service - Ledger: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 26: | Line 26: | ||
storageResourceTag : "myGraph", | storageResourceTag : "myGraph", | ||
fieldNames: { | fieldNames: { | ||
" | "totalOnly": { | ||
type: " | type: "boolean", | ||
requiredOnCreate: true, | requiredOnCreate: true, | ||
updateBy: "user" | |||
}, | }, | ||
} | } | ||
| Line 60: | Line 59: | ||
== Relationships == | == Relationships == | ||
=== | === hasChildLedger === | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
hasChildLedger: { | |||
storageResources: { | storageResources: { | ||
myGraph: { | myGraph: { | ||
| Line 73: | Line 70: | ||
} | } | ||
}, | }, | ||
links: [ | links: [ | ||
{ | { | ||
storageResourceTags: ["myGraph"], | storageResourceTags: ["myGraph"], | ||
canDelete: true, | |||
from: { | from: { | ||
objType: { | objType: { | ||
serviceTag: " | serviceTag: "Ledger", | ||
objectType: " | objectType: "ledger" | ||
}, | }, | ||
linkType: "one", | linkType: "one", | ||
| Line 91: | Line 83: | ||
to: { | to: { | ||
objType: { | objType: { | ||
serviceTag: " | serviceTag: "Ledger", | ||
objectType: " | objectType: "ledger" | ||
}, | }, | ||
linkType: "many" | linkType: "many" | ||
| Line 102: | Line 94: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | * creates ledger hierarchy | ||
* validate no infinite link loops | |||
* could move this out to a link object if becomes more complex | |||
=== includesAccount === | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
includesAccount: { | |||
storageResources: { | storageResources: { | ||
myGraph: { | myGraph: { | ||
| Line 113: | Line 109: | ||
} | } | ||
}, | }, | ||
links: [ | links: [ | ||
{ | { | ||
storageResourceTags: ["myGraph"], | storageResourceTags: ["myGraph"], | ||
canDelete: true, | |||
from: { | from: { | ||
objType: { | objType: { | ||
serviceTag: " | serviceTag: "Ledger", | ||
objectType: " | objectType: "ledger" | ||
}, | }, | ||
linkType: " | linkType: "many", | ||
}, | }, | ||
to: { | to: { | ||
objType: { | objType: { | ||
serviceTag: " | serviceTag: "AccountManager", | ||
objectType: " | objectType: "account" | ||
}, | }, | ||
linkType: "many" | linkType: "many" | ||
| Line 142: | Line 133: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * Accounts that are included in a ledger | ||
= Working documents = | = Working documents = | ||
Latest revision as of 11:49, 22 February 2026
Overview
A ledger can be used to generate a report such as the general ledger, each ledger specifies which Accounts are it's top level ledger accounts and which rollup in the generated report.
Repository
...
Object Schemas
- Additional Information
- Per Service Schemas
ledger
{
objectType: "ledger",
canDelete: false,
belongTo: {
serviceTag: "Organization",
objectType: "organization"
},
addOnDataStructure: [
{
type:"versionedData",
versionedDataLabel: "ledgerDetail",
storageResourceTag : "myGraph",
fieldNames: {
"totalOnly": {
type: "boolean",
requiredOnCreate: true,
updateBy: "user"
},
}
},
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
},
//.. dynamo for flows
},
fieldNames: {
ledgerId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph']
},
},
identifiers: [
{
type: "identifier",
fieldName: "ledgerId"
}
]
}
Relationships
hasChildLedger
{
hasChildLedger: {
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
links: [
{
storageResourceTags: ["myGraph"],
canDelete: true,
from: {
objType: {
serviceTag: "Ledger",
objectType: "ledger"
},
linkType: "one",
},
to: {
objType: {
serviceTag: "Ledger",
objectType: "ledger"
},
linkType: "many"
}
},
]
}
}
- creates ledger hierarchy
- validate no infinite link loops
- could move this out to a link object if becomes more complex
includesAccount
{
includesAccount: {
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
links: [
{
storageResourceTags: ["myGraph"],
canDelete: true,
from: {
objType: {
serviceTag: "Ledger",
objectType: "ledger"
},
linkType: "many",
},
to: {
objType: {
serviceTag: "AccountManager",
objectType: "account"
},
linkType: "many"
}
},
]
}
}
- Accounts that are included in a ledger