| 
									
										
										
										
											2022-04-13 14:21:17 +02:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2022-10-16 19:29:53 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-13 14:21:17 +02:00
										 |  |  | /* | 
					
						
							|  |  |  |  * UserRoleEnum.php | 
					
						
							|  |  |  |  * Copyright (c) 2022 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/>. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-16 19:29:53 +02:00
										 |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-13 14:21:17 +02:00
										 |  |  | namespace FireflyIII\Enums; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-04 13:29:19 +02:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Class UserRoleEnum | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2022-04-13 14:21:17 +02:00
										 |  |  | enum UserRoleEnum: string | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  |     // most basic rights, cannot see other members, can see everything else.
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case READ_ONLY            = 'ro'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // required to even USE the group properly (in this order)
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case MANAGE_TRANSACTIONS  = 'mng_trx'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // required to edit, add or change categories/tags/object-groups
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case MANAGE_META          = 'mng_meta'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // manage other financial objects:
 | 
					
						
							|  |  |  |     case MANAGE_BUDGETS       = 'mng_budgets'; | 
					
						
							|  |  |  |     case MANAGE_PIGGY_BANKS   = 'mng_piggies'; | 
					
						
							|  |  |  |     case MANAGE_SUBSCRIPTIONS = 'mng_subscriptions'; | 
					
						
							|  |  |  |     case MANAGE_RULES         = 'mng_rules'; | 
					
						
							|  |  |  |     case MANAGE_RECURRING     = 'mng_recurring'; | 
					
						
							|  |  |  |     case MANAGE_WEBHOOKS      = 'mng_webhooks'; | 
					
						
							|  |  |  |     case MANAGE_CURRENCIES    = 'mng_currencies'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // view and generate reports
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case VIEW_REPORTS         = 'view_reports'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-31 16:46:20 +02:00
										 |  |  |     // view memberships AND roles. needs FULL to manage them.
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case VIEW_MEMBERSHIPS     = 'view_memberships'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // everything the creator can, except remove/change original creator and delete group
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case FULL                 = 'full'; | 
					
						
							| 
									
										
										
										
											2023-09-20 06:17:56 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // reserved for original creator
 | 
					
						
							| 
									
										
										
										
											2024-01-01 14:43:56 +01:00
										 |  |  |     case OWNER                = 'owner'; | 
					
						
							| 
									
										
										
										
											2022-07-16 09:25:10 +02:00
										 |  |  | } |