@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.
Files changed (49) hide show
  1. package/README.md +44 -1
  2. package/package.json +20 -15
  3. package/dist/cjs/enums.js +0 -75
  4. package/dist/cjs/enums.js.map +0 -1
  5. package/dist/cjs/examples/categories.json +0 -472
  6. package/dist/cjs/examples/entities.json +0 -92
  7. package/dist/cjs/examples/lucaSchema.json +0 -74
  8. package/dist/cjs/examples/recurringTransactionEvents.json +0 -92
  9. package/dist/cjs/examples/recurringTransactions.json +0 -162
  10. package/dist/cjs/examples/schemas.json +0 -22
  11. package/dist/cjs/examples/transactions.json +0 -122
  12. package/dist/cjs/index.js +0 -28
  13. package/dist/cjs/index.js.map +0 -1
  14. package/dist/cjs/lucaValidator.js +0 -31
  15. package/dist/cjs/lucaValidator.js.map +0 -1
  16. package/dist/cjs/schemas/category.json +0 -65
  17. package/dist/cjs/schemas/entity.json +0 -65
  18. package/dist/cjs/schemas/index.js +0 -25
  19. package/dist/cjs/schemas/index.js.map +0 -1
  20. package/dist/cjs/schemas/lucaSchema.json +0 -54
  21. package/dist/cjs/schemas/recurringTransaction.json +0 -90
  22. package/dist/cjs/schemas/recurringTransactionEvent.json +0 -57
  23. package/dist/cjs/schemas/schema.json +0 -24
  24. package/dist/cjs/schemas/transaction.json +0 -77
  25. package/dist/cjs/tests/categories.test.js +0 -14
  26. package/dist/cjs/tests/categories.test.js.map +0 -1
  27. package/dist/cjs/tests/entities.test.js +0 -14
  28. package/dist/cjs/tests/entities.test.js.map +0 -1
  29. package/dist/cjs/tests/lucaSchema.test.js +0 -12
  30. package/dist/cjs/tests/lucaSchema.test.js.map +0 -1
  31. package/dist/cjs/tests/recurringTransactionEvents.test.js +0 -14
  32. package/dist/cjs/tests/recurringTransactionEvents.test.js.map +0 -1
  33. package/dist/cjs/tests/recurringTransactions.test.js +0 -14
  34. package/dist/cjs/tests/recurringTransactions.test.js.map +0 -1
  35. package/dist/cjs/tests/schemas.test.js +0 -14
  36. package/dist/cjs/tests/schemas.test.js.map +0 -1
  37. package/dist/cjs/tests/transactions.test.js +0 -14
  38. package/dist/cjs/tests/transactions.test.js.map +0 -1
  39. package/dist/esm/enums.js +0 -77
  40. package/dist/esm/index.js +0 -5
  41. package/dist/esm/lucaValidator.js +0 -18
  42. package/dist/esm/schemas/category.json +0 -65
  43. package/dist/esm/schemas/entity.json +0 -65
  44. package/dist/esm/schemas/index.js +0 -19
  45. package/dist/esm/schemas/lucaSchema.json +0 -54
  46. package/dist/esm/schemas/recurringTransaction.json +0 -90
  47. package/dist/esm/schemas/recurringTransactionEvent.json +0 -57
  48. package/dist/esm/schemas/schema.json +0 -24
  49. 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.1.0",
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
- "**/dist/cjs/tests/**/*.test.js"
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.cjs && babel src --out-dir dist/cjs --source-maps",
29
- "clean": "node scripts/clean.cjs",
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
- "publish-beta": "yarn && yarn build && yarn publish --tag beta --access public",
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
- "ajv": "^8.12.0",
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
@@ -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
- ]