Users

Overview of users management

The Users list is a tool for managing and organizing your app or project users. It includes viewing and editing user profiles, assigning roles and permissions, and accessing user information.

Here are some of the specific features and capabilities as follows:

  • List users: You can view a list of all registered users of your app, including details such as their username, email address, and any roles or permissions assigned to them.

  • View user profiles: You can access detailed information about each user, such as their name, contact information, and any additional fields you have defined.

  • Edit user profiles: You can modify user information such as their name, email address, or other profile fields.

  • Assign roles and permissions: You can specify each user's roles and permissions within your app, controlling what they can do and access.

  • Delete users: You can delete users from the system, removing their access to your app.

Types of users

The following are the types of users available for use:

  1. User: A simple user is a registered user of your app who has been assigned roles and permissions defined in the module settings or through the API. Simple users can typically access your app's full range of features and functionality, depending on their assigned roles and permissions.

  2. Guest: A guest user is a user who is not registered with your app but whose information you want to track and save in the backend. This might include users who make purchases or perform other actions as anonymous, non-registered users.

  3. Phone: A phone user is a registered user of your app whose phone number is their primary identifier. This can be useful for apps relying on phone-based authentication or verifying user identity through phone numbers.

  4. Service: A system user is a user that represents a system or service, such as a server or API client. System users are typically used for automation or integration purposes and do not represent real users of the app.

There is a particular type of user called the Project Admin user. The Project Admin user is created automatically when a new project is created and has all rights and permissions within the project. The Project Admin user's email is the same as the email of the account that created the project, and it has a token that can be changed in the Project Settings.

The Project Admin user can be used while establishing a new project using the CLI, as it has full access to all of the resources and functionality of the project. However, it is important to note that the Project Admin user should not be used in any circumstances in any app client for security reasons. Instead, it should only be used for administrative or integration purposes, and its token should be kept secure and confidential.

Users List

To view the list of users that are registered within your project using the CodeMash Membership module, you can go to the Cloud Management Console and navigate to the Users page under the Membership tab. This will show you a list of all the users who have registered for your app, including their usernames, email addresses, and any roles or permissions assigned to them. You can use the Users page to manage and organize your user base, view user profiles, and perform other user-related tasks.

Create New User

To create a new user, you can follow these steps:

  1. Go to the list of Users.

  2. Click on the "Add New" button in the top right corner of the page.

  3. Fill in the form with the necessary information for the new user, including their username, email address, and any other profile fields you want to include.

  4. Choose the roles and permissions that you want to assign to the user.

  5. Click on the "Create" button to create a new user.

Once you have created the new user, they will be added to the list of users in your project, and you will be able to view and manage their information using the Users page. You can also use the API or the CLI to create new users if you prefer to automate the process or perform it programmatically.

Edit User

To edit an existing user in the CodeMash Membership module, you can follow these steps:

  1. Go to the list of Users.

  2. Locate the user that you want to edit in the list of users.

  3. Click on the user's name, email/username to view their profile.

  4. Make changes to the user's information, including their username, email address, and other profile fields.

  5. Select the appropriate options from the available roles and permissions list if you want to change the user's roles or permissions.

  6. Click the "Save" button to apply changes to the user's profile.

Once you have edited the user's information, the updated information will be saved in the system. It will be reflected on the Users page and other parts of the app where the user's information is displayed. You can also use the API or the CLI to edit users if you prefer to automate the process or perform it programmatically.

In addition to editing the information for an existing user, you can also delete or block a user. To delete a user, you can follow the same steps as editing a user, but instead of clicking on the "Save" button, you can click on the "Delete" button. This will remove the user from the system and revoke access to your app. You can click on the "Block" button on the user's profile page to block a user. This will prevent the user from logging in to your app and accessing its features, but it will not delete their user account. You can unblock a user anytime by clicking on the "Unblock" button on their profile page.

User fields

