Service - Ledger: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 26: Line 26:
storageResourceTag : "myGraph",
storageResourceTag : "myGraph",
fieldNames: {
fieldNames: {
"xxx":{
"totalOnly": {
type: "string",
type: "boolean",
requiredOnCreate: true,
requiredOnCreate: true,
canUpdate: true,
updateBy: "user"
userCanUpdate: true,
},
},
}
}
Line 80: Line 79:
objectType: "ledger"
objectType: "ledger"
},
},
linkType: "many",
linkType: "one",
},
},
to: {
to: {
Line 95: Line 94:
</syntaxhighlight>
</syntaxhighlight>


* creates ledger heirachy
* creates ledger hierarchy
* validate no infinite link loops
* validate no infinite link loops
* could move this out to a link object if becomes more complex


=== includesAccount ===
=== includesAccount ===

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

Working documents

Ledger