-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdataModel.json
140 lines (140 loc) · 4.15 KB
/
dataModel.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
"Users": {
"User": {
"uid": "string(uuid)",
"creationTime": "timeStamp",
"displayName": "string",
"email": "string",
"photoURL": "string",
"providerData": "array"
}
},
"Budgets": {
"Budget": {
"id": "string(uuid)",
"createdTime": "timeStamp",
"owner": "string(uid)",
"sharedWith": "array[string(uuid)]",
"name": "string",
"firstMonth": "timeStamp",
"currencyCode": "enum[list of currency codes]",
"accounts": {
"arrayOfObjects": {
"id": "string(uuid)",
"name": "string",
"type": "enum[checking, savings, cash, creditCard, lineOfCredit, otherAsset, otherLiability, investmentAccount, mortgage]",
"onBudget": "boolean",
"closed": "boolean",
"balance": "int",
"clearedBalance": "int",
"deleted": "boolean"
}
},
"Transactions(sub-collection)": {
"Transaction(doc:id)": [
{
"id": "string(uuid)",
"date": "string(date)",
"amount": "int",
"note": "string",
"cleared": "enum[cleared, uncleared, reconciled]",
"approved": "boolean",
"accountId": "string(uuid)",
"payeeId": "string(uuid)",
"categoryId": "string(uuid)",
"transferAccountId": "string(uuid)",
"deleted": "boolean",
"subTransactions": {
"arrayOfObjects": {
"id": "string(uuid)",
"amount": "int",
"note": "string",
"payeeId": "string(uuid)",
"categoryId": "string(uuid)",
"transferAccountId": "string(uuid)",
"deleted": "boolean"
}
}
}
]
},
"ScheduledTransactions(sub-collection)": {
"ScheduledTransaction(doc:id)": {
"id": "string(uuid)",
"dateFirst": "string(date)",
"dateNext": "string(date)",
"frequency": "enum[once, daily, weekly, everyOtherWeek, twiceAMonth, every4Weeks, monthly, everyOtherMonth, every3Months, every4Months, twiceAYear, yearly",
"amount": "int",
"note": "string",
"accountId": "string(uuid)",
"accountName": "string",
"payeeId": "string(uuid)",
"payeeName": "string",
"categoryId": "string(uuid)",
"categoryName": "string",
"transferAccountId": "string(uuid)",
"transferAccountName": "string",
"deleted": "boolean",
"subTransactions": {
"arrayOfObjects": {
"id": "string(uuid)",
"amount": "int",
"note": "string",
"payeeId": "string(uuid)",
"payeeName": "string",
"categoryId": "string(uuid)",
"categoryName": "string",
"transferAccountId": "string(uuid)",
"transferAccountName": "string",
"deleted": "boolean"
}
}
}
},
"Payees(sub-collection)": {
"Payee(doc:id)": {
"id": "string(uuid)",
"name": "string",
"lastCategory": "string",
"lastAccount": "string",
"deleted": "boolean"
}
},
"categoryGroups": {
"arrayOfObjects": {
"id": "string(uuid)",
"name": "string",
"hidden": "boolean",
"deleted": "boolean"
}
},
"categories": {
"arrayOfObjects": {
"id": "string(uuid)",
"groupId": "string(uuid)",
"name": "string",
"note": "string",
"overspending": "int",
"hidden": "boolean",
"deleted": "boolean"
}
},
"Months(sub-collection)": {
"Month(doc:month)": {
"month": "timeStamp",
"note": "string",
"income": "int",
"budgeted": "int",
"spent": "int",
"categories": {
"categoryId": {
"budgeted": "int",
"spent": "int",
"note": "string"
}
}
}
}
}
}
}