= Use-case 0006 Implementation - Управување со омилени книги = '''Иницирачки актер:''' Купувач '''Други актери:''' Нема == Опис == Најавениот купувач може да додава книги во својата листа на омилени книги, да ја прегледува листата со зачувани омилени книги и да отстранува книги од неа. Омилените книги се зачувуваат во базата на податоци и остануваат достапни и при следно најавување на корисникот. == Сценарио == 1. Најавениот купувач отвора страница со детали за избрана книга. На страницата се прикажуваат информациите за книгата и можност за додавање на книгата во омилени. [[Image(UseCase0006_1.png, width=800)]] 2. Корисникот ја додава избраната книга во своите омилени. Системот го идентификува најавениот корисник и ја зачувува врската помеѓу корисникот и книгата во табелата `project.omileni`. За додавање на книгата во омилени се користи следната SQL наредба: {{{ #!sql INSERT INTO project.omileni (korisnik_id, kniga_id, datum_dodavanje) VALUES (%s, %s, CURRENT_DATE) ON CONFLICT (korisnik_id, kniga_id) DO NOTHING; }}} Со `ON CONFLICT DO NOTHING` се спречува повторно додавање на истата книга во омилените книги на истиот корисник. [[Image(UseCase0006_2.png, width=800)]] 3. Корисникот ја отвора страницата „Омилени“. Системот ги презема омилените книги само за моментално најавениот корисник. За прикажување на омилените книги се користи следната SQL наредба: {{{ #!sql SELECT k.kniga_id, k.naslov, k.cena, k.opis, k.godina_izdavanje FROM project.omileni o JOIN project.knigi k ON o.kniga_id = k.kniga_id WHERE o.korisnik_id = %s ORDER BY o.datum_dodavanje DESC; }}} 4. Системот ја прикажува листата со омилените книги на корисникот. [[Image(UseCase0006_3.png, width=800)]] 5. Корисникот може да избере „Отстрани од омилени“ за книга што повеќе не сака да биде зачувана во неговата листа. За отстранување на книгата од омилени се користи следната SQL наредба: {{{ #!sql DELETE FROM project.omileni WHERE korisnik_id = %s AND kniga_id = %s; }}} 6. По отстранувањето, системот повторно ја прикажува страницата „Омилени“, без отстранетата книга. [[Image(UseCase0006_4.png, width=800)]]