예제 #1
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	if DBG {
		fmt.Println("-----> CreateUser")
	}
	var usrID string = args.UserID

	_, err := ts.libStore.Get(util.FormatUserKey(usrID))

	if err == nil {
		//user not found
		reply.Status = tribrpc.Exists
		return nil
		//return err
	}

	err = ts.libStore.Put(util.FormatUserKey(usrID), "exists")

	if err != nil {

		return nil
	}

	//populate reply struct
	reply.Status = tribrpc.OK
	return nil
}
예제 #2
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	if ts.userExist(args.UserID) == true {
		reply.Status = tribrpc.Exists
		return nil
	}
	reply.Status = tribrpc.OK
	ts.ls.Put(util.FormatUserKey(args.UserID), util.FormatUserKey(args.UserID))
	return nil
}
예제 #3
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {

	user := util.FormatUserKey(args.UserID)

	// Check that this user doesn't already exist
	if _, err := ts.ls.Get(user); err != nil {
		ts.ls.Put(user, user)
		reply.Status = tribrpc.OK
	} else {
		reply.Status = tribrpc.Exists
	}
	return nil
}
예제 #4
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	key := util.FormatUserKey(args.UserID)
	if ts.checkIfKnown(key) {
		reply.Status = tribrpc.Exists
	} else {
		err := ts.storage.Put(key, args.UserID)
		if err != nil {
			return err
		}
		reply.Status = tribrpc.OK
	}
	return nil
}
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {

	key := util.FormatUserKey(args.UserID)
	_, err := ts.libstore.Get(key)

	if err == nil {
		reply.Status = tribrpc.Exists
	} else {
		err2 := ts.libstore.Put(key, key)
		if err2 != nil {
			return err2
		}
		reply.Status = tribrpc.OK
	}

	return nil
}
예제 #6
0
/*Creating users:
Before a user can either subscribe, add Tribbles, or be subscribed to,it must rst be created using the
CreateUser method. On success, it replies with tribrpc.OK. If the user already is in the system,
it replies with tribrpc.Exists.
There is no interface to delete users (once a user is created, it can never be deleted).*/
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	LOGE.Printf("CreateUser:: args=%s\n", string(marshal(*args)))
	userIDKey := GetUserKey(args.UserID)
	_, err := ts.lib.Get(userIDKey)
	if err == nil {
		reply.Status = tribrpc.Exists
		return err
	}
	err = ts.lib.Put(userIDKey, args.UserID)
	if err != nil {
		reply.Status = tribrpc.Exists
		return nil
	}
	reply.Status = tribrpc.OK
	LOGE.Printf("CreateUser:: reply=%s\n", string(marshal(reply)))
	return nil
}
예제 #7
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	user_id := util.FormatUserKey(args.UserID)

	_, err := ts.lib_store.Get(user_id)
	if err == nil {
		reply.Status = tribrpc.Exists
		return nil
	}

	err = ts.lib_store.Put(user_id, args.UserID)
	if err != nil {
		reply.Status = tribrpc.Exists
		return err
	}
	reply.Status = tribrpc.OK
	return nil
}
예제 #8
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	userid := args.UserID
	useridkey := util.FormatUserKey(userid)
	_, err := ts.ls.Get(useridkey)

	if err == nil {
		reply.Status = tribrpc.Exists
		return nil
	}

	err2 := ts.ls.Put(useridkey, userid)
	if err2 != nil {
		reply.Status = tribrpc.Exists
		return err2
	}

	reply.Status = tribrpc.OK
	return nil
}
예제 #9
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	_, err := ts.Libstore.Get(args.UserID)
	if err == nil {
		reply.Status = tribrpc.Exists
		return nil
	}
	switch err {
	case libstore.ErrorKeyNotFound: // expected error, do nothing
	default:
		return err
	}

	err = ts.Libstore.Put(args.UserID, "")
	if err != nil {
		return err
	}

	reply.Status = tribrpc.OK
	return nil
}
예제 #10
0
func (ts *tribServer) CreateUser(args *tribrpc.CreateUserArgs, reply *tribrpc.CreateUserReply) error {
	// generate user key
	UserKey := GenerateUserKey(args.UserID)

	// check if same user exists
	_, err := ts.lib.Get(UserKey)
	if err == nil {
		reply.Status = tribrpc.Exists
		return nil
	}

	// put username in the storage
	err = ts.lib.Put(UserKey, args.UserID)
	if err != nil {
		reply.Status = tribrpc.Exists
		return nil
	}

	reply.Status = tribrpc.OK
	return nil
}