SlideShare a Scribd company logo
Creating a Facebook Clone - Part XXII
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
return null;
}
public void setAvatar(String authToken, String mediaId) {
Media m = medias.findById(mediaId).get();
User u = users.findByAuthtoken(authToken).get(0);
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
UserService
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
return null;
}
public void setAvatar(String authToken, String mediaId) {
Media m = medias.findById(mediaId).get();
User u = users.findByAuthtoken(authToken).get(0);
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
UserService
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
return null;
}
public void setAvatar(String authToken, String mediaId) {
Media m = medias.findById(mediaId).get();
User u = users.findByAuthtoken(authToken).get(0);
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
UserService
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
return null;
}
public void setAvatar(String authToken, String mediaId) {
Media m = medias.findById(mediaId).get();
User u = users.findByAuthtoken(authToken).get(0);
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
UserService
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
return null;
}
public void setAvatar(String authToken, String mediaId) {
Media m = medias.findById(mediaId).get();
User u = users.findByAuthtoken(authToken).get(0);
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
UserService
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
UserService
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
UserService
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
UserService
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
UserService
u.setAvatar(m);
users.save(u);
}
public void sendFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
UserService
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
users.saveAll(Arrays.asList(me, him));
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
UserService
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
users.saveAll(Arrays.asList(me, him));
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
UserService
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
users.saveAll(Arrays.asList(me, him));
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
UserService
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
him.getFriendRequests().add(me);
users.save(him);
notifications.sendNotification(him,
new NotificationDAO(null, me.getDAO(),
"wants to be friends",
"uE7FC", 0x587EBE,
0, true, null, null));
}
public void acceptFriendRequest(String auth, String userId) {
User me = users.findByAuthtoken(auth).get(0);
User him = users.findById(userId).get();
if (me.getFriendRequests().contains(him)) {
me.getFriendRequests().remove(him);
me.getFriends().add(him);
him.getFriendRequests().remove(me);
him.getFriends().add(me);
users.saveAll(Arrays.asList(me, him));
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
UserService
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
Long c = shadows.countByUser(auth);
User u = users.findByAuthtoken(auth).get(0);
if (c == null || c == 0) {
List<ShadowUser> shadowList = new ArrayList<>();
for (ShadowUserDAO d : contacts) {
shadowList.add(new ShadowUser(d, u));
updatePeopleYouMayKnow(d, u);
}
shadows.saveAll(shadowList);
} else {
for (ShadowUserDAO d : contacts) {
List<ShadowUser> results = shadows.findByFullName(auth, d.
getFullName());
if (!results.isEmpty()) {
shadows.save(new ShadowUser(d, u));
} else {
ShadowUser current = results.get(0);
current.setEmail(d.getEmail());
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
UserService
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
Long c = shadows.countByUser(auth);
User u = users.findByAuthtoken(auth).get(0);
if (c == null || c == 0) {
List<ShadowUser> shadowList = new ArrayList<>();
for (ShadowUserDAO d : contacts) {
shadowList.add(new ShadowUser(d, u));
updatePeopleYouMayKnow(d, u);
}
shadows.saveAll(shadowList);
} else {
for (ShadowUserDAO d : contacts) {
List<ShadowUser> results = shadows.findByFullName(auth, d.
getFullName());
if (!results.isEmpty()) {
shadows.save(new ShadowUser(d, u));
} else {
ShadowUser current = results.get(0);
current.setEmail(d.getEmail());
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
UserService
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
Long c = shadows.countByUser(auth);
User u = users.findByAuthtoken(auth).get(0);
if (c == null || c == 0) {
List<ShadowUser> shadowList = new ArrayList<>();
for (ShadowUserDAO d : contacts) {
shadowList.add(new ShadowUser(d, u));
updatePeopleYouMayKnow(d, u);
}
shadows.saveAll(shadowList);
} else {
for (ShadowUserDAO d : contacts) {
List<ShadowUser> results = shadows.findByFullName(auth, d.
getFullName());
if (!results.isEmpty()) {
shadows.save(new ShadowUser(d, u));
} else {
ShadowUser current = results.get(0);
current.setEmail(d.getEmail());
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
UserService
}
}
public void uploadContacts(String auth, List<ShadowUserDAO> contacts) {
Long c = shadows.countByUser(auth);
User u = users.findByAuthtoken(auth).get(0);
if (c == null || c == 0) {
List<ShadowUser> shadowList = new ArrayList<>();
for (ShadowUserDAO d : contacts) {
shadowList.add(new ShadowUser(d, u));
updatePeopleYouMayKnow(d, u);
}
shadows.saveAll(shadowList);
} else {
for (ShadowUserDAO d : contacts) {
List<ShadowUser> results = shadows.findByFullName(auth, d.
getFullName());
if (!results.isEmpty()) {
shadows.save(new ShadowUser(d, u));
} else {
ShadowUser current = results.get(0);
current.setEmail(d.getEmail());
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
UserService
List<ShadowUser> shadowList = new ArrayList<>();
for (ShadowUserDAO d : contacts) {
shadowList.add(new ShadowUser(d, u));
updatePeopleYouMayKnow(d, u);
}
shadows.saveAll(shadowList);
} else {
for (ShadowUserDAO d : contacts) {
List<ShadowUser> results = shadows.findByFullName(auth, d.
getFullName());
if (!results.isEmpty()) {
shadows.save(new ShadowUser(d, u));
} else {
ShadowUser current = results.get(0);
current.setEmail(d.getEmail());
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
shadows.save(current);
updatePeopleYouMayKnow(d, u);
}
}
}
}
UserService
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
shadows.save(current);
updatePeopleYouMayKnow(d, u);
}
}
}
}
private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) {
User friend = findHim(d);
if (friend != null) {
if (!u.getFriends().contains(friend)
&& !u.getPeopleYouMayKnow().contains(friend)) {
u.getPeopleYouMayKnow().add(friend);
users.save(u);
}
}
}
private User findHim(ShadowUserDAO d) {
if (d.getEmail() != null) {
List<User> l = users.findByEmailIgnoreCase(d.getEmail());
if (l != null && !l.isEmpty()) {
UserService
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
shadows.save(current);
updatePeopleYouMayKnow(d, u);
}
}
}
}
private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) {
User friend = findHim(d);
if (friend != null) {
if (!u.getFriends().contains(friend)
&& !u.getPeopleYouMayKnow().contains(friend)) {
u.getPeopleYouMayKnow().add(friend);
users.save(u);
}
}
}
private User findHim(ShadowUserDAO d) {
if (d.getEmail() != null) {
List<User> l = users.findByEmailIgnoreCase(d.getEmail());
if (l != null && !l.isEmpty()) {
UserService
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
shadows.save(current);
updatePeopleYouMayKnow(d, u);
}
}
}
}
private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) {
User friend = findHim(d);
if (friend != null) {
if (!u.getFriends().contains(friend)
&& !u.getPeopleYouMayKnow().contains(friend)) {
u.getPeopleYouMayKnow().add(friend);
users.save(u);
}
}
}
private User findHim(ShadowUserDAO d) {
if (d.getEmail() != null) {
List<User> l = users.findByEmailIgnoreCase(d.getEmail());
if (l != null && !l.isEmpty()) {
UserService
current.setPhone(d.getPhone());
current.setSecondaryPhone(d.getSecondaryPhone());
shadows.save(current);
updatePeopleYouMayKnow(d, u);
}
}
}
}
private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) {
User friend = findHim(d);
if (friend != null) {
if (!u.getFriends().contains(friend)
&& !u.getPeopleYouMayKnow().contains(friend)) {
u.getPeopleYouMayKnow().add(friend);
users.save(u);
}
}
}
private User findHim(ShadowUserDAO d) {
if (d.getEmail() != null) {
List<User> l = users.findByEmailIgnoreCase(d.getEmail());
if (l != null && !l.isEmpty()) {
UserService
}
}
private User findHim(ShadowUserDAO d) {
if (d.getEmail() != null) {
List<User> l = users.findByEmailIgnoreCase(d.getEmail());
if (l != null && !l.isEmpty()) {
return l.get(0);
}
}
if (d.getPhone() != null) {
List<User> l = users.findByPhone(d.getPhone());
if (l != null && !l.isEmpty()) {
return l.get(0);
}
}
if (d.getSecondaryPhone() != null) {
List<User> l = users.findByPhone(d.getSecondaryPhone());
if (l != null && !l.isEmpty()) {
return l.get(0);
}
}
return null;
}
UserService

More Related Content

Similar to Creating a Facebook Clone - Part XXII.pdf

Creating a Facebook Clone - Part XLV - Transcript.pdf
Creating a Facebook Clone - Part XLV - Transcript.pdfCreating a Facebook Clone - Part XLV - Transcript.pdf
Creating a Facebook Clone - Part XLV - Transcript.pdf
ShaiAlmog1
 
Creating a Facebook Clone - Part XXVIII.pdf
Creating a Facebook Clone - Part XXVIII.pdfCreating a Facebook Clone - Part XXVIII.pdf
Creating a Facebook Clone - Part XXVIII.pdf
ShaiAlmog1
 
Creating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdfCreating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdf
ShaiAlmog1
 
Creating an Uber Clone - Part XXXX.pdf
Creating an Uber Clone - Part XXXX.pdfCreating an Uber Clone - Part XXXX.pdf
Creating an Uber Clone - Part XXXX.pdf
ShaiAlmog1
 
Creating a Facebook Clone - Part XXXVIII.pdf
Creating a Facebook Clone - Part XXXVIII.pdfCreating a Facebook Clone - Part XXXVIII.pdf
Creating a Facebook Clone - Part XXXVIII.pdf
ShaiAlmog1
 
Creating a Facebook Clone - Part XLV.pdf
Creating a Facebook Clone - Part XLV.pdfCreating a Facebook Clone - Part XLV.pdf
Creating a Facebook Clone - Part XLV.pdf
ShaiAlmog1
 

Similar to Creating a Facebook Clone - Part XXII.pdf (6)

Creating a Facebook Clone - Part XLV - Transcript.pdf
Creating a Facebook Clone - Part XLV - Transcript.pdfCreating a Facebook Clone - Part XLV - Transcript.pdf
Creating a Facebook Clone - Part XLV - Transcript.pdf
 
Creating a Facebook Clone - Part XXVIII.pdf
Creating a Facebook Clone - Part XXVIII.pdfCreating a Facebook Clone - Part XXVIII.pdf
Creating a Facebook Clone - Part XXVIII.pdf
 
Creating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdfCreating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdf
 
Creating an Uber Clone - Part XXXX.pdf
Creating an Uber Clone - Part XXXX.pdfCreating an Uber Clone - Part XXXX.pdf
Creating an Uber Clone - Part XXXX.pdf
 
Creating a Facebook Clone - Part XXXVIII.pdf
Creating a Facebook Clone - Part XXXVIII.pdfCreating a Facebook Clone - Part XXXVIII.pdf
Creating a Facebook Clone - Part XXXVIII.pdf
 
Creating a Facebook Clone - Part XLV.pdf
Creating a Facebook Clone - Part XLV.pdfCreating a Facebook Clone - Part XLV.pdf
Creating a Facebook Clone - Part XLV.pdf
 

More from ShaiAlmog1

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
ShaiAlmog1
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdf
ShaiAlmog1
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdf
ShaiAlmog1
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdf
ShaiAlmog1
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
ShaiAlmog1
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
ShaiAlmog1
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
ShaiAlmog1
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdf
ShaiAlmog1
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
ShaiAlmog1
 

More from ShaiAlmog1 (20)

The Duck Teaches Learn to debug from the masters. Local to production- kill ...
The Duck Teaches  Learn to debug from the masters. Local to production- kill ...The Duck Teaches  Learn to debug from the masters. Local to production- kill ...
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
 
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdfcreate-netflix-clone-06-client-ui.pdf
create-netflix-clone-06-client-ui.pdf
 
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdfcreate-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-01-introduction_transcript.pdf
 
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdfcreate-netflix-clone-02-server_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
 
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdfcreate-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
 
create-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdfcreate-netflix-clone-01-introduction.pdf
create-netflix-clone-01-introduction.pdf
 
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdfcreate-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-06-client-ui_transcript.pdf
 
create-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdfcreate-netflix-clone-03-server.pdf
create-netflix-clone-03-server.pdf
 
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdfcreate-netflix-clone-04-server-continued.pdf
create-netflix-clone-04-server-continued.pdf
 
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdfcreate-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-05-client-model_transcript.pdf
 
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdfcreate-netflix-clone-03-server_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
 
create-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdfcreate-netflix-clone-05-client-model.pdf
create-netflix-clone-05-client-model.pdf
 
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdfCreating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part II.pdf
 
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdfCreating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
 
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdfCreating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
 
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdfCreating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
 
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdfCreating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part IV.pdf
 
Creating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdfCreating a Whatsapp Clone - Part I - Transcript.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
 

Recently uploaded

Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 

Recently uploaded (20)

Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 

Creating a Facebook Clone - Part XXII.pdf

  • 1. Creating a Facebook Clone - Part XXII
  • 2. setProps(user, u); if (u.getPassword() != null) { u.setPassword(encoder.encode(user.getPassword())); } users.save(u); } public byte[] getAvatar(String userId) { User u = users.findById(userId).get(); if (u.getAvatar() != null) { return u.getAvatar().getData(); } return null; } public void setAvatar(String authToken, String mediaId) { Media m = medias.findById(mediaId).get(); User u = users.findByAuthtoken(authToken).get(0); u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); UserService
  • 3. setProps(user, u); if (u.getPassword() != null) { u.setPassword(encoder.encode(user.getPassword())); } users.save(u); } public byte[] getAvatar(String userId) { User u = users.findById(userId).get(); if (u.getAvatar() != null) { return u.getAvatar().getData(); } return null; } public void setAvatar(String authToken, String mediaId) { Media m = medias.findById(mediaId).get(); User u = users.findByAuthtoken(authToken).get(0); u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); UserService
  • 4. setProps(user, u); if (u.getPassword() != null) { u.setPassword(encoder.encode(user.getPassword())); } users.save(u); } public byte[] getAvatar(String userId) { User u = users.findById(userId).get(); if (u.getAvatar() != null) { return u.getAvatar().getData(); } return null; } public void setAvatar(String authToken, String mediaId) { Media m = medias.findById(mediaId).get(); User u = users.findByAuthtoken(authToken).get(0); u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); UserService
  • 5. setProps(user, u); if (u.getPassword() != null) { u.setPassword(encoder.encode(user.getPassword())); } users.save(u); } public byte[] getAvatar(String userId) { User u = users.findById(userId).get(); if (u.getAvatar() != null) { return u.getAvatar().getData(); } return null; } public void setAvatar(String authToken, String mediaId) { Media m = medias.findById(mediaId).get(); User u = users.findByAuthtoken(authToken).get(0); u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); UserService
  • 6. setProps(user, u); if (u.getPassword() != null) { u.setPassword(encoder.encode(user.getPassword())); } users.save(u); } public byte[] getAvatar(String userId) { User u = users.findById(userId).get(); if (u.getAvatar() != null) { return u.getAvatar().getData(); } return null; } public void setAvatar(String authToken, String mediaId) { Media m = medias.findById(mediaId).get(); User u = users.findByAuthtoken(authToken).get(0); u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); UserService
  • 7. u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); UserService
  • 8. u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); UserService
  • 9. u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); UserService
  • 10. u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); UserService
  • 11. u.setAvatar(m); users.save(u); } public void sendFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); UserService
  • 12. User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); users.saveAll(Arrays.asList(me, him)); } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { UserService
  • 13. User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); users.saveAll(Arrays.asList(me, him)); } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { UserService
  • 14. User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); users.saveAll(Arrays.asList(me, him)); } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { UserService
  • 15. User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); him.getFriendRequests().add(me); users.save(him); notifications.sendNotification(him, new NotificationDAO(null, me.getDAO(), "wants to be friends", "uE7FC", 0x587EBE, 0, true, null, null)); } public void acceptFriendRequest(String auth, String userId) { User me = users.findByAuthtoken(auth).get(0); User him = users.findById(userId).get(); if (me.getFriendRequests().contains(him)) { me.getFriendRequests().remove(him); me.getFriends().add(him); him.getFriendRequests().remove(me); him.getFriends().add(me); users.saveAll(Arrays.asList(me, him)); } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { UserService
  • 16. } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { Long c = shadows.countByUser(auth); User u = users.findByAuthtoken(auth).get(0); if (c == null || c == 0) { List<ShadowUser> shadowList = new ArrayList<>(); for (ShadowUserDAO d : contacts) { shadowList.add(new ShadowUser(d, u)); updatePeopleYouMayKnow(d, u); } shadows.saveAll(shadowList); } else { for (ShadowUserDAO d : contacts) { List<ShadowUser> results = shadows.findByFullName(auth, d. getFullName()); if (!results.isEmpty()) { shadows.save(new ShadowUser(d, u)); } else { ShadowUser current = results.get(0); current.setEmail(d.getEmail()); current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); UserService
  • 17. } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { Long c = shadows.countByUser(auth); User u = users.findByAuthtoken(auth).get(0); if (c == null || c == 0) { List<ShadowUser> shadowList = new ArrayList<>(); for (ShadowUserDAO d : contacts) { shadowList.add(new ShadowUser(d, u)); updatePeopleYouMayKnow(d, u); } shadows.saveAll(shadowList); } else { for (ShadowUserDAO d : contacts) { List<ShadowUser> results = shadows.findByFullName(auth, d. getFullName()); if (!results.isEmpty()) { shadows.save(new ShadowUser(d, u)); } else { ShadowUser current = results.get(0); current.setEmail(d.getEmail()); current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); UserService
  • 18. } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { Long c = shadows.countByUser(auth); User u = users.findByAuthtoken(auth).get(0); if (c == null || c == 0) { List<ShadowUser> shadowList = new ArrayList<>(); for (ShadowUserDAO d : contacts) { shadowList.add(new ShadowUser(d, u)); updatePeopleYouMayKnow(d, u); } shadows.saveAll(shadowList); } else { for (ShadowUserDAO d : contacts) { List<ShadowUser> results = shadows.findByFullName(auth, d. getFullName()); if (!results.isEmpty()) { shadows.save(new ShadowUser(d, u)); } else { ShadowUser current = results.get(0); current.setEmail(d.getEmail()); current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); UserService
  • 19. } } public void uploadContacts(String auth, List<ShadowUserDAO> contacts) { Long c = shadows.countByUser(auth); User u = users.findByAuthtoken(auth).get(0); if (c == null || c == 0) { List<ShadowUser> shadowList = new ArrayList<>(); for (ShadowUserDAO d : contacts) { shadowList.add(new ShadowUser(d, u)); updatePeopleYouMayKnow(d, u); } shadows.saveAll(shadowList); } else { for (ShadowUserDAO d : contacts) { List<ShadowUser> results = shadows.findByFullName(auth, d. getFullName()); if (!results.isEmpty()) { shadows.save(new ShadowUser(d, u)); } else { ShadowUser current = results.get(0); current.setEmail(d.getEmail()); current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); UserService
  • 20. List<ShadowUser> shadowList = new ArrayList<>(); for (ShadowUserDAO d : contacts) { shadowList.add(new ShadowUser(d, u)); updatePeopleYouMayKnow(d, u); } shadows.saveAll(shadowList); } else { for (ShadowUserDAO d : contacts) { List<ShadowUser> results = shadows.findByFullName(auth, d. getFullName()); if (!results.isEmpty()) { shadows.save(new ShadowUser(d, u)); } else { ShadowUser current = results.get(0); current.setEmail(d.getEmail()); current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); shadows.save(current); updatePeopleYouMayKnow(d, u); } } } } UserService
  • 21. current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); shadows.save(current); updatePeopleYouMayKnow(d, u); } } } } private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) { User friend = findHim(d); if (friend != null) { if (!u.getFriends().contains(friend) && !u.getPeopleYouMayKnow().contains(friend)) { u.getPeopleYouMayKnow().add(friend); users.save(u); } } } private User findHim(ShadowUserDAO d) { if (d.getEmail() != null) { List<User> l = users.findByEmailIgnoreCase(d.getEmail()); if (l != null && !l.isEmpty()) { UserService
  • 22. current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); shadows.save(current); updatePeopleYouMayKnow(d, u); } } } } private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) { User friend = findHim(d); if (friend != null) { if (!u.getFriends().contains(friend) && !u.getPeopleYouMayKnow().contains(friend)) { u.getPeopleYouMayKnow().add(friend); users.save(u); } } } private User findHim(ShadowUserDAO d) { if (d.getEmail() != null) { List<User> l = users.findByEmailIgnoreCase(d.getEmail()); if (l != null && !l.isEmpty()) { UserService
  • 23. current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); shadows.save(current); updatePeopleYouMayKnow(d, u); } } } } private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) { User friend = findHim(d); if (friend != null) { if (!u.getFriends().contains(friend) && !u.getPeopleYouMayKnow().contains(friend)) { u.getPeopleYouMayKnow().add(friend); users.save(u); } } } private User findHim(ShadowUserDAO d) { if (d.getEmail() != null) { List<User> l = users.findByEmailIgnoreCase(d.getEmail()); if (l != null && !l.isEmpty()) { UserService
  • 24. current.setPhone(d.getPhone()); current.setSecondaryPhone(d.getSecondaryPhone()); shadows.save(current); updatePeopleYouMayKnow(d, u); } } } } private void updatePeopleYouMayKnow(ShadowUserDAO d, User u) { User friend = findHim(d); if (friend != null) { if (!u.getFriends().contains(friend) && !u.getPeopleYouMayKnow().contains(friend)) { u.getPeopleYouMayKnow().add(friend); users.save(u); } } } private User findHim(ShadowUserDAO d) { if (d.getEmail() != null) { List<User> l = users.findByEmailIgnoreCase(d.getEmail()); if (l != null && !l.isEmpty()) { UserService
  • 25. } } private User findHim(ShadowUserDAO d) { if (d.getEmail() != null) { List<User> l = users.findByEmailIgnoreCase(d.getEmail()); if (l != null && !l.isEmpty()) { return l.get(0); } } if (d.getPhone() != null) { List<User> l = users.findByPhone(d.getPhone()); if (l != null && !l.isEmpty()) { return l.get(0); } } if (d.getSecondaryPhone() != null) { List<User> l = users.findByPhone(d.getSecondaryPhone()); if (l != null && !l.isEmpty()) { return l.get(0); } } return null; } UserService