Професионална програма
Loading...
+ Нов въпрос
a_rusenov avatar a_rusenov 1103 Точки

[JS Frameworks] Social Network REST Services

Здравейте,

Сорс кодът на Social Network е качен в GitHub. 

Моля, ако намерите някакви бъгове, репортвайте ги в бъг тракера. От началото на курса сме правили по няколко промени (обикновено стават за 1-2 минути).

3
JavaScript Applications 17/05/2015 17:38:23
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Има проблем със send-ването и reject-ването на поканите. След изпратена покана ако потребителя я reject-не то вече тази заявка на му седи в pending requests. На изпращащия обаче API-то му връща hasPendingRequest: true. През Postman без проблем се изпраща нова заявка, но проблемът е в UI-а, защото аз визуализирам Pending, а не Invite.

Сега забелязах, че освен при reject при approve също връща hasPendingRequest: true.

API-то няма service за unfriend :)

0
19/05/2015 12:22:24
a_rusenov avatar a_rusenov 1103 Точки

Оправено, а unfreind by design няма. :)

0
mihayloff14 avatar mihayloff14 825 Точки

Открих (доколкото мисля) проблем в показването на коментарите за всеки пост. Максималния брой коментари които могат да се покажат е 3 и когато станат повече, останалите просто не излизат.

Въпреки това, има property, което показва totalComments.

Това значи ли че по някакъв начин, коментарите също трябва да са paginate-нати?

0
21/05/2015 12:32:08
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки
Display posts data (author profile imagename, post datecontentlikes count, total comments countcomments (by default only 3, if clicked on "More…" button, display all comments)).
 
Да, по default трябва само 3 да показваш, заради това API-то връща 3 + броя коментари.
0
21/05/2015 15:32:49
a_rusenov avatar a_rusenov 1103 Точки

Не, при коментарите няма paging. Както каза Никола при [More..] трябва да изтеглиш всички от GET api/posts/{postId}/comments.

0
micro3x avatar micro3x 135 Точки

Каква трябва да е заявката за (Reject Friend Request)?

Аз гледам от посман Файла и там е - 

PUT:
http://softuni-social-network.azurewebsites.net/api/me/requests/{{id na requesta}}?status=delete

Самоче ми връща BAD REQUEST. ("message": "Invalid friend request status.").

За удпбрение е същата само дето е на края е ?status=approved
и ми работи идеално

0
21/05/2015 16:13:18
a_rusenov avatar a_rusenov 1103 Точки

Да, ?status=rejected трябва да е. Поправено е в Postman колекцията още в началото на курса, изтеглете я наново. Извиняваме се за грешката.

0
mihayloff14 avatar mihayloff14 825 Точки

Здравейте, опитвам се да използвам service-а Get Post by ID за да мога да заредя поста с всичките му коментари. Проблемът, който се случва е че сървъра ми връща грешка като съдържанието ѝ е "".

Някой друг има ли подобен проблем?

0
a_rusenov avatar a_rusenov 1103 Точки

Всички коментари на един пост можеш да вземеш от GET api/posts/{postId}/comments, не е нужно да теглиш и поста.

Относно грешката, дай малко повече детайли, при мен всичко е ок на GET api/posts/{id}.

0
zerefel avatar zerefel 70 Точки

RIP. Дано има кой да го вдигне, защото и без това проекта при мен не върви много добре laugh

1
quickben avatar quickben 974 Точки

long live the API :)

0
a.angelov avatar a.angelov 1317 Точки

Хора, как тълкувате изискванията кои постове, съответно коментари може да се like-ват и unlike-ват?

В условието пише: 

  • Users should NOT be able to like/unlike comments when neither the post author, nor wall owner is a friend.

същото е и за постовете. 

Та въпросът ми е - логнатия юзър трябва ли да може да лайква и ънлайква собствените си постове и коментари на други оставени под неговите постове?

Чуденката ми идва от там, че логнатия юзър не е приятел сам със себе си, от което би трябвало да следва, че не може да лайква и ънлайква горните варианти... От друга страна на мен ми се вижда най-коректно да може да лайква коментари на други хора, но да не може да лайква собствените си постове...

 

ЕДИТ: Гледайки обаче предпоследното условие за авторизация:

  •    Users should NOT be able to comment on posts when neither the author, nor wall owner is a friend.

което е също като това за лайкване и ънлайкване, си мисля, че по-скоро логнатия юзър може да прави тези неща - да лайква и ънлайква свои постове и коментари под свои постове, както и да коментира свои постове.

0
23/05/2015 00:01:00
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Макар по условие да не се иска аз направих да може да си виждам и собствената стена. Тази проверка ми е дали да имам like/unlike бутони. Проверявам дали съм на собствената си стена или на собствения си feed или автора на поста ми е приятел или собственика на стената ми е приятел. Съветът ми е да не търсиш логика, а да тестваш сървисите на API-то.

Edit: Анатоли, бъркаш се. Добра отправна точка е, че всичко, което виждаш на news feed-a МОЖЕ да like-ваш и коментираш. А на news feed-a излизат post-тове, на които не си автор.

Това са ми всичките проверки (username е на логнатия user):

за like/unlike на постове: 

ng-if="isOwnWall || isOwnFeed || post.author.isFriend || post.wallOwner.isFriend"

за like/unlike на коментари: 

ng-if="isOwnWall || isOwnFeed || post.author.isFriend || post.wallOwner.isFriend"

за edit на post:

ng-if="post.author.username === username"

за delete на post:

ng-if="post.author.username === username || isOwnWall"

за edit на comment:

ng-if="comment.author.username === username"

за delete на comment:

ng-if="post.author.username === username || comment.author.username === username"
4
23/05/2015 00:18:05
a.angelov avatar a.angelov 1317 Точки

Благодаря, мисля че ми стана ясно - да прехванем случаите, в които сървъра връща грешка и за тях да правим проверки client side? Тоест следваме сървърната валидация на заявките.

0
23/05/2015 00:16:39
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Authorization checks са добре написани в заданието и отговарят на реалността :)

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Обръщам се с молба към колегите, които днес няма да защитават. Ако може бихте ли си починали и съответно да не правите заявки към API-то докато свършат защитите днес? API-то определено изпитва трудности да ни обработва всичките заявки и доста се бави. 

2
VenelinGrozev avatar VenelinGrozev 130 Точки

Като направя заявка към http://softuni-social-network.azurewebsites.net/api/users/{{username}} и ако username-a е нещо от сорта на i.ivanov (т.е. има точка в него) заявката гърми с "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.".

Ако няма точка в username връща данните за юзъра нормално.

0