== Обезбедување пристап Во нашиот проект корисниците може да имаат улога на стандарден корисник, менаџер, админ и доктор. Според улогата корисниците имаат различни дозволи. Секој корисник кој што ќе се регистрира на нашата платформа ја добива улогата на стандарден корисник. Менаџерите и докторите потребно е претходно да бидат додадени (во базата) за успешно да се регистрираат па потоа да се најават. \\**1. Kорисник кој што не е најавен.** [[Image(слика2.png)]] * Koрисник кој што не е најавен (нема креирано профил) нема пристап до Pets, Pet Cares, Manage Customers, Blog Post. * Во Products има можност да ги гледа достапните производи и да пребарува по име на проивод. Останатите функционалности како додавање/бришење и едитирање се оневозможени за овој тип на корисник. \\**2. Корисник админ/менаџер.** [[Image(слика3.png)]] * Во Manage Cities има можност да додава нови градови. * Во полето Vet_Centers има можност да додава (креира) ветеринарни центри. Исто така може да ги брише и едитира. При креирање/едитирање на ветеринарни центри во полето city има можност да го избере градот од листа која што автоматски се променува со секоја промена во Manage Cities. * Во полето Маnage Customers пристапува до профилите на сите корисници кои што се регистрирани на платформата. \\**3. Стандарден корисник.** [[Image(слика4.png)]] * Стандарден корисник нема пристап до полето Manage Cities. * Во полето Маnage Customers пристапува само до неговиот профил. * Во полето Vet_Centers нема можност да додава, брише и изменува ветеринарни центри. * Во полето Pets си ги гледа само сопствените миленици. Има можност да додава/брише/едитира милениици. * Во полето Pet Cares ги гледа само сопствените побарани услуги. Има можност да додава/брише/едитира услуги. Кога сака да креира нова услуга во полето pet_name има можност да избере едно од своите миленичиња(му се прикажуваат само миленичињата кои што претходно ги има додадено во Pets). * Во полето Blog Post ги гледа сите побарани совети. Можност за бришење/едитирање има само на сопствените побарани совети. Доколку кликне на Answers му се отвараат сите одговори за одредено прашање(совет). Можност за бришење/едитирање има само на сопствените дадени одговори. Во Details може да ги виде сите одговори на даден одговор. Со Create an Answer има можност да дава одговор на дадено прашање како и да дава одговор на даден одговор. * Во Products има можност да ги гледа достапните производи и да пребарува по име на проивод. Останатите функционалности како додавање/бришење и едитирање се оневозможени за овој тип на корисник. \\**4. Корисник - Доктор** * Во полето Pets ги гледа сите миленици. Има можност да едитира/брише или додава нови миленици. * Во полето Products нема можност да создава нови продукти. * Во полето Vet Center нема можност да додава нови вет.центри, нема можност да ги едитира или брише постоечките вет.центри. * Во полето Pet Cares ги гледа сите закажени услуги. Има можност да ги едитира или брише постоечките услуги. == Интегритет Во апликацискиот дел при бришење и едитирање во некои табели наидов на проблеми. Затоа што во прототип апликацијата не ни беше обезбеден рефенцијалниот интегритет во сите потребни полиња. \\'''Обезбедување на рефенцијален интегритет.''' {{{ ALTER TABLE reports DROP CONSTRAINT fk_pets; ALTER TABLE reports ADD CONSTRAINT fk_pets FOREIGN KEY (petsID) REFERENCES pets(ID) ON DELETE CASCADE; }}} {{{ ALTER TABLE pet_cares DROP CONSTRAINT fk_vetCenters; ALTER TABLE pet_cares ADD CONSTRAINT fk_vetCenters FOREIGN KEY (vetcentersID) REFERENCES vet_centers(ID) ON DELETE CASCADE; }}} {{{ ALTER TABLE pet_galery DROP CONSTRAINT fk_pets; ALTER TABLE pet_galery ADD CONSTRAINT fk_pets FOREIGN KEY (petsID) REFERENCES pets(ID) ON DELETE CASCADE; }}}