= Use-case 001 Implementation - Најава на корисник == Актер * Ненајавен корисник == Опис Најава на корисникот во системот преку е-маил и лозинка со што добива пристап до функционалностите според неговата улога (студент или професор). == Главен тек Прво, корисникот ги внесува своите акредитиви (е-маил и лозинка) во формата за најава и клика на копчето за логирање. [[Image(Screenshot 2026-07-01 at 21-07-58 .2.png, 800px)]] За да се провери дали корисникот постои во системот и да се преземат неговите податоци, се извршува следниот прашалник, каде `:email` е внесената е-маил адреса од формата: {{{ SELECT u."Id", u."Name", u."Surname", u."Email", u."PasswordHash", u."Role" FROM "User" u WHERE u."Email" = :email LIMIT 1; }}} Доколку корисникот постои, системот ја споредува внесената лозинка со хашираната лозинка (`PasswordHash`) добиена од базата. Ако лозинката е точна, се генерираат токени за автентикација (Access Token и Refresh Token). За да се зачува новиот Refresh Token во базата на податоци, се извршува следниот прашалник: {{{ INSERT INTO "RefreshToken" ("Token", "ExpiryDate", "UserId") VALUES (:token, :expiryDate, :userId); }}} По успешната најава, корисникот добива пристап и е пренасочен кон соодветната почетна страна (неговиот личен профил), во зависност од тоа дали е студент или професор. [[Image(successful_login.jpeg, 800px)]]