101 | | [[Image()]] |
| 102 | [[BR]] |
| 103 | Потоа прави POST барање до /products во backend-от за да ги зачува промените. |
| 104 | [[BR]] |
| 105 | [[Image(createProduct backend.png)]] |
| 106 | |
| 107 | === Уреди производ === |
| 108 | Кога ќе се променат информациите, со кликање на submit копчето, преку функцијата submit handler која се повикува кога корисникот поднесува формата за уредување на продукт се праќа PUT барање до /products/{id} (за ажурирање на постоечки податоци на серверот). |
| 109 | [[BR]] |
| 110 | [[Image(editProduct.png)]] |
| 111 | [[BR]] |
| 112 | Го зема прозводот со неговите податоци, бара да биде спроведена автентикација како продавач, и да може да има касимум 5 слики. Проверува во базата дали тој продукт веќе постои и припаѓа на корисник. ПОтоа ги парсира постоечките слики од JSON. Ако има ставено нови слики, ги додава во низа со постоечките и на крај ги зема првите 5 слики (услов). Ја ажурира базата со новите вредности и го враќа променетиот продукт. |
| 113 | [[Image(editProduct backend 1.png)]] |
| 114 | [[Image(editProduct backend 2.png)]] |
| 115 | |
| 116 | === Aктивирај/Деактивирај производ === |
| 117 | [[BR]] |
| 118 | Функцијата handleDeleteProduct праќа DELETE барање до серверот за да го деактивира (soft delete). Потоа ја менува листата на продукти со новите промени со функцијата fetchUserProducts. Кај повторно активирање на даден производ со функцијата handleReactivateProduct се прави истото како кај деактивирање само се користи PATCH HTTP метод за делумно ажурирање на информации на серверот. |
| 119 | [[BR]] |
| 120 | [[Image(activate_deactivate.png)]] |
| 121 | [[Image(activate_deactivate backend.png)]] |
| 122 | |
| 123 | |
| 124 | === Избриши производ === |
| 125 | Функцијата handlePermanentDelete праќа постојано (permanent) DELETE барање до серверот за да ги избрише податоците. Го предупредува корисникот за сигурноста во неговата постапка за бришење и ако таа одлука е потврдна потоа ја ажурира листата на продукти со новата промена. |
| 126 | [[Image(deleteProduct.png)]] |
| 127 | [[BR]] |
| 128 | За да може целосно да го избрише производот, мора да е автентициран како продавач и да биде негов производ. Ако постои тој производ и припаѓа на соодветниот продавач го наоѓа во базата, проверува дали прво е деактивиран па потоа го брише од базата и појавува порака за успешно бришење. |
| 129 | [[BR]] |
| 130 | [[Image(deleteProduct backend.png)]] |