* created new table post_keyword_block related to a person and corresponding functions in diesel
* created corresponding api functions
* converted like to ilike in filter
* Fixxed errors for adding keywords for blocking posts
* Fixxed errors in diesel migrations
* Removed debug print
* #3710: Fixxed errors caused by cargo check
* #3710: added up and down scripts for diesel
* added tmp.schema to gitignore
* updated tests
* fixxed test
* fixxed error from rebasing
* Added max number of block tags and modified max length of block tags
* formatted code
* added migration to restrict block keyword length
* #3710: Added check if Blocked keyword is already existing
* #3710: Removed deprecated any
* #3710: Updated keyword length
* #3710: Fixxed errors from master merge
* #3710: Formatting
* #3710: Removed api to block keywords for post from v3 and changed of api path in v4
* #3710: Renamed post_keyword_block table to user_post_keyword_block and replaced id as primary key with the composed key person_id and keyword. Also now use update function which updates the blocked keywords for an user with a new list instead keyword by keyword.
* #3710: Formatted code
* #3710: Removed unnecessary parts for the block API in post as this will be done over the user settings
* #3710: Modified data structure for blocking keywords to reference local user and added update function which will update at all keywords for a local user at once
* #3710: Modified code so updating blocked keywords is now done over user settings
* #3710: Fixxed merging error
* #3710: Fixxed filter query
* #3710: Formatted Code
* #3710: Added suggested changes from review: keyword block update now does delete and then insert, postview uses read from LocalKeywordBlock, and validation with min_length_check and max_length_check
* #3710: formatted code
* c
* #3710: removed BlockKeywordForPost struct
* #3710: formatted code
* #3710: formatted code
* #3710: formatted code
* Move db schema file to new crate
* db schema compiling
* wip
* db views
* compiling
* cleanup
* clippy
* fix path
* move some more files to new crate
* fixes
* fix
* fix
* Receive and store remote site bans (fixes#3399)
* db schema changes, handly expiration
* partial federation changes
* add column `mod_ban.instance_id`
* remove unused
* wip: remove person.banned
* fix down migration
* fmt, keep banned status
* fixes
* simplify
* update post removed
* fix api tests
* ban from local instance
* banned() helpers
* cleanup undo_block_user
* remove order by
* cache SiteView::read_local, add instance
* use local instance id for PersonView
* add helper function person_with_instance_actions
* use exists
* comments update removed
* remove method is_mod_or_admin
* fix tests
* no unwrap
* change local_instance_person_join
* remove LocalSite::read
* wip: home_instance_actions
* add home_instance_actions to all structs
* fixes
* fix tests
* fmt
* Starting to work on site person ban fixes.
* Starting to work on comment_view
* Adding a few more views.
* Cleaning up a few more views.
* Finishing up a few more.
* Fixing unit tests.
- Also fixes#5502
* Fixing merge 2.
* Adding a creator_banned field
---------
Co-authored-by: Felix Ableitner <me@nutomic.com>
* Add columns post.pending, comment.pending
* add comments
* rename migration
* helper method, set not pending on vote received
* rename to federation_pending, add comments
* fix down migration
* Extracting pagination cursor utils into a trait.
- Fixes#5275
* Refactoring to avoid stack overflows.
* Fixing api_common feature.
* Adding pagination for GetBannedPersons.
- Must come after #5424
- Fixes#2847
* Rename the traits and paginationcursor::new
* Using combined trait.
* Removing empty files.
* Merge from main, limit fetch.
* Adding local ban check, and ignore_page_limits.
* Only do page limits if not admin.
* add routes
* implement some of api
* fix use of check_report_reason
* fix create_community_report
* fix all compile errors
* add field to reportcombined struct
* add CommunityReportView::read test
* import resolve_community_report
* remove references to deleted table
* resolve reports after remove
* Add Alt-Text Filter to post_view.rs
Added Alt-text filter to search
* Actually use the Alt-text filter I added
Add the call to actually use the alt-text filter I added.
* Create down.sql of migration
* Create up.sql
* Fixing SQL format.
---------
Co-authored-by: Dessalines <tyhou13@gmx.com>
* Allow sending report only to admins (fixes#2414)
* fix api test
* Rename `to_local_admins` to `violates_instance_rules`
* Review fixes
* fix api test
* Adding a can_mod field to CommentView, PostView, and CommunityView.
- Also removes the moderators from GetPost, as that should no longer
be necessary.
- Fixes#4365
* Adding can_mod to reply variants.
* Addressing PR comments.
* Hiding comment.content for non-admins / mods.
- Uses the local_user_can_mod function now.
- Fixes#5232
* Adding listing_type filter for modlog.
- Fixes#4219
* Running fmt.
* Change the listing_type.all to not filter by community.
* Adding GetModlog API docs.
* Addressing PR comments 2
* Renaming person_mention to person_comment_mention.
* Finishing up post body mentions.
* Combined tables try 2
* Finishing up combined report table.
* Fix ts optionals.
* Adding tests, triggers, and history updates for report_combined.
* Adding profile.
* Add cursor pagination to report_combined view (#5244)
* add pagination cursor
* store timestamp instead of id in cursor (partial)
* Revert "store timestamp instead of id in cursor (partial)"
This reverts commit 89359dde4b.
* use paginated query builder
* Fixing migration and paged API.
* Using dullbananas trigger procedure
* Removing pointless list routes, reorganizing tests.
* Fixing column XOR check.
* Forgot to remove list report actions.
* Cleanup.
* Use internal tagging.
* Fixing api tests.
* Adding a few indexes.
* Fixing migration name.
* Fixing unique constraints.
* Addressing PR comments.
* Start working on profile combined
* Adding views and replaceable schema.
* A few changes to profile view.
- Separating the profile fetch from its combined content fetch.
- Starting to separate saved_only into its own combined view.
* Finishing up combined person_saved and person_content.
* Fixing api tests.
* Moving to api-v4 routes.
* Fixing imports.
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update migrations/2024-12-02-181601_add_report_combined_table/up.sql
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update migrations/2024-12-02-181601_add_report_combined_table/up.sql
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Fixing import and fmt.
* Fixing null types in postgres.
* Comment out err.
* Fixing TS issues.
* Adding types, fixing allow and blocklist crud.
* Starting to work on combined views.
* Using dullbananas trigger procedure
* Adding the full combined view queries.
* Adding tests.
* taplo fmt.
* Upgrading package.json deps.
* Updating pnpm
* Most of the bulk work done, need to add tests yet.
* Finishing up inbox.
* Using assert_length
* Fixing sql_format.
* Running fmt.
* Fixing cargo shear.
* Fixing clippy.
* Addressing PR comments.
* Starting to work on search combined.
* Fix
* Removing serialization
* Removing serialization
* Moving db_views_actor and _moderator into db_views.
- This is necessary because the combined views use both, and that
separation was arbitrary to begin with. db_schema has no such crate
separation.
* Adding search combined view, need to write tests yet.
* Filters done, working on tests.
* Adding tests for person, post, and community.
* Finishing up tests.
* Fixing duped trigger.
* Remove saved_only test.
* Remove pointless post_tags types.
* Remove pointless index.
* Changing published to saved for person_saved_combined.
* Removing comment.
* Renaming modlog when_ columns to published.
- Fixes#5312
* Adding strum and simplifying imports.
* Avoiding clone in map_to_enum
* Changing modded_person to other_person.
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Addressing PR comments.
* Fixing split.
* Revert "Adding strum and simplifying imports."
This reverts commit 15f1671107.
* Running fmt.
* Using assert + matches instead of filter_map.
* Adding listPersonContent check.
* Updating lemmy-js-client
* Fixing mark all as read route, changing mark read to SuccessResponse.
* Adding post body mention api test, fixing api tests.
* Fixing route locations, and api tests.
* Formatting sql.
* Formatting sql 2.
* Fixing search result, running clippy.
* Fixing ts_option.
* Adding search_combined.score column, and DB triggers.
* Fixing API tests.
* Adding an index for score.
* Using next_back instead of last.
* Converting local_user_view to use diesel auto_type.
* Use AllColumns as suggested by weiznich to simplify Type.
* Registration application view.
* Person view simplifying.
* Community view.
* Community moderator view.
* Community view.
* Community follower view.
* Community moderator view.
* Person view.
* Custom emoji view.
* Local image view.
* Removing strum from db_views.
* Update crates/db_schema/src/newtypes.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Adding an action_utils.
* Avoiding inner joins for up.sql
* Adding person_aggregates.published column.
* Remove unused private message view.
* Implementing Selectable for DB views, moving joins inside impl.
* Adding a few more.
* Fixing imports.
* fmt.
* Post view.
* Comment view.
* Inbox combined view.
* Modlog combined view.
* The rest of the combined tables.
* Finishing up.
* Fixing shear.
* Fixing cargo.toml.
* Use 1.81 image.
* Fix api common.
* Fixing merge issues.
---------
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Renaming person_mention to person_comment_mention.
* Finishing up post body mentions.
* Combined tables try 2
* Finishing up combined report table.
* Fix ts optionals.
* Adding tests, triggers, and history updates for report_combined.
* Adding profile.
* Add cursor pagination to report_combined view (#5244)
* add pagination cursor
* store timestamp instead of id in cursor (partial)
* Revert "store timestamp instead of id in cursor (partial)"
This reverts commit 89359dde4b.
* use paginated query builder
* Fixing migration and paged API.
* Using dullbananas trigger procedure
* Removing pointless list routes, reorganizing tests.
* Fixing column XOR check.
* Forgot to remove list report actions.
* Cleanup.
* Use internal tagging.
* Fixing api tests.
* Adding a few indexes.
* Fixing migration name.
* Fixing unique constraints.
* Addressing PR comments.
* Start working on profile combined
* Adding views and replaceable schema.
* A few changes to profile view.
- Separating the profile fetch from its combined content fetch.
- Starting to separate saved_only into its own combined view.
* Finishing up combined person_saved and person_content.
* Fixing api tests.
* Moving to api-v4 routes.
* Fixing imports.
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views/src/report_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update migrations/2024-12-02-181601_add_report_combined_table/up.sql
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update migrations/2024-12-02-181601_add_report_combined_table/up.sql
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Fixing import and fmt.
* Fixing null types in postgres.
* Comment out err.
* Fixing TS issues.
* Adding types, fixing allow and blocklist crud.
* Starting to work on combined views.
* Using dullbananas trigger procedure
* Adding the full combined view queries.
* Adding tests.
* taplo fmt.
* Upgrading package.json deps.
* Updating pnpm
* Most of the bulk work done, need to add tests yet.
* Finishing up inbox.
* Using assert_length
* Fixing sql_format.
* Running fmt.
* Fixing cargo shear.
* Fixing clippy.
* Addressing PR comments.
* Starting to work on search combined.
* Fix
* Removing serialization
* Removing serialization
* Moving db_views_actor and _moderator into db_views.
- This is necessary because the combined views use both, and that
separation was arbitrary to begin with. db_schema has no such crate
separation.
* Adding search combined view, need to write tests yet.
* Filters done, working on tests.
* Adding tests for person, post, and community.
* Finishing up tests.
* Fixing duped trigger.
* Remove saved_only test.
* Remove pointless post_tags types.
* Remove pointless index.
* Changing published to saved for person_saved_combined.
* Removing comment.
* Renaming modlog when_ columns to published.
- Fixes#5312
* Adding strum and simplifying imports.
* Avoiding clone in map_to_enum
* Changing modded_person to other_person.
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Update crates/db_views_moderator/src/modlog_combined_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Addressing PR comments.
* Fixing split.
* Revert "Adding strum and simplifying imports."
This reverts commit 15f1671107.
* Running fmt.
* Using assert + matches instead of filter_map.
* Adding listPersonContent check.
* Updating lemmy-js-client
* Fixing mark all as read route, changing mark read to SuccessResponse.
* Adding post body mention api test, fixing api tests.
* Fixing route locations, and api tests.
* Formatting sql.
* Formatting sql 2.
* Fixing search result, running clippy.
* Fixing ts_option.
* Adding search_combined.score column, and DB triggers.
* Fixing API tests.
* Adding an index for score.
* Update crates/db_schema/src/newtypes.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Avoiding inner joins for up.sql
* Adding person_aggregates.published column.
---------
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Adding post_id and type_ filters to combined reports.
- Added tests for these also.
- Some additional cleanup of the joins in reports_combined.
- Fixes#5265
* Adding period.
* Adding a slim comment_view variant, without post or community.
- Fixes#2957
* Alternate version.
* Only clone if check.
* Revert "Alternate version."
This reverts commit 64493959aa.
* Remove trait.
* Add support for donation dialog (fixes#4856)
* more changes
* test
* remove files
* default value for new user last_donation_notification
* move disable_donation_dialog to local_site
* restore formatting
* get_random_community_id: add filters for nsfw and private, use algorithm that doesn't scan the entire table
* only call random_smallint once for filter
* change migration date
* make random_smallint function work in postgresql 16
* replace "32768 + 32767 + 1" with "65536" and improve comments
---------
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
* database stuff, not including tests
* change migration date
* fix community_report_view
* update stuff related to report_combined
* add db_schema/src/impls/community_report.rs
* add report counts to community_aggregates
* fix community_report columns and update report_combined_view::tests::test_combined
* add column for original sidebar; use None instead of clone; add report_combined_view::tests::test_community_reports
* use ts(optional) in CommunityReportView
* remove CommunityReportView::read
* added option to get only read only posts with unittests
* formatted code
* added index on (person_id, read) on post actions where read is not null
* formatted sql
* Update migrations/2024-12-15-151642_add_index_on_person_id_read_for_read_only_post_actions/up.sql
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
* Fixxed error in down.sql for migration of index on (person_id,read_only,post_id) on post_actions
* Fixxed error in unittests
* Update crates/db_views/src/post_view.rs
Co-authored-by: dullbananas <dull.bananas0@gmail.com>
---------
Co-authored-by: dullbananas <dull.bananas0@gmail.com>