0% found this document useful (0 votes)
3 views51 pages

Esempi Api

The document outlines an API for user authentication and management, including login functionality and profile handling. It includes routes for logging in, managing publications, assignments, measures, and suppliers, with detailed handling of user credentials, session management, and error responses. The API is built using a PHP framework and adheres to the GNU Affero General Public License version 3.

Uploaded by

lorenzo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views51 pages

Esempi Api

The document outlines an API for user authentication and management, including login functionality and profile handling. It includes routes for logging in, managing publications, assignments, measures, and suppliers, with detailed handling of user credentials, session management, and error responses. The API is built using a PHP framework and adheres to the GNU Affero General Public License version 3.

Uploaded by

lorenzo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

<?

php

namespace Http\Web\Auth;

defined('_FRAMEWORK_') OR exit('No direct script access allowed');

/**

* Nome applicativo: PAT

* Licenza di utilizzo: GNU Affero General Public License» versione 3 e successive:


https://spdx.org/licenses/AGPL-3.0-or-later.html

*/

use Exception;

use System\Route;

use System\Auth;

use Helpers\AuthPatOS;

use Helpers\ActivityLog;

use Helpers\FileSystem\Dir;

use Jenssegers\Agent\Agent;

use Model\AttemptsModel;

use Model\PasswordHistoryModel;

use Model\RelUsersAclProfilesModel as Profile;

use Model\ConcurrentSessModel;

use System\Arr;

use System\BaseController;

use System\Input;

use System\Token;

use System\Validator;

use System\Action;
use System\JsonResponse;

//Login per API, utilizza stesse credenziali utenti

