Diogo Peralta Cordeiro
32ad5dbd74
[ENTITY] Split Attachment in various new entities
...
Remove Attachment Scope
Fixed some minor bugs
Scope will be implemented later in v3. It doesn't make sense to have
the scope handling being per attachment. Different actors can post
the same attachment with different scopes. The attachment controller
will assume the highest level of scope applied to the attachment and
the rest will be handled at the note level.
Motivation:
* Remove title from attachment, as it's part of the relation between attachment and note.
* Remove actor from attachment, many actors may publish the same attachment.
* Remove is_local from attachment, as it's part of the relation between attachment and note.
* Remove remote_url from attachment, different urls can return the same attachment.
Addition:
* Attachment now has a lives attribute, it's a reference counter with a nicer name
* GSActorToAttachment
* GSActorToRemoteURL
* RemoteURL
* RemoteURLToNote
* RemoteURLToAttachment
* AttachmentToNote now has a title attribute
2021-08-14 17:00:46 +01:00
Hugo Sales
420b3f4aeb
[DB][Attachments] Use count function rathar than fetch and count, rename to refCount, rather than countDepencies
2021-08-14 16:13:01 +01:00
Hugo Sales
9c99c11790
[TemporaryFile][TESTS] Throw on attempt to write to null resource and fix tests
2021-08-14 16:13:01 +01:00
Hugo Sales
66b39d3607
[ENTITY] Add JsonSerializable interface to Entity base class and implement it for the Note class
2021-08-14 16:13:00 +01:00
Hugo Sales
8e627f2c18
[TESTS] Add test annotations to core classes
2021-08-14 16:12:59 +01:00
Hugo Sales
7cace2051f
[CORE][Controller] Fix JSON response and add test annotations
2021-08-14 16:12:59 +01:00
Hugo Sales
a4cb90ba12
[EVENTS] Change FormatNoteList do separate in and out arguments
...
This is necessary due to some weird problem which I wasn't able to figure out (but which doesn't matter)
that somehow causes the event to be called twice during testing, and thus the function was exploding
2021-08-14 16:12:58 +01:00
Hugo Sales
c804892672
[TEST] Raise test coverage for UserPanel to 100%
2021-08-14 16:12:57 +01:00
Hugo Sales
e053ee451b
[CONTROLLER][UserPanel] Finish implementation of ::notifications so it actually saves the values in the database
2021-08-14 16:12:57 +01:00
Hugo Sales
9a6fddb004
[CONTROLLR][UserPanel][PLUGINS] Add submit button to notification settings for each transport
2021-08-14 16:12:57 +01:00
Hugo Sales
06b9bd9910
[CONTROLLER][AdminPanel] Further ensure form validity
2021-08-14 16:12:56 +01:00
Hugo Sales
47daf6169a
[CORE][Log] Add Log::unexpected_exception utility which logs and throws a ServerException
2021-08-14 16:12:56 +01:00
Hugo Sales
71b1ee7796
[CORE][Entity] Fix implementation of createOrUpdate so it doesn't throw NotFoundException if trying to create an object
...
This was previously done because we wanted to notify the callee that
and entity existed but not with the provided contents. With the change
of return value, with a bool $is_update, this is no longer a problem.
2021-08-14 16:12:55 +01:00
Hugo Sales
c38bbed7df
[UTIL][FormFields] Move FormFields class to Util\Form namespace
2021-08-14 16:12:54 +01:00
Eliseu Amaro
7308e66981
[Favourite][TWIG][CSS] Favourite now works.
2021-08-14 16:12:54 +01:00
Diogo Peralta Cordeiro
67f5421691
[ATTACHMENTS] Add dependencies counter
2021-08-05 14:44:05 +01:00
Diogo Peralta Cordeiro
5896f5bb82
[Avatar] Move entity from core to component
2021-08-05 03:23:05 +01:00
Diogo Peralta Cordeiro
1556b3e019
[CORE][GSFile] Allow storing files under /file
2021-08-05 03:22:57 +01:00
Hugo Sales
c58b9fb5b1
[TESTS] Ignore coverage of ResetPasswordRequest, as it uses mailing functionality. We may want to introduce this test in the future
2021-08-04 20:11:47 +00:00
Hugo Sales
97a3c067d9
[UTIL][FormFields] Allow specifying whether a password is required and provide placeholder text
2021-08-04 20:11:47 +00:00
Hugo Sales
92db61a975
[ROUTES] Remove individual settings pages, as they got merged
2021-08-04 20:11:47 +00:00
Hugo Sales
05e10589c3
[ENTITY] Refactor LocalUser::changePassword for easier use
2021-08-04 20:11:47 +00:00
Hugo Sales
a590ddd85e
[UTIL][EXCEPTION] Add AuthenticationException, representing an auth error, status code 401 unauthorized
2021-08-04 20:11:47 +00:00
Hugo Sales
0bead1c58a
[TESTS] Change format of data fixtures to allow creating more users
2021-08-04 20:11:47 +00:00
Hugo Sales
0845224188
[CORE][DB] Specify desired case in array_change_case, for clarity
2021-08-04 20:11:47 +00:00
Hugo Sales
1da1f0918e
[TESTS] Raise test coverage for AdminPanel to 100%
2021-08-04 20:11:47 +00:00
Diogo Peralta Cordeiro
b075ab610b
[SECURITY] Do not require email when in development
2021-08-04 17:48:00 +01:00
Hugo Sales
960675b459
[TESTS] Raise test coverage for AdminPanel controller to 100%
2021-08-03 19:37:56 +00:00
Hugo Sales
f9c1d14c7a
[TESTS] Raise test coverage for Attachment controller to 100%
2021-08-03 19:37:56 +00:00
Hugo Sales
ed21290ef4
[TESTS] Add a sample image to the test dataset
2021-08-03 19:37:56 +00:00
Hugo Sales
6b098a26f7
[CORE][GSFile] Ensure files are stored inside the configured storage folder, with a relative filename in the database
2021-08-03 19:37:56 +00:00
Hugo Sales
19a966f1a9
[CORE][CONTROLLER] Add TODO to Controller base class as to where our custom exception pages would be implemented
2021-08-03 19:23:03 +00:00
Hugo Sales
f5f11b6e54
[CORE][ENTITY] Allow create'ing will null values
2021-08-03 19:23:03 +00:00
Hugo Sales
927472cf06
[UTIL][FORM] Create a utility class that defines common form fields, such as passwords
2021-08-03 19:23:02 +00:00
Hugo Sales
b2456d8cd2
[TESTS] Raise test coverage for Controller/Security to 100%
2021-08-03 19:23:02 +00:00
Hugo Sales
d1e92a80e5
[CORE][GSFile] Assert that the destination folder where to store the attachment is inside the INSTALLDIR and store the filepath in the database
2021-08-03 19:23:02 +00:00
Hugo Sales
af951685ed
[TESTS] Add coverage ignore to TemplateController and ResetPassword (as it requires sending emails)
2021-08-03 19:23:02 +00:00
Hugo Sales
9c61e92257
[CONTROLLER][Attachment] Assert that the supplied is positive and add documentation
2021-08-03 19:23:02 +00:00
Hugo Sales
4297eb71a0
[CORE][GSFile] Change actor_id paramenter of validateAndStoreFileAsAttachment to optional and reorder them and their usages
2021-08-03 19:23:02 +00:00
Hugo Sales
b89368bf6a
[AUTOGENERATED] Update entity fields for ResetPasswordRequest entity
2021-08-03 19:23:02 +00:00
Hugo Sales
5fc5df68f5
[CORE] Add repositories, as needed by the Reset Password Bundle
2021-08-03 19:23:02 +00:00
Hugo Sales
a83d506d6c
[UTIL] Add a class that defines commonly used form fields
2021-08-03 19:22:54 +00:00
Hugo Sales
56481c8289
[CORE] Add passowrd reset and forgot password functionality
2021-08-03 19:22:54 +00:00
Hugo Sales
bdbd588de9
[CORE][SECURITY][EMAIL] Move email confirmation functionality to it's own static wrapper, in preparation for adding password reset functionality
2021-08-03 19:22:54 +00:00
Hugo Sales
176d604abb
[CONTROLLER][Security] Refactor and make clearer errors with duplicate nicknames and emails. Return notes as a callable, since they're not used in the default template, in the login and register pages
2021-08-03 19:22:54 +00:00
Hugo Sales
bff65afe5d
[TESTS][Queue] Add @codeCoverageIgnore to select queueing functions
2021-08-03 19:22:50 +00:00
Hugo Sales
6479b698f8
[TESTS][Router] Add tests for Router and use named paramenters, as we can since PHP8
2021-08-03 19:22:16 +00:00
Hugo Sales
a01914ddac
[ENTITY][LocalUser] Add method 'findByNicknameOrEmail'
2021-08-03 19:22:16 +00:00
Hugo Sales
2e3ec15827
[CORE][Controller][TESTS] Fix issue that arrises in tests where the Accept header is not specified
2021-08-03 19:22:12 +00:00
Hugo Sales
6deac21960
[EXCEPTION] Add Email related exceptions
2021-08-03 19:21:34 +00:00