Build modified streamline images

The official image from streamline does not currently work for the arm64
platform. As a temporary measure, the source code and docker build scripts
have been lifted from the official images and are used to build locally.

Some additional modifications are made to reduce overall image size, these
are documented in docker/README.md
This commit is contained in:
2024-03-10 16:17:50 -07:00
parent 2ffc3c408a
commit a424394109
13506 changed files with 1860172 additions and 6 deletions
+18
View File
@@ -0,0 +1,18 @@
<?php
use Illuminate\Http\Request;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
+16
View File
@@ -0,0 +1,16 @@
<?php
/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
+18
View File
@@ -0,0 +1,18 @@
<?php
use Illuminate\Foundation\Inspiring;
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->describe('Display an inspiring quote');
+135
View File
@@ -0,0 +1,135 @@
<?php
use Streamline\Models\HospitalInformation;
use Streamline\Models\SecurityQuestion;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
//\Illuminate\Support\Facades\Auth::logout();
$hospital_information = HospitalInformation::first();
$security_questions = SecurityQuestion::pluck('name', 'id');
$security_questions->prepend('- select -', '');
return view('auth.login', compact('security_questions', 'hospital_information'));
});
Auth::routes();
Route::get('/auth', 'Auth\UserController@index')->name('auth.index');
Route::get('/auth/register', 'Auth\UserController@create')->name('auth.register');
Route::post('/auth/store', 'Auth\UserController@store')->name('auth.store');
Route::group(['middleware' => ['auth', 'disablebackbutton', 'user-locale']], function () {
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/logged_in_users', 'HomeController@index')->name('logged_in_users');
/* Online Users */
Route::get('online_users', 'UserController@onlineusers')->name('online_users');
Route::get('failed_logins', 'UserController@failedlogins')->name('failed_logins');
Route::any('/online_users/search', 'UserController@search')->name('online_users.search');
Route::any('/users/find_users_by_role', 'UserController@find_users_by_role')->name('find_users_by_role');
Route::resource('permissions', 'PermissionController');
Route::get('/users/inactive', 'UserController@inactive')->name('users.inactive');
Route::post('/users/search', 'UserController@search')->name('users.search');
Route::post('/users/activate/{id}', 'UserController@activate')->name('users.activate');
Route::any('/users/search_user_by_name', 'UserController@search_user_by_name')->name('users.search_user_by_name');
Route::resource('users', 'UserController');
/* F.A.Qs Modules */
Route::resource('modules', 'ModuleController');
/* F.A.Qs Routes */
Route::any('/frequently_asked_questions/result', 'FrequentlyAskedQuestionController@result')->name('frequently_asked_questions.result');
Route::get('/frequently_asked_questions/search', 'FrequentlyAskedQuestionController@search')->name('frequently_asked_questions.search');
Route::any('/frequently_asked_questions/bulk_update', 'FrequentlyAskedQuestionController@bulk_update')->name('frequently_asked_questions.bulk_update');
Route::get('/frequently_asked_questions/bulk_edit', 'FrequentlyAskedQuestionController@bulk_edit')->name('frequently_asked_questions.bulk_edit');
Route::get('/frequently_asked_questions/inactive', 'FrequentlyAskedQuestionController@inactive')->name('frequently_asked_questions.inactive');
Route::post('/frequently_asked_questions/activate{id}', 'FrequentlyAskedQuestionController@activate')->name('frequently_asked_questions.activate');
Route::resource('frequently_asked_questions', 'FrequentlyAskedQuestionController');
/* Hospital Information Routes */
Route::any('/hospital_information/remove_print_banner', 'HospitalInformationController@remove_print_banner')->name('hospital_information.remove_print_banner');
Route::resource('hospital_information', 'HospitalInformationController');
/* Message Board Routes */
Route::get('/messageboard/inactive', 'MessageBoardController@inactive')->name('messageboard.inactive');
Route::post('/messageboard/activate{id}', 'MessageBoardController@activate')->name('messageboard.activate');
Route::resource('messageboard', 'MessageBoardController');
/* Blood donations */
Route::resource('blood_donations', 'BloodDonationsController');
Route::any('select_blood_group', 'BloodDonationsController@select_blood_group')->name('select.blood_group');
Route::post('blood_donations/create_donation', 'BloodDonationsController@create_donation')->name('blood_donations.create_donation');
Route::any('/roles/edit_permission_desc', 'RoleController@edit_permission_desc')->name('roles.edit_permission_desc');
Route::resource('roles', 'RoleController');
/* Audit Trail */
Route::any('/audit_trail/search', 'AuditTrailController@search')->name('audit_trail.search');
Route::any('/failed_logins/online_users_search', 'UserController@online_users_search')->name('audit_trail.online_users_search');
Route::any('/failed_logins/failed_logins_search', 'UserController@failed_logins_search')->name('audit_trail.failed_logins_search');
Route::any('/audit_trail/audit_trail_details/{id}', 'AuditTrailController@audit_trail_details')->name('audit_trail.audit_trail_details');
Route::any('/audit_trail/select_patient_and_episode', 'AuditTrailController@select_patient_and_episode')->name('audit_trail.select_patient_and_episode');
Route::any('/audit_trail/patient_timeline/{patient_id}/{episode_id}', 'AuditTrailController@patient_timeline');
Route::any('audit_trail_print', 'AuditTrailController@audit_trail_print')->name('audit_trail_print');
Route::any('failed_login_print', 'AuditTrailController@failed_login_print')->name('failed_login_print');
Route::any('online_user_print', 'AuditTrailController@online_user_print')->name('online_user_print');
Route::resource('audit_trail', 'AuditTrailController');
/* Reset password */
Route::post('/reset/check', 'UserController@check_reset')->name('reset.check');
Route::post('/auth/reset', 'UserController@reset_password')->name('auth.reset');
/* General Settings */
Route::any('general_settings/edit', 'GeneralSettingsController@edit_settings')->name('general_settings.edit');
Route::any('general_settings/save', 'GeneralSettingsController@save_settings')->name('general_settings.save');
Route::get('general_settings/active_users_limit_settings', 'GeneralSettingsController@edit_number_of_active_users_limit_settings')->name('general_settings.active_users_limit_settings');
Route::post('general_settings/save_number_of_active_users_limit_settings', 'GeneralSettingsController@save_number_of_active_users_limit_settings')->name('general_settings.save_number_of_active_users_limit_settings');
// sms routes
Route::any('sms/send_sms', 'SMSController@send_sms')->name('sms.send_sms');
Route::any('sms/process_sms', 'SMSController@process_sms')->name('sms.process_sms');
Route::any('sms/view_sms_reports', 'SMSController@view_sms_reports')->name('sms.view_sms_reports');
Route::any('sms/send_investigation_alert/{patient_id}', 'SMSController@send_investigation_alert');
/* Data Extraction */
Route::any('/data_extraction/import_csv/{id}', 'DataExtractionController@import_csv');
Route::any('/data_extraction/import_csv_upload', 'DataExtractionController@import_csv_upload')->name('data_extraction.import_csv_upload');
Route::any('/data_extraction/import_csv_progress/{id}', 'DataExtractionController@import_csv_progress');
Route::any('/data_extraction/fetch_progress/{id}', 'DataExtractionController@fetch_progress');
Route::any('/data_extraction/select_data_type', 'DataExtractionController@select_data_type')->name('data_extraction.select_data_type');
Route::any('/data_extraction/import_price_list_csv/{id}', 'DataExtractionController@import_price_list_csv');
Route::any('/data_extraction/import_price_list_csv_upload', 'DataExtractionController@import_price_list_csv_upload')->name('data_extraction.import_price_list_csv_upload');
Route::any('/data_extraction/start_process/{id}', 'DataExtractionController@start_process');
Route::any('/data_extraction/start_price_list_process/{id}', 'DataExtractionController@start_price_list_process');
//stre@mline modules
Route::any('activate_streamline_modules', 'GeneralSettingsController@activate_streamline_modules')->name('streamline_modules.activate');
Route::any('store_activated_modules', 'GeneralSettingsController@store_activated_modules')->name('streamline_modules.store_activated');
/* Personal Settings */
Route::any('personal_settings/edit', 'GeneralSettingsController@edit_personal_settings')->name('personal_settings.edit');
Route::any('personal_settings/save', 'GeneralSettingsController@save_personal_settings')->name('personal_settings.save');
Route::any('analysis_reports', 'HomeController@quick_analysis_reports');
});
/* password expiration */
Route::get('/passwordExpiration', 'Auth\PwdExpirationController@showPasswordExpirationForm');
Route::post('/passwordExpiration', 'Auth\PwdExpirationController@postPasswordExpiration')->name('passwordExpiration');