-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: ListUsersByPrefix and ListJsonUsersByPrefix #35
Conversation
Signed-off-by: Jeff Thompson <[email protected]>
Signed-off-by: Jeff Thompson <[email protected]>
Signed-off-by: Jeff Thompson <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
// (The caller usually has already called usernameOf to get the username, but if | ||
// it is "" then this will get it.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't understand this comment :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function has an argument for the user address, but also an argument for the username. We want to save CPU cycles. In all the cases where code needs to call this function, it has already looked up the user name by user address.
https://github.com/gnolang/gnosocial/blob/1c86452df7b8f9400863386b98edeaa3c7c12aa9/realm/public.gno#L70
So it should not be necessary for this function to look it up again. The comment is justifying why this function has a username argument. For completeness, this function will look up the username by user address, but only if the caller doesn't provide the username.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think that the comment needs to be updated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the next PR ;)
The GnoSocial demo app needs to search by username. This PR has three commits:
gUserAddressByName
. Add a centralized utility functiongetOrCreateUserPosts
which creates a new UserPosts if needed and adds it togUserPostsByAddress
as well as updatinggUserAddressByName
. Change public functions likePostMessage
to usegetOrCreateUserPosts
. Also, we can simplifyRender
for the main page by listing all usernames directly fromgUserAddressByName
.ListUsersByPrefix
. (This uses a temporary local copy ofListKeysByPrefix
which can be removed when the PR is merged to add this to p/demo/avlhelpers.) Also, addListJsonUsersByPrefix
which returns the same result a JSON array.GetUsers
andGetJsonUsers
(which return all users and are not scalable). The app can useListJsonUsersByPrefix
instead.