[Plan Sharing] Map shared data into import validation
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- web-dev
Direzione di ricerca
Start with src/lib/sharing/copyPlan.ts (new) and the existing planFileSchema and CRN validator it must reuse, plus src/hooks/data/useSavedPlans.ts as the saving example. Confirm how PLAN_FILE_VERSION and PlanFile are defined before mapping title to name and crns to crns. Done means the example in src/lib/sharing/copyPlan.test.ts produces a version 1 plan with pinned set to false, extra fields are ignored, and pnpm test, pnpm lint and pnpm typecheck pass. The three listed blockers (#857, #843, #849) are still open, so confirm them before starting.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What to build
Prepare public shared-plan data for the existing import checks. Copying a shared plan should go through the same class and semester checks as importing a file.
Files
src/lib/sharing/copyPlan.ts(new file)- Starting example: src/hooks/data/useSavedPlans.ts
Code to add or extend:sharedPlanToFile(dto): PlanFile.
Steps
- Map title→name,term→term,crns→crns; set version=PLAN_FILE_VERSION and pinned=false.
- Validate using planFileSchema and then the existing CRN validator before saving.
- Ignore any unknown extra fields in the public response; no source identity is copied.
Example
Shared{title:"Sample",term:202702,crns:[12345]} → version 1 portable plan with pinned=false.
Check it works
In src/lib/sharing/copyPlan.test.ts, check the example above and the failure or limit described in the steps. Run pnpm test -- src/lib/sharing/copyPlan.test.ts, pnpm lint and pnpm typecheck.
Before starting
- #857 — Render an unavailable shared-plan page
- #843 — Connect verified catalog CRN resolution
- #849 — Show import pending and completion states
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Lingua principale
- TypeScript
- Stelle
- 19
- Fork
- 94
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DevDogsUGA/DogDays
-
map
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DevDogsUGA/DogDays#868 ·
-
map
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
DevDogsUGA/DogDays#865 ·
-
sharing
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
DevDogsUGA/DogDays#854 ·
-
import-export
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
DevDogsUGA/DogDays#850 ·
-
import-export
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
DevDogsUGA/DogDays#842 ·
Tutte le issue di DevDogsUGA/DogDays
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
aws/agentcore-cli#2606 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-qa bug Cosmetic
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
ai-driven-qa bug claude Minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
linagora/twake-mail-admin#301 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
reproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
anomalyco/opencode#56038 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno