Move workshop domain rules out of Admin::WorkshopsController
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
This umbrella issue is decomposed into #2939, #2940, and #2941, so start with the relevant sub-issue rather than changing it directly. Read Admin::WorkshopsController and Workshop, then follow the named methods and destroy path. Done means each independently shippable extraction is implemented and the controller no longer owns the specified domain rules.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
Admin::WorkshopsController is the largest controller in the app (~295 lines) and holds domain logic below the presentation layer:
- Domain validation in the controller (
workshop_type_valid?adds a model error from the controller) - Deletion policy in the controller (4-hour window + no-invitees rule)
- Organiser grant/revoke role diffing in private controller methods
Plan
This decomposes into three independent, individually shippable changes, tracked as sub-issues:
- #2939 — Move the "physical workshop needs a host" validation onto
Workshop - #2940 — Add
Workshop#deletable?and use it inAdmin::WorkshopsController#destroy - #2941 — Extract organiser grant/revoke diffing from
Admin::WorkshopsController
Each can land separately; no ordering required.
- Linguagem predominante
- Ruby
- Estrelas
- 106
- Forks
- 208
- Merge médio
- 19h 51min
- PRs com merge (30d)
- 57
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de codebar/planner
-
Preload workshop_host in DashboardQuery.upcoming_events_for_user (per-workshop N+1 on /dashboard)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertaperformance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
codebar/planner#3070 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Extra stat on new admin pageAbertaenhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 Meio dia Facilidade para iniciantes 35/100
codebar/planner#3069 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dual Invitiation issueTalvez já em andamento @mroderick assumiu há 20 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
Mantenedores costumam responder em até 1 dia
Todas as issues de codebar/planner
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
swombat/souls-house#795 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Missing hi translation: components/common/CommunitySolution.tsx:communitySolution.numTimesStarredAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 63/100
Mantenedores costumam responder em até 1 dia
-
Tracking: SQLite usage and the Windows GVL/SQLite deadlock (lich-5#2254): moonwatch.lic, low riskAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
elanthia-online/dr-scripts#7968 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
fullsend-ai/agents#1901 ·
Mantenedores costumam responder em até 1 dia