<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\View;

class DbStructureServiceProvider extends ServiceProvider
{
    public function boot()
    {
$dbs_departments = array(
        
            'id_req'=>'*',
            'id_title'=>'Id',
            'id_max'=>'20',
            'id_validateas'=>'int|digits_between:0,20',
            'id_html5_req'=>'required',
            'id_html5_type'=>'number',
            'id_unique'=>'',
            'id_unique_for_update'=>'',
            
            
            'department_req'=>'*',
            'department_title'=>'Department',
            'department_max'=>'100',
            'department_validateas'=>'required|max:100',
            'department_html5_req'=>'required',
            'department_html5_type'=>'text',
            'department_unique'=>'|unique:departments,department,NULL,id,deleted_at,NULL',
            'department_unique_for_update'=>'|unique:departments,department,NULL_ID,id,deleted_at,NULL',
            
            
            'created_at_req'=>'',
            'created_at_title'=>'Created At',
            'created_at_max'=>'',
            'created_at_validateas'=>'|max:',
            'created_at_html5_req'=>'',
            'created_at_html5_type'=>'text',
            'created_at_unique'=>'',
            'created_at_unique_for_update'=>'',
            
            
            'updated_at_req'=>'',
            'updated_at_title'=>'Updated At',
            'updated_at_max'=>'',
            'updated_at_validateas'=>'nullable|date|date_format:Y-m-d',
            'updated_at_html5_req'=>'',
            'updated_at_html5_type'=>'text',
            'updated_at_unique'=>'',
            'updated_at_unique_for_update'=>'',
            
            
            'deleted_at_req'=>'',
            'deleted_at_title'=>'Deleted At',
            'deleted_at_max'=>'',
            'deleted_at_validateas'=>'|max:',
            'deleted_at_html5_req'=>'',
            'deleted_at_html5_type'=>'text',
            'deleted_at_unique'=>'',
            'deleted_at_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_departments', $dbs_departments);
    $dbs_designations = array(
        
            'id_req'=>'*',
            'id_title'=>'Id',
            'id_max'=>'20',
            'id_validateas'=>'int|digits_between:0,20',
            'id_html5_req'=>'required',
            'id_html5_type'=>'number',
            'id_unique'=>'',
            'id_unique_for_update'=>'',
            
            
            'designation_req'=>'*',
            'designation_title'=>'Designation',
            'designation_max'=>'100',
            'designation_validateas'=>'required|max:100',
            'designation_html5_req'=>'required',
            'designation_html5_type'=>'text',
            'designation_unique'=>'|unique:designations,designation,NULL,id,deleted_at,NULL',
            'designation_unique_for_update'=>'|unique:designations,designation,NULL_ID,id,deleted_at,NULL',
            
            
            'created_at_req'=>'',
            'created_at_title'=>'Created At',
            'created_at_max'=>'',
            'created_at_validateas'=>'|max:',
            'created_at_html5_req'=>'',
            'created_at_html5_type'=>'text',
            'created_at_unique'=>'',
            'created_at_unique_for_update'=>'',
            
            
            'updated_at_req'=>'',
            'updated_at_title'=>'Updated At',
            'updated_at_max'=>'',
            'updated_at_validateas'=>'nullable|date|date_format:Y-m-d',
            'updated_at_html5_req'=>'',
            'updated_at_html5_type'=>'text',
            'updated_at_unique'=>'',
            'updated_at_unique_for_update'=>'',
            
            
            'deleted_at_req'=>'',
            'deleted_at_title'=>'Deleted At',
            'deleted_at_max'=>'',
            'deleted_at_validateas'=>'|max:',
            'deleted_at_html5_req'=>'',
            'deleted_at_html5_type'=>'text',
            'deleted_at_unique'=>'',
            'deleted_at_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_designations', $dbs_designations);
    $dbs_model_has_permissions = array(
        
            'permission_id_req'=>'*',
            'permission_id_title'=>'Permission Id',
            'permission_id_max'=>'20',
            'permission_id_validateas'=>'int|digits_between:0,20',
            'permission_id_html5_req'=>'required',
            'permission_id_html5_type'=>'number',
            'permission_id_unique'=>'',
            'permission_id_unique_for_update'=>'',
            
            
            'model_type_req'=>'*',
            'model_type_title'=>'Model Type',
            'model_type_max'=>'255',
            'model_type_validateas'=>'required|max:255',
            'model_type_html5_req'=>'required',
            'model_type_html5_type'=>'text',
            'model_type_unique'=>'',
            'model_type_unique_for_update'=>'',
            
            
            'model_id_req'=>'*',
            'model_id_title'=>'Model Id',
            'model_id_max'=>'20',
            'model_id_validateas'=>'int|digits_between:0,20',
            'model_id_html5_req'=>'required',
            'model_id_html5_type'=>'number',
            'model_id_unique'=>'',
            'model_id_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_model_has_permissions', $dbs_model_has_permissions);
    $dbs_role_has_permissions = array(
        
            'permission_id_req'=>'*',
            'permission_id_title'=>'Permission Id',
            'permission_id_max'=>'20',
            'permission_id_validateas'=>'int|digits_between:0,20',
            'permission_id_html5_req'=>'required',
            'permission_id_html5_type'=>'number',
            'permission_id_unique'=>'',
            'permission_id_unique_for_update'=>'',
            
            
            'role_id_req'=>'*',
            'role_id_title'=>'Role Id',
            'role_id_max'=>'20',
            'role_id_validateas'=>'int|digits_between:0,20',
            'role_id_html5_req'=>'required',
            'role_id_html5_type'=>'number',
            'role_id_unique'=>'',
            'role_id_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_role_has_permissions', $dbs_role_has_permissions);
    $dbs_roles = array(
        
            'id_req'=>'*',
            'id_title'=>'Id',
            'id_max'=>'20',
            'id_validateas'=>'int|digits_between:0,20',
            'id_html5_req'=>'required',
            'id_html5_type'=>'number',
            'id_unique'=>'',
            'id_unique_for_update'=>'',
            
            
            'name_req'=>'*',
            'name_title'=>'Name',
            'name_max'=>'255',
            'name_validateas'=>'required|max:255',
            'name_html5_req'=>'required',
            'name_html5_type'=>'text',
            'name_unique'=>'|unique:roles,name,NULL,id,deleted_at,NULL',
            'name_unique_for_update'=>'|unique:roles,name,NULL_ID,id,deleted_at,NULL',
            
            
            'guard_name_req'=>'*',
            'guard_name_title'=>'Guard Name',
            'guard_name_max'=>'255',
            'guard_name_validateas'=>'required|max:255',
            'guard_name_html5_req'=>'required',
            'guard_name_html5_type'=>'text',
            'guard_name_unique'=>'',
            'guard_name_unique_for_update'=>'',
            
            
            'created_at_req'=>'',
            'created_at_title'=>'Created At',
            'created_at_max'=>'',
            'created_at_validateas'=>'|max:',
            'created_at_html5_req'=>'',
            'created_at_html5_type'=>'text',
            'created_at_unique'=>'',
            'created_at_unique_for_update'=>'',
            
            
            'updated_at_req'=>'',
            'updated_at_title'=>'Updated At',
            'updated_at_max'=>'',
            'updated_at_validateas'=>'nullable|date|date_format:Y-m-d',
            'updated_at_html5_req'=>'',
            'updated_at_html5_type'=>'text',
            'updated_at_unique'=>'',
            'updated_at_unique_for_update'=>'',
            
            
            'deleted_at_req'=>'',
            'deleted_at_title'=>'Deleted At',
            'deleted_at_max'=>'',
            'deleted_at_validateas'=>'|max:',
            'deleted_at_html5_req'=>'',
            'deleted_at_html5_type'=>'text',
            'deleted_at_unique'=>'',
            'deleted_at_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_roles', $dbs_roles);
    $dbs_site_settings = array(
        
            'id_req'=>'*',
            'id_title'=>'Id',
            'id_max'=>'11',
            'id_validateas'=>'int|digits_between:0,11',
            'id_html5_req'=>'required',
            'id_html5_type'=>'number',
            'id_unique'=>'',
            'id_unique_for_update'=>'',
            
            
            'setting_type_req'=>'*',
            'setting_type_title'=>'Setting Type',
            'setting_type_max'=>'',
            'setting_type_validateas'=>'required|in:Text,Dropdown',
            'setting_type_html5_req'=>'required',
            'setting_type_html5_type'=>'text',
            'setting_type_unique'=>'',
            'setting_type_unique_for_update'=>'',
            'setting_type_array'=>array('Text'=>'Text','Dropdown'=>'Dropdown',),
            
            'setting_options_req'=>'',
            'setting_options_title'=>'Setting Options',
            'setting_options_max'=>'50',
            'setting_options_validateas'=>'|max:50',
            'setting_options_html5_req'=>'',
            'setting_options_html5_type'=>'text',
            'setting_options_unique'=>'',
            'setting_options_unique_for_update'=>'',
            
            
            'setting_settings_req'=>'*',
            'setting_settings_title'=>'Setting Settings',
            'setting_settings_max'=>'64',
            'setting_settings_validateas'=>'required|max:64',
            'setting_settings_html5_req'=>'required',
            'setting_settings_html5_type'=>'text',
            'setting_settings_unique'=>'|unique:site_settings,setting_settings,NULL,id,deleted_at,NULL',
            'setting_settings_unique_for_update'=>'|unique:site_settings,setting_settings,NULL_ID,id,deleted_at,NULL',
            
            
            'setting_key_req'=>'*',
            'setting_key_title'=>'Setting Key',
            'setting_key_max'=>'64',
            'setting_key_validateas'=>'required|max:64',
            'setting_key_html5_req'=>'required',
            'setting_key_html5_type'=>'text',
            'setting_key_unique'=>'|unique:site_settings,setting_key,NULL,id,deleted_at,NULL',
            'setting_key_unique_for_update'=>'|unique:site_settings,setting_key,NULL_ID,id,deleted_at,NULL',
            
            
            'setting_value_req'=>'*',
            'setting_value_title'=>'Setting Value',
            'setting_value_max'=>'256',
            'setting_value_validateas'=>'required|max:256',
            'setting_value_html5_req'=>'required',
            'setting_value_html5_type'=>'text',
            'setting_value_unique'=>'',
            'setting_value_unique_for_update'=>'',
            
            
            'setting_scope_req'=>'*',
            'setting_scope_title'=>'Setting Scope',
            'setting_scope_max'=>'',
            'setting_scope_validateas'=>'required|in:Public,Private',
            'setting_scope_html5_req'=>'required',
            'setting_scope_html5_type'=>'text',
            'setting_scope_unique'=>'',
            'setting_scope_unique_for_update'=>'',
            'setting_scope_array'=>array('Public'=>'Public','Private'=>'Private',),
            
            'created_at_req'=>'*',
            'created_at_title'=>'Created At',
            'created_at_max'=>'',
            'created_at_validateas'=>'required|max:',
            'created_at_html5_req'=>'required',
            'created_at_html5_type'=>'text',
            'created_at_unique'=>'',
            'created_at_unique_for_update'=>'',
            
            
            'updated_at_req'=>'',
            'updated_at_title'=>'Updated At',
            'updated_at_max'=>'',
            'updated_at_validateas'=>'nullable|date|date_format:Y-m-d',
            'updated_at_html5_req'=>'',
            'updated_at_html5_type'=>'text',
            'updated_at_unique'=>'',
            'updated_at_unique_for_update'=>'',
            
            
            'deleted_at_req'=>'',
            'deleted_at_title'=>'Deleted At',
            'deleted_at_max'=>'',
            'deleted_at_validateas'=>'|max:',
            'deleted_at_html5_req'=>'',
            'deleted_at_html5_type'=>'text',
            'deleted_at_unique'=>'',
            'deleted_at_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_site_settings', $dbs_site_settings);
    $dbs_users = array(
        
            'id_req'=>'*',
            'id_title'=>'Id',
            'id_max'=>'20',
            'id_validateas'=>'int|digits_between:0,20',
            'id_html5_req'=>'required',
            'id_html5_type'=>'number',
            'id_unique'=>'',
            'id_unique_for_update'=>'',
            
            
            'name_req'=>'*',
            'name_title'=>'Name',
            'name_max'=>'32',
            'name_validateas'=>'required|max:32',
            'name_html5_req'=>'required',
            'name_html5_type'=>'text',
            'name_unique'=>'',
            'name_unique_for_update'=>'',
            
            
            'email_req'=>'*',
            'email_title'=>'Email',
            'email_max'=>'64',
            'email_validateas'=>'required|email|max:64',
            'email_html5_req'=>'required',
            'email_html5_type'=>'email',
            'email_unique'=>'|unique:users,email,NULL,id,deleted_at,NULL',
            'email_unique_for_update'=>'|unique:users,email,NULL_ID,id,deleted_at,NULL',
            
            
            'email_verified_at_req'=>'',
            'email_verified_at_title'=>'Email Verified At',
            'email_verified_at_max'=>'',
            'email_verified_at_validateas'=>'nullable|email|max:',
            'email_verified_at_html5_req'=>'',
            'email_verified_at_html5_type'=>'email',
            'email_verified_at_unique'=>'',
            'email_verified_at_unique_for_update'=>'',
            
            
            'password_req'=>'*',
            'password_title'=>'Password',
            'password_max'=>'64',
            'password_validateas'=>'required|min:8|regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&]).+$/',
            'password_html5_req'=>'required',
            'password_html5_type'=>'password',
            'password_unique'=>'',
            'password_unique_for_update'=>'',
            
            
            'picture_req'=>'',
            'picture_title'=>'Picture',
            'picture_max'=>'100',
            'picture_validateas'=>'nullable|image64',
            'picture_html5_req'=>'',
            'picture_html5_type'=>'file',
            'picture_unique'=>'',
            'picture_unique_for_update'=>'',
            
            
            'status_req'=>'*',
            'status_title'=>'Status',
            'status_max'=>'',
            'status_validateas'=>'required|in:Active,Inactive',
            'status_html5_req'=>'required',
            'status_html5_type'=>'text',
            'status_unique'=>'',
            'status_unique_for_update'=>'',
            'status_array'=>array('Active'=>'Active','Inactive'=>'Inactive',),
            
            'remember_token_req'=>'',
            'remember_token_title'=>'Remember Token',
            'remember_token_max'=>'100',
            'remember_token_validateas'=>'|max:100',
            'remember_token_html5_req'=>'',
            'remember_token_html5_type'=>'text',
            'remember_token_unique'=>'',
            'remember_token_unique_for_update'=>'',
            
            
            'api_token_req'=>'',
            'api_token_title'=>'Api Token',
            'api_token_max'=>'80',
            'api_token_validateas'=>'|max:80',
            'api_token_html5_req'=>'',
            'api_token_html5_type'=>'text',
            'api_token_unique'=>'',
            'api_token_unique_for_update'=>'',
            
            
            'created_at_req'=>'',
            'created_at_title'=>'Created At',
            'created_at_max'=>'',
            'created_at_validateas'=>'|max:',
            'created_at_html5_req'=>'',
            'created_at_html5_type'=>'text',
            'created_at_unique'=>'',
            'created_at_unique_for_update'=>'',
            
            
            'updated_at_req'=>'',
            'updated_at_title'=>'Updated At',
            'updated_at_max'=>'',
            'updated_at_validateas'=>'nullable|date|date_format:Y-m-d',
            'updated_at_html5_req'=>'',
            'updated_at_html5_type'=>'text',
            'updated_at_unique'=>'',
            'updated_at_unique_for_update'=>'',
            
            
            'deleted_at_req'=>'',
            'deleted_at_title'=>'Deleted At',
            'deleted_at_max'=>'',
            'deleted_at_validateas'=>'|max:',
            'deleted_at_html5_req'=>'',
            'deleted_at_html5_type'=>'text',
            'deleted_at_unique'=>'',
            'deleted_at_unique_for_update'=>'',
            
            
        );
        // Pass the arrays to all views
        View::share('dbs_users', $dbs_users);
    $uniqueArray = array('department','designation','name','setting_settings','setting_key','email');View::share('uniqueArray', $uniqueArray);
    }
}