@actual-app/api 25.4.0 → 25.5.0

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 (71) hide show
  1. package/@types/app/bundle.api.d.ts +1 -5
  2. package/@types/loot-core/client/budgets/budgetsSlice.d.ts +6 -2
  3. package/@types/loot-core/client/modals/modalsSlice.d.ts +5 -1
  4. package/@types/loot-core/client/prefs/prefsSlice.d.ts +2 -8
  5. package/@types/loot-core/client/queries/queriesSlice.d.ts +1 -1
  6. package/@types/loot-core/client/users/usersSlice.d.ts +28 -12
  7. package/@types/loot-core/mocks/index.d.ts +5 -2
  8. package/@types/loot-core/mocks/util.d.ts +1 -0
  9. package/@types/loot-core/platform/server/asyncStorage/index.d.ts +7 -6
  10. package/@types/loot-core/platform/server/indexeddb/index.d.ts +15 -24
  11. package/@types/loot-core/server/accounts/sync.d.ts +1 -9
  12. package/@types/loot-core/server/api-models.d.ts +2 -10
  13. package/@types/loot-core/server/aql/schema/executors.d.ts +2 -0
  14. package/@types/loot-core/server/auth/app.d.ts +142 -0
  15. package/@types/loot-core/server/budget/base.d.ts +2 -1
  16. package/@types/loot-core/server/budget/envelope.d.ts +3 -0
  17. package/@types/loot-core/server/budget/report.d.ts +4 -1
  18. package/@types/loot-core/server/budgetfiles/app.d.ts +139 -0
  19. package/@types/loot-core/server/cloud-storage.d.ts +2 -2
  20. package/@types/loot-core/server/db/index.d.ts +3 -2
  21. package/@types/loot-core/server/encryption/app.d.ts +40 -0
  22. package/@types/loot-core/server/{encryption-internals.d.ts → encryption/encryption-internals.d.ts} +0 -1
  23. package/@types/loot-core/server/errors.d.ts +4 -0
  24. package/@types/loot-core/server/importers/index.d.ts +1 -2
  25. package/@types/loot-core/server/main-app.d.ts +1 -1
  26. package/@types/loot-core/server/reports/app.d.ts +2 -2
  27. package/@types/loot-core/server/spreadsheet/spreadsheet.d.ts +9 -2
  28. package/@types/loot-core/server/transactions/app.d.ts +4 -1
  29. package/@types/loot-core/server/transactions/import/ofx2json.d.ts +1 -0
  30. package/@types/loot-core/server/transactions/import/parse-file.d.ts +1 -0
  31. package/@types/loot-core/server/transactions/index.d.ts +1 -0
  32. package/@types/loot-core/server/transactions/merge.d.ts +2 -0
  33. package/@types/loot-core/server/transactions/transaction-rules.d.ts +1 -0
  34. package/@types/loot-core/server/transactions/transfer.d.ts +2 -2
  35. package/@types/loot-core/shared/errors.d.ts +4 -4
  36. package/@types/loot-core/types/api-handlers.d.ts +170 -183
  37. package/@types/loot-core/types/budget.d.ts +6 -6
  38. package/@types/loot-core/types/file.d.ts +23 -36
  39. package/@types/loot-core/types/handlers.d.ts +5 -21
  40. package/@types/loot-core/types/models/bank-sync.d.ts +10 -17
  41. package/@types/loot-core/types/models/category-group.d.ts +8 -13
  42. package/@types/loot-core/types/models/category.d.ts +7 -8
  43. package/@types/loot-core/types/models/dashboard.d.ts +43 -88
  44. package/@types/loot-core/types/models/gocardless.d.ts +56 -71
  45. package/@types/loot-core/types/models/note.d.ts +2 -2
  46. package/@types/loot-core/types/models/openid.d.ts +6 -6
  47. package/@types/loot-core/types/models/payee.d.ts +6 -7
  48. package/@types/loot-core/types/models/reports.d.ts +98 -118
  49. package/@types/loot-core/types/models/rule.d.ts +62 -161
  50. package/@types/loot-core/types/models/schedule.d.ts +36 -38
  51. package/@types/loot-core/types/models/simplefin.d.ts +13 -17
  52. package/@types/loot-core/types/models/transaction-filter.d.ts +5 -6
  53. package/@types/loot-core/types/models/transaction.d.ts +29 -30
  54. package/@types/loot-core/types/prefs.d.ts +2 -4
  55. package/@types/loot-core/types/server-events.d.ts +43 -68
  56. package/@types/loot-core/types/server-handlers.d.ts +26 -198
  57. package/@types/loot-core/types/util.d.ts +7 -18
  58. package/@types/methods.d.ts +1 -1
  59. package/@types/vitest.config.d.ts +7 -0
  60. package/dist/app/bundle.api.js +17541 -110891
  61. package/dist/package.json +5 -7
  62. package/dist/vitest.config.js +11 -0
  63. package/package.json +5 -7
  64. package/@types/jest.config.d.ts +0 -9
  65. package/@types/loot-core/client/accounts/accountsSlice.d.ts +0 -175
  66. package/@types/loot-core/server/backups.test.d.ts +0 -1
  67. package/@types/loot-core/server/encryption-internals.web.d.ts +0 -23
  68. package/@types/loot-core/server/encryption.test.d.ts +0 -1
  69. package/dist/jest.config.js +0 -22
  70. /package/@types/loot-core/server/{backups.d.ts → budgetfiles/backups.d.ts} +0 -0
  71. /package/@types/loot-core/server/{encryption.d.ts → encryption/index.d.ts} +0 -0
@@ -1,141 +1,121 @@
1
1
  import { type RuleConditionEntity } from './rule';
2
-
3
2
  export interface CustomReportEntity {
4
- id: string;
5
- name: string;
6
- startDate: string;
7
- endDate: string;
8
- isDateStatic: boolean;
9
- dateRange: string;
10
- mode: string;
11
- groupBy: string;
12
- interval: string;
13
- balanceType: string;
14
- sortBy?: sortByOpType;
15
- showEmpty: boolean;
16
- showOffBudget: boolean;
17
- showHiddenCategories: boolean;
18
- includeCurrentInterval: boolean;
19
- showUncategorized: boolean;
20
- graphType: string;
21
- conditions?: RuleConditionEntity[];
22
- conditionsOp: 'and' | 'or';
23
- data?: GroupedEntity;
24
- tombstone?: boolean;
3
+ id: string;
4
+ name: string;
5
+ startDate: string;
6
+ endDate: string;
7
+ isDateStatic: boolean;
8
+ dateRange: string;
9
+ mode: string;
10
+ groupBy: string;
11
+ interval: string;
12
+ balanceType: string;
13
+ sortBy?: sortByOpType;
14
+ showEmpty: boolean;
15
+ showOffBudget: boolean;
16
+ showHiddenCategories: boolean;
17
+ includeCurrentInterval: boolean;
18
+ showUncategorized: boolean;
19
+ graphType: string;
20
+ conditions?: RuleConditionEntity[];
21
+ conditionsOp: 'and' | 'or';
22
+ data?: GroupedEntity;
23
+ tombstone?: boolean;
25
24
  }
26
-
27
- export type balanceTypeOpType =
28
- | 'totalAssets'
29
- | 'totalDebts'
30
- | 'totalTotals'
31
- | 'netAssets'
32
- | 'netDebts';
33
-
25
+ export type balanceTypeOpType = 'totalAssets' | 'totalDebts' | 'totalTotals' | 'netAssets' | 'netDebts';
34
26
  export type sortByOpType = 'asc' | 'desc' | 'name' | 'budget';