Route::post('api/login', function () {

$hasErrors = false;

$setErrors = [];

$redirect = 'auth';

$location = 'auto';

$registerAttempts = false;

$isSystemProfile = 0;

$versioningProfile = 0;

$archivingProfile = 0;

$lockUserProfile = 0;

$advancedProfile = 0;

$isAdmin = 0;

$exportCsv = 0;

$fileArchive = 1;

$agent = new Agent();

$jsonResponse = new JsonResponse();

$credentials = [

'email' => $_POST['email'] ?? null,

'password' => $_POST['password'] ?? null,

];

// Se le credenziali non sono state fornite, ritorna un errore

if (!$credentials['email'] || !$credentials['password']) {
$jsonResponse->set([

'status' => 'success',

'message' => 'Credenziali mancanti',

]);

return $jsonResponse->response();

$auth = new Auth(AuthPatOS::class);

// Se l'autenticazione ha successo

if ( $auth->authenticate($credentials['email'],$credentials['password'])) {

// Elimino i tentativi di accesso falliti

AttemptsModel::where('ip', Input::ipAddress())->delete();

// Lista dei profili associati

$profiles = Profile::select(['id', 'acl_profile_id'])

->where('user_id', '=', $auth->id())

->with(['profile' => function ($query) {

$query->select([

'id',

'is_admin',

'is_system',

'versioning',

'archiving',

'lock_user',

'advanced',

'export_csv',

'editor_wishing',
'file_archive'

]);

}])

->get()

->toArray();

// IDs Profili.

$profileIds = Arr::pluck($profiles, 'acl_profile_id');

// Verifica scadenza validità password

$passwordHistory = PasswordHistoryModel::select('created_at')

->where('user_id', $auth->id())

->orderBy('id', 'DESC')

->first();

$setExpirePassword = false;

$getIdentity = $auth->getIdentity(['last_visit', 'force_change_password']);

if (empty($passwordHistory) || $getIdentity['force_change_password'] === 1) {

$setExpirePassword = true;

} else {

$getIdentity = $auth->getIdentity(['password_expiration_days']);

$expirationDayToSeconds = $getIdentity['password_expiration_days'] * 24 * 60 * 60;

$dataChangePassword = strtotime($passwordHistory['created_at']) +
$expirationDayToSeconds;

$expirePassword = time();

if ($expirePassword > $dataChangePassword) {

$setExpirePassword = true;
}

// SET storage profilo singola voce, NON Profilo ACL per il CRUD.

foreach ($profiles as $profile) {

if (!empty($profile['profile'])) {

if ($profile['profile']['is_system'] > 0) {

$isSystemProfile = $profile['profile']['is_system'];

if ($profile['profile']['versioning'] > 0) {

$versioningProfile = $profile['profile']['versioning'];

if ($profile['profile']['archiving'] > 0) {

$archivingProfile = $profile['profile']['archiving'];

if ($profile['profile']['lock_user'] > 0) {

$lockUserProfile = $profile['profile']['lock_user'];

if ($profile['profile']['advanced'] > 0) {

$advancedProfile = $profile['profile']['advanced'];

if ($profile['profile']['export_csv'] > 0) {

$exportCsv = $profile['profile']['export_csv'];

}
if ($profile['profile']['file_archive'] >= 1 && $profile['profile']['file_archive'] > $fileArchive) {

$fileArchive = $profile['profile']['file_archive'];

if (strlen($profile['profile']['editor_wishing']) >= 1) {

$editorWishing = $profile['profile']['editor_wishing'];

if ($profile['profile']['is_admin'] > 0) {

$isAdmin = $profile['profile']['is_admin'];

// Storage Profilo e dati aggiuntivi in sessione.

$storage = [];

$storage['last_date_access'] = date('d-m-Y');

$storage['last_hour_access'] = date('H:i');

$storage['institute_id'] = PatOsInstituteId();

$storage['profiles'] = !isSuperAdmin() ? serialize($profileIds) : null;

$storage['expire_password'] = !isSuperAdmin() ? $setExpirePassword : false;

$storage['is_system'] = !isSuperAdmin() ? $isSystemProfile : null;

$storage['versioning'] = !isSuperAdmin() ? $versioningProfile : null;

$storage['archiving'] = !isSuperAdmin() ? $archivingProfile : null;

$storage['lock_user'] = !isSuperAdmin() ? $lockUserProfile : null;

$storage['advanced'] = !isSuperAdmin() ? $advancedProfile : null;

$storage['editor_wishing'] = !empty($editorWishing) ? $editorWishing : 'base';

$storage['export_csv'] = !isSuperAdmin() ? $exportCsv : null;

$storage['file_archive'] = !isSuperAdmin() ? $fileArchive : null;

$storage['is_admin'] = !isSuperAdmin() ? $isAdmin : null;


$storage['browser_private_mode'] = Input::post('dpm') === 'true' ? true : false;

$storage['sess_id'] = md5(uniqid(mt_rand() . microtime(true)));

// Setto in sessione il primo accesso.

session()->setFlash('admin_first_access', (isSuperAdmin() === true));

// Se non esiste creo la directory associata all'utente per l'upload dei file personali

/* if (!isSuperAdmin()) {

$dir = MEDIA_PATH . instituteDir() . '/file_archive/' . config('prefix_user_dir', null, 'app') .


$auth->id();

if (!Dir::exists($dir)) {

createDirByUserId($auth->id());

} */

// Registro nelle attività dei logs..

ActivityLog::create([

'user_id' => $auth->id(),

'action' => __('auth_success_title', null, 'patos_auth'),

'description' => sprintf(__('auth_success_description', null, 'patos_auth'),


strip_tags((string)Input::post('username', true)), date('d-m-Y'), date('H:i:s')),

'request_post' => Input::post(['username']),

'object_id' => 54

]);

$optionStoragePlugin = null;

if (\System\Registry::exist('option_storage_plugin')) {

$optionStoragePlugin = \System\Registry::get('option_storage_plugin');

}
if (is_array($optionStoragePlugin)) {

// Converto i due array in collezioni

$storageCollection = collect($storage);

$optionStoragePluginCollection = collect($optionStoragePlugin);

// Unisco le due collezioni

$mergedCollection = $storageCollection->merge($optionStoragePluginCollection);

// Converto la collezione unificata in un array

$storage = $mergedCollection->toArray();

// Add Storage...

$auth->addStorage($storage);

if (!empty($storage) && is_array($storage) && !empty($storage['sess_id'])) {

ConcurrentSessModel::create([

'user_id' => $auth->id(),

'institution_id' => PatOsInstituteId(),

'platform' => $agent->platform(),

'browser' => $agent->browser(),

'device' => $agent->device(),

'ip' => Input::ipAddress(),

'browser_private_mode' => Input::post('dpm') == 'true' ? 1 : 0,

'sess_id' => $storage['sess_id'],

'is_super_admin' => (isSuperAdmin() === true) ? 1 : 0,

]);
}

// Redirect Pannello di controllo

//$redirect = 'admin/dashboard';

//$location = 'refresh';

$jsonResponse->set([

'status' => 'success',

'message' => 'Login Effettuato',

]);

//var_dump($_SESSION);exit();

return $jsonResponse->response();

else {

$jsonResponse->set([

'status' => 'failed',

'message' => 'Credenziali errate',

]);

return $jsonResponse->response();

});

Route::get('api/pubblicazioni', 'Http\Web\Api\GenericPageAdminController@indexApi');

Route::get('api/pubblicazioni_sezione/:num', 'Http\Web\Api\
GenericPageAdminController@getPubblicationsSection');
/* Esempio Dati nuova Pubblicazione

institution_id:2

parent_id:5

section_id:2

valid_since:2025-01-01

valid_until:2025-12-31

title:Titolo del paragrafo

content:Contenuto del paragrafo...

*/

Route::post('api/store-pubblicazione', 'Http\Web\Api\
GenericPageAdminController@storeParagraphApi');

/* Esempio Dati Modifica Pubblicazione

institution_id:2

parent_id:5

section_id:2

valid_since:2025-01-01

valid_until:2025-12-31

title:Titolo del paragrafo

content:Contenuto del paragrafo...

paragraph_id:311

*/

Route::put('api/edit-pubblicazione', 'Http\Web\Api\
GenericPageAdminController@updateParagraphApi');

//paragraph_id:341

Route::delete('api/delete-pubblicazione', 'Http\Web\Api\
GenericPageAdminController@deleteParagraphApi');

// Pagine gestione Incarichi e consulenze

Route::get('api/incarichieconsulenze', '\Http\Web\Api\AssignmentAdminController@index');
/*

owner_id:1

institution_id:1

name:Nome%20Esempio

object:Oggetto%20Esempio

assignment_type:1

consulting_type:1

object_structures_id:1

assignment_start:2025-02-13

end_of_assignment_not_available:1

assignment_end:2025-12-31

end_of_assignment_not_available_txt:Disponibile%20Fino%20Al%20Fine%20Anno

compensation:5000.00

variable_compensation:2000.00

acts_extremes:Limiti%20Esterne

assignment_reason:Motivo%20Assegnazione

notes:Note%20Aggiuntive

typology:assignment

type:Incarico

*/

Route::post('api/store-incarichieconsulenze', '\Http\Web\Api\
AssignmentAdminController@storeAssignmentApi');

/*

id:5

owner_id:1

institution_id:1

name:Nome%20Esempio

object:Oggetto%20Esempio

assignment_type:1

consulting_type:1

object_structures_id:1
assignment_start:2025-02-13

end_of_assignment_not_available:1

assignment_end:2025-12-31

end_of_assignment_not_available_txt:Disponibile%20Fino%20Al%20Fine%20Anno

compensation:5000.00

variable_compensation:2000.00

acts_extremes:Limiti%20Esterne

assignment_reason:Motivo%20Assegnazione

notes:Note%20Aggiuntive

typology:assignment

type:Incarico

*/

Route::put('api/update-incarichieconsulenze', '\Http\Web\Api\
AssignmentApiController@updateAssignmentApi');

Route::delete('api/delete-incarichieconsulenze', '\Http\Web\Api\
AssignmentApiController@deleteAssignmentApi');

Route::get('api/provvedimenti', '\Http\Web\Api\MeasureAdminController@index');

/*

object_contests_acts_id:1

object_bdncp_procedure_id:1

owner_id:1

institution_id:1

state:1

workflow_state:finale

number:

object:provvedimento politico

type:1

article_type:1
date:2025-5-27

content:null

expense:null

extremes:null

choice_of_contractor:1

notes:notatestaa

publishing_status:1

attachments_id:null

id:3

*/

Route::post('api/insert-provvedimenti', '\Http\Web\Api\
MeasureAdminController@storeMeasureApi');

/*

id:4

object_contests_acts_id:1

object_bdncp_procedure_id:1

owner_id:1

institution_id:1

state:1

workflow_state:finale

number:

object:provvedimento politico

type:1

article_type:1

date:2025-5-27

content:null

expense:null

extremes:null

choice_of_contractor:1

notes:notatestmod
publishing_status:1

attachments_id:null

*/

Route::put('api/update-provvedimenti', '\Http\Web\Api\
MeasureAdminController@updateMeasureApi');

//measure_id:5

Route::delete('api/delete-provvedimenti', '\Http\Web\Api\
MeasureAdminController@deleteMeasureApi');

//assignment_id:13

Route::delete('api/delete-assignment', '\Http\Web\Api\
AssignmentAdminController@deleteAssignmentApi');

/*

Route::get('api/measures', 'Http\Web\Front\MeasuresFrontController@indexApi');

Route::get('api/measures/:num', 'Http\Web\Front\MeasuresFrontController@measureApiFind');

Route::get('api/personale', 'Http\Web\Front\PersonnelFrontController@indexApi');

Route::get('api/personale/:num', 'Http\Web\Front\PersonnelFrontController@personnelApiFind');

*/

// Pagine Elenco partecipanti/aggiudicatari

Route::get('api/suppliers', '\Http\Web\Api\SupplierAdminController@index');

/*
typology:1

name:mario

supplier_typology:0

vat:00000000000

foreign_tax_identification:

address:Roma 38

phone:22222222222

email:[email protected]

fax:43434555444

search_3722:

group_leaders:

search_3178:

principals:

search_9964:

mandatarie:

search_6981:

associates:

search_3308:

consortiums:

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:1

active_attach:1

sto_row_id:

send:

_storage_type: insert

institution_id:1

institute_id:1
*/

Route::post('api/store-supplier', '\Http\Web\Api\SupplierAdminController@storeSupplierApi');

/*

id:21

typology:1

name:ginooooo

supplier_typology:0

vat:00000000000

foreign_tax_identification:

address:Roma 38

phone:22222222222

email:[email protected]

fax:43434555444

search_3722:

group_leaders:

search_3178:

principals:

search_9964:

mandatarie:

search_6981:

associates:

search_3308:

consortiums:

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:1

active_attach:1

sto_row_id:

send:

_storage_type:insert
institution_id:1

institute_id:1

*/

Route::put('api/update-supplier', '\Http\Web\Api\SupplierAdminController@updateSupplierApi');

//supplier_id:12

Route::delete('api/delete-supplier', '\Http\Web\Api\SupplierAdminController@deleteSupplierApi');

//FINE Pagine Elenco partecipanti/aggiudicatari

//INIZIO contests-act autore:maselli

// Elenco contests-acts

Route::get('api/contests-acts', '\Http\Web\Api\ContestsActAdminController@index');

//INIZIO sottocategoria bandi di gara

Route::post('api/store-notice', '\Http\Web\Api\ContestsActAdminController@storeNoticeApi');

/*

anac_year:2025

contract:1

object:frfrf

public_in[]:524

cig[]:5253456789

asta_base_value[]:4.000,00

no_amount:1
sector:O-sotto

contraent_choice:1

adjudicator_name:mario

adjudicator_data:00000000000

administration_type:Organi istituzionali

province_office:LE

municipality_office:roma

office_address:Catania 38

istat_office:

nuts_office:

guue_date:2025-02-21

guri_date:2025-02-21

act_date:2025-02-21

activation_date:2025-02-21 11:54

expiration_date:2025-02-23

search_5076:

input_select_5076:3

object_structures_id:3

search_4206:

input_select_4206:3

object_personnel_id:3

search_936:

input_select_936:3

procedures:3

cpv_code_id:

codice_scp:

url_scp:

search_4786:

input_select_4786:3

object_measure_id:3

details:fgrgrgrgrgrgrg
attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

send:

_storage_type:insert

__ignore_cig:0

institution_id:1

institute_id:1

*/

Route::put('api/update-notice', '\Http\Web\Api\ContestsActAdminController@updateNoticeApi');

/*

anac_year:2025

contract:1

object:frfrf

public_in[]:524

cig_code[]:5253456789

asta_base_value_sum:4.000,00

no_amount:1

sector:O-sotto

contraent_choice:1

adjudicator_name:mario

adjudicator_data:00000000000

administration_type:Organi istituzionali

province_office:LE

municipality_office:roma
office_address:Catania 38

istat_office:

nuts_office:

guue_date:2025-02-21

guri_date:2025-02-21

act_date:2025-02-21

activation_date:2025-02-21 11:54

expiration_date:2025-02-23

search_5076:

input_select_5076:3

object_structures_id:3

search_4206:

input_select_4206:3

object_personnel_id:3

search_936:

input_select_936:3

procedures:3

cpv_code_id:

codice_scp:

url_scp:

search_4786:

input_select_4786:3

object_measure_id:3

details:fgrgrgrgrgrgrg

attach_name:Allegato

attach_files[]:

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

omissis_privacy_attach:0
active_attach:1

sto_row_id:

send:

_storage_type:update

id:11

__ignore_cig:0

_contraent_choice:1

institution_id:1

institute_id:1

*/

Route::delete('api/delete-notice', '\Http\Web\Api\ContestsActAdminController@deleteNoticeApi');

//notice_id:8

//FINE sottocategoria bandi di gara

//INIZIO sottocategoria Determina a contrarre o atto equivalente , autore :maselli

Route::post('api/store-deliberation', '\Http\Web\Api\
ContestsActAdminController@storeDeliberationApi');

/*

object:oggetto

cig:1234567892

public_in[]:524

sector:O-sopra

act_date:2025-02-24

activation_date:2025-02-24T11:51

search_1076:
input_select_1076:18

procedures:18

search_757:

input_select_757:3

object_structures_id:3

search_72:

input_select_72:3

object_personnel_id:3

search_9401:

input_select_9401:3

object_measure_id:3

details:dettagli

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach: 1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

__ignore_cig:0

institution_id:1

institute_id:1

*/
Route::put('api/update-deliberation', '\Http\Web\Api\
ContestsActAdminController@updateDeliberationApi');

/*

object:oggetto

cig:1234567892

public_in[]:524

sector:O-sotto

act_date:2025-02-24

activation_date:2025-02-24 12:51

search_8955:

input_select_8955:18

procedures:18

search_3443:

input_select_3443:3

object_structures_id:3

search_1109:

input_select_1109:3

object_personnel_id:3

search_7722:

input_select_7722:3

object_measure_id:3

details:ciaooooooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:
bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

__ignore_cig:0

id:23

institution_id:1

institute_id:1

*/

Route::delete('api/delete-deliberation', '\Http\Web\Api\
ContestsActAdminController@deleteDeliberationApi');

//deliberation_id:23

//FINE Determina a contrarre o atto equivalente

//INIZIO esiti gara autore : maselli

Route::post('api/store-result', '\Http\Web\Api\ContestsActAdminController@storeResultApi');

/*

object:oggetto

public_in[]:526

search_6742:

input_select_6742:1

notice_id:1

search_7790:
procedures:3,18,24

award_amount_value:6.000,00

act_date:2025-02-25

activation_date:2025-02-25 09:56

work_start_date:2025-02-25

work_end_date:2025-02-27

guue_date:2025-02-25

guri_date:2025-02-25

contracting_stations_publication_date:2025-02-25

typology_result:

search_1871:

input_select_1871:22

participants:22

search_9447:

input_select_9447:22

awardees:22

search_8380:

input_select_8380:2

object_measure_id:2

details:ciaoooooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:
_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-result', '\Http\Web\Api\ContestsActAdminController@updateResultApi');

/*

object:oggettoneee

public_in[]:526

search_8469:

input_select_8469:1

notice_id:1

search_6809:

procedures:3,18,24

award_amount_value:6.000,00

act_date:2025-02-25

activation_date:2025-02-25T09:56

work_start_date:2025-02-25

work_end_date:2025-02-27

guue_date:2025-02-25

guri_date:2025-02-25

contracting_stations_publication_date:2025-02-25

typology_result:2

search_602:

input_select_602:22

participants:22

search_9677:
input_select_9677:22

awardees:22

search_7418:

object_measure_id:27

details:dettaglio

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegatoproced

attach_id[]:163

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

id:27

institution_id:1

institute_id:1

*/

Route::delete('api/delete-result', '\Http\Web\Api\ContestsActAdminController@deleteResultApi');

//result_id:27

//FINE esiti gara

//INIZIO lotti
Route::post('api/store-lot', '\Http\Web\Api\ContestsActAdminController@storeLotApi');

/*

search_200:

input_select_200:18

relative_notice_id:18

object:oggetto

cig:1234567897

asta_base_value:6.000,00

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

__ignore_cig:0

institution_id:1

institute_id:1

*/

Route::put('api/update-lot', '\Http\Web\Api\ContestsActAdminController@updateLotApi');
/*

search_407:

input_select_407:18

relative_notice_id:18

object:oggettoneee

cig:1234567897

asta_base_value:38.000,00

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:copiaaa

attach_id[]:165

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

__ignore_cig:0

id:30

institution_id:1

institute_id:1

*/

Route::delete('api/delete-lot', '\Http\Web\Api\ContestsActAdminController@deleteLotApi');

//lot_id:30
//FINE lotti

//INIZIO alert

Route::post('api/store-alert', '\Http\Web\Api\ContestsActAdminController@storeAlertApi');

/*

object:oggetto

public_in[0]:524

public_in[1]:526

sector:O-sotto

search_3319:

input_select_3319:1

notice_id:1

search_5840:

procedures:18,24

search_564:

input_select_564:4

object_structures_id:4

act_date:2025-02-25

activation_date:2025-02-25 14:50

expiration_date:2025-02-26

search_7834:

input_select_7834:1

object_personnel_id:1

search_9903:

input_select_9903:2

object_measure_id:2

details:ciaoooo
attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-alert', '\Http\Web\Api\ContestsActAdminController@updateAlertApi');

/*

object:oggetto

public_in[0]:524

public_in[1]:526

sector:S

search_5259:

input_select_5259:2

notice_id:2

search_2156:

input_select_2156:24

input_select_2156:18

procedures:18,24
search_4366:

input_select_4366:4

object_structures_id:4

act_date:2025-02-25

activation_date:2025-02-25 14:50

expiration_date:2025-02-26

search_581:

input_select_581:1

object_personnel_id:1

search_3915:

input_select_3915:2

object_measure_id:2

details:caioo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegatoproced

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

id:35

institution_id:1

institute_id:1

*/

Route::delete('api/delete-alert', '\Http\Web\Api\ContestsActAdminController@deleteAlertApi');
//alert_id:35

//FINE alert

//INIZIO foster

Route::post('api/store-foster', '\Http\Web\Api\ContestsActAdminController@storeFosterApi');

/*

object:oggetto

anac_year:2025

decree_163:1

public_in[0]:525

public_in[1]:527

cig:1234567877

sector:O-sopra

contraent_choice:2

no_amount:2

asta_base_value:38.000,00

award_amount_value:6.000,00

search_6690:

input_select_6690:24

relative_procedure_id:24

search_674:

input_select_674:1

object_structures_id:1

search_7121:

input_select_7121:22

participants:22

search_1823:
input_select_1823:22

awardees:22

adjudicator_name:mario

adjudicator_data:00000000000

administration_type:Amministrazioni indipendenti

province_office:LE

municipality_office:roma

office_address:Catania 38

istat_office:

nuts_office:

act_date:2025-02-26

activation_date:2025-02-26 10:32

publication_date_type:data convenzione

work_start_date:2025-02-26

work_end_date:2025-02-27

guue_date:2025-02-26

guri_date:2025-02-26

contracting_stations_publication_date:2025-02-26

typology_result:2

search_2782:

input_select_2782:3

object_personnel_id:3

requirements[]:2

requirements[]:4

cpv_code_id:

codice_scp:

url_scp:

search_5316:

input_select_5316:2

object_measure_id:2

details:ciaoooooooooooo
attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

__ignore_cig:0

institution_id:1

institute_id:1

*/

Route::put('api/update-foster', '\Http\Web\Api\ContestsActAdminController@updateFosterApi');

/*

object:oggettoneeee

anac_year:2025

decree_163:1

public_in[]:526

public_in[]:525

cig:1234567877

sector:S

contraent_choice:20

no_amount:2

asta_base_value:38.000,00
award_amount_value:4.000,00

search_8451:

relative_procedure_id:

search_9451:

input_select_9451:1

object_structures_id:1

search_2229:

input_select_2229:22

participants:22

search_8575:

input_select_8575:22

awardees:22

adjudicator_name:mario

adjudicator_data:00000000000

administration_type:Amministrazioni indipendenti

province_office:LE

municipality_office:roma

office_address:Catania 56

istat_office:

nuts_office:

act_date:2025-02-26

activation_date:2025-02-26 10:32

publication_date_type:data convenzione

work_start_date:2025-02-26

work_end_date:2025-02-27

guue_date:2025-02-26

guri_date:2025-02-26

contracting_stations_publication_date:2025-02-26

typology_result:2

search_6271:

input_select_6271:3
object_personnel_id:3

requirements[0]:2

requirements[1]:4

cpv_code_id:

codice_scp:

url_scp:

search_5071:

input_select_5071:2

object_measure_id:2

details:dettag

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

__ignore_cig:0

id:40

_contraent_choice:2

_requirementIds:2,4

institution_id:1

institute_id:1

*/
Route::delete('api/delete-foster', '\Http\Web\Api\ContestsActAdminController@deleteFosterApi');

//foster_id:35

//FINE foster

//INIZIO liquidazione

Route::post('api/store-liquidazione', '\Http\Web\Api\
ContestsActAdminController@storeLiquidationApi');

/*

search_8682:

input_select_8682:28

relative_procedure_id:28

object:oggetto

amount_liquidated:3.000,00

anac_year:2025

activation_date:2025-02-26

details:ciaoooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1
send:

_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-liquidazione', '\Http\Web\Api\
ContestsActAdminController@updateLiquidationApi');

/*

search_1954:

input_select_1954:28

relative_procedure_id:28

object:oggettonee

amount_liquidated:13.000,00

anac_year:2025

activation_date:2025-02-27

details:oooooooooohhhhhhhhh

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update
id:45

institution_id:1

institute_id:1

*/

Route::delete('api/delete-liquidazione', '\Http\Web\Api\
ContestsActAdminController@deleteLiquidationApi');

//liquidation_id:45

//FINE liquidazione

//FINE contests-act

//INIZIO Bdncp Procedure Controller (Bandi di gara e contratti dal 1/1/2024)

Route::get('api/bandigaracontratti2024', '\Http\Web\Api\BdncpProcedureController@index');

/*

institution_id:1

procurement_id:null

owner_id:1

object:test bando

cig:0000000000

_typology:procedure

type:procedure

object_procedure_id:null

alert_date:null

liquidation_date:null
amount_liquidated:null

multicig:null

publish_father_document:null

notes:Testnota

bdncp_link:www.ciaociao.com

common_platform_link:www.comunebello.com

publishing_status:1

public_debate_check:0

public_debate_notes:null

notice_documents_check:0

notice_documents_notes:null

judging_commission_check:0

judging_commission_notes:null

equal_opportunities_af_check:0

equal_opportunities_af_notes:null

local_public_services_check:0

local_public_services_notes:null

advisory_board_technical_check:0

advisory_board_technical_notes:null

equal_opportunities_es_check:0

equal_opportunities_es_notes:null

free_contract_check:0

free_contract_notes:null

emergency_foster_check:0

emergency_foster_notes:null

foster_procedure_check:0

foster_procedure_notes:null

publishing_start:null

publishing_end:null

unfixed:null

created_at:2025-02-25T22:47:54.000000Z
updated_at:2025-02-25T22:49:33.000000Z

__tag:null

*/

Route::post('api/insert-bandigaracontratti2024', '\Http\Web\Api\BdncpProcedureController@store');

/*

id:2

institution_id:1

procurement_id:null

owner_id:1

object:test bando

cig:0000000000

_typology:procedure

type:procedure

object_procedure_id:null

alert_date:null

liquidation_date:null

amount_liquidated:null

multicig:null

publish_father_document:null

notes:Testnota

bdncp_link:www.ciaociao.com

common_platform_link:www.comunebello.com

publishing_status:1

public_debate_check:0

public_debate_notes:null

notice_documents_check:0

notice_documents_notes:null

judging_commission_check:0
judging_commission_notes:null

equal_opportunities_af_check:0

equal_opportunities_af_notes:null

local_public_services_check:0

local_public_services_notes:null

advisory_board_technical_check:0

advisory_board_technical_notes:null

equal_opportunities_es_check:0

equal_opportunities_es_notes:null

free_contract_check:0

free_contract_notes:null

emergency_foster_check:0

emergency_foster_notes:null

foster_procedure_check:0

foster_procedure_notes:null

publishing_start:null

publishing_end:null

unfixed:null

created_at:2025-02-25T22:47:54.000000Z

updated_at:2025-02-25T22:49:33.000000Z

__tag:null

*/

Route::put('api/update-bandigaracontratti2024', '\Http\Web\Api\
BdncpProcedureController@update');

//procedure_bdncp_id

Route::delete('api/delete-bandigaracontratti2024', '\Http\Web\Api\
BdncpProcedureController@delete');

//avvisi bandi Bandi di gara e contratti dal 1/1/2024

//Typology = 'alert';
Route::post('api/insert-bandigaracontratti2024avvisi', '\Http\Web\Api\
BdncpProcedureController@storeAlert');

Route::put('api/insert-bandigaracontratti2024avvisi', '\Http\Web\Api\
BdncpProcedureController@updateAlert');

//FINE Bdncp Procedure Controller (Bandi di gara e contratti dal 1/1/2024)

//INIZIO bandi di concorso, autore:maselli

Route::get('api/bandiconcorso', '\Http\Web\Api\ContestAdminController@index');

Route::post('api/store-bandoconcorso', '\Http\Web\Api\ContestAdminController@storeContestApi');

/*

object:oggetto

search_2436:

input_select_2436:1

related_contest_id:1

search_7326:

input_select_7326:4

object_structures_id:4

province_office:LE

city_office:roma

office_address:bari 38

test_calendar:

evaluation_criteria:

traces_written_tests:
activation_date:2025-02-27T10:19

expiration_date:2025-02-28

expiration_contest_date:2025-02-28

expiration_time:15:26

hired_employees:4

expected_expenditure:4.000,00

expenditures_made:6.000,00

search_9655:

object_measure_id:

search_2216:

commissions:

description:

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-bandoconcorso', '\Http\Web\Api\
ContestAdminController@updateContestApi');
/*

object:oggettonee

search_7081:

input_select_7081:1

related_contest_id:1

search_5744:

input_select_5744:4

object_structures_id:4

province_office:LE

city_office:roma

office_address:bari 388

test_calendar:

evaluation_criteria:

traces_written_tests:

activation_date:2025-02-27T15:19

expiration_date:2025-02-28

expiration_contest_date:2025-02-28

expiration_time:21:26

hired_employees:4

expected_expenditure:4.000,00

expenditures_made:6.000,00

search_4673:

object_measure_id:

search_5288:

commissions:

description:

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0
active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

id:4

institution_id:1

institute_id:1

*/

Route::delete('api/delete-bandoconcorso', '\Http\Web\Api\
ContestAdminController@deleteContestApi');

//contest_id:4

Route::post('api/store-bandoconcorso_avviso', '\Http\Web\Api\
ContestAdminController@storeAlertApi');

/*

object:aviso

search_2566:

input_select_2566:1

related_contest_id:1

search_5209:

input_select_5209:3
object_structures_id:3

activation_date:2025-02-27T16:17

expiration_date:2025-02-28

description:avvisooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-bandoconcorso_avviso', '\Http\Web\Api\
ContestAdminController@updateAlertApi');

/*

object:avviso

search_2047:

input_select_2047:1

related_contest_id:1

search_9838:
input_select_9838:3

object_structures_id:3

activation_date:2025-02-27T19:17

expiration_date:2025-02-28

description:ciaoooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

id:7

institution_id:1

institute_id:1

*/

Route::delete('api/delete-bandoconcorso_avviso', '\Http\Web\Api\
ContestAdminController@deleteAlertApi');

//alert_id:4

Route::post('api/store-bandoconcorso_esito', '\Http\Web\Api\
ContestAdminController@storeResultApi');

/*
activation_date:2025-02-27T15:51

object:oggetto

search_7881:

input_select_7881:1

related_contest_id:1

description:ciaoooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:insert

institution_id:1

institute_id:1

*/

Route::put('api/update-bandoconcorso_esito', '\Http\Web\Api\
ContestAdminController@updateResultApi');

/*

activation_date:2025-02-27T19:51

object:oggettone

search_4009:

input_select_4009:1
related_contest_id:1

description:noooooooo

attach_name:Allegato

attach_files[]:

omissis_privacy_attach:0

active_attach:1

sto_row_id:

label_attach[]:Allegato

attach_id[]:

bdncp_cat[]:

omissis[]:0

publish[]:1

send:

_storage_type:update

id:9

institution_id:1

institute_id:1

*/

//FINE bandi di concorso

You might also like