The CodeMash Membership module allows you to manage and organize the users of your app or project by specifying a set of user fields that you can use to store and track information about your users. These fields can include standard information such as a user's name, email address, phone number, and custom fields that you define to store additional data.

Here is a list of the user fields that are available in the CodeMash Membership module, along with a brief description of each field:

User Type

Type

Authentication Provider

Can be CodeMash, Apple,Google,Facebook,...

Status

Active / Blocked

Identification

Email Address

User password. Not applicable for Service users

Password

User password. Not applicable for Guest, Phone, or Service users

Display Name

Display name of user. Can be used to represent friednly user name, nickname or combined first and last name.

General Information

First Name

Last Name

Gender

Male, Female, Undefined

Birth Date

User birthdate

Phone Number

When user is type of Phone, this field appears in Identification section.

Address

Country

Country name

Country code

Country code

Area

Area/Disctrict/Municipality or any other meaning to your app or project

City

City

Address

Full address

Address 2

Additional address. It might be a business address, shipping address, or any other meaning

Postal Code

Postal or zip code

Marketing

Language

The field is used to store the preferred language of a user. This field is optional, and a user can either specify their language during the registration process or the app can automatically detect their language based on the context.

Once a user's language has been set, the app can use this information to communicate with the user in their preferred language. For example, the app might send emails or push notifications to the user in their preferred language or display the user interface in the appropriate language.

This can be useful for apps used by users who speak different languages, as it allows the app to provide a more personalized and seamless experience for each user.

Time Zone

The field is used to store the preferred time zone of a user. This field is optional; the app can automatically detect the user's time zone based on their location.

Once a user's time zone has been set, the app can use this information to display times and dates to the user in their preferred time zone and send them notifications at appropriate times.

This can be useful for apps used by users in different time zones, as it allows the app to provide a more accurate and consistent experience for each user, ensuring that they receive notifications at the right time for their location.

Subscribed to News

The field is used to store whether a user has subscribed to receive news or other types of notifications from the app. This field is typically a boolean value (true or false) and can be used to manage the user's preferences for receiving notifications.

Suppose a user has subscribed to receive news. In that case, the app can use this information to send them notifications or updates about new features, events, or other information that might be of interest to them.

This can be useful for keeping users informed and engaged with your app and providing a personalized experience for each user.

Unsubscribed Tags

The field stores a list of tags that a user has unsubscribed from. This field is typically a list of strings and can be used to manage the user's preferences for receiving notifications.

If a user has unsubscribed from certain tags, they do not want to receive notifications or updates associated with those tags. For example, if a user has unsubscribed from the "promotions" tag, they will not receive notifications marked with that tag.

This can be useful for allowing users to customize their notification preferences and avoid receiving notifications that are not relevant to them.

Payment Zone

The field is used to store the payment zone for a user. This field is optional and can be used to manage the prices of products or services sold to users based on their location.

If a user's payment zone is set, the app can use this information to display the appropriate prices for products or services to the user. For example, if a user is located in a region with higher prices, the app might display higher prices to the user than a user in a region with lower prices.

This can be useful for app developers who want to customize their pricing based on the location of their users.

Meta fields

The "Meta fields" section stores additional information about a user not included in the standard user fields. These are custom fields that you can define to store any additional data you want to track for your users.

Meta fields are a way to extend the user schema and add custom fields to store additional information about your users.

When you define a meta field, it is automatically displayed in the "Meta fields" section of the user's profile. This allows you to track and manage any additional data you need to store for your users, such as preferences, interests, or other types of information.

Permissions

The "Permissions" section is used to manage the roles and permissions of a user. Roles are predefined sets of permissions used to control a user's access to different features and functionality of the app. Policies are specific permissions that can be granted or revoked independently of a role.

In the "Permissions" section, you can set one or more user roles or assign specific policies to the user.

This allows you to fine-tune a user's access to different parts of the app and control what they can and cannot do within the app.

Users API methods

Exposed API user methods allow you to register and manage your users.

Last updated