<?php
return [
    // Application CRUD
    ['GET',  '/applications',                          'ApplicationController@index',       'applications.view'],
    ['GET',  '/applications/create',                   'ApplicationController@create',      'applications.create'],
    ['POST', '/applications',                          'ApplicationController@store',       'applications.create'],
    ['GET',  '/applications/{id}',                     'ApplicationController@show',        'applications.view'],
    ['GET',  '/applications/{id}/edit',                'ApplicationController@edit',        'applications.create'],
    ['POST', '/applications/{id}',                     'ApplicationController@update',      'applications.create'],
    ['GET',  '/applications/{id}/print',               'ApplicationController@printView',   'applications.view'],
    ['GET',  '/applications/{id}/board-vote',          'ApplicationController@boardVote',   'applications.approve'],

    // Application API
    ['GET',  '/api/applications/datatable',            'ApplicationApiController@datatable',         'applications.view'],
    ['GET',  '/api/applications/stats',                'ApplicationApiController@stats',             'applications.view'],
    ['POST', '/api/applications/{id}/submit',          'ApplicationApiController@submit',            'applications.create'],
    ['POST', '/api/applications/{id}/status',          'ApplicationApiController@changeStatus',      'applications.review'],
    ['POST', '/api/applications/{id}/review',          'ApplicationApiController@review',            'applications.review'],
    ['POST', '/api/applications/{id}/interview',       'ApplicationApiController@interview',         'applications.review'],
    ['POST', '/api/applications/{id}/board-vote',      'ApplicationApiController@recordBoardVote',   'applications.approve'],
    ['POST', '/api/applications/{id}/create-member',   'ApplicationApiController@createMember',      'applications.approve'],
    ['POST', '/api/applications/{id}/delete',          'ApplicationApiController@delete',            'applications.create'],
    ['GET',  '/api/applications/{id}/documents',       'ApplicationApiController@getDocuments',      'applications.view'],
    ['POST', '/api/applications/{id}/documents',       'ApplicationApiController@uploadDocument',    'applications.create'],
    ['POST', '/api/applications/{id}/documents/{docId}/delete', 'ApplicationApiController@deleteDocument', 'applications.create'],
    ['POST', '/api/applications/{id}/documents/{docId}/verify', 'ApplicationApiController@verifyDocument', 'applications.review'],
    ['GET',  '/api/applications/export',               'ApplicationApiController@export',            'applications.view'],

    // Application Periods
    ['GET',  '/application-periods',                   'ApplicationPeriodController@index',   'applications.view'],
    ['GET',  '/application-periods/create',            'ApplicationPeriodController@create',  'applications.review'],
    ['POST', '/application-periods',                   'ApplicationPeriodController@store',   'applications.review'],
    ['GET',  '/application-periods/{id}/edit',         'ApplicationPeriodController@edit',    'applications.review'],
    ['POST', '/application-periods/{id}',              'ApplicationPeriodController@update',  'applications.review'],
    ['GET',  '/api/application-periods/datatable',     'ApplicationPeriodApiController@datatable', 'applications.view'],

    // Waiting List
    ['GET',  '/waiting-list',                          'WaitingListController@index',        'waitlist.view'],
    ['GET',  '/waiting-list/create-entry',             'WaitingListController@createEntry',  'waitlist.manage'],
    ['POST', '/waiting-list/entries',                  'WaitingListController@storeEntry',   'waitlist.manage'],
    ['GET',  '/api/waiting-list/datatable',            'WaitingListApiController@datatable',       'waitlist.view'],
    ['GET',  '/api/waiting-list/entries/datatable',    'WaitingListApiController@entriesDatatable','waitlist.view'],
    ['POST', '/api/waiting-list/entries/{id}/offer',   'WaitingListApiController@offer',     'waitlist.manage'],
    ['POST', '/api/waiting-list/entries/{id}/promote', 'WaitingListApiController@promote',   'waitlist.manage'],
    ['POST', '/api/waiting-list/entries/{id}/remove',  'WaitingListApiController@remove',    'waitlist.manage'],
    ['POST', '/api/waiting-list/entries/{id}/move',    'WaitingListApiController@move',      'waitlist.manage'],
];