Service - Currency Table Standard

From Izara Wiki
Jump to navigation Jump to search

Overview

Handler service for standard currencyTables that include historical changes.

Repository

...

Schemas

ObjectSchemas

currencyTableStandard

{
	"objectType": "currencyTableStandard",
	"extendObjType": {
		"serviceTag": "CurrencyTableManager",
		"objectType": "currencyTable"
	},
	"storageResources": {},
	"addOnDataStructure": [],
	"fieldNames": {
		"baseCurrencyId":{
			type: "currency",
			requiredOnCreate: true,
		},
	},
	"generatedBy": "userGenerated"
}

currencyTableRate

{
	"objectType": "currencyTableRate",
	"storageResources": {
		graph: {
			storageType: "graph",
			graphServerTag: "GraphHandler",
		}
	},
	"addOnDataStructure": [
		{
			type:"versionedData",
			versionedDataLabel: "currencyTableRateValue",
			storageResourceTag : "graph",
			fieldNames: {
				"exchangeRate":{
					type: "number",
					requiredOnCreate: true,
					validation: {},
				},
			}
		},
	],
	"fieldNames": {
         // none, identifier comes from hash or concat of currencyTableID and currencyId
	},
	identifiers: [
		{
			type: "identifier",
			fieldNames: ["xx","yy"], // from required on create object identifiers
			name: "zz", // name of field in database
		},
	]
	"generatedBy": "userGenerated"
}

RelationshipSchemas

baseCurrency

{
  "relationshipServiceTag": "CurrencyTableStandard",
  "fieldNames": {},
  "storageResources": {
    "graph": {
      "storageType": "graph",
      "graphServerTag": "GraphHandler"
    }
  },
  "links": [
    {
      "storageResourceTags": [
        "graph"
      ],
      "from": {
        "objType": {
          "serviceTag": "CurrencyTableStandard",
          "objectType": "currencyTableStandard"
        },
        "linkType": "many",
        "handler": true,
        "requiredOnCreate": true
      },
      "to": {
        "objType": {
          "serviceTag": "Currency",
          "objectType": "currency"
        },
        "linkType": "one",
        "requiredOnCreate": false,
        "handler": true,
      },
      "canDelete": false
    }
  ],
  "canMove": false
}

isCurrency

{
  "relationshipServiceTag": "CurrencyTableStandard",
  "fieldNames": {},
  "storageResources": {
    "graph": {
      "storageType": "graph",
      "graphServerTag": "GraphHandler"
    }
  },
  "links": [
    {
      "storageResourceTags": [
        "graph"
      ],
      "from": {
        "objType": {
          "serviceTag": "CurrencyTableRate",
          "objectType": "currencyTableRate"
        },
        "linkType": "many",
        "handler": true,
        "requiredOnCreate": true
      },
      "to": {
        "objType": {
          "serviceTag": "Currency",
          "objectType": "currency"
        },
        "linkType": "one",
        "requiredOnCreate": false,
        "handler": true,
      },
      "canDelete": false
    }
  ],
  "canMove": false
}

hasCurrencyRate

{
  "relationshipServiceTag": "CurrencyTableStandard",
  "fieldNames": {},
  "storageResources": {
    "graph": {
      "storageType": "graph",
      "graphServerTag": "GraphHandler"
    }
  },
  "links": [
    {
      "storageResourceTags": [
        "graph"
      ],
      "from": {
        "objType": {
          "serviceTag": "CurrencyTableStandard",
          "objectType": "currencyTableStandard"
        },
        "linkType": "one",
        "handler": true,
        "requiredOnCreate": false
      },
      "to": {
        "objType": {
          "serviceTag": "CurrencyTableStandard",
          "objectType": "currencyTableRate"
        },
        "linkType": "many",
        "requiredOnCreate": true,
        "handler": true,
      },
      "canDelete": false
    }
  ],
  "canMove": false
}

Working documents

Currency Table Standard