= Испраќање и прифаќање на покана - регистрација на менаџер ''*сликите во наредните чекори не се конечен изглед на апликацијата, туку само цртежи/скици'' Актери: * Артист * Менаџер == Чекор 1 Артистот се најавува на платформата.\\ [[Image(SignIn _ Musion.jpg​)]] {{{#!sql select u.email, u.username, u.name, u.profile_picture, u.type, coalesce (a.*) as artist, coalesce (o.*) as organizer, coalesce (m.*) as manager from project.users u left join artists a on u.id = a.user_id and u."type" = 'ARTIST'::project."user_type" left join organizers o on u.id = o.user_id and u."type" = 'ORGANIZER'::project."user_type" left join managers m on u.id = m.user_id and u."type" = 'MANAGER'::project."user_type" where u.email = 'v_artist@mail.com' and u.password = 'password'; }}} == Чекор 2 Ја отвара страната Мој Профил - секција Менаџер\\ [[Image(Manager _ My Profile _ Musion.jpg​)]] {{{#!sql select u.name, u.email from artists a join managers m on a.manager_id = m.user_id join users u on u.id = m.user_id where a.user_id = ( select u.id from users u where u.email = 'v_artist@mail.com' ); }}} == Чекор 3 После тоа ја внесува е-мејл адреста на посакуваниот менаџер, и го поканува менаџерот.\\ [[Image(Manager _ My Profile _ Musion-1.jpg​)]] {{{#!sql INSERT INTO project.manager_invites (email,invitation_token,created_at,artist_id) VALUES ('v_manager@mail.com','$2y$10$mTOpvSVqKzGDHpUC5lyrPOfwcYgU7kz9Gbuc22dske4I2g4I.QZ6i',now(),( select u.id from users u where u.email = 'v_artist@mail.com' and u.type = 'ARTIST'::project."user_type" )); }}} == Чекор 4 Му се испраќа мејл на менаџерот – доколку постои менаџер со таа мејл адреса, артистот кој што го поканил ќе биде додаден во неговата листа на артисти кои ги менаџира, во спротивно ќе биде побарано од него да се регистрира на платформата.\\ [[Image(Email _ Manager Invite _ Musion.jpg​)]] {{{#!sql -- проверка дали постои менаџер со дадената мејл адреса select count(*) from managers m join users u on u.id = m.user_id where u.email = 'v_manager@mail.com' -- доколку нема менаџер со внесената мејл адреса се регистрира нов корисник од тип менаџер insert into project.users (email,username,password,name,created_at,profile_picture,type) values ('v_manager@mail.com','v_manager','password','V Manager', now(),'manager.jpg','MANAGER'::project."user_type"); -- доколку има менаџер со внесената мејл адреса, артистот кој што го поканил ќе биде додаден во неговата листа на артисти кои ги менаџира update project.artists set manager_id = ( select u.id from users u where u.email = 'v_manager@mail.com' ) where user_id = ( select u.id from users u where u.email = 'v_artist@mail.com' ); }}}