-
Notifications
You must be signed in to change notification settings - Fork 461
New Watchlist
Dani Donisa edited this page Feb 10, 2022
·
5 revisions
We can watch Projects, Packages and BsRequest.
polymorphic association Watchable
table watched_items
- watchable_id
- watchable_type
- user_id
Project
has_many :watched_items, as: :watchable
Package
has_many :watched_items, as: :watchable
BsRequest
has_many :watched_items, as: :watchable
WatchedItem
belongs_to :watchable, polymorphic: true
belongs_to :user
Allows the user to use the new watchables.
Those operations should be behind the feature flag.
We could:
- mark project as watched by someone
- mark package as watched by someone
- mark request as watched by someone
- remove watched mark by someone from a project
- remove watched mark by someone from a package
- remove watched mark by someone from a request
- list watched items by someone
Checking permissions to
- anybody can create watched items for itself
- nobody can create watched items for anyone else unless Admin
- nobody can delete watched items from anybody's watchlist unless Admin
- only the user can see its own watchlist
- Create the migration
- Update models
- Create the feature flag
- Implement the controllers to manage watchables
- Implement the new UI behind the feature flag
Bookmark a project, package or request by clicking on an icon near the project name, package name or request name (:fa-bookmark)
- Development Environment Overview
- Development Environment Tips & Tricks
- Spec-Tips
- Code Style
- Rubocop
- Testing with VCR
- Test in kanku
- Authentication
- Authorization
- Autocomplete
- BS Requests
- Events
- ProjectLog
- Notifications
- Feature Toggles
- Build Results
- Attrib classes
- Flags
- The BackendPackage Cache
- Maintenance classes
- Cloud uploader
- Delayed Jobs
- Staging Workflow
- StatusHistory
- OBS API
- Owner Search
- Search
- Links
- Distributions
- Repository
- Data Migrations
- Package Versions
- next_rails
- Ruby Update
- Rails Profiling
- Remote Pairing Setup Guide
- Factory Dashboard
- osc
- Setup an OBS Development Environment on macOS
- Run OpenQA smoketest locally
- Responsive Guidelines
- Importing database dumps
- Problem Statement & Solution
- Kickoff New Stuff
- New Swagger API doc
- Documentation and Communication
- GitHub Actions
- Brakeman
- How to Introduce Software Design Patterns
- Query Objects
- Services
- View Components
- RFC: Core Components
- RFC: Decorator Pattern
- RFC: Backend models
- RFC: Hotwire Turbo Frames Pattern