-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathweb.php
144 lines (118 loc) · 8.13 KB
/
web.php
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
141
142
143
144
<?php
use App\Http\Resources\UserResource;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\FormController;
use App\Http\Controllers\UsersController;
use App\Http\Controllers\ContentController;
use App\Http\Controllers\ProjectsController;
use App\Http\Controllers\CollectionsController;
use App\Http\Controllers\MediaLibraryController;
use App\Http\Controllers\CollectionFieldsController;
Route::get('/', function () {
return view('app');
});
Route::middleware('auth:web')->prefix('admin')->group(function(){
Route::get('/', function () {
return view('admin');
});
Route::get('/user', function () {
$user = auth()->user();
return new UserResource($user);
});
Route::post('/user/update_name', [UsersController::class, 'updateName']);
Route::post('/user/update_email', [UsersController::class, 'updateEmail']);
Route::post('/user/update_password', [UsersController::class, 'updatePassword']);
Route::prefix('projects')->group(function(){
Route::get('/', [ProjectsController::class, 'index']);
Route::post('/', [ProjectsController::class, 'store'])->middleware(['role:super_admin']);
Route::get('/{id}', [ProjectsController::class, 'show']);
Route::post('/update/{id}', [ProjectsController::class, 'update']);
Route::delete('/delete/{id}', [ProjectsController::class, 'delete'])->middleware(['role:super_admin']);
Route::prefix('settings')->middleware(['role:super_admin'])->group(function(){
Route::get('/locales/{id}', [ProjectsController::class, 'locales']);
Route::post('/locales/add/{id}', [ProjectsController::class, 'addLocale']);
Route::post('/locales/change-default-locale/{id}', [ProjectsController::class, 'changeDefaultLocale']);
Route::post('/locales/delete-locale/{id}', [ProjectsController::class, 'deleteLocale']);
Route::get('/users/{id}', [ProjectsController::class, 'users']);
Route::post('/users/assign/{id}', [ProjectsController::class, 'assignUser']);
Route::post('/users/remove-user/{id}', [ProjectsController::class, 'removeUser']);
Route::post('/users/new/{id}', [ProjectsController::class, 'newUser']);
Route::get('/api/{id}', [ProjectsController::class, 'api']);
Route::post('/api/new-token/{id}', [ProjectsController::class, 'newToken']);
Route::post('/api/update-token/{id}', [ProjectsController::class, 'updateToken']);
Route::post('/api/delete-token/{id}', [ProjectsController::class, 'deleteToken']);
Route::post('/api/enable_public_access/{id}', [ProjectsController::class, 'enablePublicAPIAccess']);
Route::post('/api/disable_public_access/{id}', [ProjectsController::class, 'disablePublicAPIAccess']);
Route::get('/webhooks/{project_id}', [ProjectsController::class, 'webhooks']);
Route::get('/webhooks/{project_id}/logs/{webhook_id}', [ProjectsController::class, 'webhookLogs']);
Route::delete('/webhooks/{project_id}/logs/{webhook_id}', [ProjectsController::class, 'deleteWebhookLogs']);
Route::post('/webhooks/new/{project_id}', [ProjectsController::class, 'newWebhook']);
Route::post('/webhooks/update/{project_id}', [ProjectsController::class, 'updateWebhook']);
Route::post('/webhooks/delete/{project_id}', [ProjectsController::class, 'deleteWebhook']);
});
});
Route::prefix('collections')->group(function(){
Route::get('/project/{id}', [CollectionsController::class, 'project']);
Route::post('/store/{project_id}', [CollectionsController::class, 'store']);
Route::post('/update-order/{project_id}', [CollectionsController::class, 'updateOrder']);
Route::get('/show/{project_id}/{collection_id}', [CollectionsController::class, 'show']);
Route::post('/update/{project_id}/{collection_id}', [CollectionsController::class, 'update']);
Route::delete('/delete/{project_id}/{collection_id}', [CollectionsController::class, 'delete']);
Route::prefix('fields')->group(function(){
Route::post('/store/{project_id}/{collection_id}', [CollectionFieldsController::class, 'store']);
Route::post('/update/{project_id}/{collection_id}/{field_id}', [CollectionFieldsController::class, 'update']);
Route::post('/update-order/{project_id}/{collection_id}', [CollectionFieldsController::class, 'updateOrder']);
Route::delete('/delete/{project_id}/{collection_id}/{field_id}', [CollectionFieldsController::class, 'delete']);
});
});
Route::prefix('content')->group(function(){
Route::get('/project/{id}', [ContentController::class, 'project']);
Route::get('/{project_id}/{collection_id}', [ContentController::class, 'index']);
Route::get('/new/{project_id}/{collection_id}', [ContentController::class, 'new']);
Route::post('/store/{project_id}/{collection_id}', [ContentController::class, 'store']);
Route::get('/edit/{project_id}/{collection_id}/{content_id}', [ContentController::class, 'edit']);
Route::post('/update/{project_id}/{collection_id}/{content_id}', [ContentController::class, 'update']);
Route::get('/unpublish/{project_id}/{collection_id}/{content_id}', [ContentController::class, 'unpublish']);
Route::delete('/move-to-trash/{project_id}/{collection_id}/{content_id}', [ContentController::class, 'moveToTrash']);
Route::delete('/delete/{project_id}/{collection_id}/{content_id}', [ContentController::class, 'delete']);
Route::post('/get-selected-records/{project_id}', [ContentController::class, 'getSelectedRecords']);
Route::post('/get-selected-files/{project_id}', [ContentController::class, 'getSelectedFiles']);
Route::post('/publish-selected/{project_id}/{collection_id}', [ContentController::class, 'publishSelected']);
Route::post('/unpublish-selected/{project_id}/{collection_id}', [ContentController::class, 'unPublishSelected']);
Route::post('/move-to-trash-selected/{project_id}/{collection_id}', [ContentController::class, 'moveToTrashSelected']);
Route::post('/delete-selected/{project_id}/{collection_id}', [ContentController::class, 'deleteSelected']);
Route::post('/restore-selected/{project_id}/{collection_id}', [ContentController::class, 'restoreSelected']);
Route::get('/forms/{project_id}/{collection_id}', [FormController::class, 'forms']);
Route::post('/forms/{project_id}/{collection_id}', [FormController::class, 'store']);
Route::post('/forms/save/{project_id}/{collection_id}/{form_id}', [FormController::class, 'save']);
Route::delete('/forms/delete/{project_id}/{collection_id}/{form_id}', [FormController::class, 'delete']);
});
Route::prefix('media')->group(function(){
Route::get('/get-files/{project_id}', [MediaLibraryController::class, 'getFiles']);
Route::post('/upload/{project_id}', [MediaLibraryController::class, 'upload']);
Route::delete('/delete/{project_id}/{file_id}', [MediaLibraryController::class, 'delete']);
Route::post('/delete-selected/{project_id}', [MediaLibraryController::class, 'deleteSelected']);
Route::post('/update/{project_id}/{file_id}', [MediaLibraryController::class, 'update']);
});
});
Route::get('uploads/{dir}/{file}', function($dir, $file){
$path = 'public/' . $dir . '/' . $file;
if(Storage::disk('local')->exists($path)){
return Storage::response($path);
}
abort(404);
});
Route::get('uploads/thumb/{dir}/{file}', function($dir, $file){
$path = 'public/' . $dir . '/thumbnails/' . $file;
if(Storage::disk('local')->exists($path)){
return Storage::response($path);
}
abort(404);
});
Route::get('forms/preview/{form_uuid}', [FormController::class, 'showPreview']);
Route::get('forms/{form_uuid}', [FormController::class, 'showEmbeded']);
Route::post('forms/{form_uuid}', [FormController::class, 'getEmbeded']);
Route::post('forms/submit/{form_uuid}', [FormController::class, 'submit']);
Route::post('forms/{form_uuid}/upload', [FormController::class, 'upload']);
require __DIR__.'/auth.php';