func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { key := util.FormatUserKey(args.UserID) post_key := args.PostKey if !ts.checkIfKnown(key) { reply.Status = tribrpc.NoSuchUser } else if !ts.checkIfKnown(post_key) { reply.Status = tribrpc.NoSuchPost } else { err := ts.storage.Delete(post_key) if err != nil { return err } triblist_key := util.FormatTribListKey(args.UserID) err = ts.storage.RemoveFromList(triblist_key, post_key) if err != nil { return err } reply.Status = tribrpc.OK } return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { userkey := util.FormatUserKey(args.UserID) _, userErr := ts.libstore.Get(userkey) if userErr != nil { reply.Status = tribrpc.NoSuchUser } else { delErr := ts.libstore.Delete(args.PostKey) if delErr != nil { reply.Status = tribrpc.NoSuchPost return nil } tribkey := util.FormatTribListKey(args.UserID) delListErr := ts.libstore.RemoveFromList(tribkey, args.PostKey) if delListErr != nil { reply.Status = tribrpc.NoSuchPost return nil } reply.Status = tribrpc.OK } return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { if args == nil { return errors.New("ts: Can't delete nil") } if reply == nil { return errors.New("ts: Can't reply with nil in Delete") } _, err := ts.ls.Get(util.FormatUserKey(args.UserID)) if err != nil { reply.Status = tribrpc.NoSuchUser return nil } err = ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), args.PostKey) if err != nil { reply.Status = tribrpc.NoSuchPost return nil } if ts.ls.Delete(args.PostKey) != nil { reply.Status = tribrpc.NoSuchPost return errors.New("Fatal, failed to delete a key") } reply.Status = tribrpc.OK return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { user_id := util.FormatUserKey(args.UserID) // If the user_id doesn't exist // Reture NoSuchUser _, err := ts.lib_store.Get(user_id) if err != nil { reply.Status = tribrpc.NoSuchUser return nil } user_trib_list_key := util.FormatTribListKey(args.UserID) err = ts.lib_store.RemoveFromList(user_trib_list_key, args.PostKey) if err != nil { reply.Status = tribrpc.NoSuchPost fmt.Println(2) return nil } err = ts.lib_store.Delete(args.PostKey) if err != nil { reply.Status = tribrpc.NoSuchPost return nil } reply.Status = tribrpc.OK return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { if ts.userExist(args.UserID) == false { reply.Status = tribrpc.NoSuchUser return nil } reply.Status = tribrpc.OK err := ts.ls.Delete(args.PostKey) if err != nil { reply.Status = tribrpc.NoSuchPost } err = ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), args.PostKey) if err != nil { reply.Status = tribrpc.NoSuchPost } return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { userkey := util.FormatUserKey(args.UserID) // Make sure user exists if _, eu := ts.ls.Get(userkey); eu != nil { reply.Status = tribrpc.NoSuchUser return nil } postkey := args.PostKey // Make sure the Tribble exists if err := ts.ls.Delete(postkey); err != nil { reply.Status = tribrpc.NoSuchPost return nil } // Make sure the Tribble is in this user's list if err := ts.ls.RemoveFromList(util.FormatTribListKey(args.UserID), postkey); err != nil { reply.Status = tribrpc.NoSuchPost return nil } reply.Status = tribrpc.OK return nil }
func (ts *tribServer) DeleteTribble(args *tribrpc.DeleteTribbleArgs, reply *tribrpc.DeleteTribbleReply) error { if DBG { fmt.Println("-----> Delete(), postKey: ", args.PostKey) } var usrID string = args.UserID var postKey string = args.PostKey if DBG { fmt.Println("Delete(), postKey: ", postKey) } //check if user present in server _, err := ts.libStore.Get(util.FormatUserKey(usrID)) if err != nil { switch err.Error() { case WRONG_SERVER: fmt.Println("ERROR: WRONG SERVER in tribserver") return errors.New("Wrong server contacted!") case KEY_NOT_FOUND: reply.Status = tribrpc.NoSuchUser return nil default: fmt.Println("ERROR in tribserver: wrong error message received") } } //check if postKey is stored _, err = ts.libStore.Get(postKey) if err != nil { switch err.Error() { case WRONG_SERVER: fmt.Println("ERROR: WRONG SERVER in tribserver") return errors.New("Wrong server contacted!") case KEY_NOT_FOUND: reply.Status = tribrpc.NoSuchPost return nil default: fmt.Println("ERROR in tribserver: wrong error message received") return nil } } errDelPost := ts.libStore.Delete(postKey) errDelKey := ts.libStore.RemoveFromList(util.FormatTribListKey(usrID), postKey) if errDelPost != nil { fmt.Println("Error deleting post") return nil } if errDelKey != nil { fmt.Println("Error removing key from list") return nil } reply.Status = tribrpc.OK return nil }