Commit Graph

50 Commits

Author SHA1 Message Date
Karina Kwiatek ee9c48fd06 Clean up question create use case 2023-01-02 11:50:48 +01:00
Karina Kwiatek 10c224b2fe Address review comments from @nilsding
Co-authored-by: nilsding <nilsding@nilsding.org>
2023-01-02 11:50:48 +01:00
Karina Kwiatek 062e293607 Fix missing namespace qualifier for Rpush 2023-01-02 11:50:48 +01:00
Karina Kwiatek 93d4af3f0d Deduplicate notification sending logic and replace placeholder string 2023-01-02 11:50:47 +01:00
Karina Kwiatek 8b98c278da Send push notifications on question create 2023-01-02 11:50:47 +01:00
Georg Gadinger 86441cda57 rubodog 2023-01-02 09:24:34 +01:00
Georg Gadinger 9d38292d4a question/create_followers: fix incrementing asked_count 2023-01-02 09:20:59 +01:00
Andreas Nedbal 00959a8645 add exporting of mute relationships 2023-01-01 22:42:50 +01:00
Andreas Nedbal 8017d97784 Don't receive questions from muted users 2023-01-01 22:42:50 +01:00
Georg Gadinger 6e54b4daba remove requires for types
autoloaded by zeitwerk
2022-12-29 20:57:28 +01:00
Georg Gadinger fb07eda972 remove errors 2022-12-29 20:57:28 +01:00
Georg Gadinger 9413d23a02 let Zeitwerk autoload the `lib/` directory
this also allows the UseCase classes to be hot reloaded in dev 🎉

- remove use_case requires (except for the exporter as Zeitwerk
  doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
  to find Retrospring::Version
2022-12-29 20:57:28 +01:00
Andreas Nedbal 099665022f Use `id` from `source_user` inside query
With the proper presence check using `source_user_id` we guarantee `source_user` is there, and so we can use it like in the other query
2022-12-28 00:10:59 +01:00
Andreas Nedbal 97736a956d Track question users in anonymous blocks 2022-12-28 00:10:59 +01:00
Georg Gadinger 9895782a02 data_export/user: remove rescue since local image handling works now for sure 2022-12-22 17:29:38 +01:00
Georg Gadinger 3e143954e3 data_export: yeet inbox_entries 2022-12-10 15:47:54 +01:00
Georg Gadinger 2b3e7ab609 add specs for new exporters 2022-12-10 03:28:17 +01:00
Georg Gadinger 4229c7f579 first draft of the new data exporter 2022-12-10 00:39:50 +01:00
Andreas Nedbal 3cefc829f8
Merge branch 'main' into feature/privacy-require-user 2022-11-13 17:27:53 +01:00
Andreas Nedbal 9393374eab `LoginRequired` -> `NotAuthorized` 2022-11-13 14:38:11 +01:00
Andreas Nedbal 32d270113d Check for users being logged in if a user requires it in questions 2022-11-13 14:26:49 +01:00
Andreas Nedbal fa12b19b8a Prevent questions being sent to users that lock their inbox 2022-11-06 15:01:01 +01:00
Karina Kwiatek 74e309e9fc Apply anonymous blocks without an owner as global 2022-08-20 19:02:37 +02:00
Karina Kwiatek 050d7d5b56 Return hashes from user ban use cases 2022-07-30 15:40:37 +02:00
Karina Kwiatek a8e99723cc Return hashes from question use cases 2022-07-30 15:40:37 +02:00
Andreas Nedbal ed69d84d48
Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-24 22:45:04 +02:00
Andreas Nedbal 2692783518 Turn direct setting into an option for the use case 2022-07-24 22:24:48 +02:00
Andreas Nedbal bea98fa917 Always set follower created questions to not be direct explicitly 2022-07-24 22:24:24 +02:00
Andreas Nedbal 83dbd5d2e3 Don't list direct questions on user profiles 2022-07-24 21:56:03 +02:00
Karina Kwiatek 2dac4c09ed Use endless method definition in `UseCase::Base`
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-23 12:06:24 +02:00
Karina Kwiatek 62b29b3bd1 Upgrade to Ruby 3.0.4 2022-07-23 12:06:24 +02:00
Karina Kwiatek 5d542161a0 Add tests for question create use case 2022-07-17 10:05:20 +02:00
Karina Kwiatek 0e9be78588 Create use case for deleting questions 2022-07-17 10:05:20 +02:00
Karina Kwiatek 72906ca549 Fix lint errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 1216c249e8 Return different responses for use case errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek 22a66f4d1a Fix lint errors 2022-07-17 10:05:20 +02:00
Karina Kwiatek d9ff4d5765 Refactor Ajax::QuestionController#create into separate UseCases
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-07-17 10:05:20 +02:00
Karina Kwiatek 3247d1c746 Move ban invalidation to `User#unban` method 2022-06-26 18:32:18 +02:00
Karina Kwiatek 94aec26588 Move ban creation to `User#ban` method 2022-06-26 18:32:18 +02:00
Karina Kwiatek d67ae1eb19 Only accept users to relationship use cases
Dry Types was having issues with taking either an object or string so it's easier to deal with just passing in an object directly
2022-06-13 11:56:34 +02:00
Karina Kwiatek c173c4a17d Add the ability to block/unblock users from profile pages 2022-06-13 11:56:34 +02:00
Karina Kwiatek b74c64c664 Fix order of types for relationship use case options 2022-01-23 16:48:53 +01:00
Karina Kwiatek 731ee4bf69 Address review comments from @nilsding 2022-01-23 16:48:53 +01:00
Karina Kwiatek b4e0699e82 Fix lint errors 2022-01-23 16:48:53 +01:00
Karina Kwiatek d609435f7c Update `Ajax::RelationshipController` to use usernames; Test Use Case 2022-01-23 16:48:53 +01:00
Karina Kwiatek c8059ccd6b Fix namespace resolution in relationship use cases 2022-01-23 16:48:53 +01:00
Karina Kwiatek 3962671135 Implement relationship logic as use case 2022-01-23 16:48:53 +01:00
Karina Kwiatek 7677ed21a4 Update tests for unbanning users 2022-01-02 19:50:44 +01:00
Karina Kwiatek 6500d7ac71 Update usages of bans 2022-01-02 19:50:44 +01:00
Karina Kwiatek 9a35584284 Refactor ban-related functionality into use cases 2022-01-02 19:50:01 +01:00