@luca-financial/luca-schema 1.1.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -1
- package/package.json +20 -15
- package/dist/cjs/enums.js +0 -75
- package/dist/cjs/enums.js.map +0 -1
- package/dist/cjs/examples/categories.json +0 -472
- package/dist/cjs/examples/entities.json +0 -92
- package/dist/cjs/examples/lucaSchema.json +0 -74
- package/dist/cjs/examples/recurringTransactionEvents.json +0 -92
- package/dist/cjs/examples/recurringTransactions.json +0 -162
- package/dist/cjs/examples/schemas.json +0 -22
- package/dist/cjs/examples/transactions.json +0 -122
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lucaValidator.js +0 -31
- package/dist/cjs/lucaValidator.js.map +0 -1
- package/dist/cjs/schemas/category.json +0 -65
- package/dist/cjs/schemas/entity.json +0 -65
- package/dist/cjs/schemas/index.js +0 -25
- package/dist/cjs/schemas/index.js.map +0 -1
- package/dist/cjs/schemas/lucaSchema.json +0 -54
- package/dist/cjs/schemas/recurringTransaction.json +0 -90
- package/dist/cjs/schemas/recurringTransactionEvent.json +0 -57
- package/dist/cjs/schemas/schema.json +0 -24
- package/dist/cjs/schemas/transaction.json +0 -77
- package/dist/cjs/tests/categories.test.js +0 -14
- package/dist/cjs/tests/categories.test.js.map +0 -1
- package/dist/cjs/tests/entities.test.js +0 -14
- package/dist/cjs/tests/entities.test.js.map +0 -1
- package/dist/cjs/tests/lucaSchema.test.js +0 -12
- package/dist/cjs/tests/lucaSchema.test.js.map +0 -1
- package/dist/cjs/tests/recurringTransactionEvents.test.js +0 -14
- package/dist/cjs/tests/recurringTransactionEvents.test.js.map +0 -1
- package/dist/cjs/tests/recurringTransactions.test.js +0 -14
- package/dist/cjs/tests/recurringTransactions.test.js.map +0 -1
- package/dist/cjs/tests/schemas.test.js +0 -14
- package/dist/cjs/tests/schemas.test.js.map +0 -1
- package/dist/cjs/tests/transactions.test.js +0 -14
- package/dist/cjs/tests/transactions.test.js.map +0 -1
- package/dist/esm/enums.js +0 -77
- package/dist/esm/index.js +0 -5
- package/dist/esm/lucaValidator.js +0 -18
- package/dist/esm/schemas/category.json +0 -65
- package/dist/esm/schemas/entity.json +0 -65
- package/dist/esm/schemas/index.js +0 -19
- package/dist/esm/schemas/lucaSchema.json +0 -54
- package/dist/esm/schemas/recurringTransaction.json +0 -90
- package/dist/esm/schemas/recurringTransactionEvent.json +0 -57
- package/dist/esm/schemas/schema.json +0 -24
- package/dist/esm/schemas/transaction.json +0 -77
package/README.md
CHANGED
|
@@ -1,3 +1,46 @@
|
|
|
1
1
|
# LucaSchema
|
|
2
2
|
|
|
3
|
-
Schema for the Luca Ledger application
|
|
3
|
+
Schema validation library for the Luca Ledger application.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @luca-financial/luca-schema
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
import { lucaValidator, enums } from '@luca-financial/luca-schema';
|
|
15
|
+
|
|
16
|
+
// Validate a transaction
|
|
17
|
+
const validateTransaction = lucaValidator.getSchema('transaction');
|
|
18
|
+
const isValid = validateTransaction(transactionData);
|
|
19
|
+
|
|
20
|
+
if (!isValid) {
|
|
21
|
+
console.error('Validation errors:', validateTransaction.errors);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Access schemas directly
|
|
25
|
+
console.log('Available schemas:', Object.keys(schemas));
|
|
26
|
+
|
|
27
|
+
// Use enums for consistency
|
|
28
|
+
const transactionState = enums.TransactionStateEnum.COMPLETED;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Available Schemas
|
|
32
|
+
|
|
33
|
+
- `transaction` - Financial transactions
|
|
34
|
+
- `recurringTransaction` - Recurring transaction templates
|
|
35
|
+
- `recurringTransactionEvent` - Recurring transaction events
|
|
36
|
+
- `category` - Transaction categories
|
|
37
|
+
- `entity` - Financial entities
|
|
38
|
+
- `lucaSchema` - Complete schema structure
|
|
39
|
+
|
|
40
|
+
## Development
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
yarn build # Build the library
|
|
44
|
+
yarn test # Run tests
|
|
45
|
+
yarn lint # Check code style
|
|
46
|
+
```
|
package/package.json
CHANGED
|
@@ -1,44 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luca-financial/luca-schema",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Schemas for the Luca Ledger application",
|
|
5
5
|
"author": "Johnathan Aspinwall",
|
|
6
|
-
"main": "dist/index.js",
|
|
6
|
+
"main": "dist/cjs/index.js",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"type": "module",
|
|
9
|
+
"types": "./dist/cjs/index.d.ts",
|
|
9
10
|
"homepage": "https://lucaledger.app",
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
12
13
|
"url": "https://github.com/LucaFinancial/LucaSchema"
|
|
13
14
|
},
|
|
14
15
|
"jest": {
|
|
16
|
+
"preset": "ts-jest",
|
|
15
17
|
"transform": {
|
|
16
18
|
"^.+\\.[t|j]sx?$": "babel-jest"
|
|
17
19
|
},
|
|
18
20
|
"testMatch": [
|
|
19
|
-
"**/
|
|
21
|
+
"**/src/tests/**/*.test.[jt]s"
|
|
20
22
|
],
|
|
21
23
|
"moduleFileExtensions": [
|
|
22
24
|
"js",
|
|
25
|
+
"ts",
|
|
23
26
|
"json",
|
|
24
27
|
"node"
|
|
25
28
|
]
|
|
26
29
|
},
|
|
27
30
|
"scripts": {
|
|
28
|
-
"build": "yarn && yarn clean && node scripts/build.
|
|
29
|
-
"clean": "
|
|
31
|
+
"build": "yarn && yarn clean && node scripts/build.mjs && babel src --out-dir dist/cjs --source-maps --ignore 'src/examples/**','src/tests/**'",
|
|
32
|
+
"clean": "rimraf dist",
|
|
30
33
|
"lint": "prettier --check . && eslint .",
|
|
31
|
-
"
|
|
32
|
-
"test": "yarn build && jest"
|
|
34
|
+
"test": "jest"
|
|
33
35
|
},
|
|
34
36
|
"exports": {
|
|
35
37
|
".": {
|
|
36
38
|
"import": "./dist/esm/index.js",
|
|
37
39
|
"require": "./dist/cjs/index.js"
|
|
38
|
-
},
|
|
39
|
-
"./schemas": {
|
|
40
|
-
"import": "./dist/esm/schemas/*.json",
|
|
41
|
-
"require": "./dist/cjs/schemas/*.json"
|
|
42
40
|
}
|
|
43
41
|
},
|
|
44
42
|
"files": [
|
|
@@ -46,13 +44,17 @@
|
|
|
46
44
|
"LICENSE",
|
|
47
45
|
"README.md"
|
|
48
46
|
],
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"ajv": "^8.12.0",
|
|
49
|
+
"ajv-formats": "^2.1.1"
|
|
50
|
+
},
|
|
49
51
|
"devDependencies": {
|
|
50
52
|
"@babel/cli": "^7.24.1",
|
|
51
53
|
"@babel/core": "^7.24.4",
|
|
52
54
|
"@babel/preset-env": "^7.24.4",
|
|
55
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
53
56
|
"@eslint/js": "^9.1.1",
|
|
54
|
-
"
|
|
55
|
-
"ajv-formats": "^2.1.1",
|
|
57
|
+
"@types/jest": "^29.5.14",
|
|
56
58
|
"babel-jest": "^29.7.0",
|
|
57
59
|
"eslint": "^9.1.1",
|
|
58
60
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -62,6 +64,9 @@
|
|
|
62
64
|
"globals": "^15.1.0",
|
|
63
65
|
"jest": "^29.7.0",
|
|
64
66
|
"prettier": "^3.2.5",
|
|
65
|
-
"rimraf": "^5.0.5"
|
|
66
|
-
|
|
67
|
+
"rimraf": "^5.0.5",
|
|
68
|
+
"ts-jest": "^29.3.4",
|
|
69
|
+
"typescript": "^5.8.3"
|
|
70
|
+
},
|
|
71
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
67
72
|
}
|
package/dist/cjs/enums.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var SchemasEnum = Object.freeze({
|
|
8
|
-
CATEGORY: 'category',
|
|
9
|
-
ENTITY: 'entity',
|
|
10
|
-
LUCASCHEMA: 'lucaSchema',
|
|
11
|
-
RECURRING_TRANSACTION: 'recurringTransaction',
|
|
12
|
-
RECURRING_TRANSACTION_EVENT: 'recurringTransactionEvent',
|
|
13
|
-
SCHEMA: 'schema',
|
|
14
|
-
TRANSACTION: 'transaction'
|
|
15
|
-
});
|
|
16
|
-
var TransactionStateEnum = Object.freeze({
|
|
17
|
-
PLANNED: 'PLANNED',
|
|
18
|
-
SCHEDULED: 'SCHEDULED',
|
|
19
|
-
PENDING: 'PENDING',
|
|
20
|
-
COMPLETED: 'COMPLETED',
|
|
21
|
-
CANCELLED: 'CANCELLED',
|
|
22
|
-
FAILED: 'FAILED',
|
|
23
|
-
DISPUTED: 'DISPUTED',
|
|
24
|
-
REFUNDED: 'REFUNDED',
|
|
25
|
-
TENTATIVE: 'TENTATIVE',
|
|
26
|
-
UPCOMING: 'UPCOMING',
|
|
27
|
-
DELETED: 'DELETED'
|
|
28
|
-
});
|
|
29
|
-
var CategoryTypeEnum = Object.freeze({
|
|
30
|
-
DEFAULT: 'DEFAULT',
|
|
31
|
-
MODIFIED: 'MODIFIED',
|
|
32
|
-
CUSTOM: 'CUSTOM'
|
|
33
|
-
});
|
|
34
|
-
var EntityTypeEnum = Object.freeze({
|
|
35
|
-
ACCOUNT: 'ACCOUNT',
|
|
36
|
-
RETAILER: 'RETAILER',
|
|
37
|
-
BUSINESS: 'BUSINESS',
|
|
38
|
-
INDIVIDUAL: 'INDIVIDUAL',
|
|
39
|
-
UTILITY: 'UTILITY',
|
|
40
|
-
GOVERNMENT: 'GOVERNMENT'
|
|
41
|
-
});
|
|
42
|
-
var EntityStatusEnum = Object.freeze({
|
|
43
|
-
ACTIVE: 'ACTIVE',
|
|
44
|
-
INACTIVE: 'INACTIVE',
|
|
45
|
-
SUSPENDED: 'SUSPENDED',
|
|
46
|
-
DELETED: 'DELETED',
|
|
47
|
-
CLOSED: 'CLOSED'
|
|
48
|
-
});
|
|
49
|
-
var RecurringTransactionFrequencyEnum = Object.freeze({
|
|
50
|
-
DAY: 'DAY',
|
|
51
|
-
WEEK: 'WEEK',
|
|
52
|
-
MONTH: 'MONTH',
|
|
53
|
-
YEAR: 'YEAR'
|
|
54
|
-
});
|
|
55
|
-
var RecurringTransactionStateEnum = Object.freeze({
|
|
56
|
-
ACTIVE: 'ACTIVE',
|
|
57
|
-
PAUSED: 'PAUSED',
|
|
58
|
-
COMPLETED: 'COMPLETED',
|
|
59
|
-
CANCELLED: 'CANCELLED'
|
|
60
|
-
});
|
|
61
|
-
var RecurringTransactionEventStatusEnum = Object.freeze({
|
|
62
|
-
MODIFIED: 'MODIFIED',
|
|
63
|
-
DELETED: 'DELETED'
|
|
64
|
-
});
|
|
65
|
-
var enums = {
|
|
66
|
-
TransactionStateEnum: TransactionStateEnum,
|
|
67
|
-
CategoryTypeEnum: CategoryTypeEnum,
|
|
68
|
-
EntityTypeEnum: EntityTypeEnum,
|
|
69
|
-
EntityStatusEnum: EntityStatusEnum,
|
|
70
|
-
RecurringTransactionFrequencyEnum: RecurringTransactionFrequencyEnum,
|
|
71
|
-
RecurringTransactionStateEnum: RecurringTransactionStateEnum,
|
|
72
|
-
RecurringTransactionEventStatusEnum: RecurringTransactionEventStatusEnum
|
|
73
|
-
};
|
|
74
|
-
var _default = exports["default"] = enums;
|
|
75
|
-
//# sourceMappingURL=enums.js.map
|
package/dist/cjs/enums.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","names":["SchemasEnum","Object","freeze","CATEGORY","ENTITY","LUCASCHEMA","RECURRING_TRANSACTION","RECURRING_TRANSACTION_EVENT","SCHEMA","TRANSACTION","TransactionStateEnum","PLANNED","SCHEDULED","PENDING","COMPLETED","CANCELLED","FAILED","DISPUTED","REFUNDED","TENTATIVE","UPCOMING","DELETED","CategoryTypeEnum","DEFAULT","MODIFIED","CUSTOM","EntityTypeEnum","ACCOUNT","RETAILER","BUSINESS","INDIVIDUAL","UTILITY","GOVERNMENT","EntityStatusEnum","ACTIVE","INACTIVE","SUSPENDED","CLOSED","RecurringTransactionFrequencyEnum","DAY","WEEK","MONTH","YEAR","RecurringTransactionStateEnum","PAUSED","RecurringTransactionEventStatusEnum","enums","_default","exports"],"sources":["../../src/enums.js"],"sourcesContent":["const SchemasEnum = Object.freeze({\n CATEGORY: 'category',\n ENTITY: 'entity',\n LUCASCHEMA: 'lucaSchema',\n RECURRING_TRANSACTION: 'recurringTransaction',\n RECURRING_TRANSACTION_EVENT: 'recurringTransactionEvent',\n SCHEMA: 'schema',\n TRANSACTION: 'transaction'\n});\n\nconst TransactionStateEnum = Object.freeze({\n PLANNED: 'PLANNED',\n SCHEDULED: 'SCHEDULED',\n PENDING: 'PENDING',\n COMPLETED: 'COMPLETED',\n CANCELLED: 'CANCELLED',\n FAILED: 'FAILED',\n DISPUTED: 'DISPUTED',\n REFUNDED: 'REFUNDED',\n TENTATIVE: 'TENTATIVE',\n UPCOMING: 'UPCOMING',\n DELETED: 'DELETED'\n});\n\nconst CategoryTypeEnum = Object.freeze({\n DEFAULT: 'DEFAULT',\n MODIFIED: 'MODIFIED',\n CUSTOM: 'CUSTOM'\n});\n\nconst EntityTypeEnum = Object.freeze({\n ACCOUNT: 'ACCOUNT',\n RETAILER: 'RETAILER',\n BUSINESS: 'BUSINESS',\n INDIVIDUAL: 'INDIVIDUAL',\n UTILITY: 'UTILITY',\n GOVERNMENT: 'GOVERNMENT'\n});\n\nconst EntityStatusEnum = Object.freeze({\n ACTIVE: 'ACTIVE',\n INACTIVE: 'INACTIVE',\n SUSPENDED: 'SUSPENDED',\n DELETED: 'DELETED',\n CLOSED: 'CLOSED'\n});\n\nconst RecurringTransactionFrequencyEnum = Object.freeze({\n DAY: 'DAY',\n WEEK: 'WEEK',\n MONTH: 'MONTH',\n YEAR: 'YEAR'\n});\n\nconst RecurringTransactionStateEnum = Object.freeze({\n ACTIVE: 'ACTIVE',\n PAUSED: 'PAUSED',\n COMPLETED: 'COMPLETED',\n CANCELLED: 'CANCELLED'\n});\n\nconst RecurringTransactionEventStatusEnum = Object.freeze({\n MODIFIED: 'MODIFIED',\n DELETED: 'DELETED'\n});\n\nconst enums = {\n TransactionStateEnum,\n CategoryTypeEnum,\n EntityTypeEnum,\n EntityStatusEnum,\n RecurringTransactionFrequencyEnum,\n RecurringTransactionStateEnum,\n RecurringTransactionEventStatusEnum\n};\n\nexport default enums;\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;EAChCC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,QAAQ;EAChBC,UAAU,EAAE,YAAY;EACxBC,qBAAqB,EAAE,sBAAsB;EAC7CC,2BAA2B,EAAE,2BAA2B;EACxDC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE;AACf,CAAC,CAAC;AAEF,IAAMC,oBAAoB,GAAGT,MAAM,CAACC,MAAM,CAAC;EACzCS,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,IAAMC,gBAAgB,GAAGrB,MAAM,CAACC,MAAM,CAAC;EACrCqB,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,IAAMC,cAAc,GAAGzB,MAAM,CAACC,MAAM,CAAC;EACnCyB,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBC,OAAO,EAAE,SAAS;EAClBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,gBAAgB,GAAGhC,MAAM,CAACC,MAAM,CAAC;EACrCgC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,WAAW;EACtBf,OAAO,EAAE,SAAS;EAClBgB,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,IAAMC,iCAAiC,GAAGrC,MAAM,CAACC,MAAM,CAAC;EACtDqC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,IAAMC,6BAA6B,GAAG1C,MAAM,CAACC,MAAM,CAAC;EAClDgC,MAAM,EAAE,QAAQ;EAChBU,MAAM,EAAE,QAAQ;EAChB9B,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE;AACb,CAAC,CAAC;AAEF,IAAM8B,mCAAmC,GAAG5C,MAAM,CAACC,MAAM,CAAC;EACxDsB,QAAQ,EAAE,UAAU;EACpBH,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,IAAMyB,KAAK,GAAG;EACZpC,oBAAoB,EAApBA,oBAAoB;EACpBY,gBAAgB,EAAhBA,gBAAgB;EAChBI,cAAc,EAAdA,cAAc;EACdO,gBAAgB,EAAhBA,gBAAgB;EAChBK,iCAAiC,EAAjCA,iCAAiC;EACjCK,6BAA6B,EAA7BA,6BAA6B;EAC7BE,mCAAmC,EAAnCA;AACF,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,cAEaF,KAAK","ignoreList":[]}
|
|
@@ -1,472 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "cat-001",
|
|
4
|
-
"name": "Housing",
|
|
5
|
-
"description": "Expenses related to housing, such as mortgage, rent, repairs, and furniture.",
|
|
6
|
-
"parentId": null,
|
|
7
|
-
"defaultCategoryId": null,
|
|
8
|
-
"categoryType": "DEFAULT",
|
|
9
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
10
|
-
"updatedAt": null
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"id": "cat-002",
|
|
14
|
-
"name": "Mortgage/Rent",
|
|
15
|
-
"description": "Payments for mortgage or rental of living space.",
|
|
16
|
-
"parentId": "cat-001",
|
|
17
|
-
"defaultCategoryId": null,
|
|
18
|
-
"categoryType": "DEFAULT",
|
|
19
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
20
|
-
"updatedAt": null
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"id": "cat-003",
|
|
24
|
-
"name": "Home Maintenance",
|
|
25
|
-
"description": "Costs for maintaining and repairing the home.",
|
|
26
|
-
"parentId": "cat-001",
|
|
27
|
-
"defaultCategoryId": null,
|
|
28
|
-
"categoryType": "DEFAULT",
|
|
29
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
30
|
-
"updatedAt": null
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"id": "cat-004",
|
|
34
|
-
"name": "Furniture & Appliances",
|
|
35
|
-
"description": "Purchasing furniture and appliances for the home.",
|
|
36
|
-
"parentId": "cat-001",
|
|
37
|
-
"defaultCategoryId": null,
|
|
38
|
-
"categoryType": "DEFAULT",
|
|
39
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
40
|
-
"updatedAt": null
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"id": "cat-005",
|
|
44
|
-
"name": "Utilities",
|
|
45
|
-
"description": "Monthly bills for essential services like electricity, water, and internet.",
|
|
46
|
-
"parentId": null,
|
|
47
|
-
"defaultCategoryId": null,
|
|
48
|
-
"categoryType": "DEFAULT",
|
|
49
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
50
|
-
"updatedAt": null
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
"id": "cat-006",
|
|
54
|
-
"name": "Electricity",
|
|
55
|
-
"description": "Electricity bill payments.",
|
|
56
|
-
"parentId": "cat-005",
|
|
57
|
-
"defaultCategoryId": null,
|
|
58
|
-
"categoryType": "DEFAULT",
|
|
59
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
60
|
-
"updatedAt": null
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "cat-007",
|
|
64
|
-
"name": "Water",
|
|
65
|
-
"description": "Water bill payments.",
|
|
66
|
-
"parentId": "cat-005",
|
|
67
|
-
"defaultCategoryId": null,
|
|
68
|
-
"categoryType": "DEFAULT",
|
|
69
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
70
|
-
"updatedAt": null
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"id": "cat-008",
|
|
74
|
-
"name": "Gas",
|
|
75
|
-
"description": "Gas bill payments.",
|
|
76
|
-
"parentId": "cat-005",
|
|
77
|
-
"defaultCategoryId": null,
|
|
78
|
-
"categoryType": "DEFAULT",
|
|
79
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
80
|
-
"updatedAt": null
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"id": "cat-009",
|
|
84
|
-
"name": "Internet",
|
|
85
|
-
"description": "Monthly payments for internet services.",
|
|
86
|
-
"parentId": "cat-005",
|
|
87
|
-
"defaultCategoryId": null,
|
|
88
|
-
"categoryType": "DEFAULT",
|
|
89
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
90
|
-
"updatedAt": null
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"id": "cat-010",
|
|
94
|
-
"name": "Transportation",
|
|
95
|
-
"description": "Expenses for personal and public transport, including fuel, maintenance, and insurance.",
|
|
96
|
-
"parentId": null,
|
|
97
|
-
"defaultCategoryId": null,
|
|
98
|
-
"categoryType": "DEFAULT",
|
|
99
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
100
|
-
"updatedAt": null
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"id": "cat-011",
|
|
104
|
-
"name": "Fuel",
|
|
105
|
-
"description": "Expenses for car fuel or charging.",
|
|
106
|
-
"parentId": "cat-010",
|
|
107
|
-
"defaultCategoryId": null,
|
|
108
|
-
"categoryType": "DEFAULT",
|
|
109
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
110
|
-
"updatedAt": null
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"id": "cat-012",
|
|
114
|
-
"name": "Vehicle Maintenance",
|
|
115
|
-
"description": "Costs for vehicle repairs and regular maintenance.",
|
|
116
|
-
"parentId": "cat-010",
|
|
117
|
-
"defaultCategoryId": null,
|
|
118
|
-
"categoryType": "DEFAULT",
|
|
119
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
120
|
-
"updatedAt": null
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"id": "cat-013",
|
|
124
|
-
"name": "Insurance - Transportation",
|
|
125
|
-
"description": "Insurance payments for vehicles.",
|
|
126
|
-
"parentId": "cat-010",
|
|
127
|
-
"defaultCategoryId": null,
|
|
128
|
-
"categoryType": "DEFAULT",
|
|
129
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
130
|
-
"updatedAt": null
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"id": "cat-014",
|
|
134
|
-
"name": "Food",
|
|
135
|
-
"description": "Money spent on groceries, dining out, and fast food.",
|
|
136
|
-
"parentId": null,
|
|
137
|
-
"defaultCategoryId": null,
|
|
138
|
-
"categoryType": "DEFAULT",
|
|
139
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
140
|
-
"updatedAt": null
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"id": "cat-015",
|
|
144
|
-
"name": "Groceries",
|
|
145
|
-
"description": "Expenses for purchasing groceries.",
|
|
146
|
-
"parentId": "cat-014",
|
|
147
|
-
"defaultCategoryId": null,
|
|
148
|
-
"categoryType": "DEFAULT",
|
|
149
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
150
|
-
"updatedAt": null
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
"id": "cat-016",
|
|
154
|
-
"name": "Dining Out",
|
|
155
|
-
"description": "Expenses for eating at restaurants and cafes.",
|
|
156
|
-
"parentId": "cat-014",
|
|
157
|
-
"defaultCategoryId": null,
|
|
158
|
-
"categoryType": "DEFAULT",
|
|
159
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
160
|
-
"updatedAt": null
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
"id": "cat-017",
|
|
164
|
-
"name": "Fast Food",
|
|
165
|
-
"description": "Expenses for quick-service and fast-food dining.",
|
|
166
|
-
"parentId": "cat-014",
|
|
167
|
-
"defaultCategoryId": null,
|
|
168
|
-
"categoryType": "DEFAULT",
|
|
169
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
170
|
-
"updatedAt": null
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
"id": "cat-018",
|
|
174
|
-
"name": "Healthcare",
|
|
175
|
-
"description": "Medical expenses including doctor visits, medications, and health insurance.",
|
|
176
|
-
"parentId": null,
|
|
177
|
-
"defaultCategoryId": null,
|
|
178
|
-
"categoryType": "DEFAULT",
|
|
179
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
180
|
-
"updatedAt": null
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
"id": "cat-019",
|
|
184
|
-
"name": "Doctor Visits",
|
|
185
|
-
"description": "Expenses for medical appointments and check-ups.",
|
|
186
|
-
"parentId": "cat-018",
|
|
187
|
-
"defaultCategoryId": null,
|
|
188
|
-
"categoryType": "DEFAULT",
|
|
189
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
190
|
-
"updatedAt": null
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
"id": "cat-020",
|
|
194
|
-
"name": "Medications",
|
|
195
|
-
"description": "Costs for prescription and over-the-counter drugs.",
|
|
196
|
-
"parentId": "cat-018",
|
|
197
|
-
"defaultCategoryId": null,
|
|
198
|
-
"categoryType": "DEFAULT",
|
|
199
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
200
|
-
"updatedAt": null
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"id": "cat-021",
|
|
204
|
-
"name": "Insurance - Healthcare",
|
|
205
|
-
"description": "Health insurance payments.",
|
|
206
|
-
"parentId": "cat-018",
|
|
207
|
-
"defaultCategoryId": null,
|
|
208
|
-
"categoryType": "DEFAULT",
|
|
209
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
210
|
-
"updatedAt": null
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
"id": "cat-022",
|
|
214
|
-
"name": "Entertainment",
|
|
215
|
-
"description": "Costs for leisure activities, hobbies, movies, and events.",
|
|
216
|
-
"parentId": null,
|
|
217
|
-
"defaultCategoryId": null,
|
|
218
|
-
"categoryType": "DEFAULT",
|
|
219
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
220
|
-
"updatedAt": null
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"id": "cat-023",
|
|
224
|
-
"name": "Movies & Shows",
|
|
225
|
-
"description": "Expenses for watching movies, theater, and shows.",
|
|
226
|
-
"parentId": "cat-022",
|
|
227
|
-
"defaultCategoryId": null,
|
|
228
|
-
"categoryType": "DEFAULT",
|
|
229
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
230
|
-
"updatedAt": null
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
"id": "cat-024",
|
|
234
|
-
"name": "Hobbies",
|
|
235
|
-
"description": "Costs for hobbies and recreational activities.",
|
|
236
|
-
"parentId": "cat-022",
|
|
237
|
-
"defaultCategoryId": null,
|
|
238
|
-
"categoryType": "DEFAULT",
|
|
239
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
240
|
-
"updatedAt": null
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
"id": "cat-025",
|
|
244
|
-
"name": "Sports & Recreation",
|
|
245
|
-
"description": "Expenses for participating in or attending sports and recreational activities.",
|
|
246
|
-
"parentId": "cat-022",
|
|
247
|
-
"defaultCategoryId": null,
|
|
248
|
-
"categoryType": "DEFAULT",
|
|
249
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
250
|
-
"updatedAt": null
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"id": "cat-026",
|
|
254
|
-
"name": "Education",
|
|
255
|
-
"description": "Expenses for education, including tuition, books, and supplies.",
|
|
256
|
-
"parentId": null,
|
|
257
|
-
"defaultCategoryId": null,
|
|
258
|
-
"categoryType": "DEFAULT",
|
|
259
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
260
|
-
"updatedAt": null
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
"id": "cat-027",
|
|
264
|
-
"name": "Tuition & Fees",
|
|
265
|
-
"description": "Payments for educational tuition and related fees.",
|
|
266
|
-
"parentId": "cat-026",
|
|
267
|
-
"defaultCategoryId": null,
|
|
268
|
-
"categoryType": "DEFAULT",
|
|
269
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
270
|
-
"updatedAt": null
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
"id": "cat-028",
|
|
274
|
-
"name": "Books & Supplies",
|
|
275
|
-
"description": "Costs for educational books, supplies, and materials.",
|
|
276
|
-
"parentId": "cat-026",
|
|
277
|
-
"defaultCategoryId": null,
|
|
278
|
-
"categoryType": "DEFAULT",
|
|
279
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
280
|
-
"updatedAt": null
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
"id": "cat-029",
|
|
284
|
-
"name": "Online Courses",
|
|
285
|
-
"description": "Expenses for online educational courses and training.",
|
|
286
|
-
"parentId": "cat-026",
|
|
287
|
-
"defaultCategoryId": null,
|
|
288
|
-
"categoryType": "DEFAULT",
|
|
289
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
290
|
-
"updatedAt": null
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
"id": "cat-030",
|
|
294
|
-
"name": "Personal Care",
|
|
295
|
-
"description": "Expenses for personal grooming, wellness, and fitness.",
|
|
296
|
-
"parentId": null,
|
|
297
|
-
"defaultCategoryId": null,
|
|
298
|
-
"categoryType": "DEFAULT",
|
|
299
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
300
|
-
"updatedAt": null
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
"id": "cat-031",
|
|
304
|
-
"name": "Grooming & Cosmetics",
|
|
305
|
-
"description": "Costs for personal grooming products and services.",
|
|
306
|
-
"parentId": "cat-030",
|
|
307
|
-
"defaultCategoryId": null,
|
|
308
|
-
"categoryType": "DEFAULT",
|
|
309
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
310
|
-
"updatedAt": null
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
"id": "cat-032",
|
|
314
|
-
"name": "Wellness & Fitness",
|
|
315
|
-
"description": "Expenses for fitness classes, gym memberships, and wellness activities.",
|
|
316
|
-
"parentId": "cat-030",
|
|
317
|
-
"defaultCategoryId": null,
|
|
318
|
-
"categoryType": "DEFAULT",
|
|
319
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
320
|
-
"updatedAt": null
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
"id": "cat-033",
|
|
324
|
-
"name": "Clothing & Accessories",
|
|
325
|
-
"description": "Purchasing clothes and related accessories.",
|
|
326
|
-
"parentId": "cat-030",
|
|
327
|
-
"defaultCategoryId": null,
|
|
328
|
-
"categoryType": "DEFAULT",
|
|
329
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
330
|
-
"updatedAt": null
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
"id": "cat-034",
|
|
334
|
-
"name": "Transfer",
|
|
335
|
-
"description": "Transfers between user's own accounts, including credit card payments.",
|
|
336
|
-
"parentId": null,
|
|
337
|
-
"defaultCategoryId": null,
|
|
338
|
-
"categoryType": "DEFAULT",
|
|
339
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
340
|
-
"updatedAt": null
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
"id": "cat-035",
|
|
344
|
-
"name": "Income",
|
|
345
|
-
"description": "All forms of income, including salary, wages, and investment returns.",
|
|
346
|
-
"parentId": null,
|
|
347
|
-
"defaultCategoryId": null,
|
|
348
|
-
"categoryType": "DEFAULT",
|
|
349
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
350
|
-
"updatedAt": null
|
|
351
|
-
},
|
|
352
|
-
{
|
|
353
|
-
"id": "cat-036",
|
|
354
|
-
"name": "Travel",
|
|
355
|
-
"description": "Expenses related to travel, including accommodations, transport, and activities.",
|
|
356
|
-
"parentId": null,
|
|
357
|
-
"defaultCategoryId": null,
|
|
358
|
-
"categoryType": "DEFAULT",
|
|
359
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
360
|
-
"updatedAt": null
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
"id": "cat-037",
|
|
364
|
-
"name": "Accommodations",
|
|
365
|
-
"description": "Expenses for hotels, lodgings, and other forms of accommodation during travel.",
|
|
366
|
-
"parentId": "cat-036",
|
|
367
|
-
"defaultCategoryId": null,
|
|
368
|
-
"categoryType": "DEFAULT",
|
|
369
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
370
|
-
"updatedAt": null
|
|
371
|
-
},
|
|
372
|
-
{
|
|
373
|
-
"id": "cat-038",
|
|
374
|
-
"name": "Travel Fares",
|
|
375
|
-
"description": "Costs for tickets and fares for various modes of travel such as flights, trains, and buses.",
|
|
376
|
-
"parentId": "cat-036",
|
|
377
|
-
"defaultCategoryId": null,
|
|
378
|
-
"categoryType": "DEFAULT",
|
|
379
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
380
|
-
"updatedAt": null
|
|
381
|
-
},
|
|
382
|
-
{
|
|
383
|
-
"id": "cat-039",
|
|
384
|
-
"name": "Travel Insurance",
|
|
385
|
-
"description": "Insurance for travel-related incidents and emergencies.",
|
|
386
|
-
"parentId": "cat-036",
|
|
387
|
-
"defaultCategoryId": null,
|
|
388
|
-
"categoryType": "DEFAULT",
|
|
389
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
390
|
-
"updatedAt": null
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
"id": "cat-040",
|
|
394
|
-
"name": "Pet Care",
|
|
395
|
-
"description": "Expenses related to the care of pets, including food, vet visits, and grooming.",
|
|
396
|
-
"parentId": null,
|
|
397
|
-
"defaultCategoryId": null,
|
|
398
|
-
"categoryType": "CUSTOM",
|
|
399
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
400
|
-
"updatedAt": null
|
|
401
|
-
},
|
|
402
|
-
{
|
|
403
|
-
"id": "cat-041",
|
|
404
|
-
"name": "Gym Membership",
|
|
405
|
-
"description": "Monthly fees for gym or fitness club membership.",
|
|
406
|
-
"parentId": "cat-032",
|
|
407
|
-
"defaultCategoryId": "cat-032",
|
|
408
|
-
"categoryType": "MODIFIED",
|
|
409
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
410
|
-
"updatedAt": null
|
|
411
|
-
},
|
|
412
|
-
{
|
|
413
|
-
"id": "cat-042",
|
|
414
|
-
"name": "Gardening",
|
|
415
|
-
"description": "Costs for garden maintenance and landscaping services.",
|
|
416
|
-
"parentId": "cat-001",
|
|
417
|
-
"defaultCategoryId": "cat-003",
|
|
418
|
-
"categoryType": "CUSTOM",
|
|
419
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
420
|
-
"updatedAt": null
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
"id": "cat-043",
|
|
424
|
-
"name": "Home Office Supplies",
|
|
425
|
-
"description": "Purchases of supplies and equipment for a home office.",
|
|
426
|
-
"parentId": "cat-001",
|
|
427
|
-
"defaultCategoryId": "cat-004",
|
|
428
|
-
"categoryType": "MODIFIED",
|
|
429
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
430
|
-
"updatedAt": null
|
|
431
|
-
},
|
|
432
|
-
{
|
|
433
|
-
"id": "cat-044",
|
|
434
|
-
"name": "Professional Development",
|
|
435
|
-
"description": "Expenses for career-related training, courses, and workshops.",
|
|
436
|
-
"parentId": "cat-026",
|
|
437
|
-
"defaultCategoryId": "cat-029",
|
|
438
|
-
"categoryType": "MODIFIED",
|
|
439
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
440
|
-
"updatedAt": null
|
|
441
|
-
},
|
|
442
|
-
{
|
|
443
|
-
"id": "cat-045",
|
|
444
|
-
"name": "Technology Gadgets",
|
|
445
|
-
"description": "Purchases of new tech gadgets and devices.",
|
|
446
|
-
"parentId": null,
|
|
447
|
-
"defaultCategoryId": null,
|
|
448
|
-
"categoryType": "CUSTOM",
|
|
449
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
450
|
-
"updatedAt": null
|
|
451
|
-
},
|
|
452
|
-
{
|
|
453
|
-
"id": "cat-046",
|
|
454
|
-
"name": "Holiday Gifts",
|
|
455
|
-
"description": "Expenses for buying gifts during holiday seasons.",
|
|
456
|
-
"parentId": null,
|
|
457
|
-
"defaultCategoryId": null,
|
|
458
|
-
"categoryType": "CUSTOM",
|
|
459
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
460
|
-
"updatedAt": null
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
"id": "cat-047",
|
|
464
|
-
"name": "Charity Donations",
|
|
465
|
-
"description": "Money given to charities or non-profit organizations.",
|
|
466
|
-
"parentId": null,
|
|
467
|
-
"defaultCategoryId": null,
|
|
468
|
-
"categoryType": "CUSTOM",
|
|
469
|
-
"createdAt": "2024-01-01T00:00:00Z",
|
|
470
|
-
"updatedAt": null
|
|
471
|
-
}
|
|
472
|
-
]
|