35
-
36
- export type SpendingMonthEntity = Record<
37
- string | number,
38
- {
27
+ export type SpendingMonthEntity = Record<string | number, {
39
28
  cumulative: number;
40
29
  daily: number;
41
30
  date: string;
42
31
  month: string;
43
- }
44
- >;
45
-
32
+ }>;
46
33
  export interface SpendingDataEntity {
47
- date: string;
48
- totalAssets: number;
49
- totalDebts: number;
50
- totalTotals: number;
51
- cumulative: number;
34
+ date: string;
35
+ totalAssets: number;
36
+ totalDebts: number;
37
+ totalTotals: number;
38
+ cumulative: number;
52
39
  }
53
-
54
40
  export interface SpendingEntity {
55
- intervalData: {
56
- months: SpendingMonthEntity;
57
- day: string;
58
- average: number;
59
- compare: number;
60
- compareTo: number;
61
- budget: number;
62
- }[];
63
- startDate?: string;
64
- endDate?: string;
65
- totalDebts: number;
66
- totalAssets: number;
67
- totalTotals: number;
41
+ intervalData: {
42
+ months: SpendingMonthEntity;
43
+ day: string;
44
+ average: number;
45
+ compare: number;
46
+ compareTo: number;
47
+ budget: number;
48
+ }[];
49
+ startDate?: string;
50
+ endDate?: string;
51
+ totalDebts: number;
52
+ totalAssets: number;
53
+ totalTotals: number;
68
54
  }
69
-
70
55
  export interface DataEntity {
71
- data?: GroupedEntity[];
72
- intervalData: IntervalEntity[];
73
- groupedData?: GroupedEntity[] | null;
74
- legend?: LegendEntity[];
75
- startDate?: string;
76
- endDate?: string;
77
- totalDebts: number;
78
- totalAssets: number;
79
- netAssets: number;
80
- netDebts: number;
81
- totalTotals: number;
56
+ data?: GroupedEntity[];
57
+ intervalData: IntervalEntity[];
58
+ groupedData?: GroupedEntity[] | null;
59
+ legend?: LegendEntity[];
60
+ startDate?: string;
61
+ endDate?: string;
62
+ totalDebts: number;
63
+ totalAssets: number;
64
+ netAssets: number;
65
+ netDebts: number;
66
+ totalTotals: number;
82
67
  }
83
-
84
- type LegendEntity = {
85
- name: string;
86
- id: string | null;
87
- color: string;
68
+ export type LegendEntity = {
69
+ name: string;
70
+ id: string | null;
71
+ color: string;
88
72
  };
89
-
90
73
  export type IntervalEntity = {
91
- date?: string;
92
- change?: number;
93
- intervalStartDate?: string;
94
- intervalEndDate?: string;
95
- totalAssets: number;
96
- totalDebts: number;
97
- netAssets: number;
98
- netDebts: number;
99
- totalTotals: number;
74
+ date?: string;
75
+ change?: number;
76
+ intervalStartDate?: string;
77
+ intervalEndDate?: string;
78
+ totalAssets: number;
79
+ totalDebts: number;
80
+ netAssets: number;
81
+ netDebts: number;
82
+ totalTotals: number;
100
83
  };
101
-
102
84
  export interface GroupedEntity {
103
- id: string;
104
- name: string;
105
- date?: string;
106
- intervalData: IntervalEntity[];
107
- totalAssets: number;
108
- totalDebts: number;
109
- totalTotals: number;
110
- netAssets: number;
111
- netDebts: number;
112
- categories?: GroupedEntity[];
85
+ id: string;
86
+ name: string;
87
+ date?: string;
88
+ intervalData: IntervalEntity[];
89
+ totalAssets: number;
90
+ totalDebts: number;
91
+ totalTotals: number;
92
+ netAssets: number;
93
+ netDebts: number;
94
+ categories?: GroupedEntity[];
113
95
  }
114
-
115
96
  export type Interval = {
116
- interval: string;
97
+ interval: string;
117
98
  };
118
-
119
99
  export interface CustomReportData {
120
- id: string;
121
- name: string;
122
- start_date: string;
123
- end_date: string;
124
- date_static: number;
125
- date_range: string;
126
- mode: string;
127
- group_by: string;
128
- sort_by: sortByOpType;
129
- balance_type: string;
130
- show_empty: number;
131
- show_offbudget: number;
132
- show_hidden: number;
133
- include_current: number;
134
- show_uncategorized: number;
135
- graph_type: string;
136
- conditions?: RuleConditionEntity[];
137
- conditions_op: 'and' | 'or';
138
- metadata?: GroupedEntity;
139
- interval: string;
140
- color_scheme?: string;
100
+ id: string;
101
+ name: string;
102
+ start_date: string;
103
+ end_date: string;
104
+ date_static: number;
105
+ date_range: string;
106
+ mode: string;
107
+ group_by: string;
108
+ sort_by: sortByOpType;
109
+ balance_type: string;
110
+ show_empty: number;
111
+ show_offbudget: number;
112
+ show_hidden: number;
113
+ include_current: number;
114
+ show_uncategorized: number;
115
+ graph_type: string;
116
+ conditions?: RuleConditionEntity[];
117
+ conditions_op: 'and' | 'or';
118
+ metadata?: GroupedEntity;
119
+ interval: string;
120
+ color_scheme?: string;
141
121
  }
@@ -1,179 +1,80 @@
1
1
  import { type RecurConfig, type ScheduleEntity } from './schedule';
2
-
3
2
  export interface NewRuleEntity {
4
- stage: 'pre' | null | 'post';
5
- conditionsOp: 'or' | 'and';
6
- conditions: RuleConditionEntity[];
7
- actions: RuleActionEntity[];
8
- tombstone?: boolean;
3
+ stage: 'pre' | null | 'post';
4
+ conditionsOp: 'or' | 'and';
5
+ conditions: RuleConditionEntity[];
6
+ actions: RuleActionEntity[];
7
+ tombstone?: boolean;
9
8
  }
10
-
11
9
  export interface RuleEntity extends NewRuleEntity {
12
- id: string;
10
+ id: string;
13
11
  }
14
-
15
- export type RuleConditionOp =
16
- | 'is'
17
- | 'isNot'
18
- | 'oneOf'
19
- | 'notOneOf'
20
- | 'isapprox'
21
- | 'isbetween'
22
- | 'gt'
23
- | 'gte'
24
- | 'lt'
25
- | 'lte'
26
- | 'contains'
27
- | 'doesNotContain'
28
- | 'hasTags'
29
- | 'and'
30
- | 'matches'
31
- | 'onBudget'
32
- | 'offBudget';
33
-
12
+ export type RuleConditionOp = 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'isapprox' | 'isbetween' | 'gt' | 'gte' | 'lt' | 'lte' | 'contains' | 'doesNotContain' | 'hasTags' | 'and' | 'matches' | 'onBudget' | 'offBudget';
34
13
  export type FieldValueTypes = {
35
- account: string;
36
- amount: number;
37
- category: string;
38
- date: string | RecurConfig;
39
- notes: string;
40
- payee: string;
41
- payee_name: string;
42
- imported_payee: string;
43
- saved: string;
44
- transfer: boolean;
45
- parent: boolean;
46
- cleared: boolean;
47
- reconciled: boolean;
14
+ account: string;
15
+ amount: number;
16
+ category: string;
17
+ date: string | RecurConfig;
18
+ notes: string;
19
+ payee: string;
20
+ payee_name: string;
21
+ imported_payee: string;
22
+ saved: string;
23
+ transfer: boolean;
24
+ parent: boolean;
25
+ cleared: boolean;
26
+ reconciled: boolean;
48
27
  };
49
-
50
- type BaseConditionEntity<
51
- Field extends keyof FieldValueTypes,
52
- Op extends RuleConditionOp,
53
- > = {
54
- field: Field;
55
- op: Op;
56
- value: Op extends 'oneOf' | 'notOneOf'
57
- ? Array<FieldValueTypes[Field]>
58
- : Op extends 'isbetween'
59
- ? { num1: number; num2: number }
60
- : FieldValueTypes[Field];
61
- options?: {
62
- inflow?: boolean;
63
- outflow?: boolean;
64
- month?: boolean;
65
- year?: boolean;
66
- };
67
- conditionsOp?: string;
68
- type?: 'id' | 'boolean' | 'date' | 'number' | 'string';
69
- customName?: string;
70
- queryFilter?: Record<string, { $oneof: string[] }>;
28
+ type BaseConditionEntity<Field extends keyof FieldValueTypes, Op extends RuleConditionOp> = {
29
+ field: Field;
30
+ op: Op;
31
+ value: Op extends 'oneOf' | 'notOneOf' ? Array<FieldValueTypes[Field]> : Op extends 'isbetween' ? {
32
+ num1: number;
33
+ num2: number;
34
+ } : FieldValueTypes[Field];
35
+ options?: {
36
+ inflow?: boolean;
37
+ outflow?: boolean;
38
+ month?: boolean;
39
+ year?: boolean;
40
+ };
41
+ conditionsOp?: string;
42
+ type?: 'id' | 'boolean' | 'date' | 'number' | 'string';
43
+ customName?: string;
44
+ queryFilter?: Record<string, {
45
+ $oneof: string[];
46
+ }>;
71
47
  };
72
-
73
- export type RuleConditionEntity =
74
- | BaseConditionEntity<
75
- 'account',
76
- | 'is'
77
- | 'isNot'
78
- | 'oneOf'
79
- | 'notOneOf'
80
- | 'contains'
81
- | 'doesNotContain'
82
- | 'matches'
83
- | 'onBudget'
84
- | 'offBudget'
85
- >
86
- | BaseConditionEntity<
87
- 'category',
88
- | 'is'
89
- | 'isNot'
90
- | 'oneOf'
91
- | 'notOneOf'
92
- | 'contains'
93
- | 'doesNotContain'
94
- | 'matches'
95
- >
96
- | BaseConditionEntity<
97
- 'amount',
98
- 'is' | 'isapprox' | 'isbetween' | 'gt' | 'gte' | 'lt' | 'lte'
99
- >
100
- | BaseConditionEntity<
101
- 'date',
102
- 'is' | 'isapprox' | 'isbetween' | 'gt' | 'gte' | 'lt' | 'lte'
103
- >
104
- | BaseConditionEntity<
105
- 'notes',
106
- | 'is'
107
- | 'isNot'
108
- | 'oneOf'
109
- | 'notOneOf'
110
- | 'contains'
111
- | 'doesNotContain'
112
- | 'matches'
113
- | 'hasTags'
114
- >
115
- | BaseConditionEntity<
116
- 'payee',
117
- | 'is'
118
- | 'isNot'
119
- | 'oneOf'
120
- | 'notOneOf'
121
- | 'contains'
122
- | 'doesNotContain'
123
- | 'matches'
124
- >
125
- | BaseConditionEntity<
126
- 'imported_payee',
127
- | 'is'
128
- | 'isNot'
129
- | 'oneOf'
130
- | 'notOneOf'
131
- | 'contains'
132
- | 'doesNotContain'
133
- | 'matches'
134
- >
135
- | BaseConditionEntity<'saved', 'is'>
136
- | BaseConditionEntity<'cleared', 'is'>
137
- | BaseConditionEntity<'reconciled', 'is'>;
138
-
139
- export type RuleActionEntity =
140
- | SetRuleActionEntity
141
- | SetSplitAmountRuleActionEntity
142
- | LinkScheduleRuleActionEntity
143
- | PrependNoteRuleActionEntity
144
- | AppendNoteRuleActionEntity;
145
-
48
+ export type RuleConditionEntity = BaseConditionEntity<'account', 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'contains' | 'doesNotContain' | 'matches' | 'onBudget' | 'offBudget'> | BaseConditionEntity<'category', 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'contains' | 'doesNotContain' | 'matches'> | BaseConditionEntity<'amount', 'is' | 'isapprox' | 'isbetween' | 'gt' | 'gte' | 'lt' | 'lte'> | BaseConditionEntity<'date', 'is' | 'isapprox' | 'isbetween' | 'gt' | 'gte' | 'lt' | 'lte'> | BaseConditionEntity<'notes', 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'contains' | 'doesNotContain' | 'matches' | 'hasTags'> | BaseConditionEntity<'payee', 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'contains' | 'doesNotContain' | 'matches'> | BaseConditionEntity<'imported_payee', 'is' | 'isNot' | 'oneOf' | 'notOneOf' | 'contains' | 'doesNotContain' | 'matches'> | BaseConditionEntity<'saved', 'is'> | BaseConditionEntity<'cleared', 'is'> | BaseConditionEntity<'reconciled', 'is'>;
49
+ export type RuleActionEntity = SetRuleActionEntity | SetSplitAmountRuleActionEntity | LinkScheduleRuleActionEntity | PrependNoteRuleActionEntity | AppendNoteRuleActionEntity;
146
50
  export interface SetRuleActionEntity {
147
- field: string;
148
- op: 'set';
149
- value: unknown;
150
- options?: {
151
- template?: string;
152
- splitIndex?: number;
153
- };
154
- type?: string;
51
+ field: string;
52
+ op: 'set';
53
+ value: unknown;
54
+ options?: {
55
+ template?: string;
56
+ splitIndex?: number;
57
+ };
58
+ type?: string;
155
59
  }
156
-
157
60
  export interface SetSplitAmountRuleActionEntity {
158
- op: 'set-split-amount';
159
- value: number;
160
- options?: {
161
- splitIndex?: number;
162
- method: 'fixed-amount' | 'fixed-percent' | 'remainder';
163
- };
61
+ op: 'set-split-amount';
62
+ value: number;
63
+ options?: {
64
+ splitIndex?: number;
65
+ method: 'fixed-amount' | 'fixed-percent' | 'remainder';
66
+ };
164
67
  }
165
-
166
68
  export interface LinkScheduleRuleActionEntity {
167
- op: 'link-schedule';
168
- value: ScheduleEntity;
69
+ op: 'link-schedule';
70
+ value: ScheduleEntity;
169
71
  }
170
-
171
72
  export interface PrependNoteRuleActionEntity {
172
- op: 'prepend-notes';
173
- value: string;
73
+ op: 'prepend-notes';
74
+ value: string;
174
75
  }
175
-
176
76
  export interface AppendNoteRuleActionEntity {
177
- op: 'append-notes';
178
- value: string;
77
+ op: 'append-notes';
78
+ value: string;
179
79
  }
80
+ export {};
@@ -1,49 +1,47 @@
1
1
  import type { AccountEntity } from './account';
2
2
  import type { PayeeEntity } from './payee';
3
3
  import type { RuleConditionEntity, RuleEntity } from './rule';
4
-
5
4
  export interface RecurPattern {
6
- value: number;
7
- type: 'SU' | 'MO' | 'TU' | 'WE' | 'TH' | 'FR' | 'SA' | 'day';
5
+ value: number;
6
+ type: 'SU' | 'MO' | 'TU' | 'WE' | 'TH' | 'FR' | 'SA' | 'day';
8
7
  }
9
-
10
8
  export interface RecurConfig {
11
- frequency: 'daily' | 'weekly' | 'monthly' | 'yearly';
12
- interval?: number;
13
- patterns?: RecurPattern[];
14
- skipWeekend?: boolean;
15
- start: string;
16
- endMode: 'never' | 'after_n_occurrences' | 'on_date';
17
- endOccurrences?: number;
18
- endDate?: string;
19
- weekendSolveMode?: 'before' | 'after';
9
+ frequency: 'daily' | 'weekly' | 'monthly' | 'yearly';
10
+ interval?: number;
11
+ patterns?: RecurPattern[];
12
+ skipWeekend?: boolean;
13
+ start: string;
14
+ endMode: 'never' | 'after_n_occurrences' | 'on_date';
15
+ endOccurrences?: number;
16
+ endDate?: string;
17
+ weekendSolveMode?: 'before' | 'after';
20
18
  }
21
-
22
19
  export interface ScheduleEntity {
23
- id: string;
24
- name?: string;
25
- rule: RuleEntity['id'];
26
- next_date: string;
27
- completed: boolean;
28
- posts_transaction: boolean;
29
- tombstone: boolean;
30
-
31
- // These are special fields that are actually pulled from the
32
- // underlying rule
33
- _payee: PayeeEntity['id'];
34
- _account: AccountEntity['id'];
35
- _amount: number | { num1: number; num2: number };
36
- _amountOp: string;
37
- _date: RecurConfig;
38
- _conditions: RuleConditionEntity[];
39
- _actions: Array<{ op: unknown }>;
20
+ id: string;
21
+ name?: string;
22
+ rule: RuleEntity['id'];
23
+ next_date: string;
24
+ completed: boolean;
25
+ posts_transaction: boolean;
26
+ tombstone: boolean;
27
+ _payee: PayeeEntity['id'];
28
+ _account: AccountEntity['id'];
29
+ _amount: number | {
30
+ num1: number;
31
+ num2: number;
32
+ };
33
+ _amountOp: string;
34
+ _date: RecurConfig;
35
+ _conditions: RuleConditionEntity[];
36
+ _actions: Array<{
37
+ op: unknown;
38
+ }>;
40
39
  }
41
-
42
40
  export type DiscoverScheduleEntity = {
43
- id: ScheduleEntity['id'];
44
- account: AccountEntity['id'];
45
- payee: PayeeEntity['id'];
46
- date: ScheduleEntity['_date'];
47
- amount: ScheduleEntity['_amount'];
48
- _conditions: ScheduleEntity['_conditions'];
41
+ id: ScheduleEntity['id'];
42
+ account: AccountEntity['id'];
43
+ payee: PayeeEntity['id'];
44
+ date: ScheduleEntity['_date'];
45
+ amount: ScheduleEntity['_amount'];
46
+ _conditions: ScheduleEntity['_conditions'];
49
47
  };
@@ -1,27 +1,23 @@
1
1
  import { AccountEntity } from './account';
2
2
  import { BankSyncResponse } from './bank-sync';
3
-
4
3
  export type SimpleFinOrganization = {
5
- id: string;
6
- name: string;
7
- domain: string;
4
+ id: string;
5
+ name: string;
6
+ domain: string;
8
7
  };
9
-
10
8
  export type SimpleFinAccount = {
11
- id: string;
12
- name: string;
13
- balance: number;
14
- org: SimpleFinOrganization;
9
+ id: string;
10
+ name: string;
11
+ balance: number;
12
+ org: SimpleFinOrganization;
15
13
  };
16
-
17
14
  export interface SimpleFinBatchSyncResponse {
18
- [accountId: AccountEntity['account_id']]: BankSyncResponse;
15
+ [accountId: NonNullable<AccountEntity['account_id']>]: BankSyncResponse;
19
16
  }
20
-
21
17
  export type SyncServerSimpleFinAccount = {
22
- account_id: string;
23
- institution?: string;
24
- orgDomain?: string;
25
- orgId?: string;
26
- name: string;
18
+ account_id: string;
19
+ institution?: string;
20
+ orgDomain?: string;
21
+ orgId?: string;
22
+ name: string;
27
23
  };
@@ -1,9 +1,8 @@
1
1
  import { type RuleConditionEntity } from './rule';
2
-
3
2
  export interface TransactionFilterEntity {
4
- id: string;
5
- name: string;
6
- conditionsOp: 'and' | 'or';
7
- conditions: RuleConditionEntity[];
8
- tombstone: boolean;
3
+ id: string;
4
+ name: string;
5
+ conditionsOp: 'and' | 'or';
6
+ conditions: RuleConditionEntity[];
7
+ tombstone: boolean;
9
8
  }