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

[NEW] Update IModifyCreator to expose IUserBuilder to enable user creation #536

Merged
merged 12 commits into from Feb 8, 2023

Conversation

Yuq-Bian
Copy link
Contributor

@Yuq-Bian Yuq-Bian commented Jul 24, 2022

What? ⛵

Updated IModifyCreator to expose APIs to create & finish IUserBuilder to enable user creation for Roket.Chat Apps.

Why? 🤔

I'm a contributor for GSOC 2022 and currently working on a Rocket.Chat App to enable interop between Rocket.Chat and Microsoft Teams. The core approach for the interop is we create "dummy users" in Rocket.Chat. Each "dummy user" represents a real Teams user in Rocket.Chat world. Rocket.Chat users just need to send message to "dummy user" and the App will do the message delivery to Teams in order to build a smooth interop experience.

With this "dummy user" approach, we need this API to enable user creation for Apps.

Links 🌎

Document for "dummy user" approach

PS 👀

AD-117

@CLAassistant
Copy link

CLAassistant commented Jul 24, 2022

CLA assistant check
All committers have signed the CLA.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@Yuq-Bian Yuq-Bian marked this pull request as ready for review July 25, 2022 16:17
yash-rajpal
yash-rajpal previously approved these changes Aug 2, 2022
Copy link
Member

@yash-rajpal yash-rajpal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I tested it on my local and it works fine.

@graywolf336
Copy link
Contributor

One suggestion when you are making "dummy users", mark them as bots. Some customers are limited in the amount of users they can have in their environments and are charged per seats, so make sure you're not accidently increasing their billing.

@graywolf336
Copy link
Contributor

While looking into this, we need to take into account several factors and figure out answers to some questions:

Some Rocket.Chat instances are billed per user in their system, apps shouldn't be responsible for causing huge biling. Currently users which are marked as federated are excluded from billing, so is that the route to go? Do we limit what type of users the apps can create?

Do we automatically delete users created by the app when it is uninstalled?

@albuquerquefabio
Copy link
Contributor

albuquerquefabio commented Jan 24, 2023

While looking into this, we need to take into account several factors and figure out answers to some questions:

Some Rocket.Chat instances are billed per user in their system, apps shouldn't be responsible for causing huge biling. Currently users which are marked as federated are excluded from billing, so is that the route to go? Do we limit what type of users the apps can create?

Do we automatically delete users created by the app when it is uninstalled?

About the billed seats, we had a discussion and decided to allow to create only bot users. (It may change if necessary)

We'll implement the feature to delete all users when you uninstall the app. Probably, we'll use the appId to find all users created by the app and delete them.

@albuquerquefabio albuquerquefabio changed the title Update IModifyCreator to expose IUserBuilder to enable user creation [NEW] AD-117 Update IModifyCreator to expose IUserBuilder to enable user creation Feb 1, 2023
Copy link
Contributor

@AllanPazRibeiro AllanPazRibeiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@d-gubert d-gubert changed the title [NEW] AD-117 Update IModifyCreator to expose IUserBuilder to enable user creation [NEW] Update IModifyCreator to expose IUserBuilder to enable user creation Feb 8, 2023
@d-gubert d-gubert merged commit 4f0a813 into RocketChat:alpha Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants