1 | <?php |
||
2 | |||
3 | namespace BristolSU\ControlDB; |
||
4 | |||
5 | use BristolSU\ControlDB\AdditionalProperties\AdditionalPropertySingletonStore; |
||
6 | use BristolSU\ControlDB\AdditionalProperties\AdditionalPropertyStore; |
||
7 | use BristolSU\ControlDB\Bootstrap\RegistersCachedRepositories; |
||
8 | use BristolSU\ControlDB\Bootstrap\RegistersObserverFramework; |
||
9 | use BristolSU\ControlDB\Commands\SeedDatabase; |
||
10 | use BristolSU\ControlDB\Contracts\Repositories\DataUser as DataUserRepositoryContract; |
||
11 | use BristolSU\ControlDB\Contracts\Repositories\DataGroup as DataGroupRepositoryContract; |
||
12 | use BristolSU\ControlDB\Contracts\Repositories\DataRole as DataRoleRepositoryContract; |
||
13 | use BristolSU\ControlDB\Contracts\Repositories\DataPosition as DataPositionRepositoryContract; |
||
14 | use BristolSU\ControlDB\Contracts\Models\DataUser as DataUserContract; |
||
15 | use BristolSU\ControlDB\Contracts\Models\DataGroup as DataGroupContract; |
||
16 | use BristolSU\ControlDB\Contracts\Models\DataRole as DataRoleContract; |
||
17 | use BristolSU\ControlDB\Contracts\Models\DataPosition as DataPositionContract; |
||
18 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\Tags\GroupGroupTag as GroupGroupTagContract; |
||
19 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\Tags\UserUserTag as UserUserTagContract; |
||
20 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\Tags\RoleRoleTag as RoleRoleTagContract; |
||
21 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\Tags\PositionPositionTag as PositionPositionTagContract; |
||
22 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\UserGroup as UserGroupContract; |
||
23 | use BristolSU\ControlDB\Contracts\Repositories\Pivots\UserRole as UserRoleContract; |
||
24 | use BristolSU\ControlDB\Export\ExportControlCommand; |
||
25 | use BristolSU\ControlDB\Export\ExportManager; |
||
26 | use BristolSU\ControlDB\Models\DataUser; |
||
27 | use BristolSU\ControlDB\Models\DataGroup; |
||
28 | use BristolSU\ControlDB\Models\DataRole; |
||
29 | use BristolSU\ControlDB\Models\DataPosition; |
||
30 | use BristolSU\ControlDB\Models\Group as GroupModel; |
||
31 | use BristolSU\ControlDB\Models\Position as PositionModel; |
||
32 | use BristolSU\ControlDB\Models\Role as RoleModel; |
||
33 | use BristolSU\ControlDB\Models\Tags\GroupTag as GroupTagModel; |
||
34 | use BristolSU\ControlDB\Models\Tags\GroupTagCategory as GroupTagCategoryModel; |
||
35 | use BristolSU\ControlDB\Models\Tags\PositionTag as PositionTagModel; |
||
36 | use BristolSU\ControlDB\Models\Tags\PositionTagCategory as PositionTagCategoryModel; |
||
37 | use BristolSU\ControlDB\Models\Tags\RoleTag as RoleTagModel; |
||
38 | use BristolSU\ControlDB\Models\Tags\RoleTagCategory as RoleTagCategoryModel; |
||
39 | use BristolSU\ControlDB\Models\Tags\UserTag as UserTagModel; |
||
40 | use BristolSU\ControlDB\Models\Tags\UserTagCategory as UserTagCategoryModel; |
||
41 | use BristolSU\ControlDB\Models\User as UserModel; |
||
42 | use BristolSU\ControlDB\Observers\DataGroupObserverClearCache; |
||
43 | use BristolSU\ControlDB\Observers\DataPositionObserverClearCache; |
||
44 | use BristolSU\ControlDB\Observers\DataRoleObserverClearCache; |
||
45 | use BristolSU\ControlDB\Observers\DataUserObserverClearCache; |
||
46 | use BristolSU\ControlDB\Observers\GroupObserverCascadeDelete; |
||
47 | use BristolSU\ControlDB\Observers\GroupObserverClearCache; |
||
48 | use BristolSU\ControlDB\Observers\NotifyObservers\Framework\Observe; |
||
49 | use BristolSU\ControlDB\Observers\NotifyObservers\Framework\ObserverStore; |
||
50 | use BristolSU\ControlDB\Observers\Pivots\Tags\GroupGroupTagObserverClearCache; |
||
51 | use BristolSU\ControlDB\Observers\Pivots\Tags\PositionPositionTagObserverClearCache; |
||
52 | use BristolSU\ControlDB\Observers\Pivots\Tags\RoleRoleTagObserverClearCache; |
||
53 | use BristolSU\ControlDB\Observers\Pivots\Tags\UserUserTagObserverClearCache; |
||
54 | use BristolSU\ControlDB\Observers\Pivots\UserGroupObserverClearCache; |
||
55 | use BristolSU\ControlDB\Observers\Pivots\UserRoleObserverClearCache; |
||
56 | use BristolSU\ControlDB\Observers\PositionObserverCascadeDelete; |
||
57 | use BristolSU\ControlDB\Observers\PositionObserverClearCache; |
||
58 | use BristolSU\ControlDB\Observers\RoleObserverCascadeDelete; |
||
59 | use BristolSU\ControlDB\Observers\RoleObserverClearCache; |
||
60 | use BristolSU\ControlDB\Observers\Tags\GroupTagCategoryObserverCascadeDelete; |
||
61 | use BristolSU\ControlDB\Observers\Tags\GroupTagCategoryObserverClearCache; |
||
62 | use BristolSU\ControlDB\Observers\Tags\GroupTagObserverCascadeDelete; |
||
63 | use BristolSU\ControlDB\Observers\Tags\GroupTagObserverClearCache; |
||
64 | use BristolSU\ControlDB\Observers\Tags\PositionTagCategoryObserverCascadeDelete; |
||
65 | use BristolSU\ControlDB\Observers\Tags\PositionTagCategoryObserverClearCache; |
||
66 | use BristolSU\ControlDB\Observers\Tags\PositionTagObserverCascadeDelete; |
||
67 | use BristolSU\ControlDB\Observers\Tags\PositionTagObserverClearCache; |
||
68 | use BristolSU\ControlDB\Observers\Tags\RoleTagCategoryObserverCascadeDelete; |
||
69 | use BristolSU\ControlDB\Observers\Tags\RoleTagCategoryObserverClearCache; |
||
70 | use BristolSU\ControlDB\Observers\Tags\RoleTagObserverCascadeDelete; |
||
71 | use BristolSU\ControlDB\Observers\Tags\RoleTagObserverClearCache; |
||
72 | use BristolSU\ControlDB\Observers\Tags\UserTagCategoryObserverCascadeDelete; |
||
73 | use BristolSU\ControlDB\Observers\Tags\UserTagCategoryObserverClearCache; |
||
74 | use BristolSU\ControlDB\Observers\Tags\UserTagObserverCascadeDelete; |
||
75 | use BristolSU\ControlDB\Observers\Tags\UserTagObserverClearCache; |
||
76 | use BristolSU\ControlDB\Observers\UserObserverCascadeDelete; |
||
77 | use BristolSU\ControlDB\Observers\UserObserverClearCache; |
||
78 | use BristolSU\ControlDB\Repositories\DataUser as DataUserRepository; |
||
79 | use BristolSU\ControlDB\Repositories\DataGroup as DataGroupRepository; |
||
80 | use BristolSU\ControlDB\Repositories\DataRole as DataRoleRepository; |
||
81 | use BristolSU\ControlDB\Repositories\DataPosition as DataPositionRepository; |
||
82 | use BristolSU\ControlDB\Repositories\Group as GroupRepository; |
||
83 | use BristolSU\ControlDB\Repositories\Pivots\Tags\GroupGroupTag; |
||
84 | use BristolSU\ControlDB\Repositories\Pivots\Tags\PositionPositionTag; |
||
85 | use BristolSU\ControlDB\Repositories\Pivots\Tags\RoleRoleTag; |
||
86 | use BristolSU\ControlDB\Repositories\Pivots\Tags\UserUserTag; |
||
87 | use BristolSU\ControlDB\Repositories\Pivots\UserGroup; |
||
88 | use BristolSU\ControlDB\Repositories\Pivots\UserRole; |
||
89 | use BristolSU\ControlDB\Repositories\Position as PositionRepository; |
||
90 | use BristolSU\ControlDB\Repositories\Role as RoleRepository; |
||
91 | use BristolSU\ControlDB\Repositories\Tags\GroupTag as GroupTagRepository; |
||
92 | use BristolSU\ControlDB\Repositories\Tags\GroupTagCategory as GroupTagCategoryRepository; |
||
93 | use BristolSU\ControlDB\Repositories\Tags\PositionTag as PositionTagRepository; |
||
94 | use BristolSU\ControlDB\Repositories\Tags\PositionTagCategory as PositionTagCategoryRepository; |
||
95 | use BristolSU\ControlDB\Repositories\Tags\RoleTag as RoleTagRepository; |
||
96 | use BristolSU\ControlDB\Repositories\Tags\RoleTagCategory as RoleTagCategoryRepository; |
||
97 | use BristolSU\ControlDB\Repositories\Tags\UserTag as UserTagRepository; |
||
98 | use BristolSU\ControlDB\Repositories\Tags\UserTagCategory as UserTagCategoryRepository; |
||
99 | use BristolSU\ControlDB\Repositories\User as UserRepository; |
||
100 | use BristolSU\ControlDB\Contracts\Models\Group as GroupModelContract; |
||
101 | use BristolSU\ControlDB\Contracts\Models\Position as PositionContract; |
||
102 | use BristolSU\ControlDB\Contracts\Models\Role as RoleModelContract; |
||
103 | use BristolSU\ControlDB\Contracts\Models\Tags\GroupTag as GroupTagModelContract; |
||
104 | use BristolSU\ControlDB\Contracts\Models\Tags\GroupTagCategory as GroupTagCategoryModelContract; |
||
105 | use BristolSU\ControlDB\Contracts\Models\Tags\PositionTag as PositionTagModelContract; |
||
106 | use BristolSU\ControlDB\Contracts\Models\Tags\PositionTagCategory as PositionTagCategoryModelContract; |
||
107 | use BristolSU\ControlDB\Contracts\Models\Tags\RoleTag as RoleTagModelContract; |
||
108 | use BristolSU\ControlDB\Contracts\Models\Tags\RoleTagCategory as RoleTagCategoryModelContract; |
||
109 | use BristolSU\ControlDB\Contracts\Models\Tags\UserTag as UserTagModelContract; |
||
110 | use BristolSU\ControlDB\Contracts\Models\Tags\UserTagCategory as UserTagCategoryModelContract; |
||
111 | use BristolSU\ControlDB\Contracts\Models\User as UserContract; |
||
112 | use BristolSU\ControlDB\Contracts\Repositories\Group as GroupRepositoryContract; |
||
113 | use BristolSU\ControlDB\Contracts\Repositories\Position as PositionRepositoryContract; |
||
114 | use BristolSU\ControlDB\Contracts\Repositories\Role as RoleRepositoryContract; |
||
115 | use BristolSU\ControlDB\Contracts\Repositories\Tags\GroupTag as GroupTagRepositoryContract; |
||
116 | use BristolSU\ControlDB\Contracts\Repositories\Tags\GroupTagCategory as GroupTagCategoryRepositoryContract; |
||
117 | use BristolSU\ControlDB\Contracts\Repositories\Tags\PositionTag as PositionTagRepositoryContract; |
||
118 | use BristolSU\ControlDB\Contracts\Repositories\Tags\PositionTagCategory as PositionTagCategoryRepositoryContract; |
||
119 | use BristolSU\ControlDB\Contracts\Repositories\Tags\RoleTag as RoleTagRepositoryContract; |
||
120 | use BristolSU\ControlDB\Contracts\Repositories\Tags\RoleTagCategory as RoleTagCategoryRepositoryContract; |
||
121 | use BristolSU\ControlDB\Contracts\Repositories\Tags\UserTag as UserTagRepositoryContract; |
||
122 | use BristolSU\ControlDB\Contracts\Repositories\Tags\UserTagCategory as UserTagCategoryRepositoryContract; |
||
123 | use BristolSU\ControlDB\Contracts\Repositories\User as UserRepositoryContract; |
||
124 | use Illuminate\Contracts\Container\BindingResolutionException; |
||
125 | use Illuminate\Database\Eloquent\Factory; |
||
126 | use Illuminate\Support\Facades\Route; |
||
127 | use Illuminate\Support\ServiceProvider; |
||
128 | |||
129 | class ControlDBServiceProvider extends ServiceProvider |
||
130 | { |
||
131 | use RegistersCachedRepositories, RegistersObserverFramework; |
||
132 | |||
133 | 804 | public function register() |
|
134 | { |
||
135 | 804 | $this->bindContracts(); |
|
136 | 804 | $this->registerObserversFramework($this->app); |
|
137 | 804 | $this->registerCachedRepositories($this->app); |
|
138 | 804 | $this->registerCommands(); |
|
139 | 804 | $this->registerMigrations(); |
|
140 | 804 | $this->registerConfig(); |
|
141 | 804 | $this->registerFactories(); |
|
142 | $this->app->singleton('control-exporter', function() { |
||
143 | 5 | return new ExportManager($this->app); |
|
144 | 804 | }); |
|
145 | 804 | } |
|
146 | |||
147 | 804 | public function boot() |
|
148 | { |
||
149 | 804 | $this->setupRouteModelBinding(); |
|
150 | 804 | $this->setupRoutes(); |
|
151 | 804 | $this->setupObservers(); |
|
152 | 804 | } |
|
153 | |||
154 | /** |
||
155 | * Register config |
||
156 | */ |
||
157 | 804 | protected function registerConfig() |
|
158 | { |
||
159 | 804 | $this->publishes([__DIR__ .'/../config/control.php' => config_path('control.php'), |
|
160 | 804 | ], 'config'); |
|
161 | 804 | $this->mergeConfigFrom( |
|
162 | 804 | __DIR__ .'/../config/control.php', 'control' |
|
163 | ); |
||
164 | 804 | } |
|
165 | |||
166 | /** |
||
167 | * Register factories in a non-production environment |
||
168 | * |
||
169 | * @throws BindingResolutionException |
||
170 | */ |
||
171 | 804 | public function registerFactories() |
|
172 | { |
||
173 | 804 | if (!app()->environment('production') && class_exists(\Faker\Factory::class)) { |
|
0 ignored issues
–
show
introduced
by
![]() |
|||
174 | 804 | $this->app->make(Factory::class)->load(__DIR__ .'/../database/factories'); |
|
175 | } |
||
176 | 804 | } |
|
177 | |||
178 | 804 | public function registerMigrations() |
|
179 | { |
||
180 | 804 | $this->loadMigrationsFrom(__DIR__ . '/../database/migrations'); |
|
181 | 804 | } |
|
182 | |||
183 | 804 | public function bindContracts() |
|
184 | { |
||
185 | // Base Models |
||
186 | 804 | $this->app->bind(GroupModelContract::class, GroupModel::class); |
|
187 | 804 | $this->app->bind(RoleModelContract::class, RoleModel::class); |
|
188 | 804 | $this->app->bind(UserContract::class, UserModel::class); |
|
189 | 804 | $this->app->bind(PositionContract::class, PositionModel::class); |
|
190 | 804 | $this->app->bind(DataUserContract::class, DataUser::class); |
|
191 | 804 | $this->app->bind(DataGroupContract::class, DataGroup::class); |
|
192 | 804 | $this->app->bind(DataRoleContract::class, DataRole::class); |
|
193 | 804 | $this->app->bind(DataPositionContract::class, DataPosition::class); |
|
194 | |||
195 | // Base Repositories |
||
196 | 804 | $this->app->bind(GroupRepositoryContract::class, GroupRepository::class); |
|
197 | 804 | $this->app->bind(RoleRepositoryContract::class, RoleRepository::class); |
|
198 | 804 | $this->app->bind(UserRepositoryContract::class, UserRepository::class); |
|
199 | 804 | $this->app->bind(PositionRepositoryContract::class, PositionRepository::class); |
|
200 | 804 | $this->app->bind(DataUserRepositoryContract::class, DataUserRepository::class); |
|
201 | 804 | $this->app->bind(DataGroupRepositoryContract::class, DataGroupRepository::class); |
|
202 | 804 | $this->app->bind(DataRoleRepositoryContract::class, DataRoleRepository::class); |
|
203 | 804 | $this->app->bind(DataPositionRepositoryContract::class, DataPositionRepository::class); |
|
204 | |||
205 | // Tag Models |
||
206 | 804 | $this->app->bind(GroupTagModelContract::class, GroupTagModel::class); |
|
207 | 804 | $this->app->bind(GroupTagCategoryModelContract::class, GroupTagCategoryModel::class); |
|
208 | 804 | $this->app->bind(UserTagModelContract::class, UserTagModel::class); |
|
209 | 804 | $this->app->bind(UserTagCategoryModelContract::class, UserTagCategoryModel::class); |
|
210 | 804 | $this->app->bind(RoleTagModelContract::class, RoleTagModel::class); |
|
211 | 804 | $this->app->bind(RoleTagCategoryModelContract::class, RoleTagCategoryModel::class); |
|
212 | 804 | $this->app->bind(PositionTagModelContract::class, PositionTagModel::class); |
|
213 | 804 | $this->app->bind(PositionTagCategoryModelContract::class, PositionTagCategoryModel::class); |
|
214 | |||
215 | // Tag Repositories |
||
216 | 804 | $this->app->bind(GroupTagRepositoryContract::class, GroupTagRepository::class); |
|
217 | 804 | $this->app->bind(GroupTagCategoryRepositoryContract::class, GroupTagCategoryRepository::class); |
|
218 | 804 | $this->app->bind(UserTagRepositoryContract::class, UserTagRepository::class); |
|
219 | 804 | $this->app->bind(UserTagCategoryRepositoryContract::class, UserTagCategoryRepository::class); |
|
220 | 804 | $this->app->bind(RoleTagRepositoryContract::class, RoleTagRepository::class); |
|
221 | 804 | $this->app->bind(RoleTagCategoryRepositoryContract::class, RoleTagCategoryRepository::class); |
|
222 | 804 | $this->app->bind(PositionTagRepositoryContract::class, PositionTagRepository::class); |
|
223 | 804 | $this->app->bind(PositionTagCategoryRepositoryContract::class, PositionTagCategoryRepository::class); |
|
224 | |||
225 | // Additional Properties |
||
226 | 804 | $this->app->singleton(AdditionalPropertyStore::class, AdditionalPropertySingletonStore::class); |
|
227 | |||
228 | // Pivot Repositories |
||
229 | 804 | $this->app->bind(UserGroupContract::class, UserGroup::class); |
|
230 | 804 | $this->app->bind(UserRoleContract::class, UserRole::class); |
|
231 | 804 | $this->app->bind(GroupGroupTagContract::class, GroupGroupTag::class); |
|
232 | 804 | $this->app->bind(UserUserTagContract::class, UserUserTag::class); |
|
233 | 804 | $this->app->bind(RoleRoleTagContract::class, RoleRoleTag::class); |
|
234 | 804 | $this->app->bind(PositionPositionTagContract::class, PositionPositionTag::class); |
|
235 | |||
236 | 804 | $this->app->singleton(ObserverStore::class); |
|
237 | |||
238 | 804 | } |
|
239 | |||
240 | 804 | public function registerCommands() |
|
241 | { |
||
242 | 804 | $this->commands([ |
|
243 | 804 | SeedDatabase::class, |
|
244 | ExportControlCommand::class, |
||
245 | ]); |
||
246 | 804 | } |
|
247 | |||
248 | 804 | public function setupRouteModelBinding() |
|
249 | { |
||
250 | 804 | Route::model('control_group', GroupModel::class); |
|
251 | 804 | Route::model('control_role', RoleModel::class); |
|
252 | 804 | Route::model('control_user', UserModel::class); |
|
253 | 804 | Route::model('control_position', PositionModel::class); |
|
254 | 804 | Route::model('control_group_tag', GroupTagModel::class); |
|
255 | 804 | Route::model('control_role_tag', RoleTagModel::class); |
|
256 | 804 | Route::model('control_user_tag', UserTagModel::class); |
|
257 | 804 | Route::model('control_position_tag', PositionTagModel::class); |
|
258 | 804 | Route::model('control_group_tag_category', GroupTagCategoryModel::class); |
|
259 | 804 | Route::model('control_role_tag_category', RoleTagCategoryModel::class); |
|
260 | 804 | Route::model('control_user_tag_category', UserTagCategoryModel::class); |
|
261 | 804 | Route::model('control_position_tag_category', PositionTagCategoryModel::class); |
|
262 | |||
263 | Route::bind('control_group', function($id) { |
||
264 | 16 | return app(GroupRepositoryContract::class)->getById($id); |
|
265 | 804 | }); |
|
266 | Route::bind('control_role', function($id) { |
||
267 | 14 | return app(RoleRepositoryContract::class)->getById($id); |
|
268 | 804 | }); |
|
269 | Route::bind('control_user', function($id) { |
||
270 | 19 | return app(UserRepositoryContract::class)->getById($id); |
|
271 | 804 | }); |
|
272 | Route::bind('control_position', function($id) { |
||
273 | 11 | return app(PositionRepositoryContract::class)->getById($id); |
|
274 | 804 | }); |
|
275 | |||
276 | Route::bind('control_group_tag', function($id) { |
||
277 | 9 | return app(GroupTagRepositoryContract::class)->getById($id); |
|
278 | 804 | }); |
|
279 | Route::bind('control_role_tag', function($id) { |
||
280 | 9 | return app(RoleTagRepositoryContract::class)->getById($id); |
|
281 | 804 | }); |
|
282 | Route::bind('control_user_tag', function($id) { |
||
283 | 9 | return app(UserTagRepositoryContract::class)->getById($id); |
|
284 | 804 | }); |
|
285 | Route::bind('control_position_tag', function($id) { |
||
286 | 9 | return app(PositionTagRepositoryContract::class)->getById($id); |
|
287 | 804 | }); |
|
288 | |||
289 | Route::bind('control_group_tag_category', function($id) { |
||
290 | 4 | return app(GroupTagCategoryRepositoryContract::class)->getById($id); |
|
291 | 804 | }); |
|
292 | Route::bind('control_role_tag_category', function($id) { |
||
293 | 4 | return app(RoleTagCategoryRepositoryContract::class)->getById($id); |
|
294 | 804 | }); |
|
295 | Route::bind('control_user_tag_category', function($id) { |
||
296 | 4 | return app(UserTagCategoryRepositoryContract::class)->getById($id); |
|
297 | 804 | }); |
|
298 | Route::bind('control_position_tag_category', function($id) { |
||
299 | 4 | return app(PositionTagCategoryRepositoryContract::class)->getById($id); |
|
300 | 804 | }); |
|
301 | 804 | } |
|
302 | |||
303 | 804 | public function setupRoutes() |
|
304 | { |
||
305 | 804 | Route::prefix(config('control.api_prefix')) |
|
306 | 804 | ->middleware(config('control.api_middleware')) |
|
307 | 804 | ->namespace('BristolSU\ControlDB\Http\Controllers') |
|
308 | 804 | ->group(__DIR__ . '/../routes/api.php'); |
|
309 | 804 | } |
|
310 | |||
311 | 804 | private function setupObservers() |
|
312 | { |
||
313 | 804 | Observe::attach(RoleRepositoryContract::class, RoleObserverClearCache::class); |
|
314 | 804 | Observe::attach(UserRepositoryContract::class, UserObserverClearCache::class); |
|
315 | 804 | Observe::attach(GroupRepositoryContract::class, GroupObserverClearCache::class); |
|
316 | 804 | Observe::attach(PositionRepositoryContract::class, PositionObserverClearCache::class); |
|
317 | |||
318 | 804 | Observe::attach(DataUserRepositoryContract::class, DataUserObserverClearCache::class); |
|
319 | 804 | Observe::attach(DataGroupRepositoryContract::class, DataGroupObserverClearCache::class); |
|
320 | 804 | Observe::attach(DataRoleRepositoryContract::class, DataRoleObserverClearCache::class); |
|
321 | 804 | Observe::attach(DataPositionRepositoryContract::class, DataPositionObserverClearCache::class); |
|
322 | |||
323 | 804 | Observe::attach(GroupTagRepositoryContract::class, GroupTagObserverClearCache::class); |
|
324 | 804 | Observe::attach(RoleTagRepositoryContract::class, RoleTagObserverClearCache::class); |
|
325 | 804 | Observe::attach(UserTagRepositoryContract::class, UserTagObserverClearCache::class); |
|
326 | 804 | Observe::attach(PositionTagRepositoryContract::class, PositionTagObserverClearCache::class); |
|
327 | |||
328 | 804 | Observe::attach(GroupTagCategoryRepositoryContract::class, GroupTagCategoryObserverClearCache::class); |
|
329 | 804 | Observe::attach(RoleTagCategoryRepositoryContract::class, RoleTagCategoryObserverClearCache::class); |
|
330 | 804 | Observe::attach(UserTagCategoryRepositoryContract::class, UserTagCategoryObserverClearCache::class); |
|
331 | 804 | Observe::attach(PositionTagCategoryRepositoryContract::class, PositionTagCategoryObserverClearCache::class); |
|
332 | |||
333 | 804 | Observe::attach(UserGroupContract::class, UserGroupObserverClearCache::class); |
|
334 | 804 | Observe::attach(UserRoleContract::class, UserRoleObserverClearCache::class); |
|
335 | |||
336 | 804 | Observe::attach(GroupGroupTagContract::class, GroupGroupTagObserverClearCache::class); |
|
337 | 804 | Observe::attach(UserUserTagContract::class, UserUserTagObserverClearCache::class); |
|
338 | 804 | Observe::attach(RoleRoleTagContract::class, RoleRoleTagObserverClearCache::class); |
|
339 | 804 | Observe::attach(PositionPositionTagContract::class, PositionPositionTagObserverClearCache::class); |
|
340 | |||
341 | 804 | Observe::attach(GroupTagRepositoryContract::class, GroupTagObserverCascadeDelete::class); |
|
342 | 804 | Observe::attach(UserTagRepositoryContract::class, UserTagObserverCascadeDelete::class); |
|
343 | 804 | Observe::attach(RoleTagRepositoryContract::class, RoleTagObserverCascadeDelete::class); |
|
344 | 804 | Observe::attach(PositionTagRepositoryContract::class, PositionTagObserverCascadeDelete::class); |
|
345 | |||
346 | 804 | Observe::attach(GroupTagCategoryRepositoryContract::class, GroupTagCategoryObserverCascadeDelete::class); |
|
347 | 804 | Observe::attach(UserTagCategoryRepositoryContract::class, UserTagCategoryObserverCascadeDelete::class); |
|
348 | 804 | Observe::attach(RoleTagCategoryRepositoryContract::class, RoleTagCategoryObserverCascadeDelete::class); |
|
349 | 804 | Observe::attach(PositionTagCategoryRepositoryContract::class, PositionTagCategoryObserverCascadeDelete::class); |
|
350 | |||
351 | 804 | Observe::attach(RoleRepositoryContract::class, RoleObserverCascadeDelete::class); |
|
352 | 804 | Observe::attach(UserRepositoryContract::class, UserObserverCascadeDelete::class); |
|
353 | 804 | Observe::attach(GroupRepositoryContract::class, GroupObserverCascadeDelete::class); |
|
354 | 804 | Observe::attach(PositionRepositoryContract::class, PositionObserverCascadeDelete::class); |
|
355 | 804 | } |
|
356 | |||
357 | |||
358 | } |