# Landing Page ## Existing Flow ### Generate Token ```plantuml participant "FE" as fe participant "everpro-product" as ep participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb fe -> ep : get token PageBuilder activate ep ep -> ep : validate auth ep -> lp : generate token (userID, ReferenceID) activate lp lp -> lpdb : save data activate lpdb lp <-- lpdb : resp note right table `page_auth` end note deactivate lpdb ep <-- lp : resp token deactivate lp fe <-- ep : resp token deactivate ep ``` ### Get Template ```plantuml participant "FE" as fe participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb fe -> lp : generate token activate lp lp -> lpdb : save token lp <-- lpdb : resp fe <-- lp : resp token fe -> lp : request get template lp -> lpdb : query get template note right table `templates` end note lp <-- lpdb : resp query fe <-- lp : resp template ``` ### Insert Landing Page ```plantuml participant "FE" as fe participant "evm-asgard" as asgard participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb fe -> asgard : upload picture fe <-- asgard : resp url (origin & resize) fe -> lp : insert landingPage activate lp lp -> lpdb : query insert note right table `landing_page` end note lp <-- lpdb : created fe <-- lp : resp created ``` ### Update Landing Page ```plantuml participant "FE" as fe participant "evm-asgard" as asgard participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb fe -> asgard : upload picture fe <-- asgard : resp url (origin & resize) fe -> lp : update landingPage activate lp lp -> lpdb : query update note right table `landing_page` end note lp <-- lpdb : updated fe <-- lp : resp updated ``` ### Get Landing Page By {ReferenceEntityID} ```plantuml participant "FE" as fe participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb participant "evm-asgard" as asgard fe -> lp : req get landingPage activate lp lp -> lpdb : query get where note right table `landing_page` end note lp <-- lpdb : resp data fe <-- lp : resp landingPage deactivate lp fe -> asgard : req picture by url (to get cache pic) fe <-- asgard : resp cache picture ``` ### Get Detail Product By {ProductEntityID} ```plantuml participant "FE" as fe participant "everpro-product" as p database "everpro-product" as pdb participant "everpro-page-builder" as lp database "everpro-page-builder" as lpdb fe -> p : req get detail product activate p p -> pdb : query where p <-- pdb : resp data p -> lp : req get landingPage by ProductID activate lp lp -> lpdb : query get where note right table `landing_page` end note lp <-- lpdb : resp data p <-- lp : resp landingPage deactivate lp fe <-- p : resp detail product ```