Commit Graph

50 Commits

Author SHA1 Message Date
Hugo Sales e0af29fd5e [CORE] Data Representation and Modelling refactor 2021-04-14 15:37:22 +00:00
Hugo Sales e96c273351 [LocalUser] Fix missing extend 2021-04-14 15:37:22 +00:00
Alexei Sorokin 690b8750c6 [DATABASE] Enable fulltext search by default
Also rename fulltext indices to more fitting names

Imported from v2/f84dbb369f01a1d4a9bc362d01cdd100cdc79313
2021-04-14 15:37:22 +00:00
Hugo Sales 459a60d789 [MEDIA][EXCEPTIONS] Fix errors and deprecations 2021-04-14 15:37:22 +00:00
Hugo Sales a498134b13 [AUTOGENERATED] Update autogenerated code 2021-04-14 15:37:22 +00:00
Hugo Sales a5c97762e0 [AVATAR] Fixed avatar upload, added avatar inline download and updated template and base controller 2021-04-14 15:37:22 +00:00
Hugo Sales c06346ef31 [DB][FILE][AVATAR] Handle deleting files, change file and avatar tables 2021-04-14 15:37:22 +00:00
Hugo Sales c1963438bc [AUTOGENERATED] Update autogenerated code 2021-04-14 15:37:22 +00:00
Hugo Sales e620c20bb4 [UI][CONTROLLER] Work on tabbed notification settings panel 2021-04-14 15:37:21 +00:00
Hugo Sales b4e42d6562 [SECURITY] Ensure ARGON2 constants are defined, or throw exception 2021-04-14 15:37:21 +00:00
Hugo Sales 9dffd1c93e [DATABASE] Remove DATABASE::flush from Profile::setSelfTags 2021-04-14 15:37:21 +00:00
Hugo Sales 4d2770319e [DATABASE][TOOLS] Update local_user to return the proper PhoneNumber type 2021-04-14 15:37:21 +00:00
Hugo Sales e7f541219d [DATABASE][TOOLS] Update local_user, SchemaDefDriver and bin/generate_entity_fields to use the phone_number type (which maps to a varchar 35 and does validation) 2021-04-14 15:37:21 +00:00
Hugo Sales c91c385dec [SELFTAGS] Add Profile::{set,get}SelfTags 2021-04-14 15:37:21 +00:00
Alexei Sorokin 256d57adaa [SECURITY] Update way passwords are checked and update 2021-04-14 15:37:21 +00:00
Hugo Sales 2eb61543d9 [AUTOGENERATED] Update all entity fields 2021-04-14 15:37:21 +00:00
Hugo Sales 71c9462d2e [DATABASE] Fix typos in user_notification_prefs 2021-04-14 15:37:21 +00:00
Hugo Sales c410f9b67a [DATABASE] Fix typo in profile table and add a constructor 2021-04-14 15:37:21 +00:00
Hugo Sales fdcedb8295 [DATABASE] Update LocalUser table to not have a numerical id, add is_email_verified and fix getProfile accordingly 2021-04-14 15:37:21 +00:00
Hugo Sales f26b488045 [NOTIFICATION][DATABASE] Update user notification prefs table, implementation of Notification and define a base class for notification transport 2021-04-14 15:37:21 +00:00
Hugo Sales 0ef9223803 [LOGIN] Implement password checking and related systems 2021-04-14 15:37:21 +00:00
Hugo Sales 70cb6d5d94 [DATABASE] Add role collumn to profile table 2021-04-14 15:37:21 +00:00
Hugo Sales 0e96ffe287 [UI][SESSION] Add login and logout pages 2021-04-14 15:37:21 +00:00
Hugo Sales 9a9ac8b55f [AUTOGENERATED] Update autogenerated code 2021-04-14 15:37:21 +00:00
Hugo Sales adda4caea4 [DATABASE] Rename user table to local_user, since doctrine shits itself otherwise ._. 2021-04-14 15:37:21 +00:00
Hugo Sales 9fb74c2f27 [DATABASE] Re-import the local_group table, as it'll be used as per the new group semantics 2021-04-14 15:37:21 +00:00
Hugo Sales e146ebc05b [DATABASE] Delete queue_item table, as queueing will be handled by messenger 2021-04-14 15:37:21 +00:00
Hugo Sales a574971f0b [AUTOGENERATED] Update autogenerated code 2021-04-14 15:37:21 +00:00
Hugo Sales 3a6b4cca1e [CORE][DATABASE] Replace zero dates with CURRENT_TIMESTAMP and add defaults to all 'created' or 'modified'
This commit is a port from v2's 9a515b9234 ([SCHEMA] Improve timestamp storage) to v3.

As explained by Alexei Sorokin:

Avoid the use of deprecated MariaDATABASE "zero dates" globally. If they're present
as attribute defaults somewhere, they will be replaced with NULL implicitly.
The existing "zero dates" in MariaDATABASE storage will be left intact and this
should not present any issues.

The "timestamp" type in table definitions now corresponds to DATETIME in
MariaDATABASE with "DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", which
should be close enough to the original behaviour for compatibility purposes.
It is now the recommended type for "modified" attributes, because of the
update trigger on MariaDATABASE. But there is no such trigger implemented on
PostgreSQL as of this moment.
2021-04-14 15:37:21 +00:00
Hugo Sales 6fe35833e7 [CORE][DATABASE] Restructure the database 2021-04-14 15:37:21 +00:00
Hugo Sales ce00acdb39 [TOOLS] Fixed all licence blocks, to use the same, foldable, format 2021-04-14 15:37:20 +00:00
Hugo Sales ccc0d7d401 [DATABASE] Change the way defaults are loaded, bulk insert, reload everything in debug mode, only on http requests (not command line) 2021-04-14 15:37:20 +00:00
Hugo Sales 0d5f66e8b8 [FORMATTING] Cherry-pick of Diogo's 763ac735c0758624ebd5957993dc0676b865927a 2021-04-14 15:37:20 +00:00
Diogo Cordeiro 4efbf9361c [DOCUMENTATION][TOOL] Small bug fixes and docblock elaboration 2021-04-14 15:37:20 +00:00
Hugo Sales 3ad81ab730 [DATABASE] Changed the type of the 'id' field of the ProfileList table from serial to int, as doctrine complains otherwise 2021-04-14 15:36:35 +00:00
Hugo Sales 160b811669 [DATABASE][AUTOCODE] Update autocode to use \DateTimeInterface instead of DateTime 2021-04-14 15:36:35 +00:00
Hugo Sales d14ac1edf6 [DATABASE] Add missing table names 2021-04-14 15:36:35 +00:00
Hugo Sales 04202b59ef [DATABASE][AUTOCODE] Autogenerated fields, setters and getters for each entity 2021-04-14 15:36:35 +00:00
Hugo Sales 36bc871c65 [TOOLS] Change autocode tag to allow editor folding 2021-04-14 15:36:35 +00:00
Hugo Sales 1589f6e26f [DATABASE] Removed calls to common_config 2021-04-14 15:36:35 +00:00
Hugo Sales b52f0c795e [FORMATTING] Changed license block format to allow folding 2021-04-14 15:36:35 +00:00
Hugo Sales 8f13d331ad [DATABASE] Extracted schemaDef method from old files and refactored onto new files 2021-04-14 15:36:35 +00:00
Hugo Sales e3ef58bd8e [CORE][DATABASE] Import old classes folder into src/Entity 2021-04-14 15:36:35 +00:00
Hugo Sales 57f7f40fa9 [DATABASE] Remove testing entity 2021-04-14 15:36:35 +00:00
Hugo Sales 6c8da48efa [DOCUMENTATION] Document All The Things! 2021-04-14 15:36:35 +00:00
Hugo Sales 40b0812d9b [CS-FIXER] Updated cs-fixer rules and added a temporary exception to the src/Entity folder (awaiting pr merge) 2021-04-14 15:36:35 +00:00
Hugo Sales 26ea268fed [DOCTRINE][SCRIPT] Created a script to generate the class fields and accessors from the schema definition 2021-04-14 15:36:35 +00:00
Hugo Sales 06d76a649f [CORE][DOCTRINE] Implement SchemaDefDriver, which transforms the old syntax from to doctrine's metadata 2021-04-14 15:36:35 +00:00
Hugo Sales 6546c088d9 [DOCTRINE][SCHEMADEF] Create a new metadata driver to allow us to continue using static schemaDef functions
This has the benefit of requiring fewer code changes, as well as providing a better isolation
between GNU social and symfony, useful in case the framework needs to be changed
2021-04-14 15:36:35 +00:00
Hugo Sales 86b5bfe075 [V3] Big Bang
Beginning anew, this time with a modern framework: symfony
2021-04-14 15:36:35 +00:00