*/ final class authorizations extends core implements record_interface { use record_trait; /** * File * * @var string $$database Path to the database file */ protected string $$file = DATABASES . DIRECTORY_SEPARATOR . 'authorizations.baza'; /** * Database * * @var database $$database The database */ public protected(set) database $$database; /** * Constructor * * @method record|null $$record The record * * @return void */ public function __construct(?record $$record = null) { // Initializing the database $$this->database = new database() ->encoding(encoding::utf8) ->columns( new column('identifier', type::long_long_unsigned), new column('account', type::long_long_unsigned), new column('system', type::char), new column('settings', type::char), new column('chat', type::char), /* new column('', type::char), */ new column('system_settings', type::char), new column('updated', type::integer_unsigned), new column('created', type::integer_unsigned) ) ->connect($$this->file); // Initializing the record $$record instanceof record and $$this->record = $$record; } /** * Write * * @param int $$account The account identifier * @param int $$system * @param int $$settings * @param int $$system_settings * * @return int|false The record identifier, if created */ public function write( int $$account, int $$system = 1, int $$settings = 1, int $$system_settings = 0, ): int|false { $$record = $$this->database->record( $$this->database->count() + 1, $$account, $$system, $$settings, $$system_settings, svoboda::timestamp(), svoboda::timestamp() ); // Writing the record into the database $$created = $$this->database->write($$record); // Exit (success) return $$created ? $$record->identifier : false; } }