| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | /* | 
					
						
							|  |  |  |  * bindables.php | 
					
						
							|  |  |  |  * Copyright (c) 2024 james@firefly-iii.org. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is part of Firefly III (https://github.com/firefly-iii). | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU Affero General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation, either version 3 of the | 
					
						
							|  |  |  |  * License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU Affero General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see https://www.gnu.org/licenses/. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use FireflyIII\Models\Account; | 
					
						
							|  |  |  | use FireflyIII\Models\Attachment; | 
					
						
							|  |  |  | use FireflyIII\Models\AvailableBudget; | 
					
						
							|  |  |  | use FireflyIII\Models\Bill; | 
					
						
							|  |  |  | use FireflyIII\Models\Budget; | 
					
						
							|  |  |  | use FireflyIII\Models\BudgetLimit; | 
					
						
							|  |  |  | use FireflyIII\Models\Category; | 
					
						
							|  |  |  | use FireflyIII\Models\InvitedUser; | 
					
						
							|  |  |  | use FireflyIII\Models\LinkType; | 
					
						
							|  |  |  | use FireflyIII\Models\ObjectGroup; | 
					
						
							|  |  |  | use FireflyIII\Models\PiggyBank; | 
					
						
							|  |  |  | use FireflyIII\Models\Preference; | 
					
						
							|  |  |  | use FireflyIII\Models\Recurrence; | 
					
						
							|  |  |  | use FireflyIII\Models\Rule; | 
					
						
							|  |  |  | use FireflyIII\Models\RuleGroup; | 
					
						
							|  |  |  | use FireflyIII\Models\Tag; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionCurrency; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionGroup; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionJournal; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionJournalLink; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionType; | 
					
						
							|  |  |  | use FireflyIII\Models\UserGroup; | 
					
						
							|  |  |  | use FireflyIII\Models\Webhook; | 
					
						
							|  |  |  | use FireflyIII\Models\WebhookAttempt; | 
					
						
							|  |  |  | use FireflyIII\Models\WebhookMessage; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\AccountList; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\BudgetList; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\CategoryList; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\CLIToken; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\CurrencyCode; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\Date; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\DynamicConfigKey; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\EitherConfigKey; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\JournalList; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\TagList; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\TagOrId; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\UserGroupAccount; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\UserGroupBill; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\UserGroupExchangeRate; | 
					
						
							|  |  |  | use FireflyIII\Support\Binder\UserGroupTransaction; | 
					
						
							|  |  |  | use FireflyIII\User; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | return [ | 
					
						
							|  |  |  |     'bindables' => [ | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // models
 | 
					
						
							|  |  |  |         'account'               => Account::class, | 
					
						
							|  |  |  |         'attachment'            => Attachment::class, | 
					
						
							|  |  |  |         'availableBudget'       => AvailableBudget::class, | 
					
						
							|  |  |  |         'bill'                  => Bill::class, | 
					
						
							|  |  |  |         'budget'                => Budget::class, | 
					
						
							|  |  |  |         'budgetLimit'           => BudgetLimit::class, | 
					
						
							|  |  |  |         'category'              => Category::class, | 
					
						
							|  |  |  |         'linkType'              => LinkType::class, | 
					
						
							|  |  |  |         'transactionType'       => TransactionType::class, | 
					
						
							|  |  |  |         'journalLink'           => TransactionJournalLink::class, | 
					
						
							|  |  |  |         'currency'              => TransactionCurrency::class, | 
					
						
							|  |  |  |         'objectGroup'           => ObjectGroup::class, | 
					
						
							|  |  |  |         'piggyBank'             => PiggyBank::class, | 
					
						
							|  |  |  |         'preference'            => Preference::class, | 
					
						
							|  |  |  |         'tj'                    => TransactionJournal::class, | 
					
						
							|  |  |  |         'tag'                   => Tag::class, | 
					
						
							|  |  |  |         'recurrence'            => Recurrence::class, | 
					
						
							|  |  |  |         'rule'                  => Rule::class, | 
					
						
							|  |  |  |         'ruleGroup'             => RuleGroup::class, | 
					
						
							|  |  |  |         'transactionGroup'      => TransactionGroup::class, | 
					
						
							|  |  |  |         'user'                  => User::class, | 
					
						
							|  |  |  |         'webhook'               => Webhook::class, | 
					
						
							|  |  |  |         'webhookMessage'        => WebhookMessage::class, | 
					
						
							|  |  |  |         'webhookAttempt'        => WebhookAttempt::class, | 
					
						
							|  |  |  |         'invitedUser'           => InvitedUser::class, | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // strings
 | 
					
						
							|  |  |  |         'currency_code'         => CurrencyCode::class, | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // dates
 | 
					
						
							|  |  |  |         'start_date'            => Date::class, | 
					
						
							|  |  |  |         'end_date'              => Date::class, | 
					
						
							|  |  |  |         'date'                  => Date::class, | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // lists
 | 
					
						
							|  |  |  |         'accountList'           => AccountList::class, | 
					
						
							|  |  |  |         'doubleList'            => AccountList::class, | 
					
						
							|  |  |  |         'budgetList'            => BudgetList::class, | 
					
						
							|  |  |  |         'journalList'           => JournalList::class, | 
					
						
							|  |  |  |         'categoryList'          => CategoryList::class, | 
					
						
							|  |  |  |         'tagList'               => TagList::class, | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // others
 | 
					
						
							|  |  |  |         'fromCurrencyCode'      => CurrencyCode::class, | 
					
						
							|  |  |  |         'toCurrencyCode'        => CurrencyCode::class, | 
					
						
							|  |  |  |         'cliToken'              => CLIToken::class, | 
					
						
							|  |  |  |         'tagOrId'               => TagOrId::class, | 
					
						
							|  |  |  |         'dynamicConfigKey'      => DynamicConfigKey::class, | 
					
						
							|  |  |  |         'eitherConfigKey'       => EitherConfigKey::class, | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-22 14:00:37 +01:00
										 |  |  |         // V2 API endpoints:
 | 
					
						
							|  |  |  |         'userGroupAccount'      => UserGroupAccount::class, | 
					
						
							|  |  |  |         'userGroupTransaction'  => UserGroupTransaction::class, | 
					
						
							|  |  |  |         'userGroupBill'         => UserGroupBill::class, | 
					
						
							|  |  |  |         'userGroupExchangeRate' => UserGroupExchangeRate::class, | 
					
						
							|  |  |  |         'userGroup'             => UserGroup::class, | 
					
						
							|  |  |  |     ], | 
					
						
							| 
									
										
										
										
											2024-12-22 13:19:23 +01:00
										 |  |  | ]; |