Version 10 (modified by 3 years ago) ( diff ) | ,
---|
Реализација на случаите на употреба
Корисници
Турист
ID | 1 |
---|---|
Случај на употреба | Креира initial планер со име и опис |
- Корисникот по најава е пренасочен на страницата за преглед и креирање на свои планери (http://localhost:4200/planners)
- При вчитување на страницата, се прикажува PlannerComponent компонентата. Во оваа компонента во ngOnInit() методот се прави subscribe на методот getAllPlanners() кој се повикува од planner service-от. Оваа метода getAllPlanners() се “претплатува” на Observable со колекција од планери (getAllPlanners(): Observable<Planner[]>) која се добива со испраќање на HTTP GET метод до backend REST контролерот со url="http://localhost:8080/api/planners/user". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. На овој начин како одговор од GET методот се враќаат сите планири на најавениот корисник.
httpHeaders: HttpHeaders = new HttpHeaders({ 'Authorization': + sessionStorage.getItem("token"), 'Accept': 'application/json', 'Content-Type': 'application/json'
});
- По клик на копчето “Create initial planner” се отвора Dynamic Dialog каде се внесуваат име и опис на планерот.
- Овој Dynamic Dialog е готова компонента која е преземена од PrimeNG. На копчето “Create initial planner” кое е креирано во planner.component.html при клик се извршува метод show() чија имплементација е во planner.component.ts . За отворање на дијалогот се користат готовите класи DynamicDialogRef и DialogService, каде што овој дијалог сервис ја отвора CreateInitialPlannerComponent компонентата. Во оваа компонента во ngOnInit() се креира нов објект од класата PlannerDto и при клик на копчето “Save” од CreateInitialPlannerComponent се извршува методот onFormSubmitPlanner(plannerDto) каде како параметар се испаќа plannerDto. Со помош на ова plannerDto се праќаат името и описот на планерот кои ги внел корисникот каде преку show() методот се прима plannerDto-то. Потоа како продолжение во методот show() , се прави subscribe на методот postInitialPlanner(plannerDto) кој се повикува од planner service-от. Оваа метода postInitialPlanner(plannerDto: PlannerDto) се “претплатува” на Observable со моделот Planner (postInitialPlanner(plannerDto: PlannerDto) : Observable<Planner>) кој се зачувува во база со испраќање на HTTP POST метод до backend REST контролерот со url = " http://localhost:8080/api/planner/new". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. На овој начин при POST request ќе се зачува нов планер со име и опис. Новокреираниот планер се прикажува на /planners патеката.
ID | 2 |
---|---|
Случај на употреба | Разгледува и дефинира план за патување |
- Корисникот - турист ажурира планер (http://localhost:4200/edit/planner/id)
- GET
Од патеката /planners каде што се наоѓаат сите планери креирани од корисникот, корисникот одбира кој планер сака да го ажурира и кликнува на копчето “Edit”. При клик на “Edit” се повикува функцијата onClickEditPlannerGet(id: number) каде како аргумент се дава ид-то на планерот. Оваа метода прави subscribe на методата getPlannerById(id) која се повикува од планер сервисот. getPlannerById(id) се “претплатува” на Observable со модел Planner (getPlannerById(id: number): Observable<Planner>). Со испраќање на HTTP GET метод до backend REST контролерот со url = "http://localhost:8080/api/planner/" + id , се зема кликнатиот планер и корисникот се пренасочува на http://localhost:4200/edit/planner/id каде се наоѓа форма со веќе зачуваните податоци за име и опис на планер, листа локации (ако има локации додадено) , копче “Add locations”, како и копчиња Save и Cancel.
- POST
Корисникот ажурира име, опис и/или листа локации и кликнува на копчето “Save”. При клик на “Save” се повикува функцијата updatePlanner(). Во оваа функција се прави subscribe на методот updatePlanner(this.id, this.form.value) кој се повикува од planner service-от. Оваа метода updatePlanner(this.id, this.form.value) се “претплатува” на Observable со модел Planner (updatePlanner(id: number, plannerDto: PlannerDto): Observable<Planner>) која се зачувува со испраќање на HTTP PUT метод до backend REST контролерот со url = "http://localhost:8080/api/edit/planner/id". Дополнително при испраќање на повикот, покрај урл-то се испраќа и header во кој се наоѓа и токенот од најавениот корисник. Овој токен се чува и зема од sessionStorage. Така ажурираните податоци преку updatePlanner() методот се праќаат до backend.
- Туристот одбира да додаде локација во својот планер
- Туристот гледа детали за локација
- Туристот брише планер
Attachments (5)
- Screen8.png (18.4 KB ) - added by 3 years ago.
- Screen5.png (26.8 KB ) - added by 3 years ago.
- Screen6.png (31.3 KB ) - added by 3 years ago.
- Screen9.png (72.4 KB ) - added by 3 years ago.
- Screen13.png (58.9 KB ) - added by 3 years ago.
Download all attachments as: .zip