Skip to content
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

WeLoop: Sufficient Social GraphQL exposure for initial use cases #18

Open
adam-burns opened this issue Nov 18, 2021 · 10 comments
Open

WeLoop: Sufficient Social GraphQL exposure for initial use cases #18

adam-burns opened this issue Nov 18, 2021 · 10 comments

Comments

@adam-burns
Copy link
Member

Assess, implement, debug, test & verify the ReflowOS GraphQL equivalent exposure to ZP Comment, Thread, Like and Flag extensions operate correctly with WeLoop to the extent required by initial use case flows.

@adam-burns
Copy link
Member Author

See WeLoop #69 for WeLoop specific uses:

Activity reflow-project/weloop#135 (maybe not critical unless it also provides information about the value flows activity)
Community reflow-project/weloop#129
Comment reflow-project/weloop#130
Thread reflow-project/weloop#132
Like reflow-project/weloop#124
Flag reflow-project/weloop#126

@mayel
Copy link
Contributor

mayel commented Nov 26, 2021

Work on the API is ongoing, will track progress here:

  • Sign up (create account)
  • Log in
  • Create user
  • List users for account
  • Select user
  • Request new confirmation email
  • Confirm email (probably not necessary, as user would click on link in email)
  • Request new password
  • Change password
  • Edit user
  • Agent -> User
    • Fetch current agent
    • Get one
    • List
  • User
    • Fetch current user
    • Get one
  • Follow
    • Follow someone
    • List current user's followers
    • List current user's followed
  • Activity
    • Get one
  • Activity Feeds
    • Feed for current user
    • Notifications for current user
    • Activities of a user
    • Other feeds (eg. local activities)
  • Post
    • List
    • Get one
    • Create a post
  • Thread/Comment
    • List comments on something
    • Add a comment
  • Boost
    • Boost
    • Get boost counts
    • Know if I already boosted something
    • List boosts by current user
  • Like
    • Like
    • Get like counts
    • Know if I already liked something
    • List likes by current user
  • Flag
    • Flag
    • List flags as admin
  • Organisation
    • Create
    • Authenticate as organisation
    • Invite members
    • List
    • Get one
  • Community/Group
    • Create
    • Join
    • List
    • Get one

@mayel
Copy link
Contributor

mayel commented Dec 12, 2021

@adam-burns I've now pushed most of the queries and mutations. I could use help prioritising what's missing:

  • pagination of list queries is WIP/pending because I want to align it with the upcoming refactor of pagination of the VF API schema
  • various user related mutations which shouldn't be a blocker to get started refactoring the client
  • various subqueries related to boost/like (counts and status)
  • organisation, which isn't something that the client app uses AFAIK
  • community/group, which isn't something currently implemented in Bonfire but which I can add if needed

@adam-burns
Copy link
Member Author

Thanks @mayel !

Awaiting WeLoop dev feedback on WIP, but current priorities for this issue would be

  • various user related mutations
  • community/group **
  • organisation **

Notes:

  • pagination: understood. the WeLoop client currently has some amount of client side handling so is not yet a blocking issue.
  • various subqueries related to boost/like don't appear to be blocker atm.

** are these related to bonfire_circles extension or separate?

@mayel
Copy link
Contributor

mayel commented Dec 15, 2021

Noted. To answer your question, circles and boundaries will come into play for groups and organisations at some point to manage roles and permissions. For now organisations are implemented more like "shared users" where multiple people can login with their own account and can all choose to act as the organisation (meaning they're all admins of it).

@pral2a
Copy link

pral2a commented Dec 22, 2021

@adam-burns are the latest changes live on the Bon Fire staging server? Thanks

http://135.181.35.156:4000/api/explore

@adam-burns
Copy link
Member Author

@pral2a the latest changes are not yet reflected in the docker image or staging server, as due to multiple component upgrades, there remain some consequential Phoenix issues could impact pilot use on staging.

However, in the meantime, a local build can be performed for assessment by:

Raising a local ReflowOS instance

# pnpm is build dependency
sudo npm install -g pnpm

git clone https://github.com/dyne/bonfire-app && cd bonfire-app
git checkout bfext-update
export FLAVOUR=reflow
export WITH_DOCKER=easy
make pre-config
make secrets
# edit config/dev/secrets.env with 3 keys output from make secrets
export FLAVOUR=reflow
export WITH_DOCKER=easy
make setup
make dev

To create first user in Elixir console

Bonfire.ReleaseTasks.create_user!("bob@example.com", "bob's pass", "bobs_username", "Bob's Full Name")

http://localhost:4000/api/explore then contains a docs link describing all up to date GraphQL endpoints

@adam-burns
Copy link
Member Author

adam-burns commented Dec 22, 2021

Noted. To answer your question, circles and boundaries will come into play for groups and organisations at some point to manage roles and permissions. For now organisations are implemented more like "shared users" where multiple people can login with their own account and can all choose to act as the organisation (meaning they're all admins of it).

Thanks for the clarification @mayel . Could you please update this issue on the status of remaining priorities?

@mayel
Copy link
Contributor

mayel commented Dec 23, 2021

Awaiting WeLoop dev feedback on WIP, but current priorities for this issue would be

* various user related mutations

* community/group **

* organisation **

All items related to user and organisation are now checked off (I've been updating the checklist above)

@adam-burns
Copy link
Member Author

Thanks @mayel for also preparing graphql example usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants