Changes between Version 46 and Version 47 of UseCasePrototypeImplementation


Ignore:
Timestamp:
02/18/23 23:41:21 (15 months ago)
Author:
216151
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCasePrototypeImplementation

    v46 v47  
    6767**3.** По добивање на одговорот, JS апликацијата го освежува прелистувачот, значи се прикажува истата страница за дискусија, но во одговорот на fetch повикот за мислењата кои и припаѓаат сега ќе се најде и новододаденото мислење \\
    6868
     69{{{#!div style="font-size: 80%"
     70[[https://develop.finki.ukim.mk/projects/profesori.mk/browser/reactapp/src/Pages/Professor.js?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Pages/Professor.js, ревизија ebc5176]]
     71  {{{#!javascript
     72    const handlePostSubmit = async (e) => {
     73            e.preventDefault();
     74       
     75            const response = await axios(
     76              `http://192.168.0.17:8080/secure/professor/${professor.professorId}/addOpinion`,
     77              {
     78                method: "post",
     79                data: {
     80                  title: postTitle,
     81                  content: postContent,
     82                },
     83                withCredentials: true,
     84              }
     85            );
     86       
     87            window.location.reload(false);
     88          };
     89       
     90          const handleTitleChange = (e) => { //метод за контрола на полето за наслов на мислење
     91            setPostTitle(e.target.value);
     92          };
     93       
     94          const handleContentChange = (e) => {
     95            setPostContent(e.target.value); //метод за контрола на полето за содржина
     96          };
     97  }}}
     98}}}
     99
     100{{{#!div style="font-size: 80%"
     101[[https://develop.finki.ukim.mk/projects/profesori.mk/browser/springapp/src/main/java/mk/profesori/springapp/Service/MainService.java?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Service.MainService.java, ревизија ebc5176]]
     102  {{{#!java
     103  public void addOpinion(String title, String content, Long professorId, CustomUserDetails currentUser) {       
     104        Professor targetProfessor = professorRepository.findByProfessorId(professorId);
     105        Opinion opinionToAdd = new Opinion(title, content, currentUser, null, null,
     106                null, targetProfessor);
     107                opinionRepository.save(opinionToAdd);
     108    }
     109  }}}
     110}}}
     111
     112== Оценување на туѓо мислење (5)
     113Во оваа фаза е имплементирано и сценариото за оценување мислења. Подолу се прикажани главните отсечоци од код каде се имплементирани чекорите кои ги презема системот при тригер на сценариото, односно: \\\\
     114**1.** Апликацијата на клиентска страна со самото вчитување на мислењата кои одговараат на секцијата има достапна во меморија листа од кориснички ИД-а кои го оцениле секое мислење. Врз основа на тоа кликот го игнорира (доколку ИД на моменталниот корисник е исто со некое ИД од листата), или праќа повик до серверот што резултира со додавање на ставка во релацијата што ги чува податоците за оцени (корисник-пост) и инкрементирање/декрементирање на кармата на авторот на корисникот.
    69115{{{#!div style="font-size: 80%"
    70116[[https://develop.finki.ukim.mk/projects/profesori.mk/browser/reactapp/src/Components/OpinionTree.js?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Components/OpinionTree.js, ревизија ebc5176]]
     
    118164[[https://develop.finki.ukim.mk/projects/profesori.mk/browser/springapp/src/main/java/mk/profesori/springapp/Service/MainService.java?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Service.MainService.java, ревизија ebc5176]]
    119165  {{{#!java
    120   public void addOpinion(String title, String content, Long professorId, CustomUserDetails currentUser) {       
    121         Professor targetProfessor = professorRepository.findByProfessorId(professorId);
    122         Opinion opinionToAdd = new Opinion(title, content, currentUser, null, null,
    123                 null, targetProfessor);
    124                 opinionRepository.save(opinionToAdd);
    125     }
    126   }}}
    127 }}}
    128 
    129 == Оценување на туѓо мислење (5)
    130 Во оваа фаза е имплементирано и сценариото за оценување мислења. Подолу се прикажани главните отсечоци од код каде се имплементирани чекорите кои ги презема системот при тригер на сценариото, односно: \\\\
    131 **1.** Апликацијата на клиентска страна со самото вчитување на мислењата кои одговараат на секцијата има достапна во меморија листа од кориснички ИД-а кои го оцениле секое мислење. Врз основа на тоа кликот го игнорира (доколку ИД на моменталниот корисник е исто со некое ИД од листата), или праќа повик до серверот што резултира со додавање на ставка во релацијата што ги чува податоците за оцени (корисник-пост) и инкрементирање/декрементирање на кармата на авторот на корисникот.
    132 
    133 {{{#!div style="font-size: 80%"
    134 [[https://develop.finki.ukim.mk/projects/profesori.mk/browser/reactapp/src/Pages/Professor.js?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Pages/Professor.js, ревизија ebc5176]]
    135   {{{#!javascript
    136     const handlePostSubmit = async (e) => {
    137             e.preventDefault();
    138        
    139             const response = await axios(
    140               `http://192.168.0.17:8080/secure/professor/${professor.professorId}/addOpinion`,
    141               {
    142                 method: "post",
    143                 data: {
    144                   title: postTitle,
    145                   content: postContent,
    146                 },
    147                 withCredentials: true,
    148               }
    149             );
    150        
    151             window.location.reload(false);
    152           };
    153        
    154           const handleTitleChange = (e) => { //метод за контрола на полето за наслов на мислење
    155             setPostTitle(e.target.value);
    156           };
    157        
    158           const handleContentChange = (e) => {
    159             setPostContent(e.target.value); //метод за контрола на полето за содржина
    160           };
    161   }}}
    162 }}}
    163 
    164 {{{#!div style="font-size: 80%"
    165 [[https://develop.finki.ukim.mk/projects/profesori.mk/browser/springapp/src/main/java/mk/profesori/springapp/Service/MainService.java?rev=ebc51762bbd1b4345d8908789af87bdc49aad058|Service.MainService.java, ревизија ebc5176]]
    166   {{{#!java
    167166            public void upvoteOpinion(Long postId, CustomUserDetails currentUser) {
    168167                Opinion targetOpinion = opinionRepository.findByPostId(postId);