From 8d6a1f9d04fe5808fe0773081ad8694834bda909 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 8 Jul 2021 16:46:57 +0700 Subject: [PATCH 01/15] Add foreign key & soft delete --- src/Badaso.php | 1 - src/ContentManager/FileGenerator.php | 27 +- src/Controllers/BadasoDatabaseController.php | 35 +- src/Database/Schema/SchemaManager.php | 5 + src/Helpers/MigrationParser.php | 260 ++++++++++++-- .../js/assets/scss/layout/_custom.scss | 4 + .../js/assets/scss/module/_alert.scss | 3 +- .../scss/page/_database-management.scss | 20 ++ src/resources/js/lang/modules/en.js | 2 +- .../js/pages/database-management/add.vue | 221 +++++++++--- .../js/pages/database-management/edit.vue | 334 ++++++++++++++---- src/resources/js/utils/database-helper.js | 25 ++ 12 files changed, 774 insertions(+), 163 deletions(-) diff --git a/src/Badaso.php b/src/Badaso.php index 7d87bd607..78ed26e85 100644 --- a/src/Badaso.php +++ b/src/Badaso.php @@ -77,7 +77,6 @@ class Badaso 'password_resets', 'menus', 'menu_items', - 'users', 'roles', 'permissions', 'configurations', diff --git a/src/ContentManager/FileGenerator.php b/src/ContentManager/FileGenerator.php index a614438dc..f6e476f78 100644 --- a/src/ContentManager/FileGenerator.php +++ b/src/ContentManager/FileGenerator.php @@ -287,7 +287,7 @@ public function repackSeedData($data): array /** * Generate Badaso Migration File. */ - public function generateBDOMigrationFile(string $table_name, string $prefix, array $rows): string + public function generateBDOMigrationFile(string $table_name, string $prefix, array $rows, array $relations = []): string { $migration_class_name = $this->file_system->generateMigrationClassName($table_name, $prefix); @@ -301,8 +301,15 @@ public function generateBDOMigrationFile(string $table_name, string $prefix, arr $migration_file = $this->file_system->getMigrationFile($migration_file_name, $migration_folder_path); - $schema_up = $this->migration_parser->getMigrationSchemaUp($table_name, $rows, $prefix); - $schema_down = $this->migration_parser->getMigrationSchemaDown($table_name, $rows, $prefix); + $schema_up = ""; + $schema_down = ""; + + $schema_up .= $this->migration_parser->getMigrationSchemaUp($table_name, $rows, $prefix); + if (!empty($relations)) { + $schema_up .= PHP_EOL.PHP_EOL . $this->migration_parser->getMigrationRelationshipSchemaUp($table_name, $relations); + $schema_down .= $this->migration_parser->getMigrationRelationshipSchemaDown($table_name, $relations) . PHP_EOL . PHP_EOL; + } + $schema_down .= $this->migration_parser->getMigrationSchemaDown($table_name, $rows, $prefix); $stub = $this->content_manager->replaceString('{{class}}', $migration_class_name, $stub); $stub = $this->content_manager->replaceString('{{schema_up}}', $schema_up, $stub); @@ -324,7 +331,7 @@ public function deleteMigrationFiles(string $file_name) /** * Generate Badaso Alter Migration File. */ - public function generateBDOAlterMigrationFile(array $table, array $rows = null, string $prefix): string + public function generateBDOAlterMigrationFile(array $table, array $rows = null, string $prefix, array $relations = []): string { $migration_class_name = $this->file_system->generateAlterMigrationClassName($table, $prefix); @@ -337,8 +344,16 @@ public function generateBDOAlterMigrationFile(array $table, array $rows = null, $migration_folder_path = $this->file_system->getMigrationFolderPath(); $migration_file = $this->file_system->getMigrationFile($migration_file_name, $migration_folder_path); - $schema_up = $this->migration_parser->getAlterMigrationSchemaUp($table, $rows, $prefix); - $schema_down = $this->migration_parser->getAlterMigrationSchemaDown($table, $rows, $prefix); + + $schema_up = ""; + $schema_down = ""; + + $schema_up .= $this->migration_parser->getAlterMigrationSchemaUp($table, $rows, $prefix, $relations); + if (array_key_exists('current_relations', $relations) && count($relations['current_relations']) > 0) { + $schema_up .= $this->migration_parser->getAlterMigrationRelationshipSchemaUp($table, $relations); + $schema_down .= $this->migration_parser->getAlterMigrationRelationshipSchemaDown($table, $relations) . PHP_EOL; + } + $schema_down .= $this->migration_parser->getAlterMigrationSchemaDown($table, $rows, $prefix, $relations); $stub = $this->content_manager->replaceString('{{class}}', $migration_class_name, $stub); $stub = $this->content_manager->replaceString('{{schema_up}}', $schema_up, $stub); diff --git a/src/Controllers/BadasoDatabaseController.php b/src/Controllers/BadasoDatabaseController.php index 59924fc89..4315fadb4 100644 --- a/src/Controllers/BadasoDatabaseController.php +++ b/src/Controllers/BadasoDatabaseController.php @@ -45,7 +45,7 @@ function ($attribute, $value, $fail) { 'rows.*.field_type' => 'required|string', ]); - $this->file_name = $this->file_generator->generateBDOMigrationFile($request->table, 'create', $request->rows); + $this->file_name = $this->file_generator->generateBDOMigrationFile($request->table, 'create', $request->rows, $request->relations); $exitCode = Artisan::call('migrate', [ '--path' => 'database/migrations/badaso/', @@ -89,8 +89,19 @@ function ($attribute, $value, $fail) { ]); $columns = SchemaManager::describeTable($request->table)->toArray(); + $columnsFK = SchemaManager::getDoctrineForeignKeys($request->table); + $fKConstraints = []; + foreach ($columnsFK as $columnFK) { + $fKConstraints[$columnFK->getUnquotedLocalColumns()[0]] = [ + 'source_field' => $columnFK->getUnquotedLocalColumns()[0], + 'target_table' => $columnFK->getForeignTableName(), + 'target_field' => $columnFK->getForeignColumns()[0], + 'on_delete' => strtolower($columnFK->getOption('onDelete')), + 'on_update' => strtolower($columnFK->getOption('onUpdate')), + ]; + } - return ApiResponse::success(['columns' => $columns]); + return ApiResponse::success(['columns' => $columns, 'columnsFK' => $fKConstraints]); } catch (Exception $e) { return APIResponse::failed($e); } @@ -114,15 +125,16 @@ function ($attribute, $value, $fail) { Rule::notIn(Badaso::getProtectedTables()), ], 'fields.current_fields' => 'required|array', - 'fields.modified_fields' => 'nullable|array', + 'fields.modified_fields' => 'required|array', ]); $data = $request->all(); $fields = $data['fields']; $table = $data['table']; + $relations = $data['relations']; - if (count($fields['current_fields']) > 0) { - $this->file_name[] = $this->file_generator->generateBDOAlterMigrationFile($table, $fields, 'alter'); + if (count($fields['modified_fields']) > 0) { + $this->file_name[] = $this->file_generator->generateBDOAlterMigrationFile($table, $fields, 'alter', $relations); } if ($table['current_name'] !== $table['modified_name']) { @@ -324,4 +336,17 @@ public function getDbmsFieldType() return ApiResponse::failed($e); } } + + public function dumpObject($object) { + if(!is_object($object)){ + return false; + } + $reflection = new \ReflectionObject($object); + $properties = array(); + foreach($reflection->getProperties() as $property){ + $property->setAccessible(true); + $properties[$property->getName()] = $property->getValue($object); + } + return array_merge((array) $reflection->getConstants(), $properties); + } } diff --git a/src/Database/Schema/SchemaManager.php b/src/Database/Schema/SchemaManager.php index ee8552723..209c9c421 100644 --- a/src/Database/Schema/SchemaManager.php +++ b/src/Database/Schema/SchemaManager.php @@ -140,4 +140,9 @@ public static function getDoctrineColumn($table, $column) { return static::getDoctrineTable($table)->getColumn($column); } + + public static function getDoctrineForeignKeys($table) + { + return static::manager()->listTableForeignKeys($table); + } } diff --git a/src/Helpers/MigrationParser.php b/src/Helpers/MigrationParser.php index 2817946ca..ded21e668 100644 --- a/src/Helpers/MigrationParser.php +++ b/src/Helpers/MigrationParser.php @@ -146,6 +146,22 @@ class MigrationParser DB::statement('ALTER TABLE %s ALTER COLUMN %s DROP DEFAULT'); TXT; + const ADD_FOREIGN_KEY = <<<'TXT' + $table->foreign('%s')->references('%s')->on('%s') + TXT; + + const DROP_FOREIGN_KEY = <<<'TXT' + $table->dropForeign([%s]); + TXT; + + const ADD_FOREIGN_KEY_ON_DELETE = <<<'TXT' + ->onDelete('%s') + TXT; + + const ADD_FOREIGN_KEY_ON_UPDATE = <<<'TXT' + ->onUpdate('%s') + TXT; + public static function getMigrationSchemaUp($name, $rows, $prefix = null) { if ($prefix == 'drop') { @@ -158,6 +174,36 @@ public static function getMigrationSchemaUp($name, $rows, $prefix = null) return sprintf(self::MIGRATION_UP_WRAPPER, $name, implode(PHP_EOL.chr(9).chr(9).chr(9), self::getMigrationFields($name, $rows))); } + public static function getMigrationRelationshipSchemaUp($name, $relations) + { + return sprintf(self::ALTER_WRAPPER, $name, implode(PHP_EOL.chr(9).chr(9).chr(9), self::getMigrationRelationshipUp($name, $relations))); + } + + public static function getAlterMigrationRelationshipSchemaUp($name, $relations) + { + if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipUp($relations)) !== "") { + return sprintf(self::ALTER_WRAPPER, + $name['current_name'], + implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipUp($relations)) + ); + } + } + + public static function getMigrationRelationshipSchemaDown($name, $relations) + { + return sprintf(self::ALTER_WRAPPER, $name, self::getMigrationRelationshipDown($relations)); + } + + public static function getAlterMigrationRelationshipSchemaDown($name, $relations) + { + if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipDown($relations)) !== "") { + return sprintf(self::ALTER_WRAPPER, + $name['current_name'], + implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipDown($relations)) + ); + } + } + public static function getMigrationSchemaDown($name, $rows = [], $prefix = null, bool $timestamp = true) { if ($prefix == 'drop') { @@ -170,11 +216,13 @@ public static function getMigrationSchemaDown($name, $rows = [], $prefix = null, ); } - public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null) + public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null, $relations = []) { $stub = ''; + $dropped_fk_field = ''; + if ($prefix == 'rename') { - $stub .= sprintf( + $stub .= chr(9).chr(9).chr(9).sprintf( self::RENAME_TABLE_WRAPPER, $name['current_name'], $name['modified_name'], @@ -187,12 +235,24 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null) $dropped_field = 0; $altered_field = 0; $added_field = 0; + $dropped_fk = 0; $fields = []; $modified = []; $alter = []; + $fk = []; $rows = self::formatRows($rows); + if (!empty($relations)) { + foreach ($relations['modified_relations'] as $key => $relation) { + if (array_key_exists('modify_type', $relation) && $relation['modify_type'] === 'DROP_FOREIGN_KEY') { + $dropped_fk++; + $fk[] = $relation; + } + + } + } + foreach ($rows['current_fields'] as $key => $value) { if (! array_key_exists($key, $rows['modified_fields'])) { $dropped_field++; @@ -239,6 +299,14 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null) } } + if ($dropped_fk > 0) { + $fk_fields = []; + foreach ($fk as $key => $value) { + $fk_fields[] = sprintf(self::DROP_FOREIGN_KEY, "'" . $value['source_field'] . "'"); + } + $dropped_fk_field = sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), $fk_fields)); + } + if ($altered_field > 0) { $fields = self::getAlterMigrationUpFields($rows, $name); /** @@ -309,14 +377,15 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null) } } - return $stub; + return ($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null) . $stub; } - public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix = null) + public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix = null, $relations = []) { $stub = ''; + $dropped_fk_field = ''; if ($prefix == 'rename') { - $stub .= sprintf( + $stub .= chr(9).chr(9).chr(9).sprintf( self::RENAME_TABLE_WRAPPER, $name['modified_name'], $name['current_name'], @@ -326,9 +395,20 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix $dropped_field = 0; $altered_field = 0; $added_field = 0; + $dropped_fk = 0; $fields = []; $modified = []; $alter = []; + $fk = []; + + if (!empty($relations)) { + foreach ($relations['modified_relations'] as $key => $relation) { + if (array_key_exists('modify_type', $relation) && $relation['modify_type'] === 'DROP_FOREIGN_KEY') { + $dropped_fk++; + $fk[] = $relation; + } + } + } $rows = self::formatRows($rows); @@ -378,6 +458,23 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix } } + if ($dropped_fk > 0) { + $fk_fields = []; + + foreach ($fk as $key => $value) { + $temp_field = sprintf(self::ADD_FOREIGN_KEY, $value['source_field'], $value['target_field'], $value['target_table']); + if (!empty($value['on_delete'])) { + $temp_field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $value['on_delete']); + } + if (!empty($value['on_update'])) { + $temp_field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $value['on_update']); + } + $fk_fields[] = $temp_field . ";"; + } + + $dropped_fk_field = sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), $fk_fields)); + } + if ($altered_field > 0) { $fields = self::getAlterMigrationDownFields($rows, $name); @@ -409,17 +506,21 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix if ($dropped_field > 0) { foreach ($rows['modified_fields'] as $key => $value) { if (in_array('DROP_FIELD', $value['modify_type'])) { - $modified[] = sprintf( - self::FIELD_STUB, - self::getMigrationTypeField($value['field_type']), - $value['field_name'], - self::getMigrationLengthField($value['field_length'], $value['field_type']), - $value['field_default'], - self::getMigrationNullField($value['field_null']), - self::getMigrationIndexField($value['field_index'], null, $value['field_name']), - self::getMigrationAttributeField($value['field_attribute'] ?? null), - self::getMigrationIncrementField($value['field_increment']) - ); + if (in_array($value['field_type'], ['timestamp']) && in_array($value['field_name'], ['deleted_at'])) { + $modified[] = sprintf(self::SOFT_DELETE); + } else { + $modified[] = sprintf( + self::FIELD_STUB, + self::getMigrationTypeField($value['field_type']), + $value['field_name'], + self::getMigrationLengthField($value['field_length'], $value['field_type']), + $value['field_default'], + self::getMigrationNullField($value['field_null']), + self::getMigrationIndexField($value['field_index'], null, $value['field_name']), + self::getMigrationAttributeField($value['field_attribute'] ?? null), + self::getMigrationIncrementField($value['field_increment']) + ); + } } } } @@ -441,7 +542,106 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix } } - return $stub; + return $stub . ($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null); + } + + public static function getMigrationRelationshipUp($name, $relations) + { + $fields = []; + + foreach ($relations as $relation) { + $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); + + if (!empty($relation['on_delete'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); + } + + if (!empty($relation['on_update'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); + } + + $fields[] = $field . ";"; + } + + return $fields; + } + + public static function getAlterMigrationRelationshipUp($relations) + { + $fields = []; + + foreach ($relations['modified_relations'] as $relation) { + $type = $relation['modify_type'] ?? null; + if (!empty($type)) { + if ($type === 'ADD_FOREIGN_KEY') { + $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); + + if (!empty($relation['on_delete'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); + } + + if (!empty($relation['on_update'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); + } + + $fields[] = $field . ";"; + } + + if ($type === 'CHANGE_FOREIGN_KEY') { + $filteredRelation = "'" . $relation['source_field'] . "'"; + $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); + + $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); + if (!empty($relation['on_delete'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); + } + if (!empty($relation['on_update'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); + } + $fields[] = $field . ";"; + } + } + } + + return $fields; + } + + public static function getMigrationRelationshipDown($relations) + { + $filteredRelation = collect(array_values($relations))->pluck('source_field')->toArray(); + $relation = "'" . implode("', '", $filteredRelation) . "'"; + return sprintf(self::DROP_FOREIGN_KEY, $relation); + } + + public static function getAlterMigrationRelationshipDown($relations) + { + $fields = []; + + foreach ($relations['modified_relations'] as $key => $relation) { + $type = $relation['modify_type'] ?? null; + if (!empty($type)) { + if ($type === 'ADD_FOREIGN_KEY') { + $filteredRelation = "'" . $relation['source_field'] . "'"; + $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); + } + + if ($type === 'CHANGE_FOREIGN_KEY') { + $filteredRelation = "'" . $relation['source_field'] . "'"; + $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); + + $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relations['current_relations'][$key]['target_field'], $relations['current_relations'][$key]['target_table']); + if (!empty($relations['current_relations'][$key]['on_delete'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relations['current_relations'][$key]['on_delete']); + } + if (!empty($relations['current_relations'][$key]['on_update'])) { + $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relations['current_relations'][$key]['on_update']); + } + $fields[] = $field . ";"; + } + } + } + + return $fields; } public static function getMigrationFields($name, $rows) @@ -454,7 +654,7 @@ public static function getMigrationFields($name, $rows) } elseif (in_array($row['field_type'], ['timestamp']) && in_array($row['field_name'], ['deleted_at'])) { $fields[] = sprintf(self::SOFT_DELETE); } else { - if ($row['field_index'] !== null) { + if (!empty($row['field_index']) && $row['field_index'] !== 'foreign') { $index = '->'.self::getMigrationIndexField($row['field_index'], null, $row['field_name']); } else { $index = null; @@ -569,13 +769,21 @@ public static function getAlterMigrationUpFields(array $rows, $table = null) self::getMigrationIndexField($row['field_index'], $current_fields['field_index'], $row['field_name']), ); } elseif ($current_fields['field_index'] !== null && $row['field_index'] === null) { - if ($current_fields['field_index'] !== 'primary') { + if ($current_fields['field_index'] !== 'primary' && $current_fields['field_index'] !== 'foreign') { $stub[] = sprintf( self::DROP_INDEX, ucfirst($current_fields['field_index']), $row['field_name'] ); } + + if ($current_fields['field_index'] === 'foreign') { + $stub[] = sprintf( + self::DROP_INDEX, + 'Index', + $table['current_name'] . '_' . $row['field_name'] . '_foreign' + ); + } } } elseif (in_array('UPDATE_INDEX', $row['modify_type'])) { $stub[] = sprintf( @@ -695,7 +903,7 @@ public static function getAlterMigrationDownFields(array $rows, $table = null) if (! empty(array_intersect($row['modify_type'], ['UPDATE_INDEX', 'UPDATE_INCREMENT']))) { if ($current_fields['field_index'] !== null && $row['field_index'] === null) { - if ($current_fields['field_index'] !== 'primary') { + if ($current_fields['field_index'] !== 'primary' && $current_fields['field_index'] !== 'foreign') { $indexes[] = sprintf( self::CREATE_INDEX, self::getMigrationIndexField($row['field_index'], $current_fields['field_index'], $row['field_name']), @@ -820,7 +1028,7 @@ public static function getMigrationLengthField($field, $fieldType) public static function getMigrationDefaultField($fieldType, $field) { - if ($field !== null) { + if (!empty($field)) { if (in_array($fieldType, ['integer', 'float', 'double', 'decimal'])) { return sprintf(self::FIELD_DEFAULT_DECIMAL, $field); } else { @@ -848,10 +1056,12 @@ public static function getMigrationNullField($field, $oldField = null) public static function getMigrationIndexField($field, $current = null, $name) { - if ($field === null && $current !== null) { - return sprintf(self::FIELD_INDEX, $current, $name); - } elseif ($field !== null && $current === null) { - return sprintf(self::FIELD_INDEX, $field, $name); + if ($field !== 'foreign') { + if ($field === null && $current !== null) { + return sprintf(self::FIELD_INDEX, $current, $name); + } elseif ($field !== null && $current === null) { + return sprintf(self::FIELD_INDEX, $field, $name); + } } } diff --git a/src/resources/js/assets/scss/layout/_custom.scss b/src/resources/js/assets/scss/layout/_custom.scss index a5c2abb7b..8885690b0 100644 --- a/src/resources/js/assets/scss/layout/_custom.scss +++ b/src/resources/js/assets/scss/layout/_custom.scss @@ -220,4 +220,8 @@ a { .vs-avatar--con-img img { object-fit: contain; height: 100%; +} + +.vs-select--options { + z-index: 99999 !important; } \ No newline at end of file diff --git a/src/resources/js/assets/scss/module/_alert.scss b/src/resources/js/assets/scss/module/_alert.scss index 2d3aaf8c4..79c6b5148 100644 --- a/src/resources/js/assets/scss/module/_alert.scss +++ b/src/resources/js/assets/scss/module/_alert.scss @@ -1,7 +1,7 @@ .badaso-alert { &__body { background-color: #f3f5f7; - border-color: var(--danger); + border-color: $danger; border-left-width: .2rem; border-left-style: solid; margin: -15px -15px 0 -15px; @@ -10,6 +10,7 @@ &__title { font-weight: bold; margin-bottom: -.4rem; + color: $danger; } &__description, &__title { diff --git a/src/resources/js/assets/scss/page/_database-management.scss b/src/resources/js/assets/scss/page/_database-management.scss index df1bed694..3243e36c4 100644 --- a/src/resources/js/assets/scss/page/_database-management.scss +++ b/src/resources/js/assets/scss/page/_database-management.scss @@ -27,4 +27,24 @@ &__popup-sync { float: right; } + + &__button-group { + display: flex; + + & > button { + margin: 2px; + } + } + + &__relationship-dialog { + row-gap: 8px; + } + + &__relationship-prompt { + z-index: 29999; + + & .vs-dialog-accept-button { + margin-right: 8px; + } + } } \ No newline at end of file diff --git a/src/resources/js/lang/modules/en.js b/src/resources/js/lang/modules/en.js index b2534e6de..9fc58870f 100644 --- a/src/resources/js/lang/modules/en.js +++ b/src/resources/js/lang/modules/en.js @@ -985,7 +985,7 @@ export default { warning: { title: "IMPORTANT", content: - 'Only the following column types can be "changed": Big Integer, BLOB, Boolean, Date, Datetime, Decimal, Float, Integer, JSON, Long Text, Medium Text, Set, Small Integer, Varchar, Text and Time.', + 'Only the following column types can be "changed": Big Integer, BLOB, Boolean, Date, Datetime, Decimal, Float, Integer, JSON, Long Text, Medium Text, Set, Small Integer, Varchar, Text and Time. Also, every field that you change, it\'ll be recorded when you submit the alter table. If you make some mistakes, you can refresh this page to reset your changes.', crud: "Make sure the table has not been generated with CRUD Management if you want to edit or drop it.", notAllowed: "You're not allowed to edit.", diff --git a/src/resources/js/pages/database-management/add.vue b/src/resources/js/pages/database-management/add.vue index df5bf53a7..0dc65b380 100644 --- a/src/resources/js/pages/database-management/add.vue +++ b/src/resources/js/pages/database-management/add.vue @@ -95,6 +95,7 @@ required :disabled="tr.undeletable" v-model="tr.fieldName" + @input="renameForeignkey(tr)" /> @@ -149,6 +150,7 @@ class="database-management__field-index" v-model="tr.fieldIndex" :disabled="tr.undeletable" + @change="setFieldIndex(tr)" > - - - +
+ + + + + + +
@@ -229,6 +241,42 @@ + + + +

Source Table

+
+ + + + +

Target Table

+
+ + + + + + + + + + + +

Type

+
+ + + + + + + + + + +
+
- + @@ -317,12 +365,30 @@ export default { databaseData: { table: "", rows: [], + relations: {} }, fieldTypeList: [], + relationDialog: false, + tables: [], + fields: [], + selectedField: "" }), validations() { return { databaseData: { + relations: { + $each: { + sourceField: { + required + }, + targetTable: { + required + }, + targetField: { + required + }, + } + }, table: { required, maxLength: maxLength(64), @@ -356,12 +422,98 @@ export default { return this.$databaseHelper.getMigrationIndexList(); }, }, + relationType() { + return this.$databaseHelper.getForeignConstraint(); + } }, mounted() { this.getDbmsFieldType(); this.insertIdToRows(); }, methods: { + renameForeignkey(item) { + if (this.databaseData.relations[item.id]) { + let newVal = item.fieldName + let oldVal = this.databaseData.relations[item.id].sourceField || null + if (newVal !== oldVal) { + this.databaseData.relations[item.id].sourceField = newVal + } + } + }, + setFieldIndex(item) { + if (item.fieldIndex === 'foreign') { + this.$set(this.databaseData.relations, item.id, { + sourceField: item.fieldName, + targetTable: "", + targetField: "", + onDelete: null, + onUpdate: null, + }) + } else { + this.$delete(this.databaseData.relations, item.id) + } + }, + setRelation() { + this.$v.databaseData.relations.$touch(); + if (!this.$v.databaseData.relations.$invalid) { + this.relationDialog = false + } + }, + fetchTableFields() { + this.$openLoader(); + this.$api.badasoTable + .read({ + table: this.databaseData.relations[this.selectedField].targetTable, + }) + .then((response) => { + this.$closeLoader(); + this.fields = response.data.tableFields; + }) + .catch((error) => { + this.$closeLoader(); + this.$vs.notify({ + title: this.$t("alert.danger"), + text: error.message, + color: "danger", + }); + }); + }, + openRelationDialog(item) { + this.selectedField = item.id + this.relationDialog = true + this.getTableList() + }, + cancelRelationDialog() { + this.$v.databaseData.relations.$touch(); + if (this.$v.databaseData.relations.$invalid) { + this.relationDialog = false + this.databaseData.relations[this.selectedField].targetTable = "" + this.databaseData.relations[this.selectedField].targetField = "" + this.databaseData.relations[this.selectedField].onDelete = "" + this.databaseData.relations[this.selectedField].onUpdate = "" + } + }, + getTableList() { + this.$openLoader(); + this.$api.badasoCrud + .browse() + .then((response) => { + this.$closeLoader(); + this.tables = response.data.tablesWithCrudData.map(table => { + return { + value: table.tableName + } + }); + }) + .catch((error) => { + this.$closeLoader(); + this.$vs.notify({ + title: this.$t("alert.danger"), + text: error.message, + color: "danger", + }); + }); + }, getDbmsFieldType() { this.$openLoader(); this.$api.badasoDatabase @@ -431,6 +583,7 @@ export default { addField() { let index = this.databaseData.rows.map(row => row.undeletable).indexOf(true) this.databaseData.rows.splice(index, 0, { + id: this.$helper.uuid(), fieldName: "", fieldType: "", fieldLength: null, @@ -456,46 +609,6 @@ export default { return found; }, - // addTimestamps() { - // if (this.findFieldOnRows("created_at")) { - // this.$vs.notify({ - // title: this.$t("alert.danger"), - // text: this.$t("database.warning.exists", { 0: "created_at" }), - // color: "danger", - // }); - // } else { - // this.databaseData.rows.push({ - // fieldName: "created_at", - // fieldType: "timestamp", - // fieldLength: null, - // fieldNull: true, - // fieldAttribute: false, - // fieldIncrement: false, - // fieldIndex: null, - // fieldDefault: null, - // }); - // } - - // if (this.findFieldOnRows("updated_at")) { - // this.$vs.notify({ - // title: this.$t("alert.danger"), - // text: this.$t("database.warning.exists", { 0: "updated_at" }), - // color: "danger", - // }); - // } else { - // this.databaseData.rows.push({ - // fieldName: "updated_at", - // fieldType: "timestamp", - // fieldLength: null, - // fieldNull: true, - // fieldAttribute: false, - // fieldIncrement: false, - // fieldIndex: null, - // fieldDefault: null, - // }); - // } - // }, - addSoftDeletes() { if (this.findFieldOnRows("deleted_at")) { this.$vs.notify({ @@ -517,13 +630,16 @@ export default { } }, - dropField(index) { + dropField(index, item) { this.$vs.dialog({ type: "confirm", color: "danger", title: this.$t("action.delete.title"), text: this.$t("action.delete.text"), - accept: () => this.databaseData.rows.splice(index, 1), + accept: () => { + this.databaseData.rows.splice(index, 1); + this.$delete(this.databaseData.relations, item.fieldName) + }, acceptText: this.$t("action.delete.accept"), cancelText: this.$t("action.delete.cancel"), }); @@ -531,6 +647,7 @@ export default { insertIdToRows() { this.databaseData.rows.push({ + id: "id", fieldName: "id", fieldType: "bigint", fieldLength: null, diff --git a/src/resources/js/pages/database-management/edit.vue b/src/resources/js/pages/database-management/edit.vue index 4ef6de226..1ae22a183 100644 --- a/src/resources/js/pages/database-management/edit.vue +++ b/src/resources/js/pages/database-management/edit.vue @@ -91,7 +91,7 @@ required :value="tr.fieldName" class="inputx" - @change="alterFieldProperty(tr, $event, 'RENAME', 'fieldName', indextr)" + @change="alterFieldProperty(tr, $event, 'RENAME', 'fieldName', indextr); renameForeignkey(tr)" :disabled="tr.undeletable" /> @@ -173,14 +173,24 @@ - - - +
+ + + + + + +
@@ -264,6 +274,42 @@ + + + +

Source Table

+
+ + + + +

Target Table

+
+ + + + + + + + + + + +

Type

+
+ + + + + + + + + + +
+
- + @@ -331,6 +377,8 @@ import { helpers, } from "vuelidate/lib/validators"; +import _ from 'lodash'; + const alphaNumAndUnderscoreValidator = helpers.regex( "alphaNumAndDot", /^[a-zA-Z\d_]*$/i @@ -369,9 +417,17 @@ export default { currentFields: [], modifiedFields: [], }, + relations: { + currentRelations: {}, + modifiedRelations: {} + } }, isCanEdit: false, fieldTypeList: [], + relationDialog: false, + tables: [], + fields: [], + selectedField: "" }), validations() { return { @@ -416,6 +472,34 @@ export default { required } }, + relations: { + currentRelations: { + $each: { + sourceField: { + required + }, + targetTable: { + required + }, + targetField: { + required + }, + } + }, + modifiedRelations: { + $each: { + sourceField: { + required + }, + targetTable: { + required + }, + targetField: { + required + }, + } + } + } }, }; }, @@ -425,6 +509,9 @@ export default { return this.$databaseHelper.getMigrationIndexList(); }, }, + relationType() { + return this.$databaseHelper.getForeignConstraint(); + } }, mounted() { this.getInfoTable(); @@ -432,6 +519,85 @@ export default { this.getIsCanEdit(); }, methods: { + renameForeignkey(item) { + if (this.databaseData.relations.modifiedRelations[item.id]) { + let newVal = item.fieldName + let oldVal = this.databaseData.relations.modifiedRelations[item.id].sourceField || null + if (newVal !== oldVal) { + this.databaseData.relations.modifiedRelations[item.id].sourceField = newVal + } + } + }, + setRelation() { + let modified = Object.values(this.databaseData.relations.modifiedRelations[this.selectedField]); + let current = Object.values(this.databaseData.relations.currentRelations[this.selectedField]); + this.$v.databaseData.relations.$touch(); + if (!this.$v.databaseData.relations.$invalid) { + this.relationDialog = false + if (modified.length !== current.length) { + this.$set(this.databaseData.relations.modifiedRelations[this.selectedField], 'modifyType', 'ADD_FOREIGN_KEY') + } else { + this.$set(this.databaseData.relations.modifiedRelations[this.selectedField], 'modifyType', 'CHANGE_FOREIGN_KEY') + } + } + }, + fetchTableFields() { + this.$openLoader(); + this.$api.badasoTable + .read({ + table: this.databaseData.relations.modifiedRelations[this.selectedField].targetTable, + }) + .then((response) => { + this.$closeLoader(); + this.fields = response.data.tableFields; + }) + .catch((error) => { + this.$closeLoader(); + this.$vs.notify({ + title: this.$t("alert.danger"), + text: error.message, + color: "danger", + }); + }); + }, + openRelationDialog(item) { + this.selectedField = item.id + this.relationDialog = true + this.getTableList() + + if (this.databaseData.relations.modifiedRelations[this.selectedField].targetTable) { + this.fetchTableFields() + } + }, + cancelRelationDialog() { + this.relationDialog = false + if (this.databaseData.relations.currentRelations.hasOwnProperty(this.selectedField)) { + this.databaseData.relations.modifiedRelations[this.selectedField] = { + ...this.databaseData.relations.currentRelations[this.selectedField] + } + } + }, + getTableList() { + this.$openLoader(); + this.$api.badasoCrud + .browse() + .then((response) => { + this.$closeLoader(); + this.tables = response.data.tablesWithCrudData.map(table => { + return { + value: table.tableName + } + }); + }) + .catch((error) => { + this.$closeLoader(); + this.$vs.notify({ + title: this.$t("alert.danger"), + text: error.message, + color: "danger", + }); + }); + }, getDbmsFieldType() { this.$api.badasoDatabase .getType() @@ -486,6 +652,7 @@ export default { }) .then((response) => { let data = response.data.columns; + let dataFK = response.data.columnsFK; for (const [key, column] of Object.entries(data)) { let id = this.$helper.uuid(); this.databaseData.fields.modifiedFields.push({ @@ -496,12 +663,7 @@ export default { fieldNull: column.notnull ? false : true, fieldAttribute: column.unsigned, fieldIncrement: column.autoincrement, - fieldIndex: - Object.keys(column.indexes).length > 0 - ? Object.values(column.indexes)[0] - .type.toString() - .toLowerCase() - : null, + fieldIndex: this.getFieldIndexes(column.indexes), fieldDefault: column.default, modifyType: [], undeletable: column.name === 'created_at' || column.name === 'updated_at' ? true : false @@ -515,18 +677,20 @@ export default { fieldNull: column.notnull ? false : true, fieldAttribute: column.unsigned, fieldIncrement: column.autoincrement, - fieldIndex: - Object.keys(column.indexes).length > 0 - ? Object.values(column.indexes)[0] - .type.toString() - .toLowerCase() - : null, + fieldIndex: this.getFieldIndexes(column.indexes), fieldDefault: column.default }); + + if (dataFK.hasOwnProperty(key)) { + this.$set(this.databaseData.relations.currentRelations, id, JSON.parse(JSON.stringify(dataFK[key]))) + this.$set(this.databaseData.relations.modifiedRelations, id, JSON.parse(JSON.stringify(dataFK[key]))) + } } this.databaseData.table.currentName = this.$route.params.tableName; this.databaseData.table.modifiedName = this.$route.params.tableName; + // this.databaseData.relations.currentRelations = JSON.parse(JSON.stringify(response.data.columnsFK)) + // this.databaseData.relations.modifiedRelations = JSON.parse(JSON.stringify(response.data.columnsFK)) this.$closeLoader(); }) .catch((error) => { @@ -539,6 +703,16 @@ export default { }); }, + getFieldIndexes(indexes) { + if (!_.isEmpty(indexes)) { + if (Object.values(indexes)[0].name.includes('foreign')) { + return 'foreign' + } + return Object.values(indexes)[0].type.toString().toLowerCase() + } + return null + }, + submitForm() { this.$v.databaseData.$touch(); if (!this.$v.databaseData.$invalid) { @@ -621,53 +795,30 @@ export default { return found; }, - // addTimestamps() { - // if (this.findFieldOnRows("created_at")) { - // this.$vs.notify({ - // title: this.$t("alert.danger"), - // text: this.$t("database.warning.exists", { 0: "created_at" }), - // color: "danger", - // }); - // } else { - // this.databaseData.fields.modifiedFields.push({ - // id: this.$helper.uuid(), - // fieldName: "created_at", - // fieldType: "timestamp", - // fieldLength: null, - // fieldNull: true, - // fieldAttribute: false, - // fieldIncrement: false, - // fieldIndex: null, - // fieldDefault: null, - // modifyType: [ - // 'CREATE' - // ] - // }); - // } - - // if (this.findFieldOnRows("updated_at")) { - // this.$vs.notify({ - // title: this.$t("alert.danger"), - // text: this.$t("database.warning.exists", { 0: "updated_at" }), - // color: "danger", - // }); - // } else { - // this.databaseData.fields.modifiedFields.push({ - // id: this.$helper.uuid(), - // fieldName: "updated_at", - // fieldType: "timestamp", - // fieldLength: null, - // fieldNull: true, - // fieldAttribute: false, - // fieldIncrement: false, - // fieldIndex: null, - // fieldDefault: null, - // modifyType: [ - // 'CREATE' - // ] - // }); - // } - // }, + addSoftDeletes() { + if (this.findFieldOnRows("deleted_at")) { + this.$vs.notify({ + title: this.$t("alert.danger"), + text: this.$t("database.warning.exists", { 0: "deleted_at" }), + color: "danger", + }); + } else { + this.databaseData.fields.modifiedFields.push({ + id: this.$helper.uuid(), + fieldName: "deleted_at", + fieldType: "timestamp", + fieldLength: null, + fieldNull: true, + fieldAttribute: false, + fieldIncrement: false, + fieldIndex: null, + fieldDefault: "", + modifyType: [ + 'CREATE' + ] + }); + } + }, dropField(item, index) { this.$vs.dialog({ @@ -683,11 +834,50 @@ export default { saveDrop(item, index) { this.databaseData.fields.modifiedFields.splice(index, 1) + if (item.fieldIndex === 'foreign') { + this.databaseData.relations.modifiedRelations[item.id].modifyType = 'DROP_FOREIGN_KEY' + + if (this.databaseData.relations.modifiedRelations[item.id].hasOwnProperty('new')) { + this.$delete(this.databaseData.relations.modifiedRelations, item.id) + } + } }, alterFieldProperty(item, event, eventType, field, indexRow) { let oldValue = item[field] let newValue = null + let modifiedRelation = this.databaseData.relations.modifiedRelations[item.id] || null + + if (field === 'fieldIndex') { + if (modifiedRelation === null) { + if (event === 'foreign') { + this.$set(this.databaseData.relations.modifiedRelations, item.id, { + modifyType: "ADD_FOREIGN_KEY", + sourceField: item.fieldName, + targetTable: "", + targetField: "", + onDelete: null, + onUpdate: null, + new: true + }) + eventType = null + } + } else { + if (this.databaseData.relations.modifiedRelations[item.id].hasOwnProperty('new')) { + if (newValue !== 'foreign' && oldValue === 'foreign') { + this.$delete(this.databaseData.relations.modifiedRelations, item.id) + } + } else { + if (newValue === 'foreign' && oldValue === null) { + this.$delete(this.databaseData.relations.modifiedRelations[item.id], 'modifyType') + } else if (newValue === null && oldValue === null) { + this.$delete(this.databaseData.relations.modifiedRelations[item.id], 'modifyType') + } else { + this.$set(this.databaseData.relations.modifiedRelations[item.id], 'modifyType', 'DROP_FOREIGN_KEY') + } + } + } + } if (field === 'fieldType' || field === 'fieldIndex') { newValue = event @@ -706,7 +896,7 @@ export default { isNew = false } - if (isNew) { + if (isNew && eventType) { item.modifyType.push(eventType); } @@ -714,7 +904,7 @@ export default { if (item.id === value.id) { if (newValue == value[field]) { let itemIndex = item.modifyType.indexOf(eventType); - + if (itemIndex > -1) { item.modifyType.splice(itemIndex, 1); } diff --git a/src/resources/js/utils/database-helper.js b/src/resources/js/utils/database-helper.js index b27a33ce7..0daf98522 100644 --- a/src/resources/js/utils/database-helper.js +++ b/src/resources/js/utils/database-helper.js @@ -16,6 +16,31 @@ export default { value: "primary", default: false, }, + { + label: "Foreign", + value: "foreign", + default: false, + } ]; }, + getForeignConstraint() { + return [ + { + label: "CASCADE", + value: "cascade" + }, + { + label: "SET NULL", + value: "set null" + }, + { + label: "NO ACTION", + value: "no action" + }, + { + label: "RESTRICT", + value: "restrict" + }, + ] + } }; From adb56ef1745245505d1dc47894f4224d5c57b146 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 8 Jul 2021 09:49:29 +0000 Subject: [PATCH 02/15] Apply fixes from StyleCI --- src/ContentManager/FileGenerator.php | 16 ++--- src/Controllers/BadasoDatabaseController.php | 10 +-- src/Helpers/MigrationParser.php | 76 ++++++++++---------- 3 files changed, 52 insertions(+), 50 deletions(-) diff --git a/src/ContentManager/FileGenerator.php b/src/ContentManager/FileGenerator.php index f6e476f78..01b91d25e 100644 --- a/src/ContentManager/FileGenerator.php +++ b/src/ContentManager/FileGenerator.php @@ -301,13 +301,13 @@ public function generateBDOMigrationFile(string $table_name, string $prefix, arr $migration_file = $this->file_system->getMigrationFile($migration_file_name, $migration_folder_path); - $schema_up = ""; - $schema_down = ""; + $schema_up = ''; + $schema_down = ''; $schema_up .= $this->migration_parser->getMigrationSchemaUp($table_name, $rows, $prefix); - if (!empty($relations)) { - $schema_up .= PHP_EOL.PHP_EOL . $this->migration_parser->getMigrationRelationshipSchemaUp($table_name, $relations); - $schema_down .= $this->migration_parser->getMigrationRelationshipSchemaDown($table_name, $relations) . PHP_EOL . PHP_EOL; + if (! empty($relations)) { + $schema_up .= PHP_EOL.PHP_EOL.$this->migration_parser->getMigrationRelationshipSchemaUp($table_name, $relations); + $schema_down .= $this->migration_parser->getMigrationRelationshipSchemaDown($table_name, $relations).PHP_EOL.PHP_EOL; } $schema_down .= $this->migration_parser->getMigrationSchemaDown($table_name, $rows, $prefix); @@ -345,13 +345,13 @@ public function generateBDOAlterMigrationFile(array $table, array $rows = null, $migration_file = $this->file_system->getMigrationFile($migration_file_name, $migration_folder_path); - $schema_up = ""; - $schema_down = ""; + $schema_up = ''; + $schema_down = ''; $schema_up .= $this->migration_parser->getAlterMigrationSchemaUp($table, $rows, $prefix, $relations); if (array_key_exists('current_relations', $relations) && count($relations['current_relations']) > 0) { $schema_up .= $this->migration_parser->getAlterMigrationRelationshipSchemaUp($table, $relations); - $schema_down .= $this->migration_parser->getAlterMigrationRelationshipSchemaDown($table, $relations) . PHP_EOL; + $schema_down .= $this->migration_parser->getAlterMigrationRelationshipSchemaDown($table, $relations).PHP_EOL; } $schema_down .= $this->migration_parser->getAlterMigrationSchemaDown($table, $rows, $prefix, $relations); diff --git a/src/Controllers/BadasoDatabaseController.php b/src/Controllers/BadasoDatabaseController.php index 4315fadb4..21769f381 100644 --- a/src/Controllers/BadasoDatabaseController.php +++ b/src/Controllers/BadasoDatabaseController.php @@ -337,16 +337,18 @@ public function getDbmsFieldType() } } - public function dumpObject($object) { - if(!is_object($object)){ + public function dumpObject($object) + { + if (! is_object($object)) { return false; } $reflection = new \ReflectionObject($object); - $properties = array(); - foreach($reflection->getProperties() as $property){ + $properties = []; + foreach ($reflection->getProperties() as $property) { $property->setAccessible(true); $properties[$property->getName()] = $property->getValue($object); } + return array_merge((array) $reflection->getConstants(), $properties); } } diff --git a/src/Helpers/MigrationParser.php b/src/Helpers/MigrationParser.php index ded21e668..1c8de475a 100644 --- a/src/Helpers/MigrationParser.php +++ b/src/Helpers/MigrationParser.php @@ -181,8 +181,8 @@ public static function getMigrationRelationshipSchemaUp($name, $relations) public static function getAlterMigrationRelationshipSchemaUp($name, $relations) { - if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipUp($relations)) !== "") { - return sprintf(self::ALTER_WRAPPER, + if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipUp($relations)) !== '') { + return sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipUp($relations)) ); @@ -196,8 +196,8 @@ public static function getMigrationRelationshipSchemaDown($name, $relations) public static function getAlterMigrationRelationshipSchemaDown($name, $relations) { - if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipDown($relations)) !== "") { - return sprintf(self::ALTER_WRAPPER, + if (implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipDown($relations)) !== '') { + return sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), self::getAlterMigrationRelationshipDown($relations)) ); @@ -243,13 +243,12 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null, $ $rows = self::formatRows($rows); - if (!empty($relations)) { + if (! empty($relations)) { foreach ($relations['modified_relations'] as $key => $relation) { if (array_key_exists('modify_type', $relation) && $relation['modify_type'] === 'DROP_FOREIGN_KEY') { $dropped_fk++; $fk[] = $relation; } - } } @@ -302,7 +301,7 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null, $ if ($dropped_fk > 0) { $fk_fields = []; foreach ($fk as $key => $value) { - $fk_fields[] = sprintf(self::DROP_FOREIGN_KEY, "'" . $value['source_field'] . "'"); + $fk_fields[] = sprintf(self::DROP_FOREIGN_KEY, "'".$value['source_field']."'"); } $dropped_fk_field = sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), $fk_fields)); } @@ -377,7 +376,7 @@ public static function getAlterMigrationSchemaUp($name, $rows, $prefix = null, $ } } - return ($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null) . $stub; + return ($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null).$stub; } public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix = null, $relations = []) @@ -401,7 +400,7 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix $alter = []; $fk = []; - if (!empty($relations)) { + if (! empty($relations)) { foreach ($relations['modified_relations'] as $key => $relation) { if (array_key_exists('modify_type', $relation) && $relation['modify_type'] === 'DROP_FOREIGN_KEY') { $dropped_fk++; @@ -463,13 +462,13 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix foreach ($fk as $key => $value) { $temp_field = sprintf(self::ADD_FOREIGN_KEY, $value['source_field'], $value['target_field'], $value['target_table']); - if (!empty($value['on_delete'])) { + if (! empty($value['on_delete'])) { $temp_field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $value['on_delete']); } - if (!empty($value['on_update'])) { + if (! empty($value['on_update'])) { $temp_field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $value['on_update']); } - $fk_fields[] = $temp_field . ";"; + $fk_fields[] = $temp_field.';'; } $dropped_fk_field = sprintf(self::ALTER_WRAPPER, $name['current_name'], implode(PHP_EOL.chr(9).chr(9).chr(9), $fk_fields)); @@ -542,7 +541,7 @@ public static function getAlterMigrationSchemaDown($name, $rows = null, $prefix } } - return $stub . ($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null); + return $stub.($dropped_fk_field ? $dropped_fk_field.PHP_EOL.PHP_EOL : null); } public static function getMigrationRelationshipUp($name, $relations) @@ -552,15 +551,15 @@ public static function getMigrationRelationshipUp($name, $relations) foreach ($relations as $relation) { $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); - if (!empty($relation['on_delete'])) { + if (! empty($relation['on_delete'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); } - if (!empty($relation['on_update'])) { + if (! empty($relation['on_update'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); } - $fields[] = $field . ";"; + $fields[] = $field.';'; } return $fields; @@ -572,33 +571,33 @@ public static function getAlterMigrationRelationshipUp($relations) foreach ($relations['modified_relations'] as $relation) { $type = $relation['modify_type'] ?? null; - if (!empty($type)) { + if (! empty($type)) { if ($type === 'ADD_FOREIGN_KEY') { $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); - - if (!empty($relation['on_delete'])) { + + if (! empty($relation['on_delete'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); } - - if (!empty($relation['on_update'])) { + + if (! empty($relation['on_update'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); } - - $fields[] = $field . ";"; + + $fields[] = $field.';'; } if ($type === 'CHANGE_FOREIGN_KEY') { - $filteredRelation = "'" . $relation['source_field'] . "'"; + $filteredRelation = "'".$relation['source_field']."'"; $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relation['target_field'], $relation['target_table']); - if (!empty($relation['on_delete'])) { + if (! empty($relation['on_delete'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relation['on_delete']); } - if (!empty($relation['on_update'])) { + if (! empty($relation['on_update'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relation['on_update']); } - $fields[] = $field . ";"; + $fields[] = $field.';'; } } } @@ -609,7 +608,8 @@ public static function getAlterMigrationRelationshipUp($relations) public static function getMigrationRelationshipDown($relations) { $filteredRelation = collect(array_values($relations))->pluck('source_field')->toArray(); - $relation = "'" . implode("', '", $filteredRelation) . "'"; + $relation = "'".implode("', '", $filteredRelation)."'"; + return sprintf(self::DROP_FOREIGN_KEY, $relation); } @@ -619,24 +619,24 @@ public static function getAlterMigrationRelationshipDown($relations) foreach ($relations['modified_relations'] as $key => $relation) { $type = $relation['modify_type'] ?? null; - if (!empty($type)) { + if (! empty($type)) { if ($type === 'ADD_FOREIGN_KEY') { - $filteredRelation = "'" . $relation['source_field'] . "'"; + $filteredRelation = "'".$relation['source_field']."'"; $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); } - + if ($type === 'CHANGE_FOREIGN_KEY') { - $filteredRelation = "'" . $relation['source_field'] . "'"; + $filteredRelation = "'".$relation['source_field']."'"; $fields[] = sprintf(self::DROP_FOREIGN_KEY, $filteredRelation); $field = sprintf(self::ADD_FOREIGN_KEY, $relation['source_field'], $relations['current_relations'][$key]['target_field'], $relations['current_relations'][$key]['target_table']); - if (!empty($relations['current_relations'][$key]['on_delete'])) { + if (! empty($relations['current_relations'][$key]['on_delete'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_DELETE, $relations['current_relations'][$key]['on_delete']); } - if (!empty($relations['current_relations'][$key]['on_update'])) { + if (! empty($relations['current_relations'][$key]['on_update'])) { $field .= sprintf(self::ADD_FOREIGN_KEY_ON_UPDATE, $relations['current_relations'][$key]['on_update']); } - $fields[] = $field . ";"; + $fields[] = $field.';'; } } } @@ -654,7 +654,7 @@ public static function getMigrationFields($name, $rows) } elseif (in_array($row['field_type'], ['timestamp']) && in_array($row['field_name'], ['deleted_at'])) { $fields[] = sprintf(self::SOFT_DELETE); } else { - if (!empty($row['field_index']) && $row['field_index'] !== 'foreign') { + if (! empty($row['field_index']) && $row['field_index'] !== 'foreign') { $index = '->'.self::getMigrationIndexField($row['field_index'], null, $row['field_name']); } else { $index = null; @@ -781,7 +781,7 @@ public static function getAlterMigrationUpFields(array $rows, $table = null) $stub[] = sprintf( self::DROP_INDEX, 'Index', - $table['current_name'] . '_' . $row['field_name'] . '_foreign' + $table['current_name'].'_'.$row['field_name'].'_foreign' ); } } @@ -1028,7 +1028,7 @@ public static function getMigrationLengthField($field, $fieldType) public static function getMigrationDefaultField($fieldType, $field) { - if (!empty($field)) { + if (! empty($field)) { if (in_array($fieldType, ['integer', 'float', 'double', 'decimal'])) { return sprintf(self::FIELD_DEFAULT_DECIMAL, $field); } else { From ea9eb9b0954dbea666d2a9e707db66dc5ab4c2af Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 8 Jul 2021 16:59:29 +0700 Subject: [PATCH 03/15] Delete unused function --- src/Controllers/BadasoDatabaseController.php | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/Controllers/BadasoDatabaseController.php b/src/Controllers/BadasoDatabaseController.php index 4315fadb4..5325155e8 100644 --- a/src/Controllers/BadasoDatabaseController.php +++ b/src/Controllers/BadasoDatabaseController.php @@ -336,17 +336,4 @@ public function getDbmsFieldType() return ApiResponse::failed($e); } } - - public function dumpObject($object) { - if(!is_object($object)){ - return false; - } - $reflection = new \ReflectionObject($object); - $properties = array(); - foreach($reflection->getProperties() as $property){ - $property->setAccessible(true); - $properties[$property->getName()] = $property->getValue($object); - } - return array_merge((array) $reflection->getConstants(), $properties); - } } From c005f54fcd6dc782881133aee15458026b572401 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 8 Jul 2021 17:00:09 +0700 Subject: [PATCH 04/15] Delete unused function --- src/Controllers/BadasoDatabaseController.php | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/Controllers/BadasoDatabaseController.php b/src/Controllers/BadasoDatabaseController.php index 07e9918f3..5325155e8 100644 --- a/src/Controllers/BadasoDatabaseController.php +++ b/src/Controllers/BadasoDatabaseController.php @@ -336,22 +336,4 @@ public function getDbmsFieldType() return ApiResponse::failed($e); } } -<<<<<<< HEAD -======= - - public function dumpObject($object) - { - if (! is_object($object)) { - return false; - } - $reflection = new \ReflectionObject($object); - $properties = []; - foreach ($reflection->getProperties() as $property) { - $property->setAccessible(true); - $properties[$property->getName()] = $property->getValue($object); - } - - return array_merge((array) $reflection->getConstants(), $properties); - } ->>>>>>> a452a27a75d9d1bfad18336ede649df4ff3292de } From c9d8fba3f031dc47291bcfc5fe72f6fa4f069a31 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 11:32:54 +0700 Subject: [PATCH 05/15] Add table prefix options, update lock file, fix some css --- composer.lock | 2610 +++++++++-------- src/Badaso.php | 262 +- src/Commands/BadasoSetup.php | 1 + src/Config/activitylog.php | 52 + src/Config/badaso-hidden-tables.php | 1 + src/Config/badaso.php | 3 + src/ContentManager/ContentManager.php | 2 +- src/Controllers/BadasoAuthController.php | 39 +- src/Controllers/BadasoBaseController.php | 2 +- src/Controllers/BadasoCRUDController.php | 12 +- .../BadasoConfigurationsController.php | 2 +- src/Controllers/BadasoDatabaseController.php | 2 +- src/Controllers/BadasoMenuController.php | 66 +- .../BadasoPermissionController.php | 10 +- src/Controllers/BadasoRoleController.php | 10 +- .../BadasoRolePermissionController.php | 11 +- src/Controllers/BadasoTableController.php | 6 +- src/Controllers/BadasoUserController.php | 10 +- src/Controllers/BadasoUserRoleController.php | 11 +- src/Controllers/Controller.php | 11 +- src/Helpers/AuthenticatedUser.php | 15 +- ...11_12_000000_create_badaso_users_table.php | 38 + ...00_create_badaso_password_resets_table.php | 33 + .../2020_11_13_064800_create_data_type.php | 11 +- ...020_11_18_014827_create_configurations.php | 4 +- .../2020_11_18_014939_create_roles.php | 4 +- .../2020_11_18_014950_create_permissions.php | 4 +- .../2020_11_18_015020_create_menus.php | 4 +- .../2020_11_18_015029_create_menu_items.php | 4 +- ...020_11_18_015341_add_badaso_user_field.php | 50 - .../2020_11_18_015852_create_user_roles.php | 14 +- ...0_11_18_020028_create_role_permissions.php | 8 +- ...03_09_064445_create_user_verifications.php | 4 +- .../2021_03_12_073541_create_email_resets.php | 4 +- ...2_create_firebase_cloud_messages_table.php | 6 +- ..._28_004319_create_f_c_m_messages_table.php | 8 +- src/Models/Configuration.php | 12 + src/Models/DataRow.php | 11 +- src/Models/DataType.php | 11 +- src/Models/EmailReset.php | 11 + src/Models/FCMMessage.php | 11 + src/Models/FirebaseCloudMessages.php | 11 + src/Models/FirebaseServices.php | 26 - src/Models/Menu.php | 11 + src/Models/MenuItem.php | 11 + src/Models/PasswordReset.php | 21 + src/Models/Permission.php | 31 + src/Models/Role.php | 15 +- src/Models/RolePermission.php | 13 +- src/Models/User.php | 11 + src/Models/UserRole.php | 11 + src/Models/UserVerification.php | 11 + .../Configurations/FixedMenuItemSeeder.php | 6 +- src/Seeder/Configurations/MenusSeeder.php | 7 +- src/Seeder/Configurations/RolesSeeder.php | 7 +- .../Configurations/SiteManagementSeeder.php | 5 +- src/resources/js/assets/scss/page/_home.scss | 23 + src/resources/js/assets/scss/page/index.scss | 1 + src/resources/js/pages/home.vue | 33 +- .../js/pages/user-management/add.vue | 4 +- .../js/pages/user-management/edit.vue | 2 +- 61 files changed, 2011 insertions(+), 1639 deletions(-) create mode 100644 src/Config/activitylog.php create mode 100644 src/Migrations/2020_11_12_000000_create_badaso_users_table.php create mode 100644 src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php delete mode 100644 src/Migrations/2020_11_18_015341_add_badaso_user_field.php delete mode 100644 src/Models/FirebaseServices.php create mode 100644 src/Models/PasswordReset.php create mode 100644 src/resources/js/assets/scss/page/_home.scss diff --git a/composer.lock b/composer.lock index 07343f6e4..1f687375b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,94 +4,43 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3e94c16c452b266da3d40de05428f62b", + "content-hash": "0885e31a6208268e668e37e42e4539af", "packages": [ - { - "name": "anahkiasen/underscore-php", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/Anahkiasen/underscore-php.git", - "reference": "48f97b295c82d99c1fe10d8b0684c43f051b5580" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/underscore-php/zipball/48f97b295c82d99c1fe10d8b0684c43f051b5580", - "reference": "48f97b295c82d99c1fe10d8b0684c43f051b5580", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^1.0", - "patchwork/utf8": "^1.2", - "php": ">=5.4.0" - }, - "require-dev": { - "fabpot/php-cs-fixer": "2.0.*@dev", - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Underscore\\": [ - "src", - "tests" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maxime Fabre", - "email": "ehtnam6@gmail.com" - } - ], - "description": "A redacted port of Underscore.js for PHP", - "keywords": [ - "internals", - "laravel", - "toolkit" - ], - "support": { - "issues": "https://github.com/Anahkiasen/underscore-php/issues", - "source": "https://github.com/Anahkiasen/underscore-php/tree/develop" - }, - "abandoned": true, - "time": "2015-05-16T19:24:58+00:00" - }, { "name": "arcanedev/log-viewer", - "version": "4.7.3", + "version": "8.1.0", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/LogViewer.git", - "reference": "bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6" + "reference": "c302c406ea7e0a5def75aac2e7ef1669caca6d63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6", - "reference": "bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6", + "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/c302c406ea7e0a5def75aac2e7ef1669caca6d63", + "reference": "c302c406ea7e0a5def75aac2e7ef1669caca6d63", "shasum": "" }, "require": { - "arcanedev/support": "~4.5.0", + "arcanedev/support": "^8.0", "ext-json": "*", - "php": ">=7.1.3", - "psr/log": "~1.0" + "php": "^7.3|^8.0", + "psr/log": "^1.1" }, "require-dev": { - "mockery/mockery": "~1.0", - "orchestra/testbench": "~3.8.0", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" + "laravel/framework": "^8.19", + "mockery/mockery": "^1.4.2", + "orchestra/testbench-core": "^6.4", + "phpunit/phpunit": "^9.3.3" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "8.x-dev" + }, "laravel": { "providers": [ - "Arcanedev\\LogViewer\\LogViewerServiceProvider" + "Arcanedev\\LogViewer\\LogViewerServiceProvider", + "Arcanedev\\LogViewer\\Providers\\DeferredServicesProvider" ] } }, @@ -100,7 +49,6 @@ "Arcanedev\\LogViewer\\": "src/" }, "files": [ - "constants.php", "helpers.php" ] }, @@ -116,7 +64,7 @@ "role": "Developer" } ], - "description": "Provides a Log Viewer for Laravel 5", + "description": "Provides a Log Viewer for Laravel", "homepage": "https://github.com/ARCANEDEV/LogViewer", "keywords": [ "arcanedev", @@ -129,41 +77,45 @@ ], "support": { "issues": "https://github.com/ARCANEDEV/LogViewer/issues", - "source": "https://github.com/ARCANEDEV/LogViewer/tree/v4.7" + "source": "https://github.com/ARCANEDEV/LogViewer/tree/8.1.0" }, - "time": "2019-09-12T19:13:38+00:00" + "time": "2021-02-26T17:24:57+00:00" }, { "name": "arcanedev/support", - "version": "4.5.0", + "version": "8.1.0", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/Support.git", - "reference": "2bb6e901404a12caa440520676b6507569d20715" + "reference": "b161c3c080b314e832410295011625721fbd3a2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/2bb6e901404a12caa440520676b6507569d20715", - "reference": "2bb6e901404a12caa440520676b6507569d20715", + "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/b161c3c080b314e832410295011625721fbd3a2f", + "reference": "b161c3c080b314e832410295011625721fbd3a2f", "shasum": "" }, "require": { - "illuminate/filesystem": "~5.8.0", - "illuminate/support": "~5.8.0", - "php": ">=7.1.3" + "illuminate/contracts": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" }, "require-dev": { - "orchestra/testbench": "~3.8.0", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" + "laravel/framework": "^8.0", + "orchestra/testbench": "^6.0", + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "8.x-dev" + } + }, "autoload": { "psr-4": { "Arcanedev\\Support\\": "src/" }, "files": [ - "constants.php", "helpers.php" ] }, @@ -188,22 +140,22 @@ ], "support": { "issues": "https://github.com/ARCANEDEV/Support/issues", - "source": "https://github.com/ARCANEDEV/Support/tree/master" + "source": "https://github.com/ARCANEDEV/Support/tree/8.1.0" }, - "time": "2019-02-27T18:33:30+00:00" + "time": "2020-11-27T17:09:38+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.184.7", + "version": "3.185.11", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d5d5fe5fdfca6c7a56f2f8364d09c3100d5c2149" + "reference": "fee396b3e137cc2ec9ae94159d01dd1ed15d8c40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d5d5fe5fdfca6c7a56f2f8364d09c3100d5c2149", - "reference": "d5d5fe5fdfca6c7a56f2f8364d09c3100d5c2149", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fee396b3e137cc2ec9ae94159d01dd1ed15d8c40", + "reference": "fee396b3e137cc2ec9ae94159d01dd1ed15d8c40", "shasum": "" }, "require": { @@ -278,46 +230,103 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.184.7" + "source": "https://github.com/aws/aws-sdk-php/tree/3.185.11" + }, + "time": "2021-07-12T18:13:46+00:00" + }, + { + "name": "brick/math", + "version": "0.9.2", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.2" }, - "time": "2021-06-21T18:37:16+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2021-01-20T22:51:39+00:00" }, { "name": "darkaonline/l5-swagger", - "version": "5.8.5", + "version": "8.0.7", "source": { "type": "git", "url": "https://github.com/DarkaOnLine/L5-Swagger.git", - "reference": "fddbeed402553c7548e3389d2c501c4fdad57dbe" + "reference": "5e3d9c067797ebc35304d20acd94aeb40cde2825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/fddbeed402553c7548e3389d2c501c4fdad57dbe", - "reference": "fddbeed402553c7548e3389d2c501c4fdad57dbe", + "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/5e3d9c067797ebc35304d20acd94aeb40cde2825", + "reference": "5e3d9c067797ebc35304d20acd94aeb40cde2825", "shasum": "" }, "require": { - "laravel/framework": "5.6.*|5.7.*|5.8.*", - "php": ">=7.1.3", + "ext-json": "*", + "laravel/framework": ">=8.40.0 || ^7.0", + "php": "^7.2 || ^8.0", "swagger-api/swagger-ui": "^3.0", - "symfony/yaml": "^4.1", - "zircote/swagger-php": "~2.0|3.*" + "symfony/yaml": "^5.0", + "zircote/swagger-php": "3.*" }, "require-dev": { "mockery/mockery": "1.*", - "orchestra/testbench": "3.6.*|3.8.*", + "orchestra/testbench": "6.* || 5.*", "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "7.*" - }, - "suggest": { - "zircote/swagger-php:~2.0": "!!! Require Swagger-PHP ~2.0 for @SWG annotations support !!!" + "phpunit/phpunit": "8.*" }, "type": "library", "extra": { "laravel": { "providers": [ "L5Swagger\\L5SwaggerServiceProvider" - ] + ], + "aliases": { + "L5Swagger": "L5Swagger\\L5SwaggerFacade" + } } }, "autoload": { @@ -338,15 +347,19 @@ "email": "darius@matulionis.lt" } ], - "description": "Swagger integration to Laravel 5", + "description": "OpenApi or Swagger integration to Laravel", "keywords": [ "api", + "documentation", "laravel", - "swagger" + "openapi", + "specification", + "swagger", + "ui" ], "support": { "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", - "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/5.8.x" + "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.0.7" }, "funding": [ { @@ -354,7 +367,7 @@ "type": "github" } ], - "time": "2020-08-21T05:39:35+00:00" + "time": "2021-07-12T06:31:40+00:00" }, { "name": "doctrine/annotations", @@ -774,26 +787,26 @@ }, { "name": "doctrine/inflector", - "version": "1.4.4", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9" + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", - "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", @@ -804,7 +817,6 @@ }, "autoload": { "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector", "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, @@ -850,7 +862,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/1.4.4" + "source": "https://github.com/doctrine/inflector/tree/2.0.x" }, "funding": [ { @@ -866,7 +878,7 @@ "type": "tidelift" } ], - "time": "2021-04-16T17:34:40+00:00" + "time": "2020-05-29T15:13:26+00:00" }, { "name": "doctrine/lexer", @@ -950,30 +962,32 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v2.3.1", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2" + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "reference": "65b2d8ee1f10915efb3b55597da3404f096acba2", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "php": "^7.2|^8.0", + "webmozart/assert": "^1.7.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^6.4|^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12.7", + "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -984,11 +998,6 @@ "MIT" ], "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, { "name": "Chris Tankersley", "email": "chris@ctankersley.com", @@ -1002,7 +1011,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" }, "funding": [ { @@ -1010,7 +1019,7 @@ "type": "github" } ], - "time": "2020-10-13T00:52:37+00:00" + "time": "2020-11-24T19:55:57+00:00" }, { "name": "egulias/email-validator", @@ -1080,68 +1089,18 @@ ], "time": "2020-12-29T14:50:06+00:00" }, - { - "name": "erusev/parsedown", - "version": "1.8.0-beta-7", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955", - "reference": "fe7a50eceb4a3c867cc9fa9c0aa906b1067d1955", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "support": { - "issues": "https://github.com/erusev/parsedown/issues", - "source": "https://github.com/erusev/parsedown/tree/1.8.0-beta-7" - }, - "time": "2019-03-17T18:47:21+00:00" - }, { "name": "firebase/php-jwt", - "version": "v5.3.0", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1" + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/3c2d70f2e64e2922345e89f2ceae47d2463faae1", - "reference": "3c2d70f2e64e2922345e89f2ceae47d2463faae1", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d2113d9b2e0e349796e72d2a63cf9319100382d2", + "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2", "shasum": "" }, "require": { @@ -1150,6 +1109,9 @@ "require-dev": { "phpunit/phpunit": ">=4.8 <=9" }, + "suggest": { + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, "type": "library", "autoload": { "psr-4": { @@ -1180,27 +1142,27 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v5.3.0" + "source": "https://github.com/firebase/php-jwt/tree/v5.4.0" }, - "time": "2021-05-20T17:37:02+00:00" + "time": "2021-06-23T19:00:23+00:00" }, { "name": "google/apiclient", - "version": "v2.9.2", + "version": "v2.10.1", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client.git", - "reference": "e9ef4c26a044b8d39a46bcf296be795fe24a1849" + "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/e9ef4c26a044b8d39a46bcf296be795fe24a1849", - "reference": "e9ef4c26a044b8d39a46bcf296be795fe24a1849", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/11871e94006ce7a419bb6124d51b6f9ace3f679b", + "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b", "shasum": "" }, "require": { "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0", - "google/apiclient-services": "~0.13", + "google/apiclient-services": "~0.200", "google/auth": "^1.10", "guzzlehttp/guzzle": "~5.3.3||~6.0||~7.0", "guzzlehttp/psr7": "^1.2", @@ -1249,22 +1211,22 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client/issues", - "source": "https://github.com/googleapis/google-api-php-client/tree/v2.9.2" + "source": "https://github.com/googleapis/google-api-php-client/tree/v2.10.1" }, - "time": "2021-06-09T22:15:08+00:00" + "time": "2021-06-25T14:25:44+00:00" }, { "name": "google/apiclient-services", - "version": "v0.201.0", + "version": "v0.203.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "0375af405757b36f3bcc82e19d7daf61e0b4cfd8" + "reference": "e397f35251a49e0f4284d5f7d934164ca1274066" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/0375af405757b36f3bcc82e19d7daf61e0b4cfd8", - "reference": "0375af405757b36f3bcc82e19d7daf61e0b4cfd8", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/e397f35251a49e0f4284d5f7d934164ca1274066", + "reference": "e397f35251a49e0f4284d5f7d934164ca1274066", "shasum": "" }, "require": { @@ -1293,9 +1255,9 @@ ], "support": { "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.201.0" + "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.203.0" }, - "time": "2021-06-18T15:00:35+00:00" + "time": "2021-07-10T11:20:23+00:00" }, { "name": "google/auth", @@ -1356,32 +1318,27 @@ }, { "name": "graham-campbell/guzzle-factory", - "version": "v3.0.4", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Guzzle-Factory.git", - "reference": "618cf7220b177c6d9939a36331df937739ffc596" + "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/618cf7220b177c6d9939a36331df937739ffc596", - "reference": "618cf7220b177c6d9939a36331df937739ffc596", + "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", + "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^6.2", - "php": "^7.0|^8.0" + "guzzlehttp/guzzle": "^7.2", + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "graham-campbell/analyzer": "^2.4", - "phpunit/phpunit": "^6.5|^7.0|^8.0" + "graham-campbell/analyzer": "^3.0.4", + "phpunit/phpunit": "^8.5.8 || ^9.3.7" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "autoload": { "psr-4": { "GrahamCampbell\\GuzzleFactory\\": "src/" @@ -1408,7 +1365,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Guzzle-Factory/issues", - "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/3.0" + "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v5.0.0" }, "funding": [ { @@ -1420,41 +1377,114 @@ "type": "tidelift" } ], - "time": "2020-05-02T14:45:48+00:00" + "time": "2021-01-24T20:39:09+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", + "shasum": "" + }, + "require": { + "php": "^7.0|^8.0", + "phpoption/phpoption": "^1.7.3" + }, + "require-dev": { + "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2020-04-13T13:17:36+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "7.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "7008573787b430c1c1f650e3722d9bba59967628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", + "reference": "7008573787b430c1c1f650e3722d9bba59967628", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "guzzlehttp/promises": "^1.4", + "guzzlehttp/psr7": "^1.7 || ^2.0", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", "psr/log": "^1.1" }, "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5-dev" + "dev-master": "7.3-dev" } }, "autoload": { @@ -1474,6 +1504,11 @@ "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "Guzzle is a PHP HTTP client library", @@ -1484,14 +1519,34 @@ "framework", "http", "http client", + "psr-18", + "psr-7", "rest", "web service" ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5" + "source": "https://github.com/guzzle/guzzle/tree/7.3.0" }, - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], + "time": "2021-03-23T11:33:13+00:00" }, { "name": "guzzlehttp/promises", @@ -1623,51 +1678,6 @@ }, "time": "2021-04-26T09:17:50+00:00" }, - { - "name": "haydenpierce/class-finder", - "version": "0.4.3", - "source": { - "type": "git", - "url": "https://gitlab.com/hpierce1102/ClassFinder.git", - "reference": "d6c68f386c764674c59ee336d1dfca35aada5f90" - }, - "dist": { - "type": "zip", - "url": "https://gitlab.com/api/v4/projects/hpierce1102%2FClassFinder/repository/archive.zip?sha=d6c68f386c764674c59ee336d1dfca35aada5f90", - "reference": "d6c68f386c764674c59ee336d1dfca35aada5f90", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=5.3" - }, - "require-dev": { - "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "~9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "HaydenPierce\\ClassFinder\\": "src/", - "HaydenPierce\\ClassFinder\\UnitTest\\": "test/unit" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Hayden Pierce", - "email": "hayden@haydenpierce.com" - } - ], - "description": "A library that can provide of a list of classes in a given namespace", - "support": { - "issues": "https://gitlab.com/api/v4/projects/7670051/issues" - }, - "time": "2021-01-05T20:50:49+00:00" - }, { "name": "intervention/image", "version": "2.5.1", @@ -1743,69 +1753,12 @@ "time": "2019-11-02T09:15:47+00:00" }, { - "name": "laragraph/utils", - "version": "v1.0.0", + "name": "larapack/doctrine-support", + "version": "v0.1.9", "source": { "type": "git", - "url": "https://github.com/laragraph/utils.git", - "reference": "36b489f37b0688a0c806c839dd0e27cbb0cb4dca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laragraph/utils/zipball/36b489f37b0688a0c806c839dd0e27cbb0cb4dca", - "reference": "36b489f37b0688a0c806c839dd0e27cbb0cb4dca", - "shasum": "" - }, - "require": { - "illuminate/contracts": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/http": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "php": "^7.2 || ^8.0", - "thecodingmachine/safe": "^1.1", - "webonyx/graphql-php": "^0.13.2 || ^14" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.11", - "infection/infection": "~0.20", - "jangregor/phpstan-prophecy": "^0.8.1", - "orchestra/testbench": "3.6.* || 3.7.* || 3.8.* || 3.9.* || ^4 || ^5 || ^6", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.57", - "phpstan/phpstan-deprecation-rules": "^0.12.5", - "phpstan/phpstan-strict-rules": "^0.12.5", - "phpunit/phpunit": "^7.5 || ^8.5", - "thecodingmachine/phpstan-safe-rule": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laragraph\\Utils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Benedikt Franke", - "email": "benedikt@franke.tech" - } - ], - "description": "Utilities for using GraphQL with Laravel", - "homepage": "https://github.com/laragraph/utils", - "support": { - "issues": "https://github.com/laragraph/utils/issues", - "source": "https://github.com/laragraph/utils" - }, - "time": "2020-12-30T13:17:17+00:00" - }, - { - "name": "larapack/doctrine-support", - "version": "v0.1.9", - "source": { - "type": "git", - "url": "https://github.com/larapack/doctrine-support.git", - "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294" + "url": "https://github.com/larapack/doctrine-support.git", + "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294" }, "dist": { "type": "zip", @@ -1857,54 +1810,60 @@ }, { "name": "laravel/framework", - "version": "v5.8.38", + "version": "v8.49.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "78eb4dabcc03e189620c16f436358d41d31ae11f" + "reference": "d9b43ee080b4d51344b2e578aa667f85040471a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/78eb4dabcc03e189620c16f436358d41d31ae11f", - "reference": "78eb4dabcc03e189620c16f436358d41d31ae11f", + "url": "https://api.github.com/repos/laravel/framework/zipball/d9b43ee080b4d51344b2e578aa667f85040471a2", + "reference": "d9b43ee080b4d51344b2e578aa667f85040471a2", "shasum": "" }, "require": { - "doctrine/inflector": "^1.1", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", - "erusev/parsedown": "^1.7", + "doctrine/inflector": "^1.4|^2.0", + "dragonmantank/cron-expression": "^3.0.2", + "egulias/email-validator": "^2.1.10", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", - "opis/closure": "^3.1", - "php": "^7.1.3", + "league/commonmark": "^1.3", + "league/flysystem": "^1.1", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.31", + "opis/closure": "^3.6", + "php": "^7.3|^8.0", "psr/container": "^1.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7", + "ramsey/uuid": "^4.0", "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" + "symfony/console": "^5.1.4", + "symfony/error-handler": "^5.1.4", + "symfony/finder": "^5.1.4", + "symfony/http-foundation": "^5.1.4", + "symfony/http-kernel": "^5.1.4", + "symfony/mime": "^5.1.4", + "symfony/process": "^5.1.4", + "symfony/routing": "^5.1.4", + "symfony/var-dumper": "^5.1.4", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^5.2", + "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, + "provide": { + "psr/container-implementation": "1.0" + }, "replace": { "illuminate/auth": "self.version", "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", + "illuminate/collections": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -1917,6 +1876,7 @@ "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", + "illuminate/macroable": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", @@ -1926,63 +1886,72 @@ "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", + "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", - "guzzlehttp/guzzle": "^6.3", + "aws/aws-sdk-php": "^3.155", + "doctrine/dbal": "^2.6|^3.0", + "filp/whoops": "^2.8", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", + "mockery/mockery": "^1.4.2", + "orchestra/testbench-core": "^6.23", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", - "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "true/punycode": "^2.1" + "phpunit/phpunit": "^8.5.8|^9.3.3", + "predis/predis": "^1.1.2", + "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", + "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.8).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", + "mockery/mockery": "Required to use mocking (^1.4.2).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", + "predis/predis": "Required to use the predis connector (^1.1.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.8-dev" + "dev-master": "8.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { - "Illuminate\\": "src/Illuminate/" + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -2005,7 +1974,65 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-04-14T14:14:36+00:00" + "time": "2021-07-06T14:06:38+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "07d725813350c695c779382cbd6dac0ab8665537" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", + "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42", + "illuminate/filesystem": "^8.42", + "illuminate/support": "^8.42", + "illuminate/validation": "^8.42", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.3.0" + }, + "time": "2021-05-25T16:45:33+00:00" }, { "name": "lcobucci/jwt", @@ -2076,18 +2103,119 @@ ], "time": "2020-08-20T13:22:28+00:00" }, + { + "name": "league/commonmark", + "version": "1.6.5", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/44ffd8d3c4a9133e4bd0548622b09c55af39db5f", + "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "scrutinizer/ocular": "1.7.*" + }, + "require-dev": { + "cebe/markdown": "~1.0", + "commonmark/commonmark.js": "0.29.2", + "erusev/parsedown": "~1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "~1.4", + "mikehaertl/php-shellcommand": "^1.4", + "phpstan/phpstan": "^0.12.90", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", + "scrutinizer/ocular": "^1.5", + "symfony/finder": "^4.2" + }, + "bin": [ + "bin/commonmark" + ], + "type": "library", + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", + "type": "custom" + }, + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://www.patreon.com/colinodell", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2021-06-26T11:57:13+00:00" + }, { "name": "league/flysystem", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", - "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", "shasum": "" }, "require": { @@ -2103,7 +2231,6 @@ "phpunit/phpunit": "^8.5.8" }, "suggest": { - "ext-fileinfo": "Required for MimeType", "ext-ftp": "Allows you to use FTP server storage", "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", @@ -2161,7 +2288,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.x" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" }, "funding": [ { @@ -2169,7 +2296,7 @@ "type": "other" } ], - "time": "2020-08-23T07:39:11+00:00" + "time": "2021-06-23T21:56:05+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -2331,21 +2458,21 @@ }, { "name": "monolog/monolog", - "version": "1.26.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5" + "reference": "df991fd88693ab703aa403413d83e15f688dae33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c6b00f05152ae2c9b04a448f99c7590beb6042f5", - "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/df991fd88693ab703aa403413d83e15f688dae33", + "reference": "df991fd88693ab703aa403413d83e15f688dae33", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" + "php": ">=7.2", + "psr/log": "^1.0.1" }, "provide": { "psr/log-implementation": "1.0.0" @@ -2353,29 +2480,39 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", + "elasticsearch/elasticsearch": "^7", + "graylog2/gelf-php": "^1.4.2", + "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", - "phpstan/phpstan": "^0.12.59", - "phpunit/phpunit": "~4.5", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", + "phpspec/prophecy": "^1.6.1", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", + "ruflin/elastica": ">=0.90 <7.0.1", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, "autoload": { "psr-4": { "Monolog\\": "src/Monolog" @@ -2389,11 +2526,11 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "homepage": "https://github.com/Seldaek/monolog", "keywords": [ "log", "logging", @@ -2401,7 +2538,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/1.26.1" + "source": "https://github.com/Seldaek/monolog/tree/2.3.0" }, "funding": [ { @@ -2413,7 +2550,7 @@ "type": "tidelift" } ], - "time": "2021-05-28T08:32:12+00:00" + "time": "2021-07-05T11:34:13+00:00" }, { "name": "mtdowling/jmespath.php", @@ -2643,16 +2780,16 @@ }, { "name": "nesbot/carbon", - "version": "2.49.0", + "version": "2.50.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "93d9db91c0235c486875d22f1e08b50bdf3e6eee" + "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/93d9db91c0235c486875d22f1e08b50bdf3e6eee", - "reference": "93d9db91c0235c486875d22f1e08b50bdf3e6eee", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f47f17d17602b2243414a44ad53d9f8b9ada5fdb", + "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb", "shasum": "" }, "require": { @@ -2704,15 +2841,15 @@ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "homepage": "https://markido.com" }, { "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" + "homepage": "https://github.com/kylekatarnls" } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", + "homepage": "https://carbon.nesbot.com", "keywords": [ "date", "datetime", @@ -2732,136 +2869,7 @@ "type": "tidelift" } ], - "time": "2021-06-02T07:31:40+00:00" - }, - { - "name": "nuwave/lighthouse", - "version": "v5.13.0", - "source": { - "type": "git", - "url": "https://github.com/nuwave/lighthouse.git", - "reference": "0d8f0fb8a3dd2791dda4c772f3db4b53ee072fb3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nuwave/lighthouse/zipball/0d8f0fb8a3dd2791dda4c772f3db4b53ee072fb3", - "reference": "0d8f0fb8a3dd2791dda4c772f3db4b53ee072fb3", - "shasum": "" - }, - "require": { - "ext-json": "*", - "haydenpierce/class-finder": "^0.4", - "illuminate/auth": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/bus": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/contracts": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/http": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/pagination": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/queue": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/routing": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/support": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "illuminate/validation": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "laragraph/utils": "^1", - "php": ">= 7.2", - "thecodingmachine/safe": "^1", - "webonyx/graphql-php": "^14.7" - }, - "require-dev": { - "bensampo/laravel-enum": "^1.28.3 || ^2 || ^3", - "ergebnis/composer-normalize": "^2.2.2", - "laravel/framework": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "laravel/legacy-factories": "^1", - "laravel/lumen-framework": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8", - "laravel/scout": "^7 || ^8", - "mll-lab/graphql-php-scalars": "^4", - "mockery/mockery": "^1", - "nunomaduro/larastan": "^0.6 || ^0.7", - "orchestra/testbench": "3.6.* || 3.7.* || 3.8.* || 3.9.* || ^4 || ^5 || ^6", - "phpbench/phpbench": "1.0.0-alpha4", - "phpstan/phpstan": "0.12.89", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.17", - "phpunit/phpunit": "^7.5 || ^8.4 || ^9", - "predis/predis": "^1.1", - "pusher/pusher-php-server": "^4 || ^5", - "rector/rector": "^0.9", - "thecodingmachine/phpstan-safe-rule": "^1", - "vimeo/psalm": "^4.7" - }, - "suggest": { - "bensampo/laravel-enum": "Convenient enum definitions that can easily be registered in your Schema", - "laravel/scout": "Required for the @search directive", - "mll-lab/graphql-php-scalars": "Useful scalar types, required for @whereConditions", - "mll-lab/laravel-graphql-playground": "GraphQL IDE for better development workflow - integrated with Laravel", - "pusher/pusher-php-server": "Required when using the Pusher Subscriptions driver" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "graphql": "Nuwave\\Lighthouse\\GraphQL" - }, - "providers": [ - "Nuwave\\Lighthouse\\LighthouseServiceProvider", - "Nuwave\\Lighthouse\\GlobalId\\GlobalIdServiceProvider", - "Nuwave\\Lighthouse\\OrderBy\\OrderByServiceProvider", - "Nuwave\\Lighthouse\\Pagination\\PaginationServiceProvider", - "Nuwave\\Lighthouse\\Scout\\ScoutServiceProvider", - "Nuwave\\Lighthouse\\SoftDeletes\\SoftDeletesServiceProvider", - "Nuwave\\Lighthouse\\Validation\\ValidationServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Nuwave\\Lighthouse\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christopher Moore", - "email": "chris@nuwavecommerce.com", - "homepage": "https://www.nuwavecommerce.com" - }, - { - "name": "Benedikt Franke", - "email": "benedikt@franke.tech", - "homepage": "https://franke.tech" - } - ], - "description": "A framework for serving GraphQL from Laravel", - "homepage": "https://lighthouse-php.com", - "keywords": [ - "graphql", - "laravel", - "laravel-graphql" - ], - "support": { - "issues": "https://github.com/nuwave/lighthouse/issues", - "source": "https://github.com/nuwave/lighthouse" - }, - "funding": [ - { - "url": "https://github.com/spawnia", - "type": "github" - }, - { - "url": "https://issuehunt.io/r/nuwave/lighthouse", - "type": "issuehunt" - }, - { - "url": "https://www.patreon.com/lighthouse_php", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nuwave/lighthouse", - "type": "tidelift" - } - ], - "time": "2021-06-17T13:23:22+00:00" + "time": "2021-06-28T22:38:45+00:00" }, { "name": "opis/closure", @@ -2997,20 +3005,20 @@ }, { "name": "paragonie/random_compat", - "version": "v9.99.99", + "version": "v9.99.100", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", "shasum": "" }, "require": { - "php": "^7" + "php": ">= 7" }, "require-dev": { "phpunit/phpunit": "4.*|5.*", @@ -3043,84 +3051,7 @@ "issues": "https://github.com/paragonie/random_compat/issues", "source": "https://github.com/paragonie/random_compat" }, - "time": "2018-07-02T15:55:56+00:00" - }, - { - "name": "patchwork/utf8", - "version": "v1.3.3", - "source": { - "type": "git", - "url": "https://github.com/tchwork/utf8.git", - "reference": "e1fa4d4a57896d074c9a8d01742b688d5db4e9d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tchwork/utf8/zipball/e1fa4d4a57896d074c9a8d01742b688d5db4e9d5", - "reference": "e1fa4d4a57896d074c9a8d01742b688d5db4e9d5", - "shasum": "" - }, - "require": { - "lib-pcre": ">=7.3", - "php": ">=5.3.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^3.4|^4.4" - }, - "suggest": { - "ext-iconv": "Use iconv for best performance", - "ext-intl": "Use Intl for best performance", - "ext-mbstring": "Use Mbstring for best performance", - "ext-wfio": "Use WFIO for UTF-8 filesystem access on Windows" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Patchwork\\": "src/Patchwork/" - }, - "classmap": [ - "src/Normalizer.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "(Apache-2.0 or GPL-2.0)" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - } - ], - "description": "Portable and performant UTF-8, Unicode and Grapheme Clusters for PHP", - "homepage": "https://github.com/tchwork/utf8", - "keywords": [ - "grapheme", - "i18n", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "issues": "https://github.com/tchwork/utf8/issues", - "source": "https://github.com/tchwork/utf8/tree/v1.3.3" - }, - "funding": [ - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/patchwork/utf8", - "type": "tidelift" - } - ], - "abandoned": "symfony/polyfill-mbstring or symfony/string", - "time": "2021-01-07T16:38:58+00:00" + "time": "2020-10-15T08:29:30+00:00" }, { "name": "phpoption/phpoption", @@ -3307,17 +3238,114 @@ "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.2.0" }, "type": "library", "extra": { @@ -3327,7 +3355,7 @@ }, "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3340,38 +3368,45 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for caching libraries", + "description": "Standard interfaces for event handling.", "keywords": [ - "cache", + "events", "psr", - "psr-6" + "psr-14" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "psr/container", - "version": "1.1.1", + "name": "psr/http-client", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3381,23 +3416,21 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "homepage": "http://www.php-fig.org/" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "http", + "http-client", + "psr", + "psr-18" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/http-client/tree/master" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2020-06-29T06:28:15+00:00" }, { "name": "psr/http-message", @@ -3597,55 +3630,141 @@ }, "time": "2019-03-08T08:55:37+00:00" }, + { + "name": "ramsey/collection", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8" + }, + "require-dev": { + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", + "fakerphp/faker": "^1.5", + "hamcrest/hamcrest-php": "^2", + "jangregor/phpstan-prophecy": "^0.8", + "mockery/mockery": "^1.3", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", + "phpunit/phpunit": "^8.5 || ^9", + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP 7.2+ library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.1.3" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2021-01-21T17:40:04+00:00" + }, { "name": "ramsey/uuid", - "version": "3.9.3", + "version": "4.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92" + "reference": "cd4032040a750077205918c86049aa0f43d22947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92", - "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", + "reference": "cd4032040a750077205918c86049aa0f43d22947", "shasum": "" }, "require": { + "brick/math": "^0.8 || ^0.9", "ext-json": "*", - "paragonie/random_compat": "^1 | ^2 | 9.99.99", - "php": "^5.4 | ^7 | ^8", + "php": "^7.2 || ^8", + "ramsey/collection": "^1.0", "symfony/polyfill-ctype": "^1.8" }, "replace": { "rhumsaa/uuid": "self.version" }, "require-dev": { - "codeception/aspect-mock": "^1 | ^2", - "doctrine/annotations": "^1.2", - "goaop/framework": "1.0.0-alpha.2 | ^1 | ^2.1", - "jakub-onderka/php-parallel-lint": "^1", - "mockery/mockery": "^0.9.11 | ^1", + "codeception/aspect-mock": "^3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", + "doctrine/annotations": "^1.8", + "goaop/framework": "^2", + "mockery/mockery": "^1.3", "moontoast/math": "^1.1", "paragonie/random-lib": "^2", - "php-mock/php-mock-phpunit": "^0.3 | ^1.1", - "phpunit/phpunit": "^4.8 | ^5.4 | ^6.5", - "squizlabs/php_codesniffer": "^3.5" + "php-mock/php-mock-mockery": "^1.3", + "php-mock/php-mock-phpunit": "^2.5", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^0.17.1", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5", + "psy/psysh": "^0.10.0", + "slevomat/coding-standard": "^6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "3.9.4" }, "suggest": { - "ext-ctype": "Provides support for PHP Ctype functions", - "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", - "ext-openssl": "Provides the OpenSSL extension for use with the OpenSslGenerator", - "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -3660,22 +3779,7 @@ "license": [ "MIT" ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - }, - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" - } - ], - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", "homepage": "https://github.com/ramsey/uuid", "keywords": [ "guid", @@ -3685,10 +3789,15 @@ "support": { "issues": "https://github.com/ramsey/uuid/issues", "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid", - "wiki": "https://github.com/ramsey/uuid/wiki" + "source": "https://github.com/ramsey/uuid" }, - "time": "2020-02-21T04:36:14+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + } + ], + "time": "2020-08-18T17:17:46+00:00" }, { "name": "spatie/db-dumper", @@ -3752,16 +3861,16 @@ }, { "name": "spatie/dropbox-api", - "version": "1.19.0", + "version": "1.19.1", "source": { "type": "git", "url": "https://github.com/spatie/dropbox-api.git", - "reference": "22ed7792e7ede170520f030e32ff0edde2337842" + "reference": "0ea6d08445b339241d21b833db111d371e61ed4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/22ed7792e7ede170520f030e32ff0edde2337842", - "reference": "22ed7792e7ede170520f030e32ff0edde2337842", + "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/0ea6d08445b339241d21b833db111d371e61ed4f", + "reference": "0ea6d08445b339241d21b833db111d371e61ed4f", "shasum": "" }, "require": { @@ -3769,6 +3878,9 @@ "guzzlehttp/guzzle": "^6.2||^7.0", "php": "^7.1||^8.0" }, + "conflict": { + "guzzlehttp/psr7": "<1.7.0" + }, "require-dev": { "phpunit/phpunit": "^7.5.15|^8.5|^9.3" }, @@ -3807,7 +3919,7 @@ ], "support": { "issues": "https://github.com/spatie/dropbox-api/issues", - "source": "https://github.com/spatie/dropbox-api/tree/1.19.0" + "source": "https://github.com/spatie/dropbox-api/tree/1.19.1" }, "funding": [ { @@ -3819,7 +3931,7 @@ "type": "github" } ], - "time": "2021-06-18T06:34:17+00:00" + "time": "2021-07-04T12:13:24+00:00" }, { "name": "spatie/flysystem-dropbox", @@ -3879,30 +3991,28 @@ }, { "name": "spatie/laravel-activitylog", - "version": "3.9.1", + "version": "3.17.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-activitylog.git", - "reference": "659738573f8607191afbd2b794db8669a5b20951" + "reference": "bdc44862aaca39ecbd824133b80dbd7c8017ed7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/659738573f8607191afbd2b794db8669a5b20951", - "reference": "659738573f8607191afbd2b794db8669a5b20951", + "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/bdc44862aaca39ecbd824133b80dbd7c8017ed7f", + "reference": "bdc44862aaca39ecbd824133b80dbd7c8017ed7f", "shasum": "" }, "require": { - "illuminate/config": "5.8.*|^6.0", - "illuminate/database": "5.8.*|^6.0", - "illuminate/support": "5.8.*|^6.0", - "php": "^7.2", - "spatie/string": "^2.1" + "illuminate/config": "^6.0 || ^7.0 || ^8.0", + "illuminate/database": "^6.0 || ^7.0 || ^8.0", + "illuminate/support": "^6.0 || ^7.0 || ^8.0", + "php": "^7.3 || ^8.0" }, "require-dev": { "ext-json": "*", - "orchestra/testbench": "3.8.*|^4.0", - "phpunit/phpunit": "^7.5|^8.0", - "scrutinizer/ocular": "^1.5" + "orchestra/testbench": "^4.0 || ^5.0 || ^6.0", + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { @@ -3955,43 +4065,53 @@ ], "support": { "issues": "https://github.com/spatie/laravel-activitylog/issues", - "source": "https://github.com/spatie/laravel-activitylog/tree/master" + "source": "https://github.com/spatie/laravel-activitylog/tree/3.17.0" }, - "time": "2019-10-15T07:39:07+00:00" + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-03-02T16:49:06+00:00" }, { "name": "spatie/laravel-backup", - "version": "6.12.0", + "version": "6.16.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "0690862ae2c64e1a2f03fa9990925313696db71d" + "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/0690862ae2c64e1a2f03fa9990925313696db71d", - "reference": "0690862ae2c64e1a2f03fa9990925313696db71d", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", + "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", "shasum": "" }, "require": { - "illuminate/console": "^5.8.15|^6.0|^7.0|^8.0", - "illuminate/contracts": "^5.8.15|^6.0|^7.0|^8.0", - "illuminate/events": "^5.8.15|^6.0|^7.0|^8.0", - "illuminate/filesystem": "^5.8.15|^6.0|^7.0|^8.0", - "illuminate/notifications": "^5.8.15|^6.0|^7.0|^8.0", - "illuminate/support": "^5.8.15|^6.0|^7.0|^8.0", + "ext-zip": "^1.14.0", + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/events": "^6.0|^7.0|^8.0", + "illuminate/filesystem": "^6.0|^7.0|^8.0", + "illuminate/notifications": "^6.0|^7.0|^8.0", + "illuminate/support": "^6.0|^7.0|^8.0", "league/flysystem": "^1.0.49", - "php": "^7.3", + "php": "^7.3|^8.0", "spatie/db-dumper": "^2.12", "spatie/temporary-directory": "^1.1", "symfony/finder": "^4.2|^5.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", - "laravel/slack-notification-channel": "^1.0", + "laravel/slack-notification-channel": "^2.3", "league/flysystem-aws-s3-v3": "^1.0", - "mockery/mockery": "^1.3", - "orchestra/testbench": "3.8.*|4.*|5.*|6.*", + "mockery/mockery": "^1.4.2", + "orchestra/testbench": "4.*|5.*|6.*", "phpunit/phpunit": "^8.4|^9.0" }, "suggest": { @@ -4035,7 +4155,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/6.12.0" + "source": "https://github.com/spatie/laravel-backup/tree/6.16.1" }, "funding": [ { @@ -4047,69 +4167,7 @@ "type": "other" } ], - "time": "2020-11-19T14:35:13+00:00" - }, - { - "name": "spatie/string", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/string.git", - "reference": "79ed501c8d624fb85bf71da4254e1878fb616c51" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/string/zipball/79ed501c8d624fb85bf71da4254e1878fb616c51", - "reference": "79ed501c8d624fb85bf71da4254e1878fb616c51", - "shasum": "" - }, - "require": { - "anahkiasen/underscore-php": "^2.0", - "php": "^7.0|^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "files": [ - "src/string_functions.php" - ], - "psr-4": { - "Spatie\\String\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "String handling evolved", - "homepage": "https://github.com/spatie/string", - "keywords": [ - "handling", - "handy", - "spatie", - "string" - ], - "support": { - "issues": "https://github.com/spatie/string/issues", - "source": "https://github.com/spatie/string/tree/2.2.3" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - } - ], - "time": "2020-11-28T22:24:20+00:00" + "time": "2021-07-10T14:54:21+00:00" }, { "name": "spatie/temporary-directory", @@ -4164,16 +4222,16 @@ }, { "name": "swagger-api/swagger-ui", - "version": "v3.50.0", + "version": "v3.51.1", "source": { "type": "git", "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "91858cc811d3cddb45ef604365e2c88cd96e4ca0" + "reference": "bb21c6df52eb12cd4bdbf8c29feb500795595fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/91858cc811d3cddb45ef604365e2c88cd96e4ca0", - "reference": "91858cc811d3cddb45ef604365e2c88cd96e4ca0", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/bb21c6df52eb12cd4bdbf8c29feb500795595fa8", + "reference": "bb21c6df52eb12cd4bdbf8c29feb500795595fa8", "shasum": "" }, "type": "library", @@ -4219,9 +4277,9 @@ ], "support": { "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v3.50.0" + "source": "https://github.com/swagger-api/swagger-ui/tree/v3.51.1" }, - "time": "2021-06-03T21:00:28+00:00" + "time": "2021-06-30T20:42:58+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -4300,42 +4358,45 @@ }, { "name": "symfony/console", - "version": "v4.4.25", + "version": "v5.3.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a62acecdf5b50e314a4f305cd01b5282126f3095" + "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a62acecdf5b50e314a4f305cd01b5282126f3095", - "reference": "a62acecdf5b50e314a4f305cd01b5282126f3095", + "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1", + "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2" + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", "symfony/lock": "<4.4", - "symfony/process": "<3.3" + "symfony/process": "<4.4" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { "psr/log": "For using the console logger", @@ -4368,8 +4429,14 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/console/tree/v4.4.25" + "source": "https://github.com/symfony/console/tree/v5.3.2" }, "funding": [ { @@ -4385,7 +4452,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T11:20:16+00:00" + "time": "2021-06-12T09:42:48+00:00" }, { "name": "symfony/css-selector", @@ -4452,75 +4519,6 @@ ], "time": "2021-05-26T17:40:38+00:00" }, - { - "name": "symfony/debug", - "version": "v4.4.25", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/a8d2d5c94438548bff9f998ca874e202bb29d07f", - "reference": "a8d2d5c94438548bff9f998ca874e202bb29d07f", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.25" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:39:37+00:00" - }, { "name": "symfony/deprecation-contracts", "version": "v2.4.0", @@ -4590,26 +4588,26 @@ }, { "name": "symfony/error-handler", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "310a756cec00d29d89a08518405aded046a54a8b" + "reference": "43323e79c80719e8a4674e33484bca98270d223f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/310a756cec00d29d89a08518405aded046a54a8b", - "reference": "310a756cec00d29d89a08518405aded046a54a8b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/43323e79c80719e8a4674e33484bca98270d223f", + "reference": "43323e79c80719e8a4674e33484bca98270d223f", "shasum": "" }, "require": { - "php": ">=7.1.3", - "psr/log": "~1.0", - "symfony/debug": "^4.4.5", + "php": ">=7.2.5", + "psr/log": "^1.0", "symfony/polyfill-php80": "^1.15", "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { + "symfony/deprecation-contracts": "^2.1", "symfony/http-kernel": "^4.4|^5.0", "symfony/serializer": "^4.4|^5.0" }, @@ -4639,7 +4637,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v4.4.25" + "source": "https://github.com/symfony/error-handler/tree/v5.3.3" }, "funding": [ { @@ -4655,42 +4653,44 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" + "time": "2021-06-24T08:13:00+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.25", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "047773e7016e4fd45102cedf4bd2558ae0d0c32f" + "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/047773e7016e4fd45102cedf4bd2558ae0d0c32f", - "reference": "047773e7016e4fd45102cedf4bd2558ae0d0c32f", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce", + "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce", "shasum": "" }, "require": { - "php": ">=7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/dependency-injection": "<3.4" + "symfony/dependency-injection": "<4.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/error-handler": "~3.4|~4.4", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" + "symfony/stopwatch": "^4.4|^5.0" }, "suggest": { "symfony/dependency-injection": "", @@ -4722,7 +4722,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.25" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.0" }, "funding": [ { @@ -4738,33 +4738,33 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.9", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7" + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" }, "suggest": { - "psr/event-dispatcher": "", "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-main": "2.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -4801,7 +4801,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" }, "funding": [ { @@ -4817,24 +4817,24 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:19:58+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/finder", - "version": "v4.4.25", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ed33314396d968a8936c95f5bd1b88bd3b3e94a3" + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ed33314396d968a8936c95f5bd1b88bd3b3e94a3", - "reference": "ed33314396d968a8936c95f5bd1b88bd3b3e94a3", + "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", + "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.2.5" }, "type": "library", "autoload": { @@ -4862,7 +4862,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v4.4.25" + "source": "https://github.com/symfony/finder/tree/v5.3.0" }, "funding": [ { @@ -4878,7 +4878,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T11:20:16+00:00" + "time": "2021-05-26T12:52:38+00:00" }, { "name": "symfony/http-client-contracts", @@ -4960,27 +4960,32 @@ }, { "name": "symfony/http-foundation", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "0c79d5a65ace4fe66e49702658c024a419d2438b" + "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0c79d5a65ace4fe66e49702658c024a419d2438b", - "reference": "0c79d5a65ace4fe66e49702658c024a419d2438b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0e45ab1574caa0460d9190871a8ce47539e40ccf", + "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf", "shasum": "" }, "require": { - "php": ">=7.1.3", - "symfony/mime": "^4.3|^5.0", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php80": "^1.15" }, "require-dev": { "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" }, "type": "library", "autoload": { @@ -5008,7 +5013,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.25" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.3" }, "funding": [ { @@ -5024,61 +5029,69 @@ "type": "tidelift" } ], - "time": "2021-05-26T11:20:16+00:00" + "time": "2021-06-27T09:19:40+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "3795165596fe81a52296b78c9aae938d434069cc" + "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3795165596fe81a52296b78c9aae938d434069cc", - "reference": "3795165596fe81a52296b78c9aae938d434069cc", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", + "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "psr/log": "~1.0", - "symfony/error-handler": "^4.4", - "symfony/event-dispatcher": "^4.4", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-foundation": "^5.3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/browser-kit": "<4.3", - "symfony/config": "<3.4", - "symfony/console": ">=5", - "symfony/dependency-injection": "<4.3", - "symfony/translation": "<4.2", - "twig/twig": "<1.43|<2.13,>=2" + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^4.3|^5.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0", - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^4.3|^5.0", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/finder": "^3.4|^4.0|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/routing": "^3.4|^4.0|^5.0", - "symfony/stopwatch": "^3.4|^4.0|^5.0", - "symfony/templating": "^3.4|^4.0|^5.0", - "symfony/translation": "^4.2|^5.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.3", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^1.43|^2.13|^3.0.4" + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "symfony/browser-kit": "", @@ -5112,7 +5125,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v4.4.25" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.3" }, "funding": [ { @@ -5128,7 +5141,7 @@ "type": "tidelift" } ], - "time": "2021-06-01T07:12:08+00:00" + "time": "2021-06-30T08:27:49+00:00" }, { "name": "symfony/mime", @@ -5372,6 +5385,87 @@ ], "time": "2021-05-27T09:27:20+00:00" }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", + "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" + }, { "name": "symfony/polyfill-intl-idn", "version": "v1.23.0", @@ -5931,20 +6025,21 @@ }, { "name": "symfony/process", - "version": "v4.4.25", + "version": "v5.3.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cd61e6dd273975c6625316de9d141ebd197f93c9" + "reference": "714b47f9196de61a196d86c4bad5f09201b307df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cd61e6dd273975c6625316de9d141ebd197f93c9", - "reference": "cd61e6dd273975c6625316de9d141ebd197f93c9", + "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df", + "reference": "714b47f9196de61a196d86c4bad5f09201b307df", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "type": "library", "autoload": { @@ -5972,7 +6067,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v4.4.25" + "source": "https://github.com/symfony/process/tree/v5.3.2" }, "funding": [ { @@ -5988,41 +6083,43 @@ "type": "tidelift" } ], - "time": "2021-05-26T11:20:16+00:00" + "time": "2021-06-12T10:15:01+00:00" }, { "name": "symfony/routing", - "version": "v4.4.25", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3a3c2f197ad0846ac6413225fc78868ba1c61434" + "reference": "368e81376a8e049c37cb80ae87dbfbf411279199" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3a3c2f197ad0846ac6413225fc78868ba1c61434", - "reference": "3a3c2f197ad0846ac6413225fc78868ba1c61434", + "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199", + "reference": "368e81376a8e049c37cb80ae87dbfbf411279199", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "^1.10.4", + "doctrine/annotations": "^1.12", "psr/log": "~1.0", - "symfony/config": "^4.2|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/yaml": "^3.4|^4.0|^5.0" + "symfony/config": "^5.3", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", "symfony/config": "For using the all-in-one router or any loader", "symfony/expression-language": "For using expression matching", "symfony/http-foundation": "For using a Symfony Request object", @@ -6060,7 +6157,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v4.4.25" + "source": "https://github.com/symfony/routing/tree/v5.3.0" }, "funding": [ { @@ -6076,7 +6173,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" + "time": "2021-05-26T17:43:10+00:00" }, { "name": "symfony/service-contracts", @@ -6157,44 +6254,131 @@ ], "time": "2021-04-01T10:43:52+00:00" }, + { + "name": "symfony/string", + "version": "v5.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-06-27T11:44:38+00:00" + }, { "name": "symfony/translation", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "dfe132c5c6d89f90ce7f961742cc532e9ca16dd4" + "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/dfe132c5c6d89f90ce7f961742cc532e9ca16dd4", - "reference": "dfe132c5c6d89f90ce7f961742cc532e9ca16dd4", + "url": "https://api.github.com/repos/symfony/translation/zipball/380b8c9e944d0e364b25f28e8e555241eb49c01c", + "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^1.1.6|^2" + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^2.3" }, "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/http-kernel": "<4.4", - "symfony/yaml": "<3.4" + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "1.0|2.0" + "symfony/translation-implementation": "2.3" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/finder": "~2.8|~3.0|~4.0|^5.0", - "symfony/http-kernel": "^4.4", - "symfony/intl": "^3.4|^4.0|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^3.4|^4.0|^5.0" + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -6203,6 +6387,9 @@ }, "type": "library", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\Translation\\": "" }, @@ -6227,7 +6414,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.25" + "source": "https://github.com/symfony/translation/tree/v5.3.3" }, "funding": [ { @@ -6243,7 +6430,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" + "time": "2021-06-27T12:22:47+00:00" }, { "name": "symfony/translation-contracts", @@ -6325,33 +6512,32 @@ }, { "name": "symfony/var-dumper", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "31ea689a8e7d2410016b0d25fc15a1ba05a6e2e0" + "reference": "46aa709affb9ad3355bd7a810f9662d71025c384" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/31ea689a8e7d2410016b0d25fc15a1ba05a6e2e0", - "reference": "31ea689a8e7d2410016b0d25fc15a1ba05a6e2e0", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/46aa709affb9ad3355bd7a810f9662d71025c384", + "reference": "46aa709affb9ad3355bd7a810f9662d71025c384", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5", "symfony/polyfill-php80": "^1.15" }, "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", + "symfony/console": "^4.4|^5.0", "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.43|^2.13|^3.0.4" + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -6394,7 +6580,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v4.4.25" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.3" }, "funding": [ { @@ -6410,20 +6596,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:48:32+00:00" + "time": "2021-06-24T08:13:00+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.3.2", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df663fb63bdcd7298373cbd431165ab031706cb2" + "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df663fb63bdcd7298373cbd431165ab031706cb2", - "reference": "df663fb63bdcd7298373cbd431165ab031706cb2", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/903c2c0babd6267de5bcb2995e8fc1efb5f01f1f", + "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f", "shasum": "" }, "require": { @@ -6467,7 +6653,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.3.2" + "source": "https://github.com/symfony/var-exporter/tree/v5.3.3" }, "funding": [ { @@ -6483,35 +6669,39 @@ "type": "tidelift" } ], - "time": "2021-06-09T10:57:10+00:00" + "time": "2021-06-27T09:16:08+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.25", + "version": "v5.3.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc" + "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc", - "reference": "81cdac5536925c1c4b7b50aabc9ff6330b9eb5fc", + "url": "https://api.github.com/repos/symfony/yaml/zipball/485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", + "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/console": "<3.4" + "symfony/console": "<4.4" }, "require-dev": { - "symfony/console": "^3.4|^4.0|^5.0" + "symfony/console": "^4.4|^5.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { @@ -6538,7 +6728,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v4.4.25" + "source": "https://github.com/symfony/yaml/tree/v5.3.3" }, "funding": [ { @@ -6554,146 +6744,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:39:37+00:00" - }, - { - "name": "thecodingmachine/safe", - "version": "v1.3.3", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/a8ab0876305a4cdaef31b2350fcb9811b5608dbc", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "require-dev": { - "phpstan/phpstan": "^0.12", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^0.12" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.1-dev" - } - }, - "autoload": { - "psr-4": { - "Safe\\": [ - "lib/", - "deprecated/", - "generated/" - ] - }, - "files": [ - "deprecated/apc.php", - "deprecated/libevent.php", - "deprecated/mssql.php", - "deprecated/stats.php", - "lib/special_cases.php", - "generated/apache.php", - "generated/apcu.php", - "generated/array.php", - "generated/bzip2.php", - "generated/calendar.php", - "generated/classobj.php", - "generated/com.php", - "generated/cubrid.php", - "generated/curl.php", - "generated/datetime.php", - "generated/dir.php", - "generated/eio.php", - "generated/errorfunc.php", - "generated/exec.php", - "generated/fileinfo.php", - "generated/filesystem.php", - "generated/filter.php", - "generated/fpm.php", - "generated/ftp.php", - "generated/funchand.php", - "generated/gmp.php", - "generated/gnupg.php", - "generated/hash.php", - "generated/ibase.php", - "generated/ibmDb2.php", - "generated/iconv.php", - "generated/image.php", - "generated/imap.php", - "generated/info.php", - "generated/ingres-ii.php", - "generated/inotify.php", - "generated/json.php", - "generated/ldap.php", - "generated/libxml.php", - "generated/lzf.php", - "generated/mailparse.php", - "generated/mbstring.php", - "generated/misc.php", - "generated/msql.php", - "generated/mysql.php", - "generated/mysqli.php", - "generated/mysqlndMs.php", - "generated/mysqlndQc.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/password.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pdf.php", - "generated/pgsql.php", - "generated/posix.php", - "generated/ps.php", - "generated/pspell.php", - "generated/readline.php", - "generated/rpminfo.php", - "generated/rrd.php", - "generated/sem.php", - "generated/session.php", - "generated/shmop.php", - "generated/simplexml.php", - "generated/sockets.php", - "generated/sodium.php", - "generated/solr.php", - "generated/spl.php", - "generated/sqlsrv.php", - "generated/ssdeep.php", - "generated/ssh2.php", - "generated/stream.php", - "generated/strings.php", - "generated/swoole.php", - "generated/uodbc.php", - "generated/uopz.php", - "generated/url.php", - "generated/var.php", - "generated/xdiff.php", - "generated/xml.php", - "generated/xmlrpc.php", - "generated/yaml.php", - "generated/yaz.php", - "generated/zip.php", - "generated/zlib.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHP core functions that throw exceptions instead of returning FALSE on error", - "support": { - "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v1.3.3" - }, - "time": "2020-10-28T17:51:34+00:00" + "time": "2021-06-24T08:13:00+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -6913,36 +6964,39 @@ }, { "name": "vlucas/phpdotenv", - "version": "v3.6.8", + "version": "v5.3.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "5e679f7616db829358341e2d5cccbd18773bdab8" + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/5e679f7616db829358341e2d5cccbd18773bdab8", - "reference": "5e679f7616db829358341e2d5cccbd18773bdab8", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.5.2", - "symfony/polyfill-ctype": "^1.17" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.1", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.7.4", + "symfony/polyfill-ctype": "^1.17", + "symfony/polyfill-mbstring": "^1.17", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20" + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" }, "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.6-dev" + "dev-master": "5.3-dev" } }, "autoload": { @@ -6974,7 +7028,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v3.6.8" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" }, "funding": [ { @@ -6986,73 +7040,139 @@ "type": "tidelift" } ], - "time": "2021-01-20T14:39:46+00:00" + "time": "2021-01-20T15:23:13+00:00" }, { - "name": "webonyx/graphql-php", - "version": "v14.9.0", + "name": "voku/portable-ascii", + "version": "1.5.6", "source": { "type": "git", - "url": "https://github.com/webonyx/graphql-php.git", - "reference": "36b83621deb5eae354347a2e86dc7aec81b32a82" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/36b83621deb5eae354347a2e86dc7aec81b32a82", - "reference": "36b83621deb5eae354347a2e86dc7aec81b32a82", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", "shasum": "" }, "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.1||^8.0" + "php": ">=7.0.0" }, "require-dev": { - "amphp/amp": "^2.3", - "doctrine/coding-standard": "^6.0", - "nyholm/psr7": "^1.2", - "phpbench/phpbench": "^0.16.10", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "0.12.82", - "phpstan/phpstan-phpunit": "0.12.18", - "phpstan/phpstan-strict-rules": "0.12.9", - "phpunit/phpunit": "^7.2|^8.5", - "psr/http-message": "^1.0", - "react/promise": "2.*", - "simpod/php-coveralls-mirror": "^3.0", - "squizlabs/php_codesniffer": "3.5.4" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" }, "suggest": { - "psr/http-message": "To use standard GraphQL server", - "react/promise": "To leverage async resolving on React PHP platform" + "ext-intl": "Use Intl for transliterator_transliterate() support" }, "type": "library", "autoload": { "psr-4": { - "GraphQL\\": "src/" + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A PHP port of GraphQL reference implementation", - "homepage": "https://github.com/webonyx/graphql-php", + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", "keywords": [ - "api", - "graphql" + "ascii", + "clean", + "php" ], "support": { - "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v14.9.0" + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" }, "funding": [ { - "url": "https://opencollective.com/webonyx-graphql-php", + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "time": "2021-06-15T16:14:17+00:00" + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" }, { "name": "webpatser/laravel-uuid", @@ -7114,16 +7234,16 @@ }, { "name": "zircote/swagger-php", - "version": "3.2.1", + "version": "3.2.3", "source": { "type": "git", "url": "https://github.com/zircote/swagger-php.git", - "reference": "eef1dd98e6f6071573908fd7007270510051e5f9" + "reference": "41ed0eb1dacebe2c365623b3f9ab13d1531a03da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/eef1dd98e6f6071573908fd7007270510051e5f9", - "reference": "eef1dd98e6f6071573908fd7007270510051e5f9", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/41ed0eb1dacebe2c365623b3f9ab13d1531a03da", + "reference": "41ed0eb1dacebe2c365623b3f9ab13d1531a03da", "shasum": "" }, "require": { @@ -7134,7 +7254,7 @@ "symfony/yaml": ">=3.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.16", + "friendsofphp/php-cs-fixer": "^2.17 || ^3.0", "phpunit/phpunit": ">=8" }, "bin": [ @@ -7179,9 +7299,9 @@ ], "support": { "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/3.2.1" + "source": "https://github.com/zircote/swagger-php/tree/3.2.3" }, - "time": "2021-05-20T21:46:24+00:00" + "time": "2021-06-25T04:08:57+00:00" } ], "packages-dev": [], @@ -7192,5 +7312,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.0.0" } diff --git a/src/Badaso.php b/src/Badaso.php index 78ed26e85..99a41cb20 100644 --- a/src/Badaso.php +++ b/src/Badaso.php @@ -95,155 +95,155 @@ class Badaso { "title": "Frequently used", "group": [ - { - "label": "Integer", - "value": "integer" - }, - { - "label": "Varchar", - "value": "varchar" - }, - { - "label": "Text", - "value": "text" - }, - { - "label": "Date", - "value": "date" - } + { + "label": "Integer", + "value": "integer" + }, + { + "label": "Varchar", + "value": "varchar" + }, + { + "label": "Text", + "value": "text" + }, + { + "label": "Date", + "value": "date" + } ] }, { "title": "Numeric", "group": [ - { - "label": "Tiny Integer", - "value": "tinyint" - }, - { - "label": "Small Integer", - "value": "smallint" - }, - { - "label": "Medium Integer", - "value": "mediumint" - }, - { - "label": "Big Integer", - "value": "bigint" - }, - { - "label": "Decimal", - "value": "decimal" - }, - { - "label": "Float", - "value": "float" - }, - { - "label": "Double", - "value": "double" - }, - { - "label": "Boolean", - "value": "boolean" - } + { + "label": "Tiny Integer", + "value": "tinyint" + }, + { + "label": "Small Integer", + "value": "smallint" + }, + { + "label": "Medium Integer", + "value": "mediumint" + }, + { + "label": "Big Integer", + "value": "bigint" + }, + { + "label": "Decimal", + "value": "decimal" + }, + { + "label": "Float", + "value": "float" + }, + { + "label": "Double", + "value": "double" + }, + { + "label": "Boolean", + "value": "boolean" + } ] }, { "title": "Date and Time", "group": [ - { - "label": "Datetime", - "value": "datetime" - }, - { - "label": "Time", - "value": "time" - }, - { - "label": "Year", - "value": "year" - }, - { - "label": "Timestamp", - "value": "timestamp" - } + { + "label": "Datetime", + "value": "datetime" + }, + { + "label": "Time", + "value": "time" + }, + { + "label": "Year", + "value": "year" + }, + { + "label": "Timestamp", + "value": "timestamp" + } ] }, { "title": "String", "group": [ - { - "label": "Char", - "value": "char" - }, - { - "label": "Medium Text", - "value": "mediumtext" - }, - { - "label": "Long Text", - "value": "longtext" - }, - { - "label": "BLOB", - "value": "blob" - }, - { - "label": "Enum", - "value": "enum" - }, - { - "label": "Set", - "value": "set" - } + { + "label": "Char", + "value": "char" + }, + { + "label": "Medium Text", + "value": "mediumtext" + }, + { + "label": "Long Text", + "value": "longtext" + }, + { + "label": "BLOB", + "value": "blob" + }, + { + "label": "Enum", + "value": "enum" + }, + { + "label": "Set", + "value": "set" + } ] }, { "title": "Spatial", "group": [ - { - "label": "Geometry", - "value": "geometry" - }, - { - "label": "Point", - "value": "point" - }, - { - "label": "Multi Point", - "value": "multipoint" - }, - { - "label": "Polygon", - "value": "polygon" - }, - { - "label": "Multi Polygon", - "value": "multipolygon" - }, - { - "label": "Linestring", - "value": "linestring" - }, - { - "label": "Multi Linestring", - "value": "multilinestring" - }, - { - "label": "Geometry Collection", - "value": "geometrycollection" - } + { + "label": "Geometry", + "value": "geometry" + }, + { + "label": "Point", + "value": "point" + }, + { + "label": "Multi Point", + "value": "multipoint" + }, + { + "label": "Polygon", + "value": "polygon" + }, + { + "label": "Multi Polygon", + "value": "multipolygon" + }, + { + "label": "Linestring", + "value": "linestring" + }, + { + "label": "Multi Linestring", + "value": "multilinestring" + }, + { + "label": "Geometry Collection", + "value": "geometrycollection" + } ] }, { "title": "JSON", "group": [ - { - "label": "JSON", - "value": "json" - } + { + "label": "JSON", + "value": "json" + } ] } ]'; @@ -273,9 +273,14 @@ public function getSupportedTableRelations() return $this->supported_table_relations; } - public function getProtectedTables() + public static function getProtectedTables() { - return config('badaso-hidden-tables', []); + return array_map(function ($table) { + if (in_array($table, ['activity_log', 'failed_jobs', 'migrations'])) { + return $table; + } + return config('badaso.database.prefix') . $table; + }, config('badaso-hidden-tables', [])); } public function getBadasoCloudApi() @@ -298,6 +303,11 @@ public function getBadasoDbmsFieldType() return $this->badaso_dbms_field_type; } + public static function getBadasoTablePrefix() + { + return config('badaso.database.prefix'); + } + public function getConfig($key, $default_value = null) { $value = config($key); diff --git a/src/Commands/BadasoSetup.php b/src/Commands/BadasoSetup.php index 2b9da8491..aa680d172 100644 --- a/src/Commands/BadasoSetup.php +++ b/src/Commands/BadasoSetup.php @@ -288,6 +288,7 @@ protected function envListUpload() 'MIX_ANALYTICS_TRACKING_ID' => '', 'MIX_API_DOCUMENTATION_ANNOTATION_ROUTE' => 'api-annotation', 'MIX_API_DOCUMENTATION_ROUTE' => 'api-docs', + 'BADASO_TABLE_PREFIX' => 'badaso_' ]; } diff --git a/src/Config/activitylog.php b/src/Config/activitylog.php new file mode 100644 index 000000000..a6558ecba --- /dev/null +++ b/src/Config/activitylog.php @@ -0,0 +1,52 @@ + env('ACTIVITY_LOGGER_ENABLED', true), + + /* + * When the clean-command is executed, all recording activities older than + * the number of days specified here will be deleted. + */ + 'delete_records_older_than_days' => 365, + + /* + * If no log name is passed to the activity() helper + * we use this default log name. + */ + 'default_log_name' => 'default', + + /* + * You can specify an auth driver here that gets user models. + * If this is null we'll use the default Laravel auth driver. + */ + 'default_auth_driver' => null, + + /* + * If set to true, the subject returns soft deleted models. + */ + 'subject_returns_soft_deleted_models' => false, + + /* + * This model will be used to log activity. + * It should be implements the Spatie\Activitylog\Contracts\Activity interface + * and extend Illuminate\Database\Eloquent\Model. + */ + 'activity_model' => \Spatie\Activitylog\Models\Activity::class, + + /* + * This is the name of the table that will be created by the migration and + * used by the Activity model shipped with this package. + */ + 'table_name' => 'activity_log', + + /* + * This is the database connection that will be used by the migration and + * the Activity model shipped with this package. In case it's not set + * Laravel database.default will be used instead. + */ + 'database_connection' => env('ACTIVITY_LOGGER_DB_CONNECTION'), +]; diff --git a/src/Config/badaso-hidden-tables.php b/src/Config/badaso-hidden-tables.php index 9618f490d..35c33c0b9 100644 --- a/src/Config/badaso-hidden-tables.php +++ b/src/Config/badaso-hidden-tables.php @@ -18,4 +18,5 @@ 'email_resets', 'f_c_m_messages', 'firebase_cloud_messages', + 'failed_jobs', ]; diff --git a/src/Config/badaso.php b/src/Config/badaso.php index 779df4656..574c9cd54 100644 --- a/src/Config/badaso.php +++ b/src/Config/badaso.php @@ -6,6 +6,9 @@ 'default_menu' => env('MIX_DEFAULT_MENU', 'admin'), 'api_route_prefix' => env('MIX_API_ROUTE_PREFIX', 'badaso-api'), 'license_key' => env('BADASO_LICENSE_KEY'), + 'database' => [ + 'prefix' => env('BADASO_TABLE_PREFIX', 'badaso_') + ], 'storage' => [ 'disk' => env('FILESYSTEM_DRIVER', 'public'), ], diff --git a/src/ContentManager/ContentManager.php b/src/ContentManager/ContentManager.php index 5539c6762..17470f1f7 100644 --- a/src/ContentManager/ContentManager.php +++ b/src/ContentManager/ContentManager.php @@ -236,7 +236,7 @@ private function populateInsertStatements( $inserts = ''; $inserts .= sprintf( "\DB::table('%s')->insert(%s);", - $table_name, + config('badaso.database.prefix') . $table_name, $this->content_generator->formatContent($data_type_array) ); diff --git a/src/Controllers/BadasoAuthController.php b/src/Controllers/BadasoAuthController.php index 19c5e9316..d93d6caca 100644 --- a/src/Controllers/BadasoAuthController.php +++ b/src/Controllers/BadasoAuthController.php @@ -19,6 +19,7 @@ use Uasoft\Badaso\Mail\SendUserVerification; use Uasoft\Badaso\Middleware\BadasoAuthenticate; use Uasoft\Badaso\Models\EmailReset; +use Uasoft\Badaso\Models\PasswordReset; use Uasoft\Badaso\Models\Role; use Uasoft\Badaso\Models\User; use Uasoft\Badaso\Models\UserRole; @@ -91,7 +92,7 @@ public function register(Request $request) DB::beginTransaction(); $request->validate([ 'name' => 'required|string|max:255', - 'email' => 'required|string|email|max:255|unique:users', + 'email' => 'required|string|email|max:255|unique:Uasoft\Badaso\Models\User', 'password' => 'required|string|min:6|confirmed', ]); @@ -193,7 +194,7 @@ public function verify(Request $request) { try { $request->validate([ - 'email' => ['required', 'exists:users'], + 'email' => ['required', 'exists:Uasoft\Badaso\Models\User'], 'token' => ['required'], ]); @@ -245,7 +246,6 @@ function ($attribute, $value, $fail) use ($user) { 'confirmed', 'string', 'min:6', - 'confirmed', function ($attribute, $value, $fail) use ($user) { if (Hash::check($value, $user->password)) { $fail(__('badaso::validation.auth.password_not_changes')); @@ -268,12 +268,12 @@ public function forgetPassword(Request $request) { try { $request->validate([ - 'email' => ['required', 'email', 'exists:users,email'], + 'email' => ['required', 'email', 'exists:Uasoft\Badaso\Models\User,email'], ]); $token = rand(111111, 999999); - DB::table('password_resets')->insert([ + PasswordReset::insert([ 'email' => $request->email, 'token' => $token, 'created_at' => date('Y-m-d H:i:s'), @@ -292,15 +292,12 @@ public function validateTokenForgetPassword(Request $request) { try { $request->validate([ - 'email' => ['required', 'email', 'exists:users,email'], + 'email' => ['required', 'email', 'exists:Uasoft\Badaso\Models\User,email'], 'token' => [ 'required', - 'exists:password_resets,token', + 'exists:Uasoft\Badaso\Models\PasswordReset,token', function ($attribute, $value, $fail) use ($request) { - $password_resets = DB::SELECT('SELECT * FROM password_resets WHERE token = :token AND email = :email', [ - 'token' => $request->token, - 'email' => $request->email, - ]); + $password_resets = PasswordReset::where('token', $request->token)->where('email', $request->email)->get(); $password_reset = collect($password_resets)->first(); if (is_null($password_reset)) { $fail('Token or Email invalid'); @@ -319,15 +316,12 @@ public function resetPassword(Request $request) { try { $request->validate([ - 'email' => ['required', 'email', 'exists:users,email'], + 'email' => ['required', 'email', 'exists:Uasoft\Badaso\Models\User,email'], 'token' => [ 'required', - 'exists:password_resets,token', + 'exists:Uasoft\Badaso\Models\PasswordReset,token', function ($attribute, $value, $fail) use ($request) { - $password_resets = DB::SELECT('SELECT * FROM password_resets WHERE token = :token AND email = :email', [ - 'token' => $request->token, - 'email' => $request->email, - ]); + $password_resets = PasswordReset::where('token', $request->token)->where('email', $request->email)->get(); $password_reset = collect($password_resets)->first(); if (is_null($password_reset)) { $fail('Token or Email invalid'); @@ -336,10 +330,7 @@ function ($attribute, $value, $fail) use ($request) { ], ]); - $password_resets = DB::SELECT('SELECT * FROM password_resets WHERE token = :token AND email = :email', [ - 'token' => $request->token, - 'email' => $request->email, - ]); + $password_resets = PasswordReset::where('token', $request->token)->where('email', $request->email)->get(); $password_reset = collect($password_resets)->first(); @@ -358,7 +349,7 @@ function ($attribute, $value, $fail) use ($password_reset) { $saved = $user->save(); if ($saved) { - DB::table('password_resets')->where('token', $request->token)->delete(); + PasswordReset::where('token', $request->token)->delete(); } return ApiResponse::success(); @@ -460,7 +451,7 @@ public function updateEmail(Request $request) } $request->validate([ - 'email' => 'required|email|unique:users,email', + 'email' => 'required|email|unique:Uasoft\Badaso\Models\User,email', ]); $user = User::find($user->id); @@ -516,7 +507,7 @@ public function verifyEmail(Request $request) } $request->validate([ - 'email' => ['required', 'unique:users', 'email'], + 'email' => ['required', 'unique:Uasoft\Badaso\Models\User', 'email'], 'token' => ['required'], ]); diff --git a/src/Controllers/BadasoBaseController.php b/src/Controllers/BadasoBaseController.php index 5773bad53..b567fe7b0 100644 --- a/src/Controllers/BadasoBaseController.php +++ b/src/Controllers/BadasoBaseController.php @@ -368,7 +368,7 @@ public function setMaintenanceState(Request $request) DB::beginTransaction(); try { $request->validate([ - 'slug' => 'required|exists:data_types,slug', + 'slug' => 'required|exists:Uasoft\Badaso\Models\DataType,slug', 'is_maintenance' => 'required', ]); diff --git a/src/Controllers/BadasoCRUDController.php b/src/Controllers/BadasoCRUDController.php index 7c5f7a154..069104806 100644 --- a/src/Controllers/BadasoCRUDController.php +++ b/src/Controllers/BadasoCRUDController.php @@ -61,7 +61,7 @@ public function read(Request $request) { try { $request->validate([ - 'table' => 'required|exists:data_types,name', + 'table' => 'required|exists:Uasoft\Badaso\Models\DataType,name', ]); $table = $request->input('table', ''); $data_type = Badaso::model('DataType')::where('name', $table)->first(); @@ -105,7 +105,7 @@ public function readBySlug(Request $request) { try { $request->validate([ - 'slug' => 'required|exists:data_types,slug', + 'slug' => 'required|exists:Uasoft\Badaso\Models\DataType,slug', ]); $slug = $request->input('slug', ''); $data_type = Badaso::model('DataType')::where('slug', $slug)->first(); @@ -128,10 +128,10 @@ public function edit(Request $request) try { $request->validate([ - 'id' => 'required|exists:data_types', + 'id' => 'required|exists:Uasoft\Badaso\Models\DataType', 'name' => [ 'required', - "unique:data_types,name,{$request->id}", + "unique:Uasoft\Badaso\Models\DataType,name,{$request->id}", function ($attribute, $value, $fail) { if (! Schema::hasTable($value)) { $fail(__('badaso::validation.crud.table_not_found', ['table' => $value])); @@ -275,7 +275,7 @@ public function add(Request $request) $request->validate([ 'name' => [ 'required', - 'unique:data_types', + 'unique:Uasoft\Badaso\Models\DataType', function ($attribute, $value, $fail) { if (! Schema::hasTable($value)) { $fail(__('badaso::validation.crud.table_not_found', ['table' => $value])); @@ -405,7 +405,7 @@ public function delete(Request $request) try { $request->validate([ - 'id' => 'required|exists:data_types,id', + 'id' => 'required|exists:Uasoft\Badaso\Models\DataType,id', ]); $data_type = DataType::find($request->id); diff --git a/src/Controllers/BadasoConfigurationsController.php b/src/Controllers/BadasoConfigurationsController.php index 52c8ebe76..3552adf90 100644 --- a/src/Controllers/BadasoConfigurationsController.php +++ b/src/Controllers/BadasoConfigurationsController.php @@ -147,7 +147,7 @@ public function add(Request $request) try { $request->validate([ - 'key' => 'required|unique:configurations', + 'key' => 'required|unique:Uasoft\Badaso\Models\Configuration', 'display_name' => 'required', 'group' => 'required', 'type' => 'required', diff --git a/src/Controllers/BadasoDatabaseController.php b/src/Controllers/BadasoDatabaseController.php index 5325155e8..c565d3f30 100644 --- a/src/Controllers/BadasoDatabaseController.php +++ b/src/Controllers/BadasoDatabaseController.php @@ -32,7 +32,7 @@ public function add(Request $request) $request->validate([ 'table' => [ 'required', - 'unique:data_types,slug', + 'unique:Uasoft\Badaso\Models\DataType,slug', function ($attribute, $value, $fail) { if (Schema::hasTable($value)) { $fail(__('badaso::validation.database.table_already_exists', ['table' => $value])); diff --git a/src/Controllers/BadasoMenuController.php b/src/Controllers/BadasoMenuController.php index 82ca2e645..f036ab53b 100644 --- a/src/Controllers/BadasoMenuController.php +++ b/src/Controllers/BadasoMenuController.php @@ -33,10 +33,11 @@ public function browseMenuItem(Request $request) $request->validate([ 'menu_id' => ['required'], ]); + $prefix = config('badaso.database.prefix'); $menu_items = MenuItem::where('menu_id', $request->menu_id) ->orderBy('order', 'asc') - ->whereNull('menu_items.parent_id') + ->whereNull($prefix . 'menu_items.parent_id') ->get(); $menu_items = $this->getChildMenuItems($menu_items); @@ -53,7 +54,7 @@ public function readMenu(Request $request) { try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], ]); $menu = Menu::find($request->menu_id); @@ -69,8 +70,8 @@ public function readMenuItem(Request $request) { try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], ]); $menu_item = MenuItem::where('menu_id', $request->menu_id)->where('id', $request->menu_item_id)->first(); @@ -87,15 +88,16 @@ public function browseMenuItemByKey(Request $request) { try { $request->validate([ - 'menu_key' => ['required', 'exists:menus,key'], + 'menu_key' => ['required', 'exists:Uasoft\Badaso\Models\Menu,key'], ]); + $prefix = config('badaso.database.prefix'); $menu = Menu::where('key', $request->menu_key)->first(); - $all_menu_items = MenuItem::join('menus', 'menus.id', 'menu_items.menu_id') - ->where('menus.key', $request->menu_key) - ->whereNull('menu_items.parent_id') - ->select('menu_items.*') - ->orderBy('menu_items.order', 'asc') + $all_menu_items = MenuItem::join($prefix . 'menus', $prefix . 'menus.id', $prefix . 'menu_items.menu_id') + ->where($prefix . 'menus.key', $request->menu_key) + ->whereNull($prefix . 'menu_items.parent_id') + ->select($prefix . 'menu_items.*') + ->orderBy($prefix . 'menu_items.order', 'asc') ->get(); $menu_items = []; foreach ($all_menu_items as $menu_item) { @@ -121,17 +123,17 @@ public function browseMenuItemByKeys(Request $request) $request->validate([ 'menu_key' => ['required'], ]); - + $prefix = config('badaso.database.prefix'); $menu_keys = explode(',', $request->menu_key); foreach ($menu_keys as $key => $menu_key) { $menu = Menu::where('key', $menu_key)->first(); - $all_menu_items = MenuItem::join('menus', 'menus.id', 'menu_items.menu_id') - ->where('menus.key', $menu_key) - ->whereNull('menu_items.parent_id') - ->select('menu_items.*') - ->orderBy('menu_items.order', 'asc') + $all_menu_items = MenuItem::join($prefix . 'menus', $prefix . 'menus.id', $prefix . 'menu_items.menu_id') + ->where($prefix . 'menus.key', $menu_key) + ->whereNull($prefix . 'menu_items.parent_id') + ->select($prefix . 'menu_items.*') + ->orderBy($prefix . 'menu_items.order', 'asc') ->get(); $menu_items = []; foreach ($all_menu_items as $menu_item) { @@ -180,7 +182,7 @@ public function addMenu(Request $request) try { $request->validate([ - 'key' => ['required', 'unique:menus'], + 'key' => ['required', 'unique:Uasoft\Badaso\Models\Menu'], 'display_name' => ['required'], ]); @@ -206,7 +208,7 @@ public function addMenuItem(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], 'title' => ['required'], 'url' => ['required'], 'target' => ['required'], @@ -244,8 +246,8 @@ public function editMenu(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'key' => ['required', "unique:menus,id,{$request->menu_id}"], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'key' => ['required', "unique:Uasoft\Badaso\Models\Menu,id,{$request->menu_id}"], 'display_name' => ['required'], ]); @@ -271,8 +273,8 @@ public function editMenuItem(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], 'title' => ['required'], 'url' => ['required'], 'target' => ['required'], @@ -308,8 +310,8 @@ public function editMenuItemOrder(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], ]); $menu_item = MenuItem::find($request->menu_item_id); $order = $request->get('order'); @@ -362,7 +364,7 @@ public function editMenuItemsOrder(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], 'menu_items' => ['required'], ]); @@ -397,7 +399,7 @@ public function deleteMenu(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], ]); Menu::find($request->menu_id)->delete(); @@ -418,8 +420,8 @@ public function deleteMenuItem(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], ]); MenuItem::find($request->menu_item_id)->delete(); @@ -438,8 +440,8 @@ public function getMenuItemPermissions(Request $request) { try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], ]); $menu_item = MenuItem::find($request->menu_item_id); @@ -474,8 +476,8 @@ public function setMenuItemPermissions(Request $request) try { $request->validate([ - 'menu_id' => ['required', 'exists:menus,id'], - 'menu_item_id' => ['required', 'exists:menu_items,id'], + 'menu_id' => ['required', 'exists:Uasoft\Badaso\Models\Menu,id'], + 'menu_item_id' => ['required', 'exists:Uasoft\Badaso\Models\MenuItem,id'], ]); $permission_ids = $request->get('permissions', []); diff --git a/src/Controllers/BadasoPermissionController.php b/src/Controllers/BadasoPermissionController.php index 44dae9e1c..9ece12dce 100644 --- a/src/Controllers/BadasoPermissionController.php +++ b/src/Controllers/BadasoPermissionController.php @@ -27,7 +27,7 @@ public function read(Request $request) { try { $request->validate([ - 'id' => 'required|exists:permissions,id', + 'id' => 'required|exists:Uasoft\Badaso\Models\Permission,id', ]); $permission = Permission::find($request->id); @@ -48,9 +48,9 @@ public function edit(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:permissions,id', + 'exists:Uasoft\Badaso\Models\Permission,id', ], - 'key' => "required|unique:permissions,key,{$request->id}", + 'key' => "required|unique:Uasoft\Badaso\Models\Permission,key,{$request->id}", 'description' => 'required', 'always_allow' => 'required', 'is_public' => 'required', @@ -80,7 +80,7 @@ public function add(Request $request) try { $request->validate([ - 'key' => 'required|unique:permissions', + 'key' => 'required|unique:Uasoft\Badaso\Models\Permission', 'description' => 'required', 'always_allow' => 'required', 'is_public' => 'required', @@ -111,7 +111,7 @@ public function delete(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:permissions', + 'exists:Uasoft\Badaso\Models\Permission', ], ]); diff --git a/src/Controllers/BadasoRoleController.php b/src/Controllers/BadasoRoleController.php index a26cd7d67..623d799f9 100644 --- a/src/Controllers/BadasoRoleController.php +++ b/src/Controllers/BadasoRoleController.php @@ -27,7 +27,7 @@ public function read(Request $request) { try { $request->validate([ - 'id' => 'required|exists:roles,id', + 'id' => 'required|exists:Uasoft\Badaso\Models\Role,id', ]); $role = Role::find($request->id); @@ -48,9 +48,9 @@ public function edit(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:roles,id', + 'exists:Uasoft\Badaso\Models\Role,id', ], - 'name' => "required|unique:roles,name,{$request->id}", + 'name' => "required|unique:Uasoft\Badaso\Models\Role,name,{$request->id}", 'display_name' => 'required', 'description' => 'required', ]); @@ -77,7 +77,7 @@ public function add(Request $request) try { $request->validate([ - 'name' => 'required|unique:roles,name', + 'name' => 'required|unique:Uasoft\Badaso\Models\Role,name', 'display_name' => 'required', 'description' => 'required', ]); @@ -106,7 +106,7 @@ public function delete(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:roles', + 'exists:Uasoft\Badaso\Models\Role', ], ]); diff --git a/src/Controllers/BadasoRolePermissionController.php b/src/Controllers/BadasoRolePermissionController.php index b49148910..04fdfcf4c 100644 --- a/src/Controllers/BadasoRolePermissionController.php +++ b/src/Controllers/BadasoRolePermissionController.php @@ -31,7 +31,7 @@ public function browseByRole(Request $request) { try { $request->validate([ - 'role_id' => 'required|exists:roles,id', + 'role_id' => 'required|exists:Uasoft\Badaso\Models\Role,id', ]); $role_permissions = RolePermission::where('role_id', $request->role_id)->get(); @@ -49,16 +49,17 @@ public function browseAllPermission(Request $request) { try { $request->validate([ - 'role_id' => 'required|exists:roles,id', + 'role_id' => 'required|exists:Uasoft\Badaso\Models\Role,id', ]); + $prefix = config('badaso.database.prefix'); $query = ' SELECT A.*, CASE WHEN B.role_id is not null then 1 else 0 END as selected - FROM permissions A - LEFT JOIN role_permissions B ON A.id = B.permission_id AND B.role_id = :role_id + FROM '. $prefix .'permissions A + LEFT JOIN '. $prefix .'role_permissions B ON A.id = B.permission_id AND B.role_id = :role_id '; $role_permissions = DB::select($query, [ 'role_id' => $request->role_id, @@ -76,7 +77,7 @@ public function addOrEdit(Request $request) { try { $request->validate([ - 'role_id' => 'required|exists:roles,id', + 'role_id' => 'required|exists:Uasoft\Badaso\Models\Role,id', 'permissions' => 'required', ]); $permissions = $request->permissions; diff --git a/src/Controllers/BadasoTableController.php b/src/Controllers/BadasoTableController.php index f49126297..0a482b8ec 100644 --- a/src/Controllers/BadasoTableController.php +++ b/src/Controllers/BadasoTableController.php @@ -129,7 +129,7 @@ function ($attribute, $value, $fail) { ], ]); - $records = DB::table($request->table)->select('*')->get(); + $records = DB::table(config('badaso.database.prefix') . $request->table)->select('*')->get(); $data[$request->table] = $records; @@ -143,7 +143,7 @@ public function getRelationDataBySlug(Request $request) { try { $request->validate([ - 'slug' => 'required|exists:data_types,slug', + 'slug' => 'required|exists:Uasoft\Badaso\Models\DataType,slug', ]); $slug = $request->input('slug', ''); $data_type = Badaso::model('DataType')::where('slug', $slug)->first(); @@ -173,7 +173,7 @@ public function getRelationDataBySlug(Request $request) && $destination_table_column && $destination_table_display_column ) { - $relation_data = DB::table($destination_table)->select([ + $relation_data = DB::table(config('badaso.database.prefix') . $destination_table)->select([ $destination_table_column, $destination_table_display_column, ]) diff --git a/src/Controllers/BadasoUserController.php b/src/Controllers/BadasoUserController.php index 56662c93a..41fca31a2 100644 --- a/src/Controllers/BadasoUserController.php +++ b/src/Controllers/BadasoUserController.php @@ -31,7 +31,7 @@ public function read(Request $request) { try { $request->validate([ - 'id' => 'required|exists:users,id', + 'id' => 'required|exists:Uasoft\Badaso\Models\User,id', ]); $user = User::find($request->id); @@ -54,9 +54,9 @@ public function edit(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:users,id', + 'exists:Uasoft\Badaso\Models\User,id', ], - 'email' => "required|email|unique:users,email,{$request->id}", + 'email' => "required|email|unique:Uasoft\Badaso\Models\User,email,{$request->id}", 'name' => 'required', 'avatar' => 'nullable', ]); @@ -91,7 +91,7 @@ public function add(Request $request) try { $request->validate([ - 'email' => 'required|email|unique:users', + 'email' => 'required|email|unique:Uasoft\Badaso\Models\User', 'name' => 'required', 'avatar' => 'nullable', ]); @@ -125,7 +125,7 @@ public function delete(Request $request) $request->validate([ 'id' => [ 'required', - 'exists:users', + 'exists:Uasoft\Badaso\Models\User', ], ]); diff --git a/src/Controllers/BadasoUserRoleController.php b/src/Controllers/BadasoUserRoleController.php index 2e95cd93a..087c2df9e 100644 --- a/src/Controllers/BadasoUserRoleController.php +++ b/src/Controllers/BadasoUserRoleController.php @@ -31,7 +31,7 @@ public function browseByUser(Request $request) { try { $request->validate([ - 'user_id' => 'required|exists:users,id', + 'user_id' => 'required|exists:Uasoft\Badaso\Models\User,id', ]); $user_roles = UserRole::where('user_id', $request->user_id)->get(); @@ -49,16 +49,17 @@ public function browseAllRole(Request $request) { try { $request->validate([ - 'user_id' => 'required|exists:users,id', + 'user_id' => 'required|exists:Uasoft\Badaso\Models\User,id', ]); + $prefix = config('badaso.database.prefix'); $query = ' SELECT A.*, CASE WHEN B.user_id is not null then 1 else 0 END as selected - FROM roles A - LEFT JOIN user_roles B ON A.id = B.role_id AND B.user_id = :user_id + FROM '. $prefix .'roles A + LEFT JOIN '. $prefix .'user_roles B ON A.id = B.role_id AND B.user_id = :user_id '; $user_roles = DB::select($query, [ 'user_id' => $request->user_id, @@ -76,7 +77,7 @@ public function addOrEdit(Request $request) { try { $request->validate([ - 'user_id' => 'required|exists:users,id', + 'user_id' => 'required|exists:Uasoft\Badaso\Models\User,id', ]); $roles = $request->get('roles', []); diff --git a/src/Controllers/Controller.php b/src/Controllers/Controller.php index ba0bcc671..c64f9909f 100644 --- a/src/Controllers/Controller.php +++ b/src/Controllers/Controller.php @@ -39,14 +39,15 @@ public function getDataType($slug) public function isAuthorize($method, $data_type) { + $prefix = config('badaso.database.prefix'); if ($user = auth()->user()) { $permissions = DB::SELECT(' SELECT * - FROM permissions p - JOIN role_permissions rp ON p.id = rp.permission_id - JOIN roles r ON rp.role_id = r.id - JOIN user_roles ur ON r.id = ur.role_id - JOIN users u ON ur.user_id = u.id + FROM '. $prefix .'permissions p + JOIN '. $prefix .'role_permissions rp ON p.id = rp.permission_id + JOIN '. $prefix .'roles r ON rp.role_id = r.id + JOIN '. $prefix .'user_roles ur ON r.id = ur.role_id + JOIN '. $prefix .'users u ON ur.user_id = u.id WHERE u.id = :user_id AND p.key = :permission ', [ diff --git a/src/Helpers/AuthenticatedUser.php b/src/Helpers/AuthenticatedUser.php index 8267c4703..f01e48301 100644 --- a/src/Helpers/AuthenticatedUser.php +++ b/src/Helpers/AuthenticatedUser.php @@ -8,6 +8,7 @@ class AuthenticatedUser { + public static function getUser() { $user = auth()->user(); @@ -21,18 +22,20 @@ public static function getUser() private static function getRoles($user_id) { - return UserRole::join('roles', 'roles.id', '=', 'user_roles.role_id') + $prefix = config('badaso.database.prefix'); + return UserRole::join($prefix . 'roles', $prefix . 'roles.id', '=', $prefix . 'user_roles.role_id') ->where('user_id', $user_id) - ->select('roles.*') + ->select($prefix . 'roles.*') ->get(); } private static function getPermissions($user_id) { - return RolePermission::join('user_roles', 'role_permissions.role_id', '=', 'user_roles.role_id') - ->join('permissions', 'permissions.id', '=', 'role_permissions.permission_id') - ->where('user_roles.user_id', $user_id) - ->select('permissions.id', 'permissions.key') + $prefix = config('badaso.database.prefix'); + return RolePermission::join($prefix . 'user_roles', $prefix . 'role_permissions.role_id', '=', $prefix . 'user_roles.role_id') + ->join($prefix . 'permissions', $prefix . 'permissions.id', '=', $prefix . 'role_permissions.permission_id') + ->where($prefix . 'user_roles.user_id', $user_id) + ->select($prefix . 'permissions.id', $prefix . 'permissions.key') ->get(); } diff --git a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php new file mode 100644 index 000000000..cd510fdaf --- /dev/null +++ b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->text('additional_info')->nullable(); + $table->string('avatar')->nullable()->default('files/shares/default-user.png'); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists(config('badaso.database.prefix') . 'users'); + } +} diff --git a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php new file mode 100644 index 000000000..6fea83047 --- /dev/null +++ b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists(config('badaso.database.prefix') . 'password_resets'); + } +} diff --git a/src/Migrations/2020_11_13_064800_create_data_type.php b/src/Migrations/2020_11_13_064800_create_data_type.php index 9594e52af..ecaf9de9e 100644 --- a/src/Migrations/2020_11_13_064800_create_data_type.php +++ b/src/Migrations/2020_11_13_064800_create_data_type.php @@ -14,7 +14,7 @@ class CreateDataType extends Migration public function up() { try { - Schema::create('data_types', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'data_types', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('slug')->unique(); @@ -38,7 +38,7 @@ public function up() }); // Create table for storing roles - Schema::create('data_rows', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'data_rows', function (Blueprint $table) { $table->increments('id'); $table->integer('data_type_id')->unsigned(); $table->string('field'); @@ -54,8 +54,7 @@ public function up() $table->text('relation')->nullable(); $table->integer('order')->default(1); - $table->foreign('data_type_id')->references('id')->on('data_types') - ->onUpdate('cascade')->onDelete('cascade'); + $table->foreign('data_type_id')->references('id')->on(config('badaso.database.prefix') .'data_types')->onUpdate('cascade')->onDelete('cascade'); }); } catch (PDOException $ex) { $this->down(); @@ -71,7 +70,7 @@ public function up() */ public function down() { - Schema::dropIfExists('data_rows'); - Schema::dropIfExists('data_types'); + Schema::dropIfExists(config('badaso.database.prefix') . 'data_rows'); + Schema::dropIfExists(config('badaso.database.prefix') . 'data_types'); } } diff --git a/src/Migrations/2020_11_18_014827_create_configurations.php b/src/Migrations/2020_11_18_014827_create_configurations.php index 51b690da1..8c939b007 100644 --- a/src/Migrations/2020_11_18_014827_create_configurations.php +++ b/src/Migrations/2020_11_18_014827_create_configurations.php @@ -14,7 +14,7 @@ class CreateConfigurations extends Migration public function up() { try { - Schema::create('configurations', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'configurations', function (Blueprint $table) { $table->increments('id'); $table->string('key')->unique(); $table->string('display_name'); @@ -40,6 +40,6 @@ public function up() */ public function down() { - Schema::dropIfExists('configurations'); + Schema::dropIfExists(config('badaso.database.prefix') . 'configurations'); } } diff --git a/src/Migrations/2020_11_18_014939_create_roles.php b/src/Migrations/2020_11_18_014939_create_roles.php index 73a89bf0e..24ff88d8d 100644 --- a/src/Migrations/2020_11_18_014939_create_roles.php +++ b/src/Migrations/2020_11_18_014939_create_roles.php @@ -14,7 +14,7 @@ class CreateRoles extends Migration public function up() { try { - Schema::create('roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'roles', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('display_name'); @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists('roles'); + Schema::dropIfExists(config('badaso.database.prefix') . 'roles'); } } diff --git a/src/Migrations/2020_11_18_014950_create_permissions.php b/src/Migrations/2020_11_18_014950_create_permissions.php index 098264556..5e215ef26 100644 --- a/src/Migrations/2020_11_18_014950_create_permissions.php +++ b/src/Migrations/2020_11_18_014950_create_permissions.php @@ -14,7 +14,7 @@ class CreatePermissions extends Migration public function up() { try { - Schema::create('permissions', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'permissions', function (Blueprint $table) { $table->increments('id'); $table->string('key')->index(); $table->string('description')->nullable(); @@ -37,6 +37,6 @@ public function up() */ public function down() { - Schema::dropIfExists('permissions'); + Schema::dropIfExists(config('badaso.database.prefix') . 'permissions'); } } diff --git a/src/Migrations/2020_11_18_015020_create_menus.php b/src/Migrations/2020_11_18_015020_create_menus.php index a59c527d2..616c20324 100644 --- a/src/Migrations/2020_11_18_015020_create_menus.php +++ b/src/Migrations/2020_11_18_015020_create_menus.php @@ -14,7 +14,7 @@ class CreateMenus extends Migration public function up() { try { - Schema::create('menus', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'menus', function (Blueprint $table) { $table->increments('id'); $table->string('key')->unique(); $table->string('display_name'); @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists('menus'); + Schema::dropIfExists(config('badaso.database.prefix') . 'menus'); } } diff --git a/src/Migrations/2020_11_18_015029_create_menu_items.php b/src/Migrations/2020_11_18_015029_create_menu_items.php index 762e1c403..aedbbac54 100644 --- a/src/Migrations/2020_11_18_015029_create_menu_items.php +++ b/src/Migrations/2020_11_18_015029_create_menu_items.php @@ -14,7 +14,7 @@ class CreateMenuItems extends Migration public function up() { try { - Schema::create('menu_items', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'menu_items', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('menu_id')->nullable(); $table->string('title'); @@ -41,6 +41,6 @@ public function up() */ public function down() { - Schema::dropIfExists('menu_items'); + Schema::dropIfExists(config('badaso.database.prefix') . 'menu_items'); } } diff --git a/src/Migrations/2020_11_18_015341_add_badaso_user_field.php b/src/Migrations/2020_11_18_015341_add_badaso_user_field.php deleted file mode 100644 index d9bcc6cb0..000000000 --- a/src/Migrations/2020_11_18_015341_add_badaso_user_field.php +++ /dev/null @@ -1,50 +0,0 @@ -string('avatar')->nullable()->after('email')->default('files/shares/default-user.png'); - } - if (! Schema::hasColumn('users', 'additional_info')) { - $table->text('additional_info')->nullable()->after('email'); - } - }); - } catch (PDOException $ex) { - $this->down(); - - throw $ex; - } - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - if (Schema::hasColumn('users', 'avatar')) { - Schema::table('users', function ($table) { - $table->dropColumn('avatar'); - }); - } - if (Schema::hasColumn('users', 'additional_info')) { - Schema::table('users', function ($table) { - $table->dropColumn('additional_info'); - }); - } - } -} diff --git a/src/Migrations/2020_11_18_015852_create_user_roles.php b/src/Migrations/2020_11_18_015852_create_user_roles.php index 2363bca85..3c9a95367 100644 --- a/src/Migrations/2020_11_18_015852_create_user_roles.php +++ b/src/Migrations/2020_11_18_015852_create_user_roles.php @@ -14,25 +14,25 @@ class CreateUserRoles extends Migration public function up() { try { - Schema::create('user_roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'user_roles', function (Blueprint $table) { $table->increments('id'); // $table->unsignedInteger('user_id')->index(); $table->unsignedBigInteger('user_id')->index(); - $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); $table->unsignedInteger('role_id')->index(); - $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { $this->down(); try { - Schema::create('user_roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'user_roles', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('user_id')->index(); - $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); $table->unsignedInteger('role_id')->index(); - $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { @@ -50,6 +50,6 @@ public function up() */ public function down() { - Schema::dropIfExists('user_roles'); + Schema::dropIfExists(config('badaso.database.prefix') . 'user_roles'); } } diff --git a/src/Migrations/2020_11_18_020028_create_role_permissions.php b/src/Migrations/2020_11_18_020028_create_role_permissions.php index d11bd0e9f..3356cc4f2 100644 --- a/src/Migrations/2020_11_18_020028_create_role_permissions.php +++ b/src/Migrations/2020_11_18_020028_create_role_permissions.php @@ -14,12 +14,12 @@ class CreateRolePermissions extends Migration public function up() { try { - Schema::create('role_permissions', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'role_permissions', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('role_id')->unsigned(); - $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); $table->unsignedInteger('permission_id')->unsigned(); - $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade'); + $table->foreign('permission_id')->references('id')->on(config('badaso.database.prefix') .'permissions')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { @@ -36,6 +36,6 @@ public function up() */ public function down() { - Schema::dropIfExists('role_permissions'); + Schema::dropIfExists(config('badaso.database.prefix') . 'role_permissions'); } } diff --git a/src/Migrations/2021_03_09_064445_create_user_verifications.php b/src/Migrations/2021_03_09_064445_create_user_verifications.php index 6bc86e55a..2a364548d 100644 --- a/src/Migrations/2021_03_09_064445_create_user_verifications.php +++ b/src/Migrations/2021_03_09_064445_create_user_verifications.php @@ -13,7 +13,7 @@ class CreateUserVerifications extends Migration */ public function up() { - Schema::create('user_verifications', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'user_verifications', function (Blueprint $table) { $table->increments('id'); $table->bigInteger('user_id')->nullable(); $table->string('verification_token')->nullable()->unique(); @@ -30,6 +30,6 @@ public function up() */ public function down() { - Schema::dropIfExists('user_verifications'); + Schema::dropIfExists(config('badaso.database.prefix') . 'user_verifications'); } } diff --git a/src/Migrations/2021_03_12_073541_create_email_resets.php b/src/Migrations/2021_03_12_073541_create_email_resets.php index 80ed4a584..510081147 100644 --- a/src/Migrations/2021_03_12_073541_create_email_resets.php +++ b/src/Migrations/2021_03_12_073541_create_email_resets.php @@ -13,7 +13,7 @@ class CreateEmailResets extends Migration */ public function up() { - Schema::create('email_resets', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'email_resets', function (Blueprint $table) { $table->increments('id'); $table->bigInteger('user_id')->nullable(); $table->string('email'); @@ -31,6 +31,6 @@ public function up() */ public function down() { - Schema::dropIfExists('email_resets'); + Schema::dropIfExists(config('badaso.database.prefix') . 'email_resets'); } } diff --git a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php index ecec82c6f..58f2a6ef5 100644 --- a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php +++ b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php @@ -13,13 +13,13 @@ class CreateFirebaseCloudMessagesTable extends Migration */ public function up() { - Schema::create('firebase_cloud_messages', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'firebase_cloud_messages', function (Blueprint $table) { $table->string('id')->primary(); $table->unsignedBigInteger('user_id'); $table->string('token_get_message'); $table->timestamps(); - $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); }); } @@ -30,6 +30,6 @@ public function up() */ public function down() { - Schema::dropIfExists('firebase_cloud_messages'); + Schema::dropIfExists(config('badaso.database.prefix') . 'firebase_cloud_messages'); } } diff --git a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php index a785a3f36..cdc681e09 100644 --- a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php +++ b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php @@ -13,7 +13,7 @@ class CreateFCMMessagesTable extends Migration */ public function up() { - Schema::create('f_c_m_messages', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix') . 'f_c_m_messages', function (Blueprint $table) { $table->bigIncrements('id'); $table->unsignedBigInteger('receiver_user_id'); $table->string('type'); @@ -23,8 +23,8 @@ public function up() $table->unsignedBigInteger('sender_user_id'); $table->timestamps(); - $table->foreign('receiver_user_id')->references('id')->on('users')->onDelete('cascade'); - $table->foreign('sender_user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('receiver_user_id')->references('id')->on(config('badaso.database.prefix') . 'users')->onDelete('cascade'); + $table->foreign('sender_user_id')->references('id')->on(config('badaso.database.prefix') . 'users')->onDelete('cascade'); }); } @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists('f_c_m_messages'); + Schema::dropIfExists(config('badaso.database.prefix') . 'f_c_m_messages'); } } diff --git a/src/Models/Configuration.php b/src/Models/Configuration.php index 917e5da81..11f149ded 100644 --- a/src/Models/Configuration.php +++ b/src/Models/Configuration.php @@ -4,11 +4,23 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Badaso; class Configuration extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = array()) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'configurations'; + parent::__construct($attributes); + } + protected $fillable = [ 'key', 'display_name', diff --git a/src/Models/DataRow.php b/src/Models/DataRow.php index 4214de4fa..1fe0fe103 100644 --- a/src/Models/DataRow.php +++ b/src/Models/DataRow.php @@ -9,7 +9,16 @@ class DataRow extends Model { use LogsActivity; - protected $table = 'data_rows'; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'data_rows'; + parent::__construct($attributes); + } public $timestamps = false; diff --git a/src/Models/DataType.php b/src/Models/DataType.php index 7d55ac00f..3c4152915 100644 --- a/src/Models/DataType.php +++ b/src/Models/DataType.php @@ -7,7 +7,16 @@ class DataType extends Model { - protected $table = 'data_types'; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'data_types'; + parent::__construct($attributes); + } protected $fillable = [ 'name', diff --git a/src/Models/EmailReset.php b/src/Models/EmailReset.php index 7c95e46ed..62a137005 100644 --- a/src/Models/EmailReset.php +++ b/src/Models/EmailReset.php @@ -9,6 +9,17 @@ class EmailReset extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'email_resets'; + parent::__construct($attributes); + } + protected $fillable = [ 'user_id', 'email', diff --git a/src/Models/FCMMessage.php b/src/Models/FCMMessage.php index d223d1144..7406a152a 100644 --- a/src/Models/FCMMessage.php +++ b/src/Models/FCMMessage.php @@ -6,6 +6,17 @@ class FCMMessage extends Model { + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'f_c_m_messages'; + parent::__construct($attributes); + } + protected $fillable = [ 'receiver_user_id', 'type', diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index 2f8f4b54b..d085d1f92 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -10,6 +10,17 @@ class FirebaseCloudMessages extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'firebase_cloud_messages'; + parent::__construct($attributes); + } + protected $fillable = [ 'user_id', 'token_get_message', diff --git a/src/Models/FirebaseServices.php b/src/Models/FirebaseServices.php deleted file mode 100644 index a1d7eb8d7..000000000 --- a/src/Models/FirebaseServices.php +++ /dev/null @@ -1,26 +0,0 @@ -table = $prefix . 'menus'; + parent::__construct($attributes); + } + protected $fillable = [ 'key', 'display_name', diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index 44c0cb56f..b214b14ee 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -9,6 +9,17 @@ class MenuItem extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'menu_items'; + parent::__construct($attributes); + } + protected $fillable = [ 'menu_id', 'title', diff --git a/src/Models/PasswordReset.php b/src/Models/PasswordReset.php new file mode 100644 index 000000000..1ec39b243 --- /dev/null +++ b/src/Models/PasswordReset.php @@ -0,0 +1,21 @@ +table = $prefix . 'password_resets'; + parent::__construct($attributes); + } + + protected $guarded = []; +} diff --git a/src/Models/Permission.php b/src/Models/Permission.php index ba8b72bb2..69e4a536e 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -9,6 +9,17 @@ class Permission extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'permissions'; + parent::__construct($attributes); + } + protected $guarded = []; public static function generateFor($table_name, $is_maintenance = false) @@ -57,4 +68,24 @@ public function getDescriptionForEvent(string $eventName): string { return "This model has been {$eventName}"; } + + /** + * The roles that belong to the Permission + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany + */ + public function roles() + { + return $this->belongsToMany(Role::class, config('badaso.database.prefix') . 'role_permissions'); + } + + /** + * Get the role_permission that owns the Permission + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ + public function role_permission() + { + return $this->belongsTo(RolePermission::class); + } } diff --git a/src/Models/Role.php b/src/Models/Role.php index 1bbbb9516..1fb7aa6c8 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -9,13 +9,24 @@ class Role extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'roles'; + parent::__construct($attributes); + } + protected $guarded = []; public function users() { $userModel = User::class; - return $this->belongsToMany($userModel, 'user_roles') + return $this->belongsToMany($userModel, config('badaso.database.prefix') . 'user_roles') ->select(app($userModel)->getTable().'.*') ->union($this->hasMany($userModel))->getQuery(); } @@ -27,7 +38,7 @@ public function user_roles() public function permissions() { - return $this->belongsToMany(Permission::class); + return $this->belongsToMany(Permission::class, config('badaso.database.prefix') . 'role_permissions'); } protected static $logAttributes = true; diff --git a/src/Models/RolePermission.php b/src/Models/RolePermission.php index ca143162b..b9877bf60 100644 --- a/src/Models/RolePermission.php +++ b/src/Models/RolePermission.php @@ -9,6 +9,17 @@ class RolePermission extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'role_permissions'; + parent::__construct($attributes); + } + protected $fillable = [ 'role_id', 'permission_id', @@ -16,7 +27,7 @@ class RolePermission extends Model public function role() { - return $this->belongsTo(Role::class); + return $this->belongsTo(Role::class, config('badaso.database.prefix') . 'roles'); } public function permission() diff --git a/src/Models/User.php b/src/Models/User.php index 48e5f647b..f79db64ae 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -13,6 +13,17 @@ class User extends Authenticatable implements JWTSubject use Notifiable; use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'users'; + parent::__construct($attributes); + } + /** * The attributes that are mass assignable. * diff --git a/src/Models/UserRole.php b/src/Models/UserRole.php index ec6a645ef..f9328541d 100644 --- a/src/Models/UserRole.php +++ b/src/Models/UserRole.php @@ -9,6 +9,17 @@ class UserRole extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'user_roles'; + parent::__construct($attributes); + } + protected $fillable = [ 'user_id', 'role_id', diff --git a/src/Models/UserVerification.php b/src/Models/UserVerification.php index 1a122a2c9..d7cc8fa70 100644 --- a/src/Models/UserVerification.php +++ b/src/Models/UserVerification.php @@ -9,6 +9,17 @@ class UserVerification extends Model { use LogsActivity; + protected $table = null; + + /** + * Constructor for setting the table name dynamically + */ + public function __construct(array $attributes = []) { + $prefix = config('badaso.database.prefix'); + $this->table = $prefix . 'user_verifications'; + parent::__construct($attributes); + } + protected $fillable = [ 'user_id', 'verification_token', diff --git a/src/Seeder/Configurations/FixedMenuItemSeeder.php b/src/Seeder/Configurations/FixedMenuItemSeeder.php index 2067c9d66..23850a55f 100644 --- a/src/Seeder/Configurations/FixedMenuItemSeeder.php +++ b/src/Seeder/Configurations/FixedMenuItemSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders\Badaso; use Illuminate\Database\Seeder; +use Uasoft\Badaso\Models\MenuItem; class FixedMenuItemSeeder extends Seeder { @@ -166,8 +167,7 @@ public function run() $new_menu_items = []; foreach ($menu_items as $key => $value) { - $menu_item = \DB::table('menu_items') - ->where('menu_id', $value['menu_id']) + $menu_item = MenuItem::where('menu_id', $value['menu_id']) ->where('url', $value['url']) ->first(); @@ -177,7 +177,7 @@ public function run() $new_menu_items[] = $value; } - \DB::table('menu_items')->insert($new_menu_items); + MenuItem::insert($new_menu_items); } catch (Exception $e) { throw new Exception('Exception occur '.$e); \DB::rollBack(); diff --git a/src/Seeder/Configurations/MenusSeeder.php b/src/Seeder/Configurations/MenusSeeder.php index 0f4a34d28..c4fc9e89c 100644 --- a/src/Seeder/Configurations/MenusSeeder.php +++ b/src/Seeder/Configurations/MenusSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders\Badaso; use Illuminate\Database\Seeder; +use Uasoft\Badaso\Models\Menu; class MenusSeeder extends Seeder { @@ -37,9 +38,7 @@ public function run() $new_menus = []; foreach ($menus as $key => $value) { - $menu = \DB::table('menus') - ->where('key', $value['key']) - ->first(); + $menu = Menu::where('key', $value['key'])->first(); if (isset($menu)) { continue; @@ -47,7 +46,7 @@ public function run() $new_menus[] = $value; } - \DB::table('menus')->insert($new_menus); + Menu::insert($new_menus); } catch (Exception $e) { throw new Exception('Exception occur '.$e); \DB::rollBack(); diff --git a/src/Seeder/Configurations/RolesSeeder.php b/src/Seeder/Configurations/RolesSeeder.php index 8fdea30de..d85927d56 100644 --- a/src/Seeder/Configurations/RolesSeeder.php +++ b/src/Seeder/Configurations/RolesSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders\Badaso; use Illuminate\Database\Seeder; +use Uasoft\Badaso\Models\Role; class RolesSeeder extends Seeder { @@ -37,9 +38,7 @@ public function run() $new_roles = []; foreach ($roles as $key => $value) { - $role = \DB::table('roles') - ->where('id', $value['id']) - ->first(); + $role = Role::where('id', $value['id'])->first(); if (isset($role)) { continue; @@ -47,7 +46,7 @@ public function run() $new_roles[] = $value; } - \DB::table('roles')->insert($new_roles); + Role::insert($new_roles); \DB::commit(); } catch (Exception $e) { diff --git a/src/Seeder/Configurations/SiteManagementSeeder.php b/src/Seeder/Configurations/SiteManagementSeeder.php index cdb2edfe3..7a21eb09a 100644 --- a/src/Seeder/Configurations/SiteManagementSeeder.php +++ b/src/Seeder/Configurations/SiteManagementSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders\Badaso; use Illuminate\Database\Seeder; +use Uasoft\Badaso\Models\Configuration; class SiteManagementSeeder extends Seeder { @@ -154,10 +155,10 @@ public function run() ]; foreach ($settings as $key => $value) { - \DB::table('configurations')->where('key', $value['key'])->delete(); + Configuration::where('key', $value['key'])->delete(); } - \DB::table('configurations')->insert($settings); + Configuration::insert($settings); \DB::commit(); } catch (Exception $e) { diff --git a/src/resources/js/assets/scss/page/_home.scss b/src/resources/js/assets/scss/page/_home.scss new file mode 100644 index 000000000..baf5bb7ea --- /dev/null +++ b/src/resources/js/assets/scss/page/_home.scss @@ -0,0 +1,23 @@ +.widget { + &__content { + position: relative; + } + &__icon { + position: absolute; + top: 50%; + right: 0; + transform: translate(0, -50%); + font-size: 40px; + z-index: 0; + color: #e0e0e0; + cursor: default; + user-select: none; + } + &__progress-bar { + z-index: 10; + position: relative; + } + &__icon-container { + position: relative; + } +} \ No newline at end of file diff --git a/src/resources/js/assets/scss/page/index.scss b/src/resources/js/assets/scss/page/index.scss index a29463136..19e15529b 100644 --- a/src/resources/js/assets/scss/page/index.scss +++ b/src/resources/js/assets/scss/page/index.scss @@ -15,3 +15,4 @@ @import 'menu-management'; @import 'site-management'; @import 'profile'; +@import 'home'; diff --git a/src/resources/js/pages/home.vue b/src/resources/js/pages/home.vue index 0c21d2d63..61cba9828 100644 --- a/src/resources/js/pages/home.vue +++ b/src/resources/js/pages/home.vue @@ -7,9 +7,11 @@ vs-xs="12" > - -

{{ data.value }}

- {{ data.label }} +
+ +

{{ data.value }}

+ {{ data.label }} +
primary
@@ -74,28 +76,3 @@ export default { }, }; - - \ No newline at end of file diff --git a/src/resources/js/pages/user-management/add.vue b/src/resources/js/pages/user-management/add.vue index 06948149b..fe9abe2c3 100644 --- a/src/resources/js/pages/user-management/add.vue +++ b/src/resources/js/pages/user-management/add.vue @@ -81,7 +81,7 @@ export default { user: { email: "", name: "", - avatar: {}, + avatar: "", password: "", emailVerified: false, additionalInfo: "", @@ -100,7 +100,7 @@ export default { .add({ email: this.user.email, name: this.user.name, - avatar: this.user.avatar.base64, + avatar: this.user.avatar, password: this.user.password, emailVerified: this.user.emailVerified, additionalInfo: this.user.additionalInfo, diff --git a/src/resources/js/pages/user-management/edit.vue b/src/resources/js/pages/user-management/edit.vue index 543d7b1df..683768e49 100644 --- a/src/resources/js/pages/user-management/edit.vue +++ b/src/resources/js/pages/user-management/edit.vue @@ -81,7 +81,7 @@ export default { user: { email: "", name: "", - avatar: {}, + avatar: "", password: "", emailVerified: false, additionalInfo: "", From 7283710026877718f194d34f3da59a8cde437e83 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 11:50:11 +0700 Subject: [PATCH 06/15] Remove .lock file, update css --- composer.lock | 7316 ----------------- .../js/assets/scss/module/_unauthorize.scss | 6 + .../js/assets/scss/module/index.scss | 2 + .../js/components/BadasoUnauthorize.vue | 2 +- 4 files changed, 9 insertions(+), 7317 deletions(-) delete mode 100644 composer.lock diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 1f687375b..000000000 --- a/composer.lock +++ /dev/null @@ -1,7316 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "0885e31a6208268e668e37e42e4539af", - "packages": [ - { - "name": "arcanedev/log-viewer", - "version": "8.1.0", - "source": { - "type": "git", - "url": "https://github.com/ARCANEDEV/LogViewer.git", - "reference": "c302c406ea7e0a5def75aac2e7ef1669caca6d63" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/c302c406ea7e0a5def75aac2e7ef1669caca6d63", - "reference": "c302c406ea7e0a5def75aac2e7ef1669caca6d63", - "shasum": "" - }, - "require": { - "arcanedev/support": "^8.0", - "ext-json": "*", - "php": "^7.3|^8.0", - "psr/log": "^1.1" - }, - "require-dev": { - "laravel/framework": "^8.19", - "mockery/mockery": "^1.4.2", - "orchestra/testbench-core": "^6.4", - "phpunit/phpunit": "^9.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "8.x-dev" - }, - "laravel": { - "providers": [ - "Arcanedev\\LogViewer\\LogViewerServiceProvider", - "Arcanedev\\LogViewer\\Providers\\DeferredServicesProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Arcanedev\\LogViewer\\": "src/" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "ARCANEDEV", - "email": "arcanedev.maroc@gmail.com", - "homepage": "https://github.com/arcanedev-maroc", - "role": "Developer" - } - ], - "description": "Provides a Log Viewer for Laravel", - "homepage": "https://github.com/ARCANEDEV/LogViewer", - "keywords": [ - "arcanedev", - "arcanesoft", - "laravel", - "log", - "log viewer", - "log-viewer", - "logviewer" - ], - "support": { - "issues": "https://github.com/ARCANEDEV/LogViewer/issues", - "source": "https://github.com/ARCANEDEV/LogViewer/tree/8.1.0" - }, - "time": "2021-02-26T17:24:57+00:00" - }, - { - "name": "arcanedev/support", - "version": "8.1.0", - "source": { - "type": "git", - "url": "https://github.com/ARCANEDEV/Support.git", - "reference": "b161c3c080b314e832410295011625721fbd3a2f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/b161c3c080b314e832410295011625721fbd3a2f", - "reference": "b161c3c080b314e832410295011625721fbd3a2f", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3|^8.0" - }, - "require-dev": { - "laravel/framework": "^8.0", - "orchestra/testbench": "^6.0", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "8.x-dev" - } - }, - "autoload": { - "psr-4": { - "Arcanedev\\Support\\": "src/" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "ARCANEDEV", - "email": "arcanedev.maroc@gmail.com", - "homepage": "https://github.com/arcanedev-maroc" - } - ], - "description": "ARCANEDEV Support Helpers", - "homepage": "https://github.com/ARCANEDEV/Support", - "keywords": [ - "arcanedev", - "arcanesoft", - "laravel", - "support" - ], - "support": { - "issues": "https://github.com/ARCANEDEV/Support/issues", - "source": "https://github.com/ARCANEDEV/Support/tree/8.1.0" - }, - "time": "2020-11-27T17:09:38+00:00" - }, - { - "name": "aws/aws-sdk-php", - "version": "3.185.11", - "source": { - "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "fee396b3e137cc2ec9ae94159d01dd1ed15d8c40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fee396b3e137cc2ec9ae94159d01dd1ed15d8c40", - "reference": "fee396b3e137cc2ec9ae94159d01dd1ed15d8c40", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", - "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.7.0", - "mtdowling/jmespath.php": "^2.6", - "php": ">=5.5" - }, - "require-dev": { - "andrewsville/php-token-reflection": "^1.4", - "aws/aws-php-sns-message-validator": "~1.0", - "behat/behat": "~3.0", - "doctrine/cache": "~1.4", - "ext-dom": "*", - "ext-openssl": "*", - "ext-pcntl": "*", - "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35|^5.4.3", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3" - }, - "suggest": { - "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", - "doctrine/cache": "To use the DoctrineCacheAdapter", - "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", - "ext-sockets": "To use client-side monitoring" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Aws\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Amazon Web Services", - "homepage": "http://aws.amazon.com" - } - ], - "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "cloud", - "dynamodb", - "ec2", - "glacier", - "s3", - "sdk" - ], - "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", - "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.185.11" - }, - "time": "2021-07-12T18:13:46+00:00" - }, - { - "name": "brick/math", - "version": "0.9.2", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "brick", - "math" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.2" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], - "time": "2021-01-20T22:51:39+00:00" - }, - { - "name": "darkaonline/l5-swagger", - "version": "8.0.7", - "source": { - "type": "git", - "url": "https://github.com/DarkaOnLine/L5-Swagger.git", - "reference": "5e3d9c067797ebc35304d20acd94aeb40cde2825" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/DarkaOnLine/L5-Swagger/zipball/5e3d9c067797ebc35304d20acd94aeb40cde2825", - "reference": "5e3d9c067797ebc35304d20acd94aeb40cde2825", - "shasum": "" - }, - "require": { - "ext-json": "*", - "laravel/framework": ">=8.40.0 || ^7.0", - "php": "^7.2 || ^8.0", - "swagger-api/swagger-ui": "^3.0", - "symfony/yaml": "^5.0", - "zircote/swagger-php": "3.*" - }, - "require-dev": { - "mockery/mockery": "1.*", - "orchestra/testbench": "6.* || 5.*", - "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "8.*" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "L5Swagger\\L5SwaggerServiceProvider" - ], - "aliases": { - "L5Swagger": "L5Swagger\\L5SwaggerFacade" - } - } - }, - "autoload": { - "psr-4": { - "L5Swagger\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Darius Matulionis", - "email": "darius@matulionis.lt" - } - ], - "description": "OpenApi or Swagger integration to Laravel", - "keywords": [ - "api", - "documentation", - "laravel", - "openapi", - "specification", - "swagger", - "ui" - ], - "support": { - "issues": "https://github.com/DarkaOnLine/L5-Swagger/issues", - "source": "https://github.com/DarkaOnLine/L5-Swagger/tree/8.0.7" - }, - "funding": [ - { - "url": "https://github.com/DarkaOnLine", - "type": "github" - } - ], - "time": "2021-07-12T06:31:40+00:00" - }, - { - "name": "doctrine/annotations", - "version": "1.13.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.1" - }, - "time": "2021-05-16T18:07:53+00:00" - }, - { - "name": "doctrine/cache", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "c9622c6820d3ede1e2315a6a377ea1076e421d88" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/c9622c6820d3ede1e2315a6a377ea1076e421d88", - "reference": "c9622c6820d3ede1e2315a6a377ea1076e421d88", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4", - "psr/cache": ">=3" - }, - "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^8.0", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "predis/predis": "~1.0", - "psr/cache": "^1.0 || ^2.0", - "symfony/cache": "^4.4 || ^5.2" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.0.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], - "time": "2021-05-25T09:43:04+00:00" - }, - { - "name": "doctrine/dbal", - "version": "2.13.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4", - "shasum": "" - }, - "require": { - "doctrine/cache": "^1.0|^2.0", - "doctrine/deprecations": "^0.5.3", - "doctrine/event-manager": "^1.0", - "ext-pdo": "*", - "php": "^7.1 || ^8" - }, - "require-dev": { - "doctrine/coding-standard": "9.0.0", - "jetbrains/phpstorm-stubs": "2020.2", - "phpstan/phpstan": "0.12.81", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.5", - "squizlabs/php_codesniffer": "3.6.0", - "symfony/cache": "^4.4", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "4.6.4" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlanywhere", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/2.13.2" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2021-06-18T21:48:39+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "v0.5.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", - "shasum": "" - }, - "require": { - "php": "^7.1|^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0|^7.0|^8.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" - }, - "time": "2021-03-21T12:59:47+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": "<2.9@dev" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2020-05-29T18:28:51+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], - "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.x" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], - "time": "2020-05-29T15:13:26+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2020-05-25T17:44:05+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v3.1.0", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", - "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.7.0" - }, - "replace": { - "mtdowling/cron-expression": "^1.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-webmozart-assert": "^0.12.7", - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "support": { - "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" - }, - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2020-11-24T19:55:57+00:00" - }, - { - "name": "egulias/email-validator", - "version": "2.1.25", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.10" - }, - "require-dev": { - "dominicsayers/isemail": "^3.0.7", - "phpunit/phpunit": "^4.8.36|^7.5.15", - "satooshi/php-coveralls": "^1.0.1" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "support": { - "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" - }, - "funding": [ - { - "url": "https://github.com/egulias", - "type": "github" - } - ], - "time": "2020-12-29T14:50:06+00:00" - }, - { - "name": "firebase/php-jwt", - "version": "v5.4.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d2113d9b2e0e349796e72d2a63cf9319100382d2", - "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.8 <=9" - }, - "suggest": { - "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "keywords": [ - "jwt", - "php" - ], - "support": { - "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v5.4.0" - }, - "time": "2021-06-23T19:00:23+00:00" - }, - { - "name": "google/apiclient", - "version": "v2.10.1", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-api-php-client.git", - "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/11871e94006ce7a419bb6124d51b6f9ace3f679b", - "reference": "11871e94006ce7a419bb6124d51b6f9ace3f679b", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0||~3.0||~4.0||~5.0", - "google/apiclient-services": "~0.200", - "google/auth": "^1.10", - "guzzlehttp/guzzle": "~5.3.3||~6.0||~7.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "^1.17|^2.0", - "php": "^5.6|^7.0|^8.0", - "phpseclib/phpseclib": "~2.0||^3.0.2" - }, - "require-dev": { - "cache/filesystem-adapter": "^0.3.2|^1.1", - "composer/composer": "^1.10.22", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7", - "phpcompatibility/php-compatibility": "^9.2", - "phpunit/phpunit": "^5.7||^8.5.13", - "squizlabs/php_codesniffer": "~2.3", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1" - }, - "suggest": { - "cache/filesystem-adapter": "For caching certs and tokens (using Google\\Client::setCache)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Google\\": "src/" - }, - "files": [ - "src/aliases.php" - ], - "classmap": [ - "src/aliases.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "support": { - "issues": "https://github.com/googleapis/google-api-php-client/issues", - "source": "https://github.com/googleapis/google-api-php-client/tree/v2.10.1" - }, - "time": "2021-06-25T14:25:44+00:00" - }, - { - "name": "google/apiclient-services", - "version": "v0.203.0", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "e397f35251a49e0f4284d5f7d934164ca1274066" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/e397f35251a49e0f4284d5f7d934164ca1274066", - "reference": "e397f35251a49e0f4284d5f7d934164ca1274066", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "^5.7||^8.5.13" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Service\\": "src" - }, - "files": [ - "autoload.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "support": { - "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.203.0" - }, - "time": "2021-07-10T11:20:23+00:00" - }, - { - "name": "google/auth", - "version": "v1.16.0", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "c747738d2dd450f541f09f26510198fbedd1c8a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/c747738d2dd450f541f09f26510198fbedd1c8a0", - "reference": "c747738d2dd450f541f09f26510198fbedd1c8a0", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0", - "guzzlehttp/guzzle": "^5.3.1|^6.2.1|^7.0", - "guzzlehttp/psr7": "^1.2", - "php": ">=5.4", - "psr/cache": "^1.0|^2.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "guzzlehttp/promises": "0.1.1|^1.3", - "kelvinmo/simplejwt": "^0.2.5|^0.5.1", - "phpseclib/phpseclib": "^2.0.31", - "phpunit/phpunit": "^4.8.36|^5.7", - "sebastian/comparator": ">=1.2.3", - "squizlabs/php_codesniffer": "^3.5" - }, - "suggest": { - "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "support": { - "docs": "https://googleapis.github.io/google-auth-library-php/master/", - "issues": "https://github.com/googleapis/google-auth-library-php/issues", - "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.16.0" - }, - "time": "2021-06-22T18:06:03+00:00" - }, - { - "name": "graham-campbell/guzzle-factory", - "version": "v5.0.0", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Guzzle-Factory.git", - "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", - "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^7.2", - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "graham-campbell/analyzer": "^3.0.4", - "phpunit/phpunit": "^8.5.8 || ^9.3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\GuzzleFactory\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Provides A Simple Guzzle Factory With Good Defaults", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Guzzle", - "Guzzle Factory", - "Guzzle-Factory", - "http" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Guzzle-Factory/issues", - "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v5.0.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/guzzle-factory", - "type": "tidelift" - } - ], - "time": "2021-01-24T20:39:09+00:00" - }, - { - "name": "graham-campbell/result-type", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", - "shasum": "" - }, - "require": { - "php": "^7.0|^8.0", - "phpoption/phpoption": "^1.7.3" - }, - "require-dev": { - "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2020-04-13T13:17:36+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "7008573787b430c1c1f650e3722d9bba59967628" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", - "reference": "7008573787b430c1c1f650e3722d9bba59967628", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.4", - "guzzlehttp/psr7": "^1.7 || ^2.0", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-curl": "*", - "php-http/client-integration-tests": "^3.0", - "phpunit/phpunit": "^8.5.5 || ^9.3.5", - "psr/log": "^1.1" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.3-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.3.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://github.com/alexeyshockov", - "type": "github" - }, - { - "url": "https://github.com/gmponos", - "type": "github" - } - ], - "time": "2021-03-23T11:33:13+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.1" - }, - "time": "2021-03-07T09:25:29+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.2" - }, - "time": "2021-04-26T09:17:50+00:00" - }, - { - "name": "intervention/image", - "version": "2.5.1", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - }, - "laravel": { - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ], - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - } - } - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@olivervogel.com", - "homepage": "http://olivervogel.com/" - } - ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" - ], - "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/master" - }, - "time": "2019-11-02T09:15:47+00:00" - }, - { - "name": "larapack/doctrine-support", - "version": "v0.1.9", - "source": { - "type": "git", - "url": "https://github.com/larapack/doctrine-support.git", - "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/larapack/doctrine-support/zipball/ab6e821c467704ae91a9a944e6ebdaad6a99a294", - "reference": "ab6e821c467704ae91a9a944e6ebdaad6a99a294", - "shasum": "" - }, - "require": { - "doctrine/dbal": "^2.5", - "illuminate/support": ">=5.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Larapack\\DoctrineSupport\\DoctrineSupportServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Larapack\\DoctrineSupport\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Topper", - "email": "mark@ulties.com" - } - ], - "description": "Better Doctrine Support with Laravel (Support for `enum`)", - "homepage": "https://github.com/larapack/doctrine-support", - "keywords": [ - "dbal", - "doctrine", - "enum", - "laravel", - "support" - ], - "support": { - "issues": "https://github.com/larapack/doctrine-support/issues", - "source": "https://github.com/larapack/doctrine-support" - }, - "time": "2019-09-05T13:15:40+00:00" - }, - { - "name": "laravel/framework", - "version": "v8.49.2", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "d9b43ee080b4d51344b2e578aa667f85040471a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/d9b43ee080b4d51344b2e578aa667f85040471a2", - "reference": "d9b43ee080b4d51344b2e578aa667f85040471a2", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^3.0.2", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "league/commonmark": "^1.3", - "league/flysystem": "^1.1", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", - "opis/closure": "^3.6", - "php": "^7.3|^8.0", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^4.0", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.1.4", - "symfony/error-handler": "^5.1.4", - "symfony/finder": "^5.1.4", - "symfony/http-foundation": "^5.1.4", - "symfony/http-kernel": "^5.1.4", - "symfony/mime": "^5.1.4", - "symfony/process": "^5.1.4", - "symfony/routing": "^5.1.4", - "symfony/var-dumper": "^5.1.4", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^5.2", - "voku/portable-ascii": "^1.4.8" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "provide": { - "psr/container-implementation": "1.0" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/collections": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/macroable": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/testing": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.155", - "doctrine/dbal": "^2.6|^3.0", - "filp/whoops": "^2.8", - "guzzlehttp/guzzle": "^6.5.5|^7.0.1", - "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.4.2", - "orchestra/testbench-core": "^6.23", - "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.5.8|^9.3.3", - "predis/predis": "^1.1.2", - "symfony/cache": "^5.1.4" - }, - "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", - "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", - "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (^1.4.2).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", - "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.x-dev" - } - }, - "autoload": { - "files": [ - "src/Illuminate/Collections/helpers.php", - "src/Illuminate/Events/functions.php", - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/", - "Illuminate\\Support\\": [ - "src/Illuminate/Macroable/", - "src/Illuminate/Collections/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2021-07-06T14:06:38+00:00" - }, - { - "name": "laravel/ui", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/ui.git", - "reference": "07d725813350c695c779382cbd6dac0ab8665537" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", - "reference": "07d725813350c695c779382cbd6dac0ab8665537", - "shasum": "" - }, - "require": { - "illuminate/console": "^8.42", - "illuminate/filesystem": "^8.42", - "illuminate/support": "^8.42", - "illuminate/validation": "^8.42", - "php": "^7.3|^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Ui\\UiServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Ui\\": "src/", - "Illuminate\\Foundation\\Auth\\": "auth-backend/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel UI utilities and presets.", - "keywords": [ - "laravel", - "ui" - ], - "support": { - "source": "https://github.com/laravel/ui/tree/v3.3.0" - }, - "time": "2021-05-25T16:45:33+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "3.3.3", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c1123697f6a2ec29162b82f170dd4a491f524773", - "reference": "c1123697f6a2ec29162b82f170dd4a491f524773", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-openssl": "*", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "^5.7 || ^7.3", - "squizlabs/php_codesniffer": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Otávio Cobucci Oblonczyk", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/3.3.3" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2020-08-20T13:22:28+00:00" - }, - { - "name": "league/commonmark", - "version": "1.6.5", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/44ffd8d3c4a9133e4bd0548622b09c55af39db5f", - "reference": "44ffd8d3c4a9133e4bd0548622b09c55af39db5f", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" - }, - "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" - }, - "bin": [ - "bin/commonmark" - ], - "type": "library", - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "support": { - "docs": "https://commonmark.thephpleague.com/", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" - }, - "funding": [ - { - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "type": "custom" - }, - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2021-06-26T11:57:13+00:00" - }, - { - "name": "league/flysystem", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" - }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "time": "2021-06-23T21:56:05+00:00" - }, - { - "name": "league/flysystem-aws-s3-v3", - "version": "1.0.29", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "4e25cc0582a36a786c31115e419c6e40498f6972" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4e25cc0582a36a786c31115e419c6e40498f6972", - "reference": "4e25cc0582a36a786c31115e419c6e40498f6972", - "shasum": "" - }, - "require": { - "aws/aws-sdk-php": "^3.20.0", - "league/flysystem": "^1.0.40", - "php": ">=5.5.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "~1.0.1", - "phpspec/phpspec": "^2.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\AwsS3v3\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "support": { - "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/1.0.29" - }, - "time": "2020-10-08T18:58:37+00:00" - }, - { - "name": "league/flysystem-cached-adapter", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-cached-adapter.git", - "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff", - "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff", - "shasum": "" - }, - "require": { - "league/flysystem": "~1.0", - "psr/cache": "^1.0.0" - }, - "require-dev": { - "mockery/mockery": "~0.9", - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7", - "predis/predis": "~1.0", - "tedivm/stash": "~0.12" - }, - "suggest": { - "ext-phpredis": "Pure C implemented extension for PHP" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\Cached\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "frankdejonge", - "email": "info@frenky.net" - } - ], - "description": "An adapter decorator to enable meta-data caching.", - "support": { - "issues": "https://github.com/thephpleague/flysystem-cached-adapter/issues", - "source": "https://github.com/thephpleague/flysystem-cached-adapter/tree/master" - }, - "time": "2020-07-25T15:56:04+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2021-01-18T20:58:21+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "df991fd88693ab703aa403413d83e15f688dae33" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/df991fd88693ab703aa403413d83e15f688dae33", - "reference": "df991fd88693ab703aa403413d83e15f688dae33", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7", - "graylog2/gelf-php": "^1.4.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2021-07-05T11:34:13+00:00" - }, - { - "name": "mtdowling/jmespath.php", - "version": "2.6.1", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0", - "symfony/polyfill-mbstring": "^1.17" - }, - "require-dev": { - "composer/xdebug-handler": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^7.5.15" - }, - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-4": { - "JmesPath\\": "src/" - }, - "files": [ - "src/JmesPath.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "support": { - "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.6.1" - }, - "time": "2021-06-14T00:11:39+00:00" - }, - { - "name": "namshi/jose", - "version": "7.2.3", - "source": { - "type": "git", - "url": "https://github.com/namshi/jose.git", - "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff", - "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff", - "shasum": "" - }, - "require": { - "ext-date": "*", - "ext-hash": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-spl": "*", - "php": ">=5.5", - "symfony/polyfill-php56": "^1.0" - }, - "require-dev": { - "phpseclib/phpseclib": "^2.0", - "phpunit/phpunit": "^4.5|^5.0", - "satooshi/php-coveralls": "^1.0" - }, - "suggest": { - "ext-openssl": "Allows to use OpenSSL as crypto engine.", - "phpseclib/phpseclib": "Allows to use Phpseclib as crypto engine, use version ^2.0." - }, - "type": "library", - "autoload": { - "psr-4": { - "Namshi\\JOSE\\": "src/Namshi/JOSE/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alessandro Nadalin", - "email": "alessandro.nadalin@gmail.com" - }, - { - "name": "Alessandro Cinelli (cirpo)", - "email": "alessandro.cinelli@gmail.com" - } - ], - "description": "JSON Object Signing and Encryption library for PHP.", - "keywords": [ - "JSON Web Signature", - "JSON Web Token", - "JWS", - "json", - "jwt", - "token" - ], - "support": { - "issues": "https://github.com/namshi/jose/issues", - "source": "https://github.com/namshi/jose/tree/master" - }, - "time": "2016-12-05T07:27:31+00:00" - }, - { - "name": "nao-pon/flysystem-cached-extra", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/nao-pon/flysystem-cached-extra.git", - "reference": "189abdafa0a86d92781e148ee8740ef80f4c5859" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nao-pon/flysystem-cached-extra/zipball/189abdafa0a86d92781e148ee8740ef80f4c5859", - "reference": "189abdafa0a86d92781e148ee8740ef80f4c5859", - "shasum": "" - }, - "require": { - "league/flysystem-cached-adapter": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Hypweb\\Flysystem\\Cached\\Extra\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Naoki Sawada", - "email": "hypweb@gmail.com" - } - ], - "description": "Extra traits for Flysystem cached adapter", - "support": { - "issues": "https://github.com/nao-pon/flysystem-cached-extra/issues", - "source": "https://github.com/nao-pon/flysystem-cached-extra/tree/master" - }, - "time": "2018-02-16T01:44:38+00:00" - }, - { - "name": "nao-pon/flysystem-google-drive", - "version": "1.1.13", - "source": { - "type": "git", - "url": "https://github.com/nao-pon/flysystem-google-drive.git", - "reference": "bb812339ecf06540ed096f71403f10fcbcc590f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nao-pon/flysystem-google-drive/zipball/bb812339ecf06540ed096f71403f10fcbcc590f3", - "reference": "bb812339ecf06540ed096f71403f10fcbcc590f3", - "shasum": "" - }, - "require": { - "google/apiclient": "^2.0", - "league/flysystem": "~1.0", - "nao-pon/flysystem-cached-extra": "~1.0", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "0.9.*", - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-api_v2": "1.0.x-dev", - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Hypweb\\Flysystem\\GoogleDrive\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Naoki Sawada", - "email": "hypweb@gmail.com" - } - ], - "description": "Flysystem adapter for Google Drive", - "support": { - "issues": "https://github.com/nao-pon/flysystem-google-drive/issues", - "source": "https://github.com/nao-pon/flysystem-google-drive/tree/1.1.13" - }, - "time": "2020-07-30T01:26:26+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.50.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f47f17d17602b2243414a44ad53d9f8b9ada5fdb", - "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^3.4 || ^4.0 || ^5.0" - }, - "require-dev": { - "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^2.0", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.54", - "phpunit/phpunit": "^7.5.20 || ^8.5.14", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "support": { - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2021-06-28T22:38:45+00:00" - }, - { - "name": "opis/closure", - "version": "3.6.2", - "source": { - "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0" - }, - "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.6.x-dev" - } - }, - "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" - } - ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", - "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" - ], - "support": { - "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.2" - }, - "time": "2021-04-09T13:42:10+00:00" - }, - { - "name": "paragonie/constant_time_encoding", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c", - "reference": "f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c", - "shasum": "" - }, - "require": { - "php": "^7|^8" - }, - "require-dev": { - "phpunit/phpunit": "^6|^7|^8|^9", - "vimeo/psalm": "^1|^2|^3|^4" - }, - "type": "library", - "autoload": { - "psr-4": { - "ParagonIE\\ConstantTime\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com", - "role": "Maintainer" - }, - { - "name": "Steve 'Sc00bz' Thomas", - "email": "steve@tobtu.com", - "homepage": "https://www.tobtu.com", - "role": "Original Developer" - } - ], - "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", - "keywords": [ - "base16", - "base32", - "base32_decode", - "base32_encode", - "base64", - "base64_decode", - "base64_encode", - "bin2hex", - "encoding", - "hex", - "hex2bin", - "rfc4648" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, - "time": "2020-12-06T15:14:20+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, - "time": "2020-10-15T08:29:30+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.7.5", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2020-07-20T17:29:33+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "3.0.9", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "a127a5133804ff2f47ae629dd529b129da616ad7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/a127a5133804ff2f47ae629dd529b129da616ad7", - "reference": "a127a5133804ff2f47ae629dd529b129da616ad7", - "shasum": "" - }, - "require": { - "paragonie/constant_time_encoding": "^1|^2", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^5.7|^6.0|^9.4", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib3\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.9" - }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2021-06-14T06:54:45+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/master" - }, - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/container", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" - }, - "time": "2021-03-05T17:36:06+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" - }, - "time": "2020-06-29T06:28:15+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" - }, - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-01-21T17:40:04+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.1.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", - "shasum": "" - }, - "require": { - "brick/math": "^0.8 || ^0.9", - "ext-json": "*", - "php": "^7.2 || ^8", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", - "doctrine/annotations": "^1.8", - "goaop/framework": "^2", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - } - ], - "time": "2020-08-18T17:17:46+00:00" - }, - { - "name": "spatie/db-dumper", - "version": "2.21.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/db-dumper.git", - "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1", - "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "symfony/process": "^4.2|^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\DbDumper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Dump databases", - "homepage": "https://github.com/spatie/db-dumper", - "keywords": [ - "database", - "db-dumper", - "dump", - "mysqldump", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/db-dumper/issues", - "source": "https://github.com/spatie/db-dumper/tree/2.21.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-02-24T14:56:42+00:00" - }, - { - "name": "spatie/dropbox-api", - "version": "1.19.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/dropbox-api.git", - "reference": "0ea6d08445b339241d21b833db111d371e61ed4f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/0ea6d08445b339241d21b833db111d371e61ed4f", - "reference": "0ea6d08445b339241d21b833db111d371e61ed4f", - "shasum": "" - }, - "require": { - "graham-campbell/guzzle-factory": "^3.0||^4.0||^5.0", - "guzzlehttp/guzzle": "^6.2||^7.0", - "php": "^7.1||^8.0" - }, - "conflict": { - "guzzlehttp/psr7": "<1.7.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5.15|^8.5|^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Dropbox\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex.vanderbist@gmail.com", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A minimal implementation of Dropbox API v2", - "homepage": "https://github.com/spatie/dropbox-api", - "keywords": [ - "Dropbox-API", - "api", - "dropbox", - "spatie", - "v2" - ], - "support": { - "issues": "https://github.com/spatie/dropbox-api/issues", - "source": "https://github.com/spatie/dropbox-api/tree/1.19.1" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-07-04T12:13:24+00:00" - }, - { - "name": "spatie/flysystem-dropbox", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/flysystem-dropbox.git", - "reference": "8b6b072f217343b875316ca6a4203dd59f04207a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/flysystem-dropbox/zipball/8b6b072f217343b875316ca6a4203dd59f04207a", - "reference": "8b6b072f217343b875316ca6a4203dd59f04207a", - "shasum": "" - }, - "require": { - "league/flysystem": "^1.0.20", - "php": "^7.0 || ^8.0", - "spatie/dropbox-api": "^1.1.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.11 || ^9.4.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\FlysystemDropbox\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex.vanderbist@gmail.com", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Flysystem Adapter for the Dropbox v2 API", - "homepage": "https://github.com/spatie/flysystem-dropbox", - "keywords": [ - "Flysystem", - "api", - "dropbox", - "flysystem-dropbox", - "spatie", - "v2" - ], - "support": { - "issues": "https://github.com/spatie/flysystem-dropbox/issues", - "source": "https://github.com/spatie/flysystem-dropbox/tree/1.2.3" - }, - "time": "2020-11-28T22:17:09+00:00" - }, - { - "name": "spatie/laravel-activitylog", - "version": "3.17.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-activitylog.git", - "reference": "bdc44862aaca39ecbd824133b80dbd7c8017ed7f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/bdc44862aaca39ecbd824133b80dbd7c8017ed7f", - "reference": "bdc44862aaca39ecbd824133b80dbd7c8017ed7f", - "shasum": "" - }, - "require": { - "illuminate/config": "^6.0 || ^7.0 || ^8.0", - "illuminate/database": "^6.0 || ^7.0 || ^8.0", - "illuminate/support": "^6.0 || ^7.0 || ^8.0", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "ext-json": "*", - "orchestra/testbench": "^4.0 || ^5.0 || ^6.0", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\Activitylog\\ActivitylogServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Spatie\\Activitylog\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Sebastian De Deyne", - "email": "sebastian@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Tom Witkowski", - "email": "dev.gummibeer@gmail.com", - "homepage": "https://gummibeer.de", - "role": "Developer" - } - ], - "description": "A very simple activity logger to monitor the users of your website or application", - "homepage": "https://github.com/spatie/activitylog", - "keywords": [ - "activity", - "laravel", - "log", - "spatie", - "user" - ], - "support": { - "issues": "https://github.com/spatie/laravel-activitylog/issues", - "source": "https://github.com/spatie/laravel-activitylog/tree/3.17.0" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-03-02T16:49:06+00:00" - }, - { - "name": "spatie/laravel-backup", - "version": "6.16.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-backup.git", - "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", - "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", - "shasum": "" - }, - "require": { - "ext-zip": "^1.14.0", - "illuminate/console": "^6.0|^7.0|^8.0", - "illuminate/contracts": "^6.0|^7.0|^8.0", - "illuminate/events": "^6.0|^7.0|^8.0", - "illuminate/filesystem": "^6.0|^7.0|^8.0", - "illuminate/notifications": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0", - "league/flysystem": "^1.0.49", - "php": "^7.3|^8.0", - "spatie/db-dumper": "^2.12", - "spatie/temporary-directory": "^1.1", - "symfony/finder": "^4.2|^5.0" - }, - "require-dev": { - "laravel/slack-notification-channel": "^2.3", - "league/flysystem-aws-s3-v3": "^1.0", - "mockery/mockery": "^1.4.2", - "orchestra/testbench": "4.*|5.*|6.*", - "phpunit/phpunit": "^8.4|^9.0" - }, - "suggest": { - "laravel/slack-notification-channel": "Required for sending notifications via Slack" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\Backup\\BackupServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Spatie\\Backup\\": "src" - }, - "files": [ - "src/Helpers/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A Laravel package to backup your application", - "homepage": "https://github.com/spatie/laravel-backup", - "keywords": [ - "backup", - "database", - "laravel-backup", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/6.16.1" - }, - "funding": [ - { - "url": "https://github.com/sponsors/spatie", - "type": "github" - }, - { - "url": "https://spatie.be/open-source/support-us", - "type": "other" - } - ], - "time": "2021-07-10T14:54:21+00:00" - }, - { - "name": "spatie/temporary-directory", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/temporary-directory.git", - "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6", - "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\TemporaryDirectory\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily create, use and destroy temporary directories", - "homepage": "https://github.com/spatie/temporary-directory", - "keywords": [ - "php", - "spatie", - "temporary-directory" - ], - "support": { - "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/1.3.0" - }, - "time": "2020-11-09T15:54:21+00:00" - }, - { - "name": "swagger-api/swagger-ui", - "version": "v3.51.1", - "source": { - "type": "git", - "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "bb21c6df52eb12cd4bdbf8c29feb500795595fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/bb21c6df52eb12cd4bdbf8c29feb500795595fa8", - "reference": "bb21c6df52eb12cd4bdbf8c29feb500795595fa8", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Anna Bodnia", - "email": "anna.bodnia@gmail.com" - }, - { - "name": "Buu Nguyen", - "email": "buunguyen@gmail.com" - }, - { - "name": "Josh Ponelat", - "email": "jponelat@gmail.com" - }, - { - "name": "Kyle Shockey", - "email": "kyleshockey1@gmail.com" - }, - { - "name": "Robert Barnwell", - "email": "robert@robertismy.name" - }, - { - "name": "Sahar Jafari", - "email": "shr.jafari@gmail.com" - } - ], - "description": " Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.", - "homepage": "http://swagger.io", - "keywords": [ - "api", - "documentation", - "openapi", - "specification", - "swagger", - "ui" - ], - "support": { - "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v3.51.1" - }, - "time": "2021-06-30T20:42:58+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "time": "2021-03-09T12:30:35+00:00" - }, - { - "name": "symfony/console", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-12T09:42:48+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:40:38+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "43323e79c80719e8a4674e33484bca98270d223f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/43323e79c80719e8a4674e33484bca98270d223f", - "reference": "43323e79c80719e8a4674e33484bca98270d223f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-24T08:13:00+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/dependency-injection": "<4.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/error-handler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^4.4|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T12:52:38+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-11T23:07:08+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0e45ab1574caa0460d9190871a8ce47539e40ccf", - "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-27T09:19:40+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", - "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "~1.0", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4|^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^5.3", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/browser-kit": "<4.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/config": "^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.3", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/translation": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-30T08:27:49+00:00" - }, - { - "name": "symfony/mime", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/property-access": "^4.4|^5.1", - "symfony/property-info": "^4.4|^5.1", - "symfony/serializer": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-09T10:58:01+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:17:38+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-php56", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", - "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "metapackage", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-10-23T14:02:19+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:17:38+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/process", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-12T10:15:01+00:00" - }, - { - "name": "symfony/routing", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12", - "psr/log": "~1.0", - "symfony/config": "^5.3", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "support": { - "source": "https://github.com/symfony/routing/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-01T10:43:52+00:00" - }, - { - "name": "symfony/string", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", - "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "files": [ - "Resources/functions.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-27T11:44:38+00:00" - }, - { - "name": "symfony/translation", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/380b8c9e944d0e364b25f28e8e555241eb49c01c", - "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-27T12:22:47+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "46aa709affb9ad3355bd7a810f9662d71025c384" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/46aa709affb9ad3355bd7a810f9662d71025c384", - "reference": "46aa709affb9ad3355bd7a810f9662d71025c384", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-24T08:13:00+00:00" - }, - { - "name": "symfony/var-exporter", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/903c2c0babd6267de5bcb2995e8fc1efb5f01f1f", - "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-27T09:16:08+00:00" - }, - { - "name": "symfony/yaml", - "version": "v5.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", - "reference": "485c83a2fb5893e2ff21bf4bfc7fdf48b4967229", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<4.4" - }, - "require-dev": { - "symfony/console": "^4.4|^5.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-24T08:13:00+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" - }, - "time": "2020-07-13T06:12:54+00:00" - }, - { - "name": "tymon/jwt-auth", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/tymondesigns/jwt-auth.git", - "reference": "e588cb719539366c0e2f6017f975379cb73e9680" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e588cb719539366c0e2f6017f975379cb73e9680", - "reference": "e588cb719539366c0e2f6017f975379cb73e9680", - "shasum": "" - }, - "require": { - "illuminate/auth": "^5.2|^6|^7|^8", - "illuminate/contracts": "^5.2|^6|^7|^8", - "illuminate/http": "^5.2|^6|^7|^8", - "illuminate/support": "^5.2|^6|^7|^8", - "lcobucci/jwt": "<3.4", - "namshi/jose": "^7.0", - "nesbot/carbon": "^1.0|^2.0", - "php": "^5.5.9|^7.0" - }, - "require-dev": { - "illuminate/console": "^5.2|^6|^7|^8", - "illuminate/database": "^5.2|^6|^7|^8", - "illuminate/routing": "^5.2|^6|^7|^8", - "mockery/mockery": ">=0.9.9", - "phpunit/phpunit": "~4.8|~6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "1.0-dev" - }, - "laravel": { - "aliases": { - "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth", - "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory" - }, - "providers": [ - "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Tymon\\JWTAuth\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sean Tymon", - "email": "tymon148@gmail.com", - "homepage": "https://tymon.xyz", - "role": "Developer" - } - ], - "description": "JSON Web Token Authentication for Laravel and Lumen", - "homepage": "https://github.com/tymondesigns/jwt-auth", - "keywords": [ - "Authentication", - "JSON Web Token", - "auth", - "jwt", - "laravel" - ], - "support": { - "issues": "https://github.com/tymondesigns/jwt-auth/issues", - "source": "https://github.com/tymondesigns/jwt-auth" - }, - "funding": [ - { - "url": "https://www.patreon.com/seantymon", - "type": "patreon" - } - ], - "time": "2020-11-27T12:32:42+00:00" - }, - { - "name": "unisharp/laravel-filemanager", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/UniSharp/laravel-filemanager.git", - "reference": "34202590a88ecfc598c6dc70dae8b306710d4df2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/UniSharp/laravel-filemanager/zipball/34202590a88ecfc598c6dc70dae8b306710d4df2", - "reference": "34202590a88ecfc598c6dc70dae8b306710d4df2", - "shasum": "" - }, - "require": { - "ext-exif": "*", - "ext-fileinfo": "*", - "illuminate/config": "5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0", - "illuminate/container": "5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0", - "illuminate/filesystem": "5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0", - "illuminate/http": "5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0", - "illuminate/support": "5.4.* || 5.5.* || 5.6.* || 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0", - "intervention/image": "2.*", - "php": ">=7.2.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.9", - "phpunit/phpunit": "^6.2", - "squizlabs/php_codesniffer": "^3.1" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing." - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "UniSharp\\LaravelFilemanager\\LaravelFilemanagerServiceProvider" - ], - "aliases": [] - } - }, - "autoload": { - "psr-4": { - "UniSharp\\LaravelFilemanager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Trevor Sawler", - "email": "trevor.sawler@gmail.com" - }, - { - "name": "UniSharp Ltd.", - "email": "opensource@unisharp.com" - } - ], - "description": "A file upload/editor intended for use with Laravel 5 to 6 and CKEditor / TinyMCE", - "keywords": [ - "CKEditor", - "file", - "filemanager", - "image", - "laravel", - "manager", - "tinymce", - "upload" - ], - "support": { - "issues": "https://github.com/UniSharp/laravel-filemanager/issues", - "source": "https://github.com/UniSharp/laravel-filemanager/tree/v2.2.0" - }, - "time": "2020-11-16T10:51:46+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.1", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.7.4", - "symfony/polyfill-ctype": "^1.17", - "symfony/polyfill-mbstring": "^1.17", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.3-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2021-01-20T15:23:13+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "1.5.6", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.5.6" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2020-11-12T00:07:28+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" - }, - "time": "2021-03-09T10:59:23+00:00" - }, - { - "name": "webpatser/laravel-uuid", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/webpatser/laravel-uuid.git", - "reference": "a7ce65cdabbc9970fc2a87fdf67b48e0b1641d23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webpatser/laravel-uuid/zipball/a7ce65cdabbc9970fc2a87fdf67b48e0b1641d23", - "reference": "a7ce65cdabbc9970fc2a87fdf67b48e0b1641d23", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "fzaninotto/faker": "~1.4", - "phpunit/phpunit": "~6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Webpatser\\Uuid\\UuidServiceProvider" - ], - "aliases": { - "Uuid": "Webpatser\\Uuid\\Uuid" - } - } - }, - "autoload": { - "psr-0": { - "Webpatser\\Uuid": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christoph Kempen", - "email": "christoph@downsized.nl" - } - ], - "description": "Laravel package to generate and to validate a universally unique identifier (UUID) according to the RFC 4122 standard. Support for version 1, 3, 4 and 5 UUIDs are built-in.", - "homepage": "https://github.com/webpatser/uuid", - "keywords": [ - "UUID RFC4122" - ], - "support": { - "issues": "https://github.com/webpatser/uuid/issues", - "source": "https://github.com/webpatser/uuid" - }, - "time": "2017-10-04T07:47:40+00:00" - }, - { - "name": "zircote/swagger-php", - "version": "3.2.3", - "source": { - "type": "git", - "url": "https://github.com/zircote/swagger-php.git", - "reference": "41ed0eb1dacebe2c365623b3f9ab13d1531a03da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/41ed0eb1dacebe2c365623b3f9ab13d1531a03da", - "reference": "41ed0eb1dacebe2c365623b3f9ab13d1531a03da", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.7", - "ext-json": "*", - "php": ">=7.2", - "symfony/finder": ">=2.2", - "symfony/yaml": ">=3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.17 || ^3.0", - "phpunit/phpunit": ">=8" - }, - "bin": [ - "bin/openapi" - ], - "type": "library", - "autoload": { - "psr-4": { - "OpenApi\\": "src" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Robert Allen", - "email": "zircote@gmail.com" - }, - { - "name": "Bob Fanger", - "email": "bfanger@gmail.com", - "homepage": "https://bfanger.nl" - }, - { - "name": "Martin Rademacher", - "email": "mano@radebatz.net", - "homepage": "https://radebatz.net" - } - ], - "description": "swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations", - "homepage": "https://github.com/zircote/swagger-php/", - "keywords": [ - "api", - "json", - "rest", - "service discovery" - ], - "support": { - "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/3.2.3" - }, - "time": "2021-06-25T04:08:57+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "alpha", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.0.0" -} diff --git a/src/resources/js/assets/scss/module/_unauthorize.scss b/src/resources/js/assets/scss/module/_unauthorize.scss index a3e3fdc5c..24a842454 100644 --- a/src/resources/js/assets/scss/module/_unauthorize.scss +++ b/src/resources/js/assets/scss/module/_unauthorize.scss @@ -9,5 +9,11 @@ &__message { text-align: center; + margin: 8px 0; + } + + &__title { + text-align: center; + margin: 8px 0; } } \ No newline at end of file diff --git a/src/resources/js/assets/scss/module/index.scss b/src/resources/js/assets/scss/module/index.scss index 3e3205477..c3de0ddd5 100644 --- a/src/resources/js/assets/scss/module/index.scss +++ b/src/resources/js/assets/scss/module/index.scss @@ -1,3 +1,4 @@ +@import "action-card"; @import "alert"; @import "auth-card-header"; @import "breadcrumb"; @@ -36,6 +37,7 @@ @import "text"; @import "textarea"; @import "time"; +@import "unauthorize"; @import "upload-file"; @import "upload-file-multiple"; @import "upload-image"; diff --git a/src/resources/js/components/BadasoUnauthorize.vue b/src/resources/js/components/BadasoUnauthorize.vue index 9dcd33df2..a7b9e0380 100644 --- a/src/resources/js/components/BadasoUnauthorize.vue +++ b/src/resources/js/components/BadasoUnauthorize.vue @@ -6,7 +6,7 @@ > -

+

{{ $t("authorizationIssue.subtitle") }}

From af3bb22fcc477a51d87d149c0102d632b82cbe50 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 05:11:26 +0000 Subject: [PATCH 07/15] Apply fixes from StyleCI --- src/Badaso.php | 5 +++-- src/Commands/BadasoSetup.php | 2 +- src/Config/badaso.php | 2 +- src/ContentManager/ContentManager.php | 2 +- src/Controllers/BadasoMenuController.php | 22 +++++++++---------- .../BadasoRolePermissionController.php | 4 ++-- src/Controllers/BadasoTableController.php | 4 ++-- src/Controllers/BadasoUserRoleController.php | 4 ++-- src/Controllers/Controller.php | 10 ++++----- src/Helpers/AuthenticatedUser.php | 15 +++++++------ ...11_12_000000_create_badaso_users_table.php | 4 ++-- ...00_create_badaso_password_resets_table.php | 4 ++-- .../2020_11_13_064800_create_data_type.php | 10 ++++----- ...020_11_18_014827_create_configurations.php | 4 ++-- .../2020_11_18_014939_create_roles.php | 4 ++-- .../2020_11_18_014950_create_permissions.php | 4 ++-- .../2020_11_18_015020_create_menus.php | 4 ++-- .../2020_11_18_015029_create_menu_items.php | 4 ++-- .../2020_11_18_015852_create_user_roles.php | 14 ++++++------ ...0_11_18_020028_create_role_permissions.php | 8 +++---- ...03_09_064445_create_user_verifications.php | 4 ++-- .../2021_03_12_073541_create_email_resets.php | 4 ++-- ...2_create_firebase_cloud_messages_table.php | 6 ++--- ..._28_004319_create_f_c_m_messages_table.php | 8 +++---- src/Models/Configuration.php | 8 +++---- src/Models/DataRow.php | 7 +++--- src/Models/DataType.php | 7 +++--- src/Models/EmailReset.php | 7 +++--- src/Models/FCMMessage.php | 7 +++--- src/Models/FirebaseCloudMessages.php | 7 +++--- src/Models/Menu.php | 7 +++--- src/Models/MenuItem.php | 7 +++--- src/Models/PasswordReset.php | 7 +++--- src/Models/Permission.php | 13 ++++++----- src/Models/Role.php | 11 +++++----- src/Models/RolePermission.php | 9 ++++---- src/Models/User.php | 7 +++--- src/Models/UserRole.php | 7 +++--- src/Models/UserVerification.php | 7 +++--- 39 files changed, 143 insertions(+), 127 deletions(-) diff --git a/src/Badaso.php b/src/Badaso.php index 99a41cb20..a6d245a62 100644 --- a/src/Badaso.php +++ b/src/Badaso.php @@ -276,10 +276,11 @@ public function getSupportedTableRelations() public static function getProtectedTables() { return array_map(function ($table) { - if (in_array($table, ['activity_log', 'failed_jobs', 'migrations'])) { + if (in_array($table, ['activity_log', 'failed_jobs', 'migrations'])) { return $table; } - return config('badaso.database.prefix') . $table; + + return config('badaso.database.prefix').$table; }, config('badaso-hidden-tables', [])); } diff --git a/src/Commands/BadasoSetup.php b/src/Commands/BadasoSetup.php index aa680d172..dc6117d9f 100644 --- a/src/Commands/BadasoSetup.php +++ b/src/Commands/BadasoSetup.php @@ -288,7 +288,7 @@ protected function envListUpload() 'MIX_ANALYTICS_TRACKING_ID' => '', 'MIX_API_DOCUMENTATION_ANNOTATION_ROUTE' => 'api-annotation', 'MIX_API_DOCUMENTATION_ROUTE' => 'api-docs', - 'BADASO_TABLE_PREFIX' => 'badaso_' + 'BADASO_TABLE_PREFIX' => 'badaso_', ]; } diff --git a/src/Config/badaso.php b/src/Config/badaso.php index 574c9cd54..ac578de4f 100644 --- a/src/Config/badaso.php +++ b/src/Config/badaso.php @@ -7,7 +7,7 @@ 'api_route_prefix' => env('MIX_API_ROUTE_PREFIX', 'badaso-api'), 'license_key' => env('BADASO_LICENSE_KEY'), 'database' => [ - 'prefix' => env('BADASO_TABLE_PREFIX', 'badaso_') + 'prefix' => env('BADASO_TABLE_PREFIX', 'badaso_'), ], 'storage' => [ 'disk' => env('FILESYSTEM_DRIVER', 'public'), diff --git a/src/ContentManager/ContentManager.php b/src/ContentManager/ContentManager.php index 17470f1f7..29e6530d0 100644 --- a/src/ContentManager/ContentManager.php +++ b/src/ContentManager/ContentManager.php @@ -236,7 +236,7 @@ private function populateInsertStatements( $inserts = ''; $inserts .= sprintf( "\DB::table('%s')->insert(%s);", - config('badaso.database.prefix') . $table_name, + config('badaso.database.prefix').$table_name, $this->content_generator->formatContent($data_type_array) ); diff --git a/src/Controllers/BadasoMenuController.php b/src/Controllers/BadasoMenuController.php index f036ab53b..bc45edfb5 100644 --- a/src/Controllers/BadasoMenuController.php +++ b/src/Controllers/BadasoMenuController.php @@ -37,7 +37,7 @@ public function browseMenuItem(Request $request) $menu_items = MenuItem::where('menu_id', $request->menu_id) ->orderBy('order', 'asc') - ->whereNull($prefix . 'menu_items.parent_id') + ->whereNull($prefix.'menu_items.parent_id') ->get(); $menu_items = $this->getChildMenuItems($menu_items); @@ -93,11 +93,11 @@ public function browseMenuItemByKey(Request $request) $prefix = config('badaso.database.prefix'); $menu = Menu::where('key', $request->menu_key)->first(); - $all_menu_items = MenuItem::join($prefix . 'menus', $prefix . 'menus.id', $prefix . 'menu_items.menu_id') - ->where($prefix . 'menus.key', $request->menu_key) - ->whereNull($prefix . 'menu_items.parent_id') - ->select($prefix . 'menu_items.*') - ->orderBy($prefix . 'menu_items.order', 'asc') + $all_menu_items = MenuItem::join($prefix.'menus', $prefix.'menus.id', $prefix.'menu_items.menu_id') + ->where($prefix.'menus.key', $request->menu_key) + ->whereNull($prefix.'menu_items.parent_id') + ->select($prefix.'menu_items.*') + ->orderBy($prefix.'menu_items.order', 'asc') ->get(); $menu_items = []; foreach ($all_menu_items as $menu_item) { @@ -129,11 +129,11 @@ public function browseMenuItemByKeys(Request $request) foreach ($menu_keys as $key => $menu_key) { $menu = Menu::where('key', $menu_key)->first(); - $all_menu_items = MenuItem::join($prefix . 'menus', $prefix . 'menus.id', $prefix . 'menu_items.menu_id') - ->where($prefix . 'menus.key', $menu_key) - ->whereNull($prefix . 'menu_items.parent_id') - ->select($prefix . 'menu_items.*') - ->orderBy($prefix . 'menu_items.order', 'asc') + $all_menu_items = MenuItem::join($prefix.'menus', $prefix.'menus.id', $prefix.'menu_items.menu_id') + ->where($prefix.'menus.key', $menu_key) + ->whereNull($prefix.'menu_items.parent_id') + ->select($prefix.'menu_items.*') + ->orderBy($prefix.'menu_items.order', 'asc') ->get(); $menu_items = []; foreach ($all_menu_items as $menu_item) { diff --git a/src/Controllers/BadasoRolePermissionController.php b/src/Controllers/BadasoRolePermissionController.php index 04fdfcf4c..a0a85c744 100644 --- a/src/Controllers/BadasoRolePermissionController.php +++ b/src/Controllers/BadasoRolePermissionController.php @@ -58,8 +58,8 @@ public function browseAllPermission(Request $request) WHEN B.role_id is not null then 1 else 0 END as selected - FROM '. $prefix .'permissions A - LEFT JOIN '. $prefix .'role_permissions B ON A.id = B.permission_id AND B.role_id = :role_id + FROM '.$prefix.'permissions A + LEFT JOIN '.$prefix.'role_permissions B ON A.id = B.permission_id AND B.role_id = :role_id '; $role_permissions = DB::select($query, [ 'role_id' => $request->role_id, diff --git a/src/Controllers/BadasoTableController.php b/src/Controllers/BadasoTableController.php index 0a482b8ec..520157b4c 100644 --- a/src/Controllers/BadasoTableController.php +++ b/src/Controllers/BadasoTableController.php @@ -129,7 +129,7 @@ function ($attribute, $value, $fail) { ], ]); - $records = DB::table(config('badaso.database.prefix') . $request->table)->select('*')->get(); + $records = DB::table(config('badaso.database.prefix').$request->table)->select('*')->get(); $data[$request->table] = $records; @@ -173,7 +173,7 @@ public function getRelationDataBySlug(Request $request) && $destination_table_column && $destination_table_display_column ) { - $relation_data = DB::table(config('badaso.database.prefix') . $destination_table)->select([ + $relation_data = DB::table(config('badaso.database.prefix').$destination_table)->select([ $destination_table_column, $destination_table_display_column, ]) diff --git a/src/Controllers/BadasoUserRoleController.php b/src/Controllers/BadasoUserRoleController.php index 087c2df9e..f27260d03 100644 --- a/src/Controllers/BadasoUserRoleController.php +++ b/src/Controllers/BadasoUserRoleController.php @@ -58,8 +58,8 @@ public function browseAllRole(Request $request) WHEN B.user_id is not null then 1 else 0 END as selected - FROM '. $prefix .'roles A - LEFT JOIN '. $prefix .'user_roles B ON A.id = B.role_id AND B.user_id = :user_id + FROM '.$prefix.'roles A + LEFT JOIN '.$prefix.'user_roles B ON A.id = B.role_id AND B.user_id = :user_id '; $user_roles = DB::select($query, [ 'user_id' => $request->user_id, diff --git a/src/Controllers/Controller.php b/src/Controllers/Controller.php index c64f9909f..19a707e78 100644 --- a/src/Controllers/Controller.php +++ b/src/Controllers/Controller.php @@ -43,11 +43,11 @@ public function isAuthorize($method, $data_type) if ($user = auth()->user()) { $permissions = DB::SELECT(' SELECT * - FROM '. $prefix .'permissions p - JOIN '. $prefix .'role_permissions rp ON p.id = rp.permission_id - JOIN '. $prefix .'roles r ON rp.role_id = r.id - JOIN '. $prefix .'user_roles ur ON r.id = ur.role_id - JOIN '. $prefix .'users u ON ur.user_id = u.id + FROM '.$prefix.'permissions p + JOIN '.$prefix.'role_permissions rp ON p.id = rp.permission_id + JOIN '.$prefix.'roles r ON rp.role_id = r.id + JOIN '.$prefix.'user_roles ur ON r.id = ur.role_id + JOIN '.$prefix.'users u ON ur.user_id = u.id WHERE u.id = :user_id AND p.key = :permission ', [ diff --git a/src/Helpers/AuthenticatedUser.php b/src/Helpers/AuthenticatedUser.php index f01e48301..8e93cd58a 100644 --- a/src/Helpers/AuthenticatedUser.php +++ b/src/Helpers/AuthenticatedUser.php @@ -8,7 +8,6 @@ class AuthenticatedUser { - public static function getUser() { $user = auth()->user(); @@ -23,19 +22,21 @@ public static function getUser() private static function getRoles($user_id) { $prefix = config('badaso.database.prefix'); - return UserRole::join($prefix . 'roles', $prefix . 'roles.id', '=', $prefix . 'user_roles.role_id') + + return UserRole::join($prefix.'roles', $prefix.'roles.id', '=', $prefix.'user_roles.role_id') ->where('user_id', $user_id) - ->select($prefix . 'roles.*') + ->select($prefix.'roles.*') ->get(); } private static function getPermissions($user_id) { $prefix = config('badaso.database.prefix'); - return RolePermission::join($prefix . 'user_roles', $prefix . 'role_permissions.role_id', '=', $prefix . 'user_roles.role_id') - ->join($prefix . 'permissions', $prefix . 'permissions.id', '=', $prefix . 'role_permissions.permission_id') - ->where($prefix . 'user_roles.user_id', $user_id) - ->select($prefix . 'permissions.id', $prefix . 'permissions.key') + + return RolePermission::join($prefix.'user_roles', $prefix.'role_permissions.role_id', '=', $prefix.'user_roles.role_id') + ->join($prefix.'permissions', $prefix.'permissions.id', '=', $prefix.'role_permissions.permission_id') + ->where($prefix.'user_roles.user_id', $user_id) + ->select($prefix.'permissions.id', $prefix.'permissions.key') ->get(); } diff --git a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php index cd510fdaf..e5c05f882 100644 --- a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php +++ b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php @@ -13,7 +13,7 @@ class CreateBadasoUsersTable extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') . 'users', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); @@ -33,6 +33,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'users'); + Schema::dropIfExists(config('badaso.database.prefix').'users'); } } diff --git a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php index 6fea83047..3c9cda27b 100644 --- a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php +++ b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php @@ -13,7 +13,7 @@ class CreateBadasoPasswordResetsTable extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') .'password_resets', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'password_resets', function (Blueprint $table) { $table->id(); $table->string('email')->index(); $table->string('token'); @@ -28,6 +28,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'password_resets'); + Schema::dropIfExists(config('badaso.database.prefix').'password_resets'); } } diff --git a/src/Migrations/2020_11_13_064800_create_data_type.php b/src/Migrations/2020_11_13_064800_create_data_type.php index ecaf9de9e..edd8533b5 100644 --- a/src/Migrations/2020_11_13_064800_create_data_type.php +++ b/src/Migrations/2020_11_13_064800_create_data_type.php @@ -14,7 +14,7 @@ class CreateDataType extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'data_types', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'data_types', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('slug')->unique(); @@ -38,7 +38,7 @@ public function up() }); // Create table for storing roles - Schema::create(config('badaso.database.prefix') . 'data_rows', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'data_rows', function (Blueprint $table) { $table->increments('id'); $table->integer('data_type_id')->unsigned(); $table->string('field'); @@ -54,7 +54,7 @@ public function up() $table->text('relation')->nullable(); $table->integer('order')->default(1); - $table->foreign('data_type_id')->references('id')->on(config('badaso.database.prefix') .'data_types')->onUpdate('cascade')->onDelete('cascade'); + $table->foreign('data_type_id')->references('id')->on(config('badaso.database.prefix').'data_types')->onUpdate('cascade')->onDelete('cascade'); }); } catch (PDOException $ex) { $this->down(); @@ -70,7 +70,7 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'data_rows'); - Schema::dropIfExists(config('badaso.database.prefix') . 'data_types'); + Schema::dropIfExists(config('badaso.database.prefix').'data_rows'); + Schema::dropIfExists(config('badaso.database.prefix').'data_types'); } } diff --git a/src/Migrations/2020_11_18_014827_create_configurations.php b/src/Migrations/2020_11_18_014827_create_configurations.php index 8c939b007..50ec61742 100644 --- a/src/Migrations/2020_11_18_014827_create_configurations.php +++ b/src/Migrations/2020_11_18_014827_create_configurations.php @@ -14,7 +14,7 @@ class CreateConfigurations extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'configurations', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'configurations', function (Blueprint $table) { $table->increments('id'); $table->string('key')->unique(); $table->string('display_name'); @@ -40,6 +40,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'configurations'); + Schema::dropIfExists(config('badaso.database.prefix').'configurations'); } } diff --git a/src/Migrations/2020_11_18_014939_create_roles.php b/src/Migrations/2020_11_18_014939_create_roles.php index 24ff88d8d..56b45272a 100644 --- a/src/Migrations/2020_11_18_014939_create_roles.php +++ b/src/Migrations/2020_11_18_014939_create_roles.php @@ -14,7 +14,7 @@ class CreateRoles extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'roles', function (Blueprint $table) { $table->increments('id'); $table->string('name')->unique(); $table->string('display_name'); @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'roles'); + Schema::dropIfExists(config('badaso.database.prefix').'roles'); } } diff --git a/src/Migrations/2020_11_18_014950_create_permissions.php b/src/Migrations/2020_11_18_014950_create_permissions.php index 5e215ef26..f5c827f36 100644 --- a/src/Migrations/2020_11_18_014950_create_permissions.php +++ b/src/Migrations/2020_11_18_014950_create_permissions.php @@ -14,7 +14,7 @@ class CreatePermissions extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'permissions', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'permissions', function (Blueprint $table) { $table->increments('id'); $table->string('key')->index(); $table->string('description')->nullable(); @@ -37,6 +37,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'permissions'); + Schema::dropIfExists(config('badaso.database.prefix').'permissions'); } } diff --git a/src/Migrations/2020_11_18_015020_create_menus.php b/src/Migrations/2020_11_18_015020_create_menus.php index 616c20324..e8baf8510 100644 --- a/src/Migrations/2020_11_18_015020_create_menus.php +++ b/src/Migrations/2020_11_18_015020_create_menus.php @@ -14,7 +14,7 @@ class CreateMenus extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'menus', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'menus', function (Blueprint $table) { $table->increments('id'); $table->string('key')->unique(); $table->string('display_name'); @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'menus'); + Schema::dropIfExists(config('badaso.database.prefix').'menus'); } } diff --git a/src/Migrations/2020_11_18_015029_create_menu_items.php b/src/Migrations/2020_11_18_015029_create_menu_items.php index aedbbac54..1dd203996 100644 --- a/src/Migrations/2020_11_18_015029_create_menu_items.php +++ b/src/Migrations/2020_11_18_015029_create_menu_items.php @@ -14,7 +14,7 @@ class CreateMenuItems extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'menu_items', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'menu_items', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('menu_id')->nullable(); $table->string('title'); @@ -41,6 +41,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'menu_items'); + Schema::dropIfExists(config('badaso.database.prefix').'menu_items'); } } diff --git a/src/Migrations/2020_11_18_015852_create_user_roles.php b/src/Migrations/2020_11_18_015852_create_user_roles.php index 3c9a95367..d7621ef87 100644 --- a/src/Migrations/2020_11_18_015852_create_user_roles.php +++ b/src/Migrations/2020_11_18_015852_create_user_roles.php @@ -14,25 +14,25 @@ class CreateUserRoles extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'user_roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { $table->increments('id'); // $table->unsignedInteger('user_id')->index(); $table->unsignedBigInteger('user_id')->index(); - $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); $table->unsignedInteger('role_id')->index(); - $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { $this->down(); try { - Schema::create(config('badaso.database.prefix') . 'user_roles', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('user_id')->index(); - $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); $table->unsignedInteger('role_id')->index(); - $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { @@ -50,6 +50,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'user_roles'); + Schema::dropIfExists(config('badaso.database.prefix').'user_roles'); } } diff --git a/src/Migrations/2020_11_18_020028_create_role_permissions.php b/src/Migrations/2020_11_18_020028_create_role_permissions.php index 3356cc4f2..2241604a5 100644 --- a/src/Migrations/2020_11_18_020028_create_role_permissions.php +++ b/src/Migrations/2020_11_18_020028_create_role_permissions.php @@ -14,12 +14,12 @@ class CreateRolePermissions extends Migration public function up() { try { - Schema::create(config('badaso.database.prefix') . 'role_permissions', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'role_permissions', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('role_id')->unsigned(); - $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix') .'roles')->onDelete('cascade'); + $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->unsignedInteger('permission_id')->unsigned(); - $table->foreign('permission_id')->references('id')->on(config('badaso.database.prefix') .'permissions')->onDelete('cascade'); + $table->foreign('permission_id')->references('id')->on(config('badaso.database.prefix').'permissions')->onDelete('cascade'); $table->timestamps(); }); } catch (PDOException $ex) { @@ -36,6 +36,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'role_permissions'); + Schema::dropIfExists(config('badaso.database.prefix').'role_permissions'); } } diff --git a/src/Migrations/2021_03_09_064445_create_user_verifications.php b/src/Migrations/2021_03_09_064445_create_user_verifications.php index 2a364548d..ea1c028fa 100644 --- a/src/Migrations/2021_03_09_064445_create_user_verifications.php +++ b/src/Migrations/2021_03_09_064445_create_user_verifications.php @@ -13,7 +13,7 @@ class CreateUserVerifications extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') . 'user_verifications', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'user_verifications', function (Blueprint $table) { $table->increments('id'); $table->bigInteger('user_id')->nullable(); $table->string('verification_token')->nullable()->unique(); @@ -30,6 +30,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'user_verifications'); + Schema::dropIfExists(config('badaso.database.prefix').'user_verifications'); } } diff --git a/src/Migrations/2021_03_12_073541_create_email_resets.php b/src/Migrations/2021_03_12_073541_create_email_resets.php index 510081147..efa6cb027 100644 --- a/src/Migrations/2021_03_12_073541_create_email_resets.php +++ b/src/Migrations/2021_03_12_073541_create_email_resets.php @@ -13,7 +13,7 @@ class CreateEmailResets extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') . 'email_resets', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'email_resets', function (Blueprint $table) { $table->increments('id'); $table->bigInteger('user_id')->nullable(); $table->string('email'); @@ -31,6 +31,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'email_resets'); + Schema::dropIfExists(config('badaso.database.prefix').'email_resets'); } } diff --git a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php index 58f2a6ef5..700f4b23c 100644 --- a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php +++ b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php @@ -13,13 +13,13 @@ class CreateFirebaseCloudMessagesTable extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') . 'firebase_cloud_messages', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'firebase_cloud_messages', function (Blueprint $table) { $table->string('id')->primary(); $table->unsignedBigInteger('user_id'); $table->string('token_get_message'); $table->timestamps(); - $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix') .'users')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); }); } @@ -30,6 +30,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'firebase_cloud_messages'); + Schema::dropIfExists(config('badaso.database.prefix').'firebase_cloud_messages'); } } diff --git a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php index cdc681e09..8cb0d1c26 100644 --- a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php +++ b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php @@ -13,7 +13,7 @@ class CreateFCMMessagesTable extends Migration */ public function up() { - Schema::create(config('badaso.database.prefix') . 'f_c_m_messages', function (Blueprint $table) { + Schema::create(config('badaso.database.prefix').'f_c_m_messages', function (Blueprint $table) { $table->bigIncrements('id'); $table->unsignedBigInteger('receiver_user_id'); $table->string('type'); @@ -23,8 +23,8 @@ public function up() $table->unsignedBigInteger('sender_user_id'); $table->timestamps(); - $table->foreign('receiver_user_id')->references('id')->on(config('badaso.database.prefix') . 'users')->onDelete('cascade'); - $table->foreign('sender_user_id')->references('id')->on(config('badaso.database.prefix') . 'users')->onDelete('cascade'); + $table->foreign('receiver_user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); + $table->foreign('sender_user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); }); } @@ -35,6 +35,6 @@ public function up() */ public function down() { - Schema::dropIfExists(config('badaso.database.prefix') . 'f_c_m_messages'); + Schema::dropIfExists(config('badaso.database.prefix').'f_c_m_messages'); } } diff --git a/src/Models/Configuration.php b/src/Models/Configuration.php index 11f149ded..da27277dc 100644 --- a/src/Models/Configuration.php +++ b/src/Models/Configuration.php @@ -4,7 +4,6 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Badaso; class Configuration extends Model { @@ -13,11 +12,12 @@ class Configuration extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = array()) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'configurations'; + $this->table = $prefix.'configurations'; parent::__construct($attributes); } diff --git a/src/Models/DataRow.php b/src/Models/DataRow.php index 1fe0fe103..454d54575 100644 --- a/src/Models/DataRow.php +++ b/src/Models/DataRow.php @@ -12,11 +12,12 @@ class DataRow extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'data_rows'; + $this->table = $prefix.'data_rows'; parent::__construct($attributes); } diff --git a/src/Models/DataType.php b/src/Models/DataType.php index 3c4152915..59dc7a129 100644 --- a/src/Models/DataType.php +++ b/src/Models/DataType.php @@ -10,11 +10,12 @@ class DataType extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'data_types'; + $this->table = $prefix.'data_types'; parent::__construct($attributes); } diff --git a/src/Models/EmailReset.php b/src/Models/EmailReset.php index 62a137005..938d41863 100644 --- a/src/Models/EmailReset.php +++ b/src/Models/EmailReset.php @@ -12,11 +12,12 @@ class EmailReset extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'email_resets'; + $this->table = $prefix.'email_resets'; parent::__construct($attributes); } diff --git a/src/Models/FCMMessage.php b/src/Models/FCMMessage.php index 7406a152a..fecec53ab 100644 --- a/src/Models/FCMMessage.php +++ b/src/Models/FCMMessage.php @@ -9,11 +9,12 @@ class FCMMessage extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'f_c_m_messages'; + $this->table = $prefix.'f_c_m_messages'; parent::__construct($attributes); } diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index d085d1f92..4587cd640 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -13,11 +13,12 @@ class FirebaseCloudMessages extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'firebase_cloud_messages'; + $this->table = $prefix.'firebase_cloud_messages'; parent::__construct($attributes); } diff --git a/src/Models/Menu.php b/src/Models/Menu.php index 0edc8d61d..e1a07f63c 100644 --- a/src/Models/Menu.php +++ b/src/Models/Menu.php @@ -12,11 +12,12 @@ class Menu extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'menus'; + $this->table = $prefix.'menus'; parent::__construct($attributes); } diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index b214b14ee..7579a2519 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -12,11 +12,12 @@ class MenuItem extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'menu_items'; + $this->table = $prefix.'menu_items'; parent::__construct($attributes); } diff --git a/src/Models/PasswordReset.php b/src/Models/PasswordReset.php index 1ec39b243..9c59951bd 100644 --- a/src/Models/PasswordReset.php +++ b/src/Models/PasswordReset.php @@ -9,11 +9,12 @@ class PasswordReset extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'password_resets'; + $this->table = $prefix.'password_resets'; parent::__construct($attributes); } diff --git a/src/Models/Permission.php b/src/Models/Permission.php index 69e4a536e..84068774e 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -12,11 +12,12 @@ class Permission extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'permissions'; + $this->table = $prefix.'permissions'; parent::__construct($attributes); } @@ -70,17 +71,17 @@ public function getDescriptionForEvent(string $eventName): string } /** - * The roles that belong to the Permission + * The roles that belong to the Permission. * * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ public function roles() { - return $this->belongsToMany(Role::class, config('badaso.database.prefix') . 'role_permissions'); + return $this->belongsToMany(Role::class, config('badaso.database.prefix').'role_permissions'); } /** - * Get the role_permission that owns the Permission + * Get the role_permission that owns the Permission. * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ diff --git a/src/Models/Role.php b/src/Models/Role.php index 1fb7aa6c8..082833525 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -12,11 +12,12 @@ class Role extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'roles'; + $this->table = $prefix.'roles'; parent::__construct($attributes); } @@ -26,7 +27,7 @@ public function users() { $userModel = User::class; - return $this->belongsToMany($userModel, config('badaso.database.prefix') . 'user_roles') + return $this->belongsToMany($userModel, config('badaso.database.prefix').'user_roles') ->select(app($userModel)->getTable().'.*') ->union($this->hasMany($userModel))->getQuery(); } @@ -38,7 +39,7 @@ public function user_roles() public function permissions() { - return $this->belongsToMany(Permission::class, config('badaso.database.prefix') . 'role_permissions'); + return $this->belongsToMany(Permission::class, config('badaso.database.prefix').'role_permissions'); } protected static $logAttributes = true; diff --git a/src/Models/RolePermission.php b/src/Models/RolePermission.php index b9877bf60..5bc99e7dc 100644 --- a/src/Models/RolePermission.php +++ b/src/Models/RolePermission.php @@ -12,11 +12,12 @@ class RolePermission extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'role_permissions'; + $this->table = $prefix.'role_permissions'; parent::__construct($attributes); } @@ -27,7 +28,7 @@ public function __construct(array $attributes = []) { public function role() { - return $this->belongsTo(Role::class, config('badaso.database.prefix') . 'roles'); + return $this->belongsTo(Role::class, config('badaso.database.prefix').'roles'); } public function permission() diff --git a/src/Models/User.php b/src/Models/User.php index f79db64ae..304059314 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -16,11 +16,12 @@ class User extends Authenticatable implements JWTSubject protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'users'; + $this->table = $prefix.'users'; parent::__construct($attributes); } diff --git a/src/Models/UserRole.php b/src/Models/UserRole.php index f9328541d..cfdad1d4e 100644 --- a/src/Models/UserRole.php +++ b/src/Models/UserRole.php @@ -12,11 +12,12 @@ class UserRole extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'user_roles'; + $this->table = $prefix.'user_roles'; parent::__construct($attributes); } diff --git a/src/Models/UserVerification.php b/src/Models/UserVerification.php index d7cc8fa70..b58ce55b2 100644 --- a/src/Models/UserVerification.php +++ b/src/Models/UserVerification.php @@ -12,11 +12,12 @@ class UserVerification extends Model protected $table = null; /** - * Constructor for setting the table name dynamically + * Constructor for setting the table name dynamically. */ - public function __construct(array $attributes = []) { + public function __construct(array $attributes = []) + { $prefix = config('badaso.database.prefix'); - $this->table = $prefix . 'user_verifications'; + $this->table = $prefix.'user_verifications'; parent::__construct($attributes); } From 6b19a195fd1d073b633d365fef4ece67bee32974 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 12:22:51 +0700 Subject: [PATCH 08/15] Remove activity log --- src/Config/activitylog.php | 52 -------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 src/Config/activitylog.php diff --git a/src/Config/activitylog.php b/src/Config/activitylog.php deleted file mode 100644 index a6558ecba..000000000 --- a/src/Config/activitylog.php +++ /dev/null @@ -1,52 +0,0 @@ - env('ACTIVITY_LOGGER_ENABLED', true), - - /* - * When the clean-command is executed, all recording activities older than - * the number of days specified here will be deleted. - */ - 'delete_records_older_than_days' => 365, - - /* - * If no log name is passed to the activity() helper - * we use this default log name. - */ - 'default_log_name' => 'default', - - /* - * You can specify an auth driver here that gets user models. - * If this is null we'll use the default Laravel auth driver. - */ - 'default_auth_driver' => null, - - /* - * If set to true, the subject returns soft deleted models. - */ - 'subject_returns_soft_deleted_models' => false, - - /* - * This model will be used to log activity. - * It should be implements the Spatie\Activitylog\Contracts\Activity interface - * and extend Illuminate\Database\Eloquent\Model. - */ - 'activity_model' => \Spatie\Activitylog\Models\Activity::class, - - /* - * This is the name of the table that will be created by the migration and - * used by the Activity model shipped with this package. - */ - 'table_name' => 'activity_log', - - /* - * This is the database connection that will be used by the migration and - * the Activity model shipped with this package. In case it's not set - * Laravel database.default will be used instead. - */ - 'database_connection' => env('ACTIVITY_LOGGER_DB_CONNECTION'), -]; From 27964267b24995f32865d07f91a70f3939bf3f62 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 12:56:45 +0700 Subject: [PATCH 09/15] Fix some bug --- src/Controllers/BadasoTableController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Controllers/BadasoTableController.php b/src/Controllers/BadasoTableController.php index 520157b4c..c23ced063 100644 --- a/src/Controllers/BadasoTableController.php +++ b/src/Controllers/BadasoTableController.php @@ -129,7 +129,7 @@ function ($attribute, $value, $fail) { ], ]); - $records = DB::table(config('badaso.database.prefix').$request->table)->select('*')->get(); + $records = DB::table($request->table)->select('*')->get(); $data[$request->table] = $records; @@ -173,7 +173,7 @@ public function getRelationDataBySlug(Request $request) && $destination_table_column && $destination_table_display_column ) { - $relation_data = DB::table(config('badaso.database.prefix').$destination_table)->select([ + $relation_data = DB::table($destination_table)->select([ $destination_table_column, $destination_table_display_column, ]) From 5eda2113b108b59e9a7d0eb98f0a74da0c81e4c6 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 15:07:18 +0700 Subject: [PATCH 10/15] add composer.lock on gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0669f6d1a..5210f0c87 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ vendor -.DS_Store \ No newline at end of file +.DS_Store +composer.lock \ No newline at end of file From a565219d141723e5ac2c7959cc8a374acc9585e2 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Tue, 13 Jul 2021 16:08:49 +0700 Subject: [PATCH 11/15] Change primary key id to uuid --- ...11_12_000000_create_badaso_users_table.php | 2 +- ...00_create_badaso_password_resets_table.php | 2 +- .../2020_11_13_064800_create_data_type.php | 6 ++--- ...020_11_18_014827_create_configurations.php | 2 +- .../2020_11_18_014939_create_roles.php | 2 +- .../2020_11_18_014950_create_permissions.php | 2 +- .../2020_11_18_015020_create_menus.php | 2 +- .../2020_11_18_015029_create_menu_items.php | 2 +- .../2020_11_18_015852_create_user_roles.php | 13 +++++---- ...0_11_18_020028_create_role_permissions.php | 6 ++--- ...03_09_064445_create_user_verifications.php | 2 +- .../2021_03_12_073541_create_email_resets.php | 2 +- ...2_create_firebase_cloud_messages_table.php | 4 +-- ..._28_004319_create_f_c_m_messages_table.php | 6 ++--- src/Models/Configuration.php | 3 ++- src/Models/DataRow.php | 3 ++- src/Models/DataType.php | 3 +++ src/Models/EmailReset.php | 3 ++- src/Models/FCMMessage.php | 3 +++ src/Models/FirebaseCloudMessages.php | 3 ++- src/Models/Menu.php | 3 ++- src/Models/MenuItem.php | 3 ++- src/Models/PasswordReset.php | 3 +++ src/Models/Permission.php | 3 ++- src/Models/Role.php | 3 ++- src/Models/RolePermission.php | 3 ++- src/Models/User.php | 3 ++- src/Models/UserRole.php | 3 ++- src/Models/UserVerification.php | 3 ++- src/Traits/Uuid.php | 27 +++++++++++++++++++ 30 files changed, 86 insertions(+), 39 deletions(-) create mode 100644 src/Traits/Uuid.php diff --git a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php index e5c05f882..a1ae066fc 100644 --- a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php +++ b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php @@ -14,7 +14,7 @@ class CreateBadasoUsersTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'users', function (Blueprint $table) { - $table->id(); + $table->uuid('id')->primary(); $table->string('name'); $table->string('email')->unique(); $table->text('additional_info')->nullable(); diff --git a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php index 3c9cda27b..375d70aea 100644 --- a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php +++ b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php @@ -14,7 +14,7 @@ class CreateBadasoPasswordResetsTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'password_resets', function (Blueprint $table) { - $table->id(); + $table->uuid('id')->primary(); $table->string('email')->index(); $table->string('token'); $table->timestamp('created_at')->nullable(); diff --git a/src/Migrations/2020_11_13_064800_create_data_type.php b/src/Migrations/2020_11_13_064800_create_data_type.php index edd8533b5..4048a8abb 100644 --- a/src/Migrations/2020_11_13_064800_create_data_type.php +++ b/src/Migrations/2020_11_13_064800_create_data_type.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'data_types', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->string('name')->unique(); $table->string('slug')->unique(); $table->string('display_name_singular'); @@ -39,8 +39,8 @@ public function up() // Create table for storing roles Schema::create(config('badaso.database.prefix').'data_rows', function (Blueprint $table) { - $table->increments('id'); - $table->integer('data_type_id')->unsigned(); + $table->uuid('id')->primary(); + $table->uuid('data_type_id'); $table->string('field'); $table->string('type'); $table->string('display_name'); diff --git a/src/Migrations/2020_11_18_014827_create_configurations.php b/src/Migrations/2020_11_18_014827_create_configurations.php index 50ec61742..62b223917 100644 --- a/src/Migrations/2020_11_18_014827_create_configurations.php +++ b/src/Migrations/2020_11_18_014827_create_configurations.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'configurations', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->string('key')->unique(); $table->string('display_name'); $table->text('value')->nullable(); diff --git a/src/Migrations/2020_11_18_014939_create_roles.php b/src/Migrations/2020_11_18_014939_create_roles.php index 56b45272a..b4541a45d 100644 --- a/src/Migrations/2020_11_18_014939_create_roles.php +++ b/src/Migrations/2020_11_18_014939_create_roles.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'roles', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->string('name')->unique(); $table->string('display_name'); $table->string('description')->nullable(); diff --git a/src/Migrations/2020_11_18_014950_create_permissions.php b/src/Migrations/2020_11_18_014950_create_permissions.php index f5c827f36..3cd84f2fb 100644 --- a/src/Migrations/2020_11_18_014950_create_permissions.php +++ b/src/Migrations/2020_11_18_014950_create_permissions.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'permissions', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->string('key')->index(); $table->string('description')->nullable(); $table->string('table_name')->nullable(); diff --git a/src/Migrations/2020_11_18_015020_create_menus.php b/src/Migrations/2020_11_18_015020_create_menus.php index e8baf8510..675374ed9 100644 --- a/src/Migrations/2020_11_18_015020_create_menus.php +++ b/src/Migrations/2020_11_18_015020_create_menus.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'menus', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->string('key')->unique(); $table->string('display_name'); $table->string('icon')->nullable(); diff --git a/src/Migrations/2020_11_18_015029_create_menu_items.php b/src/Migrations/2020_11_18_015029_create_menu_items.php index 1dd203996..d539565cb 100644 --- a/src/Migrations/2020_11_18_015029_create_menu_items.php +++ b/src/Migrations/2020_11_18_015029_create_menu_items.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'menu_items', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->unsignedInteger('menu_id')->nullable(); $table->string('title'); $table->string('url'); diff --git a/src/Migrations/2020_11_18_015852_create_user_roles.php b/src/Migrations/2020_11_18_015852_create_user_roles.php index d7621ef87..40ea990c3 100644 --- a/src/Migrations/2020_11_18_015852_create_user_roles.php +++ b/src/Migrations/2020_11_18_015852_create_user_roles.php @@ -15,11 +15,10 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { - $table->increments('id'); - // $table->unsignedInteger('user_id')->index(); - $table->unsignedBigInteger('user_id')->index(); + $table->uuid('id')->primary(); + $table->uuid('user_id'); + $table->uuid('role_id'); $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); - $table->unsignedInteger('role_id')->index(); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); }); @@ -28,10 +27,10 @@ public function up() try { Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('user_id')->index(); + $table->uuid('id')->primary(); + $table->uuid('user_id'); + $table->uuid('role_id'); $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); - $table->unsignedInteger('role_id')->index(); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); }); diff --git a/src/Migrations/2020_11_18_020028_create_role_permissions.php b/src/Migrations/2020_11_18_020028_create_role_permissions.php index 2241604a5..3ecafbc92 100644 --- a/src/Migrations/2020_11_18_020028_create_role_permissions.php +++ b/src/Migrations/2020_11_18_020028_create_role_permissions.php @@ -15,10 +15,10 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'role_permissions', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('role_id')->unsigned(); + $table->uuid('id')->primary(); + $table->uuid('role_id'); + $table->uuid('permission_id'); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); - $table->unsignedInteger('permission_id')->unsigned(); $table->foreign('permission_id')->references('id')->on(config('badaso.database.prefix').'permissions')->onDelete('cascade'); $table->timestamps(); }); diff --git a/src/Migrations/2021_03_09_064445_create_user_verifications.php b/src/Migrations/2021_03_09_064445_create_user_verifications.php index ea1c028fa..63853e43c 100644 --- a/src/Migrations/2021_03_09_064445_create_user_verifications.php +++ b/src/Migrations/2021_03_09_064445_create_user_verifications.php @@ -14,7 +14,7 @@ class CreateUserVerifications extends Migration public function up() { Schema::create(config('badaso.database.prefix').'user_verifications', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->bigInteger('user_id')->nullable(); $table->string('verification_token')->nullable()->unique(); $table->dateTime('expired_at')->nullable(); diff --git a/src/Migrations/2021_03_12_073541_create_email_resets.php b/src/Migrations/2021_03_12_073541_create_email_resets.php index efa6cb027..c15ac66c3 100644 --- a/src/Migrations/2021_03_12_073541_create_email_resets.php +++ b/src/Migrations/2021_03_12_073541_create_email_resets.php @@ -14,7 +14,7 @@ class CreateEmailResets extends Migration public function up() { Schema::create(config('badaso.database.prefix').'email_resets', function (Blueprint $table) { - $table->increments('id'); + $table->uuid('id')->primary(); $table->bigInteger('user_id')->nullable(); $table->string('email'); $table->string('verification_token')->nullable()->unique(); diff --git a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php index 700f4b23c..41b92c22d 100644 --- a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php +++ b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php @@ -14,8 +14,8 @@ class CreateFirebaseCloudMessagesTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'firebase_cloud_messages', function (Blueprint $table) { - $table->string('id')->primary(); - $table->unsignedBigInteger('user_id'); + $table->uuid('id')->primary(); + $table->uuid('user_id'); $table->string('token_get_message'); $table->timestamps(); diff --git a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php index 8cb0d1c26..74350779b 100644 --- a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php +++ b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php @@ -14,13 +14,13 @@ class CreateFCMMessagesTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'f_c_m_messages', function (Blueprint $table) { - $table->bigIncrements('id'); - $table->unsignedBigInteger('receiver_user_id'); + $table->uuid('id')->primary(); + $table->uuid('receiver_user_id'); $table->string('type'); $table->string('title'); $table->text('content'); $table->boolean('is_read')->default(0); - $table->unsignedBigInteger('sender_user_id'); + $table->uuid('sender_user_id'); $table->timestamps(); $table->foreign('receiver_user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); diff --git a/src/Models/Configuration.php b/src/Models/Configuration.php index da27277dc..ba2f2d8e3 100644 --- a/src/Models/Configuration.php +++ b/src/Models/Configuration.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class Configuration extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/DataRow.php b/src/Models/DataRow.php index 454d54575..ea04030ff 100644 --- a/src/Models/DataRow.php +++ b/src/Models/DataRow.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class DataRow extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/DataType.php b/src/Models/DataType.php index 59dc7a129..6dc4d79a0 100644 --- a/src/Models/DataType.php +++ b/src/Models/DataType.php @@ -4,9 +4,12 @@ use Illuminate\Database\Eloquent\Model; use Uasoft\Badaso\Facades\Badaso; +use Uasoft\Badaso\Traits\Uuid; class DataType extends Model { + use Uuid; + protected $table = null; /** diff --git a/src/Models/EmailReset.php b/src/Models/EmailReset.php index 938d41863..539d19bd4 100644 --- a/src/Models/EmailReset.php +++ b/src/Models/EmailReset.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class EmailReset extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/FCMMessage.php b/src/Models/FCMMessage.php index fecec53ab..f0fb03803 100644 --- a/src/Models/FCMMessage.php +++ b/src/Models/FCMMessage.php @@ -3,9 +3,12 @@ namespace Uasoft\Badaso\Models; use Illuminate\Database\Eloquent\Model; +use Uasoft\Badaso\Traits\Uuid; class FCMMessage extends Model { + use Uuid; + protected $table = null; /** diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index 4587cd640..1b604466a 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -5,10 +5,11 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class FirebaseCloudMessages extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/Menu.php b/src/Models/Menu.php index e1a07f63c..040ea336e 100644 --- a/src/Models/Menu.php +++ b/src/Models/Menu.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class Menu extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index 7579a2519..9f85ddfd1 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class MenuItem extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/PasswordReset.php b/src/Models/PasswordReset.php index 9c59951bd..47384997d 100644 --- a/src/Models/PasswordReset.php +++ b/src/Models/PasswordReset.php @@ -3,9 +3,12 @@ namespace Uasoft\Badaso\Models; use Illuminate\Database\Eloquent\Model; +use Uasoft\Badaso\Traits\Uuid; class PasswordReset extends Model { + use Uuid; + protected $table = null; /** diff --git a/src/Models/Permission.php b/src/Models/Permission.php index 84068774e..bcee76685 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class Permission extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/Role.php b/src/Models/Role.php index 082833525..8b78ac0a2 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class Role extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/RolePermission.php b/src/Models/RolePermission.php index 5bc99e7dc..1996f2297 100644 --- a/src/Models/RolePermission.php +++ b/src/Models/RolePermission.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class RolePermission extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/User.php b/src/Models/User.php index 304059314..88b62fc31 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -6,12 +6,13 @@ use Illuminate\Notifications\Notifiable; use Spatie\Activitylog\Traits\LogsActivity; use Tymon\JWTAuth\Contracts\JWTSubject; +use Uasoft\Badaso\Traits\Uuid; class User extends Authenticatable implements JWTSubject { // use HasFactory; use Notifiable; - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/UserRole.php b/src/Models/UserRole.php index cfdad1d4e..d3f6a022f 100644 --- a/src/Models/UserRole.php +++ b/src/Models/UserRole.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class UserRole extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Models/UserVerification.php b/src/Models/UserVerification.php index b58ce55b2..8b92079e0 100644 --- a/src/Models/UserVerification.php +++ b/src/Models/UserVerification.php @@ -4,10 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; +use Uasoft\Badaso\Traits\Uuid; class UserVerification extends Model { - use LogsActivity; + use LogsActivity, Uuid; protected $table = null; diff --git a/src/Traits/Uuid.php b/src/Traits/Uuid.php new file mode 100644 index 000000000..435ee5ee1 --- /dev/null +++ b/src/Traits/Uuid.php @@ -0,0 +1,27 @@ +setAttribute($model->getKeyName(), Str::uuid()); + }); + } + + public function getIncrementing() + { + return false; + } + + public function getKeyType() + { + return 'string'; + } +} \ No newline at end of file From a7fe384b285c037b60ae40a124a025a6b56160a2 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 15 Jul 2021 15:19:02 +0700 Subject: [PATCH 12/15] Change id to uuid for migration and seeder --- src/ContentManager/ContentManager.php | 2 +- .../BadasoPermissionController.php | 6 +-- src/Controllers/BadasoRoleController.php | 4 +- .../2020_11_18_015029_create_menu_items.php | 2 +- ...03_05_093223_create_activity_log_table.php | 4 +- ...03_09_064445_create_user_verifications.php | 2 +- .../2021_03_12_073541_create_email_resets.php | 2 +- src/Models/Configuration.php | 4 ++ src/Models/DataRow.php | 4 ++ src/Models/DataType.php | 4 ++ src/Models/EmailReset.php | 4 ++ src/Models/FCMMessage.php | 4 ++ src/Models/FirebaseCloudMessages.php | 4 ++ src/Models/Menu.php | 9 ++-- src/Models/MenuItem.php | 5 ++ src/Models/PasswordReset.php | 4 ++ src/Models/Permission.php | 4 ++ src/Models/Role.php | 4 ++ src/Models/RolePermission.php | 5 ++ src/Models/User.php | 4 ++ src/Models/UserRole.php | 4 ++ src/Models/UserVerification.php | 4 ++ .../Configurations/FixedMenuItemSeeder.php | 51 ++++++------------- src/Seeder/Configurations/MenusSeeder.php | 9 +--- src/Seeder/Configurations/RolesSeeder.php | 12 ++--- .../Configurations/SiteManagementSeeder.php | 24 +-------- src/Traits/Uuid.php | 16 ++---- 27 files changed, 97 insertions(+), 104 deletions(-) diff --git a/src/ContentManager/ContentManager.php b/src/ContentManager/ContentManager.php index 29e6530d0..5539c6762 100644 --- a/src/ContentManager/ContentManager.php +++ b/src/ContentManager/ContentManager.php @@ -236,7 +236,7 @@ private function populateInsertStatements( $inserts = ''; $inserts .= sprintf( "\DB::table('%s')->insert(%s);", - config('badaso.database.prefix').$table_name, + $table_name, $this->content_generator->formatContent($data_type_array) ); diff --git a/src/Controllers/BadasoPermissionController.php b/src/Controllers/BadasoPermissionController.php index 9ece12dce..6e8f550ec 100644 --- a/src/Controllers/BadasoPermissionController.php +++ b/src/Controllers/BadasoPermissionController.php @@ -51,10 +51,10 @@ public function edit(Request $request) 'exists:Uasoft\Badaso\Models\Permission,id', ], 'key' => "required|unique:Uasoft\Badaso\Models\Permission,key,{$request->id}", - 'description' => 'required', + 'description' => 'nullable', 'always_allow' => 'required', 'is_public' => 'required', - 'table_name' => 'required', + 'table_name' => 'nullable', ]); $permission = Permission::find($request->id); @@ -81,7 +81,7 @@ public function add(Request $request) try { $request->validate([ 'key' => 'required|unique:Uasoft\Badaso\Models\Permission', - 'description' => 'required', + 'description' => 'nullable', 'always_allow' => 'required', 'is_public' => 'required', ]); diff --git a/src/Controllers/BadasoRoleController.php b/src/Controllers/BadasoRoleController.php index 623d799f9..fadeb644f 100644 --- a/src/Controllers/BadasoRoleController.php +++ b/src/Controllers/BadasoRoleController.php @@ -52,7 +52,7 @@ public function edit(Request $request) ], 'name' => "required|unique:Uasoft\Badaso\Models\Role,name,{$request->id}", 'display_name' => 'required', - 'description' => 'required', + 'description' => 'nullable', ]); $role = Role::find($request->id); @@ -79,7 +79,7 @@ public function add(Request $request) $request->validate([ 'name' => 'required|unique:Uasoft\Badaso\Models\Role,name', 'display_name' => 'required', - 'description' => 'required', + 'description' => 'nullable', ]); $role = new Role(); diff --git a/src/Migrations/2020_11_18_015029_create_menu_items.php b/src/Migrations/2020_11_18_015029_create_menu_items.php index d539565cb..7ab11d883 100644 --- a/src/Migrations/2020_11_18_015029_create_menu_items.php +++ b/src/Migrations/2020_11_18_015029_create_menu_items.php @@ -16,7 +16,7 @@ public function up() try { Schema::create(config('badaso.database.prefix').'menu_items', function (Blueprint $table) { $table->uuid('id')->primary(); - $table->unsignedInteger('menu_id')->nullable(); + $table->uuid('menu_id'); $table->string('title'); $table->string('url'); $table->string('target')->default('_self'); diff --git a/src/Migrations/2021_03_05_093223_create_activity_log_table.php b/src/Migrations/2021_03_05_093223_create_activity_log_table.php index 808d4f1b9..e1e964070 100644 --- a/src/Migrations/2021_03_05_093223_create_activity_log_table.php +++ b/src/Migrations/2021_03_05_093223_create_activity_log_table.php @@ -15,9 +15,9 @@ public function up() $table->increments('id'); $table->string('log_name')->nullable(); $table->text('description'); - $table->integer('subject_id')->nullable(); + $table->uuid('subject_id')->nullable(); $table->string('subject_type')->nullable(); - $table->integer('causer_id')->nullable(); + $table->uuid('causer_id')->nullable(); $table->string('causer_type')->nullable(); $table->text('properties')->nullable(); $table->timestamps(); diff --git a/src/Migrations/2021_03_09_064445_create_user_verifications.php b/src/Migrations/2021_03_09_064445_create_user_verifications.php index 63853e43c..14ad98575 100644 --- a/src/Migrations/2021_03_09_064445_create_user_verifications.php +++ b/src/Migrations/2021_03_09_064445_create_user_verifications.php @@ -15,7 +15,7 @@ public function up() { Schema::create(config('badaso.database.prefix').'user_verifications', function (Blueprint $table) { $table->uuid('id')->primary(); - $table->bigInteger('user_id')->nullable(); + $table->uuid('user_id')->nullable(); $table->string('verification_token')->nullable()->unique(); $table->dateTime('expired_at')->nullable(); $table->integer('count_incorrect')->nullable(); diff --git a/src/Migrations/2021_03_12_073541_create_email_resets.php b/src/Migrations/2021_03_12_073541_create_email_resets.php index c15ac66c3..1833c069f 100644 --- a/src/Migrations/2021_03_12_073541_create_email_resets.php +++ b/src/Migrations/2021_03_12_073541_create_email_resets.php @@ -15,7 +15,7 @@ public function up() { Schema::create(config('badaso.database.prefix').'email_resets', function (Blueprint $table) { $table->uuid('id')->primary(); - $table->bigInteger('user_id')->nullable(); + $table->uuid('user_id')->nullable(); $table->string('email'); $table->string('verification_token')->nullable()->unique(); $table->dateTime('expired_at')->nullable(); diff --git a/src/Models/Configuration.php b/src/Models/Configuration.php index ba2f2d8e3..53d95fa29 100644 --- a/src/Models/Configuration.php +++ b/src/Models/Configuration.php @@ -10,6 +10,10 @@ class Configuration extends Model { use LogsActivity, Uuid; + public $incrementing = false; + + public $keyType = 'string'; + protected $table = null; /** diff --git a/src/Models/DataRow.php b/src/Models/DataRow.php index ea04030ff..0ce5ac965 100644 --- a/src/Models/DataRow.php +++ b/src/Models/DataRow.php @@ -12,6 +12,10 @@ class DataRow extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/DataType.php b/src/Models/DataType.php index 6dc4d79a0..e39e1b839 100644 --- a/src/Models/DataType.php +++ b/src/Models/DataType.php @@ -12,6 +12,10 @@ class DataType extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/EmailReset.php b/src/Models/EmailReset.php index 539d19bd4..b976264ea 100644 --- a/src/Models/EmailReset.php +++ b/src/Models/EmailReset.php @@ -10,6 +10,10 @@ class EmailReset extends Model { use LogsActivity, Uuid; + public $incrementing = false; + + public $keyType = 'string'; + protected $table = null; /** diff --git a/src/Models/FCMMessage.php b/src/Models/FCMMessage.php index f0fb03803..b66945455 100644 --- a/src/Models/FCMMessage.php +++ b/src/Models/FCMMessage.php @@ -11,6 +11,10 @@ class FCMMessage extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index 1b604466a..2067eda95 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -12,6 +12,10 @@ class FirebaseCloudMessages extends Model use LogsActivity, Uuid; protected $table = null; + + public $incrementing = false; + + public $keyType = 'string'; /** * Constructor for setting the table name dynamically. diff --git a/src/Models/Menu.php b/src/Models/Menu.php index 040ea336e..7ec2c4520 100644 --- a/src/Models/Menu.php +++ b/src/Models/Menu.php @@ -12,6 +12,10 @@ class Menu extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ @@ -22,10 +26,7 @@ public function __construct(array $attributes = []) parent::__construct($attributes); } - protected $fillable = [ - 'key', - 'display_name', - ]; + protected $guarded = []; protected static $logAttributes = true; protected static $logFillable = true; diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index 9f85ddfd1..f89df2420 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -12,6 +12,10 @@ class MenuItem extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ @@ -23,6 +27,7 @@ public function __construct(array $attributes = []) } protected $fillable = [ + 'id', 'menu_id', 'title', 'url', diff --git a/src/Models/PasswordReset.php b/src/Models/PasswordReset.php index 47384997d..310d75412 100644 --- a/src/Models/PasswordReset.php +++ b/src/Models/PasswordReset.php @@ -11,6 +11,10 @@ class PasswordReset extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/Permission.php b/src/Models/Permission.php index bcee76685..0b8cfa6da 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -12,6 +12,10 @@ class Permission extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/Role.php b/src/Models/Role.php index 8b78ac0a2..d466f62f5 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -12,6 +12,10 @@ class Role extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/RolePermission.php b/src/Models/RolePermission.php index 1996f2297..0befc5859 100644 --- a/src/Models/RolePermission.php +++ b/src/Models/RolePermission.php @@ -12,6 +12,10 @@ class RolePermission extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ @@ -23,6 +27,7 @@ public function __construct(array $attributes = []) } protected $fillable = [ + 'id', 'role_id', 'permission_id', ]; diff --git a/src/Models/User.php b/src/Models/User.php index 88b62fc31..b626ae0ab 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -16,6 +16,10 @@ class User extends Authenticatable implements JWTSubject protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/UserRole.php b/src/Models/UserRole.php index d3f6a022f..f9cc6c6e1 100644 --- a/src/Models/UserRole.php +++ b/src/Models/UserRole.php @@ -12,6 +12,10 @@ class UserRole extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/UserVerification.php b/src/Models/UserVerification.php index 8b92079e0..86d605ffe 100644 --- a/src/Models/UserVerification.php +++ b/src/Models/UserVerification.php @@ -12,6 +12,10 @@ class UserVerification extends Model protected $table = null; + public $incrementing = false; + + public $keyType = 'string'; + /** * Constructor for setting the table name dynamically. */ diff --git a/src/Seeder/Configurations/FixedMenuItemSeeder.php b/src/Seeder/Configurations/FixedMenuItemSeeder.php index 23850a55f..62987b559 100644 --- a/src/Seeder/Configurations/FixedMenuItemSeeder.php +++ b/src/Seeder/Configurations/FixedMenuItemSeeder.php @@ -3,6 +3,7 @@ namespace Database\Seeders\Badaso; use Illuminate\Database\Seeder; +use Uasoft\Badaso\Models\Menu; use Uasoft\Badaso\Models\MenuItem; class FixedMenuItemSeeder extends Seeder @@ -19,9 +20,10 @@ public function run() \DB::beginTransaction(); try { + $menu_id = Menu::where('key', 'configuration')->firstOrFail()->id; $menu_items = [ 0 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Permission Management', 'url' => '/permission', 'target' => '_self', @@ -30,11 +32,9 @@ public function run() 'parent_id' => null, 'order' => 1, 'permissions' => 'browse_permissions', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 1 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Role Management', 'url' => '/role', 'target' => '_self', @@ -43,11 +43,9 @@ public function run() 'parent_id' => null, 'order' => 2, 'permissions' => 'browse_roles', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 2 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'User Management', 'url' => '/user', 'target' => '_self', @@ -56,11 +54,9 @@ public function run() 'parent_id' => null, 'order' => 3, 'permissions' => 'browse_users', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 3 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Menu Management', 'url' => '/menu', 'target' => '_self', @@ -69,11 +65,9 @@ public function run() 'parent_id' => null, 'order' => 4, 'permissions' => 'browse_menus', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 4 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'CRUD Management', 'url' => '/crud', 'target' => '_self', @@ -82,11 +76,9 @@ public function run() 'parent_id' => null, 'order' => 5, 'permissions' => 'browse_crud_data', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 5 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Database Management', 'url' => '/database', 'target' => '_self', @@ -95,11 +87,9 @@ public function run() 'parent_id' => null, 'order' => 5, 'permissions' => 'browse_database', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 6 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Site Management', 'url' => '/site', 'target' => '_self', @@ -108,11 +98,9 @@ public function run() 'parent_id' => null, 'order' => 6, 'permissions' => 'browse_configurations', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 7 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Activity Log', 'url' => '/activity-log', 'target' => '_self', @@ -121,11 +109,9 @@ public function run() 'parent_id' => null, 'order' => 7, 'permissions' => 'browse_activitylogs', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 8 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'Log Viewer', 'url' => '/log-viewer', 'target' => '_self', @@ -134,11 +120,9 @@ public function run() 'parent_id' => null, 'order' => 8, 'permissions' => 'browse_logviewer', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 9 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'File Manager', 'url' => '/file-manager', 'target' => '_self', @@ -147,11 +131,9 @@ public function run() 'parent_id' => null, 'order' => 8, 'permissions' => 'browse_file_manager', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 10 => [ - 'menu_id' => '2', + 'menu_id' => $menu_id, 'title' => 'API Documentation', 'url' => '/api-docs', 'target' => '_self', @@ -160,8 +142,6 @@ public function run() 'parent_id' => null, 'order' => 9, 'permissions' => 'browse_apidocs', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], ]; @@ -174,10 +154,9 @@ public function run() if (isset($menu_item)) { continue; } - $new_menu_items[] = $value; - } - MenuItem::insert($new_menu_items); + MenuItem::create($value); + } } catch (Exception $e) { throw new Exception('Exception occur '.$e); \DB::rollBack(); diff --git a/src/Seeder/Configurations/MenusSeeder.php b/src/Seeder/Configurations/MenusSeeder.php index c4fc9e89c..659eb3578 100644 --- a/src/Seeder/Configurations/MenusSeeder.php +++ b/src/Seeder/Configurations/MenusSeeder.php @@ -21,18 +21,12 @@ public function run() try { $menus = [ 0 => [ - 'id' => 1, 'key' => 'admin', 'display_name' => 'Admin Menu', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 1 => [ - 'id' => 2, 'key' => 'configuration', 'display_name' => 'Configuration', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], ]; @@ -43,10 +37,9 @@ public function run() if (isset($menu)) { continue; } - $new_menus[] = $value; + Menu::create($value); } - Menu::insert($new_menus); } catch (Exception $e) { throw new Exception('Exception occur '.$e); \DB::rollBack(); diff --git a/src/Seeder/Configurations/RolesSeeder.php b/src/Seeder/Configurations/RolesSeeder.php index d85927d56..b45919fea 100644 --- a/src/Seeder/Configurations/RolesSeeder.php +++ b/src/Seeder/Configurations/RolesSeeder.php @@ -21,32 +21,26 @@ public function run() try { $roles = [ 0 => [ - 'id' => 1, 'name' => 'administrator', 'display_name' => 'Administrator', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 1 => [ - 'id' => 2, 'name' => 'customer', 'display_name' => 'Customer', - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], ]; $new_roles = []; foreach ($roles as $key => $value) { - $role = Role::where('id', $value['id'])->first(); + $role = Role::where('name', $value['name'])->first(); if (isset($role)) { continue; } - $new_roles[] = $value; + + Role::create($value); } - Role::insert($new_roles); \DB::commit(); } catch (Exception $e) { diff --git a/src/Seeder/Configurations/SiteManagementSeeder.php b/src/Seeder/Configurations/SiteManagementSeeder.php index 7a21eb09a..d486d418a 100644 --- a/src/Seeder/Configurations/SiteManagementSeeder.php +++ b/src/Seeder/Configurations/SiteManagementSeeder.php @@ -29,8 +29,6 @@ public function run() 'order' => 1, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 1 => [ 'key' => 'adminPanelDescription', @@ -41,8 +39,6 @@ public function run() 'order' => 2, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 2 => [ 'key' => 'adminPanelLogo', @@ -53,8 +49,6 @@ public function run() 'order' => 3, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 3 => [ 'key' => 'adminPanelHeaderColor', @@ -65,8 +59,6 @@ public function run() 'order' => 4, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 4 => [ 'key' => 'landingPageTitle', @@ -77,8 +69,6 @@ public function run() 'order' => 1, 'group' => 'landingPage', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 5 => [ 'key' => 'adminPanelHeaderFontColor', @@ -89,8 +79,6 @@ public function run() 'order' => 5, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 6 => [ 'key' => 'adminPanelVerifyEmail', @@ -101,8 +89,6 @@ public function run() 'order' => 6, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 7 => [ 'key' => 'adminPanelLogoConfig', @@ -113,8 +99,6 @@ public function run() 'order' => 1, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-03-16 05:36:00', - 'updated_at' => '2021-03-16 05:36:00', ], 8 => [ 'key' => 'favicon', @@ -125,8 +109,6 @@ public function run() 'order' => 7, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 9 => [ 'key' => 'maintenance', @@ -137,8 +119,6 @@ public function run() 'order' => 8, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], 10 => [ 'key' => 'authBackgroundImage', @@ -149,16 +129,14 @@ public function run() 'order' => 9, 'group' => 'adminPanel', 'can_delete' => 0, - 'created_at' => '2021-01-01 15:26:06', - 'updated_at' => '2021-01-01 15:26:06', ], ]; foreach ($settings as $key => $value) { Configuration::where('key', $value['key'])->delete(); + Configuration::create($value); } - Configuration::insert($settings); \DB::commit(); } catch (Exception $e) { diff --git a/src/Traits/Uuid.php b/src/Traits/Uuid.php index 435ee5ee1..f392c03ab 100644 --- a/src/Traits/Uuid.php +++ b/src/Traits/Uuid.php @@ -7,21 +7,11 @@ trait Uuid { - protected static function boot() + public static function boot() { parent::boot(); - static::creating(function (Model $model) { - $model->setAttribute($model->getKeyName(), Str::uuid()); + self::creating(function (Model $model) { + $model->setAttribute($model->getKeyName(), (string) Str::uuid()); }); } - - public function getIncrementing() - { - return false; - } - - public function getKeyType() - { - return 'string'; - } } \ No newline at end of file From a28350aba6cb18547f0e5ac808fcc08e0954d423 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 15 Jul 2021 08:20:19 +0000 Subject: [PATCH 13/15] Apply fixes from StyleCI --- src/Models/FirebaseCloudMessages.php | 2 +- src/Seeder/Configurations/MenusSeeder.php | 1 - src/Seeder/Configurations/RolesSeeder.php | 1 - src/Seeder/Configurations/SiteManagementSeeder.php | 1 - src/Traits/Uuid.php | 2 +- 5 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index 2067eda95..a90719482 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -12,7 +12,7 @@ class FirebaseCloudMessages extends Model use LogsActivity, Uuid; protected $table = null; - + public $incrementing = false; public $keyType = 'string'; diff --git a/src/Seeder/Configurations/MenusSeeder.php b/src/Seeder/Configurations/MenusSeeder.php index 659eb3578..eb4052929 100644 --- a/src/Seeder/Configurations/MenusSeeder.php +++ b/src/Seeder/Configurations/MenusSeeder.php @@ -39,7 +39,6 @@ public function run() } Menu::create($value); } - } catch (Exception $e) { throw new Exception('Exception occur '.$e); \DB::rollBack(); diff --git a/src/Seeder/Configurations/RolesSeeder.php b/src/Seeder/Configurations/RolesSeeder.php index b45919fea..2a87aa02f 100644 --- a/src/Seeder/Configurations/RolesSeeder.php +++ b/src/Seeder/Configurations/RolesSeeder.php @@ -41,7 +41,6 @@ public function run() Role::create($value); } - \DB::commit(); } catch (Exception $e) { throw new Exception('Exception occur '.$e); diff --git a/src/Seeder/Configurations/SiteManagementSeeder.php b/src/Seeder/Configurations/SiteManagementSeeder.php index d486d418a..9b33ea21a 100644 --- a/src/Seeder/Configurations/SiteManagementSeeder.php +++ b/src/Seeder/Configurations/SiteManagementSeeder.php @@ -137,7 +137,6 @@ public function run() Configuration::create($value); } - \DB::commit(); } catch (Exception $e) { throw new Exception('Exception occur '.$e); diff --git a/src/Traits/Uuid.php b/src/Traits/Uuid.php index f392c03ab..97da80b55 100644 --- a/src/Traits/Uuid.php +++ b/src/Traits/Uuid.php @@ -14,4 +14,4 @@ public static function boot() $model->setAttribute($model->getKeyName(), (string) Str::uuid()); }); } -} \ No newline at end of file +} From 9f6de3498f7ad4669bfbc304ebd4662d8e17a1f2 Mon Sep 17 00:00:00 2001 From: Danny Atthaya Date: Thu, 15 Jul 2021 16:39:37 +0700 Subject: [PATCH 14/15] Revert back from uuid to id --- ...0_11_12_000000_create_badaso_users_table.php | 2 +- ...0000_create_badaso_password_resets_table.php | 2 +- .../2020_11_13_064800_create_data_type.php | 6 +++--- .../2020_11_18_014827_create_configurations.php | 2 +- .../2020_11_18_014939_create_roles.php | 2 +- .../2020_11_18_014950_create_permissions.php | 2 +- .../2020_11_18_015020_create_menus.php | 2 +- .../2020_11_18_015029_create_menu_items.php | 4 ++-- .../2020_11_18_015852_create_user_roles.php | 12 ++++++------ ...020_11_18_020028_create_role_permissions.php | 6 +++--- ...1_03_05_093223_create_activity_log_table.php | 4 ++-- ...1_03_09_064445_create_user_verifications.php | 4 ++-- .../2021_03_12_073541_create_email_resets.php | 4 ++-- ...032_create_firebase_cloud_messages_table.php | 4 ++-- ...04_28_004319_create_f_c_m_messages_table.php | 6 +++--- src/Models/Configuration.php | 7 +------ src/Models/DataRow.php | 7 +------ src/Models/DataType.php | 7 ------- src/Models/EmailReset.php | 7 +------ src/Models/FCMMessage.php | 7 ------- src/Models/FirebaseCloudMessages.php | 7 +------ src/Models/Menu.php | 7 +------ src/Models/MenuItem.php | 7 +------ src/Models/PasswordReset.php | 7 ------- src/Models/Permission.php | 7 +------ src/Models/Role.php | 7 +------ src/Models/RolePermission.php | 7 +------ src/Models/User.php | 7 +------ src/Models/UserRole.php | 7 +------ src/Models/UserVerification.php | 7 +------ .../Configurations/FixedMenuItemSeeder.php | 11 +++++++++++ src/Seeder/Configurations/MenusSeeder.php | 2 ++ src/Seeder/Configurations/RolesSeeder.php | 2 ++ .../Configurations/SiteManagementSeeder.php | 11 +++++++++++ src/Traits/Uuid.php | 17 ----------------- 35 files changed, 69 insertions(+), 141 deletions(-) delete mode 100644 src/Traits/Uuid.php diff --git a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php index a1ae066fc..e5c05f882 100644 --- a/src/Migrations/2020_11_12_000000_create_badaso_users_table.php +++ b/src/Migrations/2020_11_12_000000_create_badaso_users_table.php @@ -14,7 +14,7 @@ class CreateBadasoUsersTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'users', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('name'); $table->string('email')->unique(); $table->text('additional_info')->nullable(); diff --git a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php index 375d70aea..3c9cda27b 100644 --- a/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php +++ b/src/Migrations/2020_11_12_100000_create_badaso_password_resets_table.php @@ -14,7 +14,7 @@ class CreateBadasoPasswordResetsTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'password_resets', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('email')->index(); $table->string('token'); $table->timestamp('created_at')->nullable(); diff --git a/src/Migrations/2020_11_13_064800_create_data_type.php b/src/Migrations/2020_11_13_064800_create_data_type.php index 4048a8abb..a4a2914d2 100644 --- a/src/Migrations/2020_11_13_064800_create_data_type.php +++ b/src/Migrations/2020_11_13_064800_create_data_type.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'data_types', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('name')->unique(); $table->string('slug')->unique(); $table->string('display_name_singular'); @@ -39,8 +39,8 @@ public function up() // Create table for storing roles Schema::create(config('badaso.database.prefix').'data_rows', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('data_type_id'); + $table->id(); + $table->foreignId('data_type_id'); $table->string('field'); $table->string('type'); $table->string('display_name'); diff --git a/src/Migrations/2020_11_18_014827_create_configurations.php b/src/Migrations/2020_11_18_014827_create_configurations.php index 62b223917..43fe5e471 100644 --- a/src/Migrations/2020_11_18_014827_create_configurations.php +++ b/src/Migrations/2020_11_18_014827_create_configurations.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'configurations', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('key')->unique(); $table->string('display_name'); $table->text('value')->nullable(); diff --git a/src/Migrations/2020_11_18_014939_create_roles.php b/src/Migrations/2020_11_18_014939_create_roles.php index b4541a45d..f1afabdbb 100644 --- a/src/Migrations/2020_11_18_014939_create_roles.php +++ b/src/Migrations/2020_11_18_014939_create_roles.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'roles', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('name')->unique(); $table->string('display_name'); $table->string('description')->nullable(); diff --git a/src/Migrations/2020_11_18_014950_create_permissions.php b/src/Migrations/2020_11_18_014950_create_permissions.php index 3cd84f2fb..03eaec8d7 100644 --- a/src/Migrations/2020_11_18_014950_create_permissions.php +++ b/src/Migrations/2020_11_18_014950_create_permissions.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'permissions', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('key')->index(); $table->string('description')->nullable(); $table->string('table_name')->nullable(); diff --git a/src/Migrations/2020_11_18_015020_create_menus.php b/src/Migrations/2020_11_18_015020_create_menus.php index 675374ed9..a9ac5e001 100644 --- a/src/Migrations/2020_11_18_015020_create_menus.php +++ b/src/Migrations/2020_11_18_015020_create_menus.php @@ -15,7 +15,7 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'menus', function (Blueprint $table) { - $table->uuid('id')->primary(); + $table->id(); $table->string('key')->unique(); $table->string('display_name'); $table->string('icon')->nullable(); diff --git a/src/Migrations/2020_11_18_015029_create_menu_items.php b/src/Migrations/2020_11_18_015029_create_menu_items.php index 7ab11d883..8959b641f 100644 --- a/src/Migrations/2020_11_18_015029_create_menu_items.php +++ b/src/Migrations/2020_11_18_015029_create_menu_items.php @@ -15,8 +15,8 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'menu_items', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('menu_id'); + $table->id(); + $table->foreignId('menu_id'); $table->string('title'); $table->string('url'); $table->string('target')->default('_self'); diff --git a/src/Migrations/2020_11_18_015852_create_user_roles.php b/src/Migrations/2020_11_18_015852_create_user_roles.php index 40ea990c3..e8313d2fb 100644 --- a/src/Migrations/2020_11_18_015852_create_user_roles.php +++ b/src/Migrations/2020_11_18_015852_create_user_roles.php @@ -15,9 +15,9 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('user_id'); - $table->uuid('role_id'); + $table->id(); + $table->foreignId('user_id'); + $table->foreignId('role_id'); $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); @@ -27,9 +27,9 @@ public function up() try { Schema::create(config('badaso.database.prefix').'user_roles', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('user_id'); - $table->uuid('role_id'); + $table->id(); + $table->foreignId('user_id'); + $table->foreignId('role_id'); $table->foreign('user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->timestamps(); diff --git a/src/Migrations/2020_11_18_020028_create_role_permissions.php b/src/Migrations/2020_11_18_020028_create_role_permissions.php index 3ecafbc92..51fe436ca 100644 --- a/src/Migrations/2020_11_18_020028_create_role_permissions.php +++ b/src/Migrations/2020_11_18_020028_create_role_permissions.php @@ -15,9 +15,9 @@ public function up() { try { Schema::create(config('badaso.database.prefix').'role_permissions', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('role_id'); - $table->uuid('permission_id'); + $table->id(); + $table->foreignId('role_id'); + $table->foreignId('permission_id'); $table->foreign('role_id')->references('id')->on(config('badaso.database.prefix').'roles')->onDelete('cascade'); $table->foreign('permission_id')->references('id')->on(config('badaso.database.prefix').'permissions')->onDelete('cascade'); $table->timestamps(); diff --git a/src/Migrations/2021_03_05_093223_create_activity_log_table.php b/src/Migrations/2021_03_05_093223_create_activity_log_table.php index e1e964070..d3b1c118b 100644 --- a/src/Migrations/2021_03_05_093223_create_activity_log_table.php +++ b/src/Migrations/2021_03_05_093223_create_activity_log_table.php @@ -15,9 +15,9 @@ public function up() $table->increments('id'); $table->string('log_name')->nullable(); $table->text('description'); - $table->uuid('subject_id')->nullable(); + $table->foreignId('subject_id')->nullable(); $table->string('subject_type')->nullable(); - $table->uuid('causer_id')->nullable(); + $table->foreignId('causer_id')->nullable(); $table->string('causer_type')->nullable(); $table->text('properties')->nullable(); $table->timestamps(); diff --git a/src/Migrations/2021_03_09_064445_create_user_verifications.php b/src/Migrations/2021_03_09_064445_create_user_verifications.php index 14ad98575..08e660ad9 100644 --- a/src/Migrations/2021_03_09_064445_create_user_verifications.php +++ b/src/Migrations/2021_03_09_064445_create_user_verifications.php @@ -14,8 +14,8 @@ class CreateUserVerifications extends Migration public function up() { Schema::create(config('badaso.database.prefix').'user_verifications', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('user_id')->nullable(); + $table->id(); + $table->foreignId('user_id')->nullable(); $table->string('verification_token')->nullable()->unique(); $table->dateTime('expired_at')->nullable(); $table->integer('count_incorrect')->nullable(); diff --git a/src/Migrations/2021_03_12_073541_create_email_resets.php b/src/Migrations/2021_03_12_073541_create_email_resets.php index 1833c069f..c664607e3 100644 --- a/src/Migrations/2021_03_12_073541_create_email_resets.php +++ b/src/Migrations/2021_03_12_073541_create_email_resets.php @@ -14,8 +14,8 @@ class CreateEmailResets extends Migration public function up() { Schema::create(config('badaso.database.prefix').'email_resets', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('user_id')->nullable(); + $table->id(); + $table->foreignId('user_id')->nullable(); $table->string('email'); $table->string('verification_token')->nullable()->unique(); $table->dateTime('expired_at')->nullable(); diff --git a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php index 41b92c22d..06491ddde 100644 --- a/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php +++ b/src/Migrations/2021_04_26_014032_create_firebase_cloud_messages_table.php @@ -14,8 +14,8 @@ class CreateFirebaseCloudMessagesTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'firebase_cloud_messages', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('user_id'); + $table->id(); + $table->foreignId('user_id'); $table->string('token_get_message'); $table->timestamps(); diff --git a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php index 74350779b..21326c86e 100644 --- a/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php +++ b/src/Migrations/2021_04_28_004319_create_f_c_m_messages_table.php @@ -14,13 +14,13 @@ class CreateFCMMessagesTable extends Migration public function up() { Schema::create(config('badaso.database.prefix').'f_c_m_messages', function (Blueprint $table) { - $table->uuid('id')->primary(); - $table->uuid('receiver_user_id'); + $table->id(); + $table->foreignId('receiver_user_id'); $table->string('type'); $table->string('title'); $table->text('content'); $table->boolean('is_read')->default(0); - $table->uuid('sender_user_id'); + $table->foreignId('sender_user_id'); $table->timestamps(); $table->foreign('receiver_user_id')->references('id')->on(config('badaso.database.prefix').'users')->onDelete('cascade'); diff --git a/src/Models/Configuration.php b/src/Models/Configuration.php index 53d95fa29..da27277dc 100644 --- a/src/Models/Configuration.php +++ b/src/Models/Configuration.php @@ -4,15 +4,10 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class Configuration extends Model { - use LogsActivity, Uuid; - - public $incrementing = false; - - public $keyType = 'string'; + use LogsActivity; protected $table = null; diff --git a/src/Models/DataRow.php b/src/Models/DataRow.php index 0ce5ac965..454d54575 100644 --- a/src/Models/DataRow.php +++ b/src/Models/DataRow.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class DataRow extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/DataType.php b/src/Models/DataType.php index e39e1b839..59dc7a129 100644 --- a/src/Models/DataType.php +++ b/src/Models/DataType.php @@ -4,18 +4,11 @@ use Illuminate\Database\Eloquent\Model; use Uasoft\Badaso\Facades\Badaso; -use Uasoft\Badaso\Traits\Uuid; class DataType extends Model { - use Uuid; - protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/EmailReset.php b/src/Models/EmailReset.php index b976264ea..938d41863 100644 --- a/src/Models/EmailReset.php +++ b/src/Models/EmailReset.php @@ -4,15 +4,10 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class EmailReset extends Model { - use LogsActivity, Uuid; - - public $incrementing = false; - - public $keyType = 'string'; + use LogsActivity; protected $table = null; diff --git a/src/Models/FCMMessage.php b/src/Models/FCMMessage.php index b66945455..fecec53ab 100644 --- a/src/Models/FCMMessage.php +++ b/src/Models/FCMMessage.php @@ -3,18 +3,11 @@ namespace Uasoft\Badaso\Models; use Illuminate\Database\Eloquent\Model; -use Uasoft\Badaso\Traits\Uuid; class FCMMessage extends Model { - use Uuid; - protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/FirebaseCloudMessages.php b/src/Models/FirebaseCloudMessages.php index a90719482..4587cd640 100644 --- a/src/Models/FirebaseCloudMessages.php +++ b/src/Models/FirebaseCloudMessages.php @@ -5,18 +5,13 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Str; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class FirebaseCloudMessages extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/Menu.php b/src/Models/Menu.php index 7ec2c4520..a4cd239ab 100644 --- a/src/Models/Menu.php +++ b/src/Models/Menu.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class Menu extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/MenuItem.php b/src/Models/MenuItem.php index f89df2420..42b611ff8 100644 --- a/src/Models/MenuItem.php +++ b/src/Models/MenuItem.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class MenuItem extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/PasswordReset.php b/src/Models/PasswordReset.php index 310d75412..9c59951bd 100644 --- a/src/Models/PasswordReset.php +++ b/src/Models/PasswordReset.php @@ -3,18 +3,11 @@ namespace Uasoft\Badaso\Models; use Illuminate\Database\Eloquent\Model; -use Uasoft\Badaso\Traits\Uuid; class PasswordReset extends Model { - use Uuid; - protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/Permission.php b/src/Models/Permission.php index 0b8cfa6da..84068774e 100644 --- a/src/Models/Permission.php +++ b/src/Models/Permission.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class Permission extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/Role.php b/src/Models/Role.php index d466f62f5..082833525 100644 --- a/src/Models/Role.php +++ b/src/Models/Role.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class Role extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/RolePermission.php b/src/Models/RolePermission.php index 0befc5859..598c4637f 100644 --- a/src/Models/RolePermission.php +++ b/src/Models/RolePermission.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class RolePermission extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/User.php b/src/Models/User.php index b626ae0ab..304059314 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -6,20 +6,15 @@ use Illuminate\Notifications\Notifiable; use Spatie\Activitylog\Traits\LogsActivity; use Tymon\JWTAuth\Contracts\JWTSubject; -use Uasoft\Badaso\Traits\Uuid; class User extends Authenticatable implements JWTSubject { // use HasFactory; use Notifiable; - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/UserRole.php b/src/Models/UserRole.php index f9cc6c6e1..cfdad1d4e 100644 --- a/src/Models/UserRole.php +++ b/src/Models/UserRole.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class UserRole extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Models/UserVerification.php b/src/Models/UserVerification.php index 86d605ffe..b58ce55b2 100644 --- a/src/Models/UserVerification.php +++ b/src/Models/UserVerification.php @@ -4,18 +4,13 @@ use Illuminate\Database\Eloquent\Model; use Spatie\Activitylog\Traits\LogsActivity; -use Uasoft\Badaso\Traits\Uuid; class UserVerification extends Model { - use LogsActivity, Uuid; + use LogsActivity; protected $table = null; - public $incrementing = false; - - public $keyType = 'string'; - /** * Constructor for setting the table name dynamically. */ diff --git a/src/Seeder/Configurations/FixedMenuItemSeeder.php b/src/Seeder/Configurations/FixedMenuItemSeeder.php index 62987b559..4e6a9756a 100644 --- a/src/Seeder/Configurations/FixedMenuItemSeeder.php +++ b/src/Seeder/Configurations/FixedMenuItemSeeder.php @@ -23,6 +23,7 @@ public function run() $menu_id = Menu::where('key', 'configuration')->firstOrFail()->id; $menu_items = [ 0 => [ + 'id' => 1, 'menu_id' => $menu_id, 'title' => 'Permission Management', 'url' => '/permission', @@ -34,6 +35,7 @@ public function run() 'permissions' => 'browse_permissions', ], 1 => [ + 'id' => 2, 'menu_id' => $menu_id, 'title' => 'Role Management', 'url' => '/role', @@ -45,6 +47,7 @@ public function run() 'permissions' => 'browse_roles', ], 2 => [ + 'id' => 3, 'menu_id' => $menu_id, 'title' => 'User Management', 'url' => '/user', @@ -56,6 +59,7 @@ public function run() 'permissions' => 'browse_users', ], 3 => [ + 'id' => 4, 'menu_id' => $menu_id, 'title' => 'Menu Management', 'url' => '/menu', @@ -67,6 +71,7 @@ public function run() 'permissions' => 'browse_menus', ], 4 => [ + 'id' => 5, 'menu_id' => $menu_id, 'title' => 'CRUD Management', 'url' => '/crud', @@ -78,6 +83,7 @@ public function run() 'permissions' => 'browse_crud_data', ], 5 => [ + 'id' => 6, 'menu_id' => $menu_id, 'title' => 'Database Management', 'url' => '/database', @@ -89,6 +95,7 @@ public function run() 'permissions' => 'browse_database', ], 6 => [ + 'id' => 7, 'menu_id' => $menu_id, 'title' => 'Site Management', 'url' => '/site', @@ -100,6 +107,7 @@ public function run() 'permissions' => 'browse_configurations', ], 7 => [ + 'id' => 8, 'menu_id' => $menu_id, 'title' => 'Activity Log', 'url' => '/activity-log', @@ -111,6 +119,7 @@ public function run() 'permissions' => 'browse_activitylogs', ], 8 => [ + 'id' => 9, 'menu_id' => $menu_id, 'title' => 'Log Viewer', 'url' => '/log-viewer', @@ -122,6 +131,7 @@ public function run() 'permissions' => 'browse_logviewer', ], 9 => [ + 'id' => 10, 'menu_id' => $menu_id, 'title' => 'File Manager', 'url' => '/file-manager', @@ -133,6 +143,7 @@ public function run() 'permissions' => 'browse_file_manager', ], 10 => [ + 'id' => 11, 'menu_id' => $menu_id, 'title' => 'API Documentation', 'url' => '/api-docs', diff --git a/src/Seeder/Configurations/MenusSeeder.php b/src/Seeder/Configurations/MenusSeeder.php index eb4052929..f43dd8d56 100644 --- a/src/Seeder/Configurations/MenusSeeder.php +++ b/src/Seeder/Configurations/MenusSeeder.php @@ -21,10 +21,12 @@ public function run() try { $menus = [ 0 => [ + 'id' => 1, 'key' => 'admin', 'display_name' => 'Admin Menu', ], 1 => [ + 'id' => 2, 'key' => 'configuration', 'display_name' => 'Configuration', ], diff --git a/src/Seeder/Configurations/RolesSeeder.php b/src/Seeder/Configurations/RolesSeeder.php index 2a87aa02f..7603a4e78 100644 --- a/src/Seeder/Configurations/RolesSeeder.php +++ b/src/Seeder/Configurations/RolesSeeder.php @@ -21,10 +21,12 @@ public function run() try { $roles = [ 0 => [ + 'id' => 1, 'name' => 'administrator', 'display_name' => 'Administrator', ], 1 => [ + 'id' => 2, 'name' => 'customer', 'display_name' => 'Customer', ], diff --git a/src/Seeder/Configurations/SiteManagementSeeder.php b/src/Seeder/Configurations/SiteManagementSeeder.php index 9b33ea21a..cbf2bbc6d 100644 --- a/src/Seeder/Configurations/SiteManagementSeeder.php +++ b/src/Seeder/Configurations/SiteManagementSeeder.php @@ -21,6 +21,7 @@ public function run() try { $settings = [ 0 => [ + 'id' => 1, 'key' => 'adminPanelTitle', 'display_name' => 'Admin Panel Title', 'value' => 'Badaso', @@ -31,6 +32,7 @@ public function run() 'can_delete' => 0, ], 1 => [ + 'id' => 2, 'key' => 'adminPanelDescription', 'display_name' => 'Admin Panel Description', 'value' => 'Badaso, SPA CRUD Generator', @@ -41,6 +43,7 @@ public function run() 'can_delete' => 0, ], 2 => [ + 'id' => 3, 'key' => 'adminPanelLogo', 'display_name' => 'Admin Panel Logo', 'value' => 'files/shares/logo.webp', @@ -51,6 +54,7 @@ public function run() 'can_delete' => 0, ], 3 => [ + 'id' => 4, 'key' => 'adminPanelHeaderColor', 'display_name' => 'Admin Panel Header Color', 'value' => '#ffffff', @@ -61,6 +65,7 @@ public function run() 'can_delete' => 0, ], 4 => [ + 'id' => 5, 'key' => 'landingPageTitle', 'display_name' => 'Landing Page Title', 'value' => 'Badaso', @@ -71,6 +76,7 @@ public function run() 'can_delete' => 0, ], 5 => [ + 'id' => 6, 'key' => 'adminPanelHeaderFontColor', 'display_name' => 'Admin Panel Header Font Color', 'value' => '#06bbd3', @@ -81,6 +87,7 @@ public function run() 'can_delete' => 0, ], 6 => [ + 'id' => 7, 'key' => 'adminPanelVerifyEmail', 'display_name' => 'Should verify email after register', 'value' => '1', @@ -91,6 +98,7 @@ public function run() 'can_delete' => 0, ], 7 => [ + 'id' => 8, 'key' => 'adminPanelLogoConfig', 'display_name' => 'Admin Panel Logo Config', 'value' => 'logo_only', @@ -101,6 +109,7 @@ public function run() 'can_delete' => 0, ], 8 => [ + 'id' => 9, 'key' => 'favicon', 'display_name' => 'Favicon', 'value' => 'files/shares/favicon.png', @@ -111,6 +120,7 @@ public function run() 'can_delete' => 0, ], 9 => [ + 'id' => 10, 'key' => 'maintenance', 'display_name' => 'Maintenance for all pages.', 'value' => '0', @@ -121,6 +131,7 @@ public function run() 'can_delete' => 0, ], 10 => [ + 'id' => 11, 'key' => 'authBackgroundImage', 'display_name' => 'Background image for login page.', 'value' => 'files/shares/auth-bg.jpg', diff --git a/src/Traits/Uuid.php b/src/Traits/Uuid.php deleted file mode 100644 index 97da80b55..000000000 --- a/src/Traits/Uuid.php +++ /dev/null @@ -1,17 +0,0 @@ -setAttribute($model->getKeyName(), (string) Str::uuid()); - }); - } -} From a117320015fb346a122202991feb0bec2fd83825 Mon Sep 17 00:00:00 2001 From: Rizki Heryandi Date: Thu, 15 Jul 2021 17:10:53 +0700 Subject: [PATCH 15/15] Bump version to 2.0.0-rc.9 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 239dfac8b..9d3fd4980 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "version": "2.0.0-rc.8", + "version": "2.0.0-rc.9", "name": "badaso/core", "description": "The First Open-Source Laravel Vue headless CMS (PWA dashboard + CRUD + API generator & more) for more productivity !", "keywords": [