diff --git a/database/seeders/Advisories/AdvisoriesTableSeeder.php b/database/seeders/Advisories/AdvisoriesTableSeeder.php index 8cee69c..4930164 100644 --- a/database/seeders/Advisories/AdvisoriesTableSeeder.php +++ b/database/seeders/Advisories/AdvisoriesTableSeeder.php @@ -26,15 +26,42 @@ class AdvisoriesTableSeeder extends Seeder { 'number' => 'ПК 2', 'type' => AdvisoryType::COMMITTEE ], + 'pk3' => [ + 'title' => 'Строительство. Основные положения нормирования', + 'number' => 'ПК 3', + 'type' => AdvisoryType::COMMITTEE + ], 'pk4' => [ 'title' => 'Обследование и мониторинг технического состояния зданий и сооружений. Ремонт, восстановление и усиление конструкций зданий и сооружений', 'number' => 'ПК 4', - 'type' => AdvisoryType::COMMITTEE + 'type' => AdvisoryType::COMMITTEE, + 'children' => [ + 'rg4.1' => [ + 'title' => 'Обследование и мониторинг технического состояния зданий и сооружений. Ремонт, восстановление и усиление конструкций зданий и сооружений', + 'number' => 'РГ 4.1', + 'type' => AdvisoryType::WORKGROUP + ] + ] ], 'pk6' => [ 'title' => 'Пожаробезопасность в строительстве', 'number' => 'ПК 6', 'type' => AdvisoryType::COMMITTEE + ], + 'pk7' => [ + 'title' => 'Сейсмобезопасность в строительстве', + 'number' => 'ПК 7', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk8.1' => [ + 'title' => 'Энергосбережение в зданиях', + 'number' => 'ПК 8.1', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk8.2' => [ + 'title' => 'Строительная физика', + 'number' => 'ПК 8.2', + 'type' => AdvisoryType::COMMITTEE ] ] ], @@ -43,18 +70,112 @@ class AdvisoriesTableSeeder extends Seeder { 'children' => [ 'pk10' => [ 'title' => 'Жилые, общественные и производственные здания и сооружения', - 'number' => 'ПК 2', + 'number' => 'ПК 10', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk11' => [ + 'title' => 'Проектирование и строительство транспортных сооружений', + 'number' => 'ПК 11', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk12' => [ + 'title' => 'Проектирование и строительство гидротехнических и мелиоративных сооружений', + 'number' => 'ПК 12', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk13' => [ + 'title' => 'Проектирование и строительство магистральных и промысловых трубопроводов, хранилищ нефти и газа', + 'number' => 'ПК 13', 'type' => AdvisoryType::COMMITTEE ] ] ], 'group3' => [ 'title' => 'Наружные и внутренние инженерные сети и оборудование', - 'children' => [] + 'children' => [ + 'pk14' => [ + 'title' => 'Проектирование и строительство сетей теплоснабжения, отопления и вентиляции', + 'number' => 'ПК 14', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk15' => [ + 'title' => 'Проектирование и строительство сетей водоснабжения и водоотведения', + 'number' => 'ПК 15', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk16' => [ + 'title' => 'Проектирование и строительство сетей газоснабжения и газораспределения', + 'number' => 'ПК 16', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk17.1' => [ + 'title' => 'Системы электросвязи зданий и сооружений', + 'number' => 'ПК 17.1', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk17.2' => [ + 'title' => 'Системы электроснабжения зданий и сооружений', + 'number' => 'ПК 17.2', + 'type' => AdvisoryType::COMMITTEE + ] + ] ], 'group4' => [ 'title' => 'Строительные конструкции и основания', - 'children' => [] + 'children' => [ + 'pk18' => [ + 'title' => 'Надежность строительных конструкций и оснований', + 'number' => 'ПК 18', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk20' => [ + 'title' => 'Металлические конструкции', + 'number' => 'ПК 20', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk21' => [ + 'title' => 'Бетонные и железобетонные конструкции. Заполнители, бетоны и растворы', + 'number' => 'ПК 21', + 'type' => AdvisoryType::COMMITTEE, + 'children' => [ + 'rg21.1' => [ + 'title' => 'Заполнители, бетоны и растворы', + 'number' => 'РГ 21.1', + 'type' => AdvisoryType::WORKGROUP + ], + 'rg21.2' => [ + 'title' => 'Сухие строительные смеси', + 'number' => 'РГ 21.2', + 'type' => AdvisoryType::WORKGROUP + ] + ] + ], + 'pk22' => [ + 'title' => 'Каменные конструкции', + 'number' => 'ПК 22', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk23' => [ + 'title' => 'Деревянные конструкции', + 'number' => 'ПК 23', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk24' => [ + 'title' => 'Блоки оконные, дверные и воротные. Комплектующие изделия и материалы', + 'number' => 'ПК 24', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk25' => [ + 'title' => 'Ограждающие конструкции зданий, в т.ч. фасадные', + 'number' => 'ПК 25', + 'type' => AdvisoryType::COMMITTEE + ], + 'pk26' => [ + 'title' => 'Композитные полимерные конструкции и изделия строительного назначения', + 'number' => 'ПК 26', + 'type' => AdvisoryType::COMMITTEE + ] + ] ] ] ] diff --git a/database/seeders/Pages/PagesTableSeeder.php b/database/seeders/Pages/PagesTableSeeder.php index e2686ad..c88f904 100644 --- a/database/seeders/Pages/PagesTableSeeder.php +++ b/database/seeders/Pages/PagesTableSeeder.php @@ -41,20 +41,20 @@ class PagesTableSeeder extends Seeder 'ТК 465 “Строительство”' => [ 'children' => [ 'Руководство' => [], + 'Структура' => ['type' => PageType::TK_STRUCTURE], 'Состав' => [], 'Документы' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CATEGORIZED], - 'АИС ТК 465 “Строительство”' => [], - //'Структура' => ['type' => PageType::TK_STRUCTURE], + 'АИС ТК 465 “Строительство”' => [] ] ], 'Реестр требований ФЗ-63' => [], 'Нормирование и стандартизация' => [ 'children' => [ - 'Реестр нормативно-технической документации' => [], + 'Реестр сводов правил' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::RULESET], + 'Реестр нормативно-технической документации' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CATEGORIZED], 'Разработка сводов правил' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::DEVELOPMENTS], 'Прикладные исследования' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::RESEARCHES], - 'Методические материалы' => [], - //'Реестр сводов правил' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::RULESET], + 'Методические материалы' => [] ] ], 'Международная деятельность' => [ @@ -84,10 +84,10 @@ class PagesTableSeeder extends Seeder 'Решения ЦОС' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::SIMPLE], 'Руководящие документы' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::SIMPLE], 'Реестры' => [], -// 'Реестр органов по сертификации' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CERTIFIERS], -// 'Реестр испытательных лабораторий' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::LABORATORIES], -// 'Реестр экспертов' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::EXPERTS], -// 'Реестр сертификатов соответствия' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CERTIFICATES], + 'Реестр органов по сертификации' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CERTIFIERS], + 'Реестр испытательных лабораторий' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::LABORATORIES], + 'Реестр экспертов' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::EXPERTS], + 'Реестр сертификатов соответствия' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::CERTIFICATES], 'Бланки документов' => ['type' => PageType::REGISTRY, 'registry_type' => RegistryType::SIMPLE], ] ], diff --git a/routes/api.php b/routes/api.php index c5338d6..d3e31bd 100644 --- a/routes/api.php +++ b/routes/api.php @@ -4,28 +4,50 @@ use Illuminate\Support\Facades\Route; Route::get('ping', 'Api\PingController@index'); -Route::get('assets/{uuid}', 'Api\Assets\RenderFileController@open'); -Route::get('assets/{uuid}/render', 'Api\Assets\RenderFileController@show'); -Route::get('assets/{uuid}/download', 'Api\Assets\RenderFileController@download'); - Route::post('signup', 'Api\Users\UsersController@store'); Route::get('users/check-email', 'Api\Users\UsersController@checkEmail'); Route::post('passwords/reset', 'Api\Auth\PasswordsController@store'); Route::put('passwords/reset', 'Api\Auth\PasswordsController@update'); -Route::get('pages', 'Api\Pages\PagesController@index'); -Route::get('pages/root', 'Api\Pages\PagesController@root'); -Route::get('pages/find', 'Api\Pages\PagesController@find'); -Route::get('pages/{id}', 'Api\Pages\PagesController@show'); +Route::group(['prefix' => 'assets'], function() { + Route::get('/{uuid}', 'Api\Assets\RenderFileController@open'); + Route::get('/{uuid}/render', 'Api\Assets\RenderFileController@show'); + Route::get('/{uuid}/download', 'Api\Assets\RenderFileController@download'); + Route::group(['middleware' => ['auth:api']], function() { + Route::post('/', 'Api\Assets\UploadFileController@store'); + }); +}); -Route::get('publications', 'Api\Publications\PublicationsController@index'); -Route::get('publications/find', 'Api\Publications\PublicationsController@find'); -Route::get('publications/{id}', 'Api\Publications\PublicationsController@show'); +Route::group(['prefix' => 'pages'], function() { + Route::get('/', 'Api\Pages\PagesController@index'); + Route::get('/root', 'Api\Pages\PagesController@root'); + Route::get('/find', 'Api\Pages\PagesController@find'); + Route::get('/{id}', 'Api\Pages\PagesController@show'); +}); -Route::apiResource('object-types', 'Api\Objects\ObjectTypesController', []); +Route::group(['prefix' => 'publications'], function() { + Route::get('/', 'Api\Publications\PublicationsController@index'); + Route::get('/find', 'Api\Publications\PublicationsController@find'); + Route::get('/{id}', 'Api\Publications\PublicationsController@show'); + Route::group(['middleware' => ['auth:api']], function() { + Route::put('/published/{id}', 'Api\Publications\PublicationsController@published'); + Route::delete('/{id}', 'Api\Publications\PublicationsController@destroy'); + }); +}); -Route::put('objects/move/{id}', 'Api\Objects\ObjectsController@move'); -Route::apiResource('objects', 'Api\Objects\ObjectsController'); +Route::group(['prefix' => 'object-types'], function() { + Route::get('/', 'Api\Objects\ObjectTypesController@index'); + Route::get('/{id}', 'Api\Objects\ObjectTypesController@show'); +}); + +Route::group(['prefix' => 'objects'], function() { + Route::get('/', 'Api\Objects\ObjectsController@index'); + Route::get('/{id}', 'Api\Objects\ObjectsController@show'); + Route::group(['middleware' => ['auth:api']], function() { + Route::put('objects/move/{id}', 'Api\Objects\ObjectsController@move'); + Route::delete('/{id}', 'Api\Objects\ObjectsController@destroy'); + }); +}); Route::group(['prefix' => 'registries'], function() { Route::get('/categories', 'Api\Registries\CategoriesController@index'); @@ -43,12 +65,28 @@ Route::group(['prefix' => 'registries'], function() { }); }); - -Route::get('forms/object/feedback-form-support', 'Api\Forms\FormsController@getFeedbackFormSupport'); -Route::post('forms/model/feedback-form-support', 'Api\Forms\FormsController@saveFeedbackFormSupport'); +Route::group(['prefix' => 'forms'], function() { + Route::get('/object/feedback-form-support', 'Api\Forms\FormsController@getFeedbackFormSupport'); + Route::post('/model/feedback-form-support', 'Api\Forms\FormsController@saveFeedbackFormSupport'); + Route::group(['middleware' => ['auth:api']], function() { + Route::get('/{target}/{type?}/{id?}', 'Api\Forms\FormsController@get'); + Route::post('/{target}/{type?}/{id?}', 'Api\Forms\FormsController@save'); + }); +}); Route::get('filters/{type}', 'Api\Forms\FormsController@filters'); +Route::group(['prefix' => 'advisories'], function() { + Route::get('/', 'Api\Advisories\AdvisoriesController@index'); + Route::get('/{id}', 'Api\Advisories\AdvisoriesController@show'); + Route::get('/{id}/siblings', 'Api\Advisories\AdvisoriesController@siblings'); + Route::group(['middleware' => ['auth:api']], function() { + Route::delete('/{id}', 'Api\Advisories\AdvisoriesController@destroy'); + }); +}); + + + Route::group(['middleware' => ['auth:api']], function() { Route::apiResource('users', 'Api\Users\UsersController'); Route::apiResource('roles', 'Api\Users\RolesController'); @@ -67,29 +105,14 @@ Route::group(['middleware' => ['auth:api']], function() { }); }); - Route::group(['prefix' => 'assets'], function() { - Route::post('/', 'Api\Assets\UploadFileController@store'); - }); - - - Route::group(['prefix' => 'forms'], function() { - Route::get('/{target}/{type?}/{id?}', 'Api\Forms\FormsController@get'); - Route::post('/{target}/{type?}/{id?}', 'Api\Forms\FormsController@save'); - }); - - Route::get('dadata/{inn}', 'Api\Companies\CompaniesController@getDataByInn'); - - Route::put('publications/published/{id}', 'Api\Publications\PublicationsController@published'); - Route::delete('publications/{id}', 'Api\Publications\PublicationsController@destroy'); - Route::apiResource('companies', 'Api\Companies\CompaniesController'); Route::apiResource('members', 'Api\Companies\MembersController'); Route::apiResource('departments', 'Api\Companies\DepartmentsController'); - Route::apiResource('advisories', 'Api\Advisories\AdvisoriesController'); - Route::get('advisories/{id}/siblings', 'Api\Advisories\AdvisoriesController@siblings'); Route::apiResource('advisory-companies', 'Api\Advisories\AdvisoryCompaniesController'); Route::apiResource('advisory-members', 'Api\Advisories\AdvisoryMembersController'); Route::apiResource('applications', 'Api\Applications\ApplicationsController'); + + Route::get('dadata/{inn}', 'Api\Companies\CompaniesController@getDataByInn'); }); \ No newline at end of file