Skip to main content

Introduction

Manage administrator accounts with roles, permissions, and access control.

🎯 What does this module do?

The Admins module lets you retrieve who has access to your OneEntry admin panel and what they can do.

📖 Simple Explanation

Imagine you're running a website with a team:

  • 👑 Super Admin - Can do everything (you, the owner).
  • 👨‍💼 Content Manager - Can edit pages and products.
  • 📝 Editor - Can write blog posts.
  • 🎨 Designer - Can manage images and blocks.
  • 👀 Viewer - Can only view data, no editing.

Instead of giving everyone full access, you:

  • Create admin accounts for team members.
  • Assign specific roles and permissions.
  • Control what each person can see and edit.
  • Track who made changes (audit trail).
  • Revoke access when someone leaves the team.

Real-world example:

Without Admin Management:
- Everyone shares one account → Can't track who did what.
- Everyone has full access → Risky!
- No control over permissions.

With Admin Management:
- Each team member has their own account.
- Specific permissions per role.
- Full audit trail of changes.
- Easy to add/remove team members.

✨ Key Concepts

What is an Administrator?

An administrator (admin) is a user with elevated access to manage your OneEntry project:

  • Access rights - What parts of the system they can access.
  • Permissions - What actions they can perform (create, edit, delete).
  • Role - Their position/responsibility (e.g., "Content Manager").
  • Account info - Name, email, status.

Administrator vs Regular User

TypePurposeExample
AdministratorManages the system (backend)You, your team members
Regular UserUses your app/website (frontend)Your customers, website visitors

Key difference: Admins manage content, Users consume content.

📋 What You Need to Know

Admin Attributes

Every admin has these key fields:

{
id: 123, // Unique admin ID
attributeSetId: 27, // Unique attribute set ID
identifier: "admin", // Unique identifier
attributeSetIdentifier: "admins", // Unique attribute set identifier
position: 1, // Position
isSync: true, // Whether to sync with the backend
attributeValues: {} // Attribute values
}

Filtering Admins

Use filters to find specific admins:

Condition markers (same as Products module):

MarkerMeaningExample
eqEqualstatusId = 1 (active only)
neqNot equalrole ≠ "Viewer"
inContains (one of)role in ["Editor", "Manager"]
ninNot containsemail not in ["@temp.com"]
exsExists (has value)Has lastLogin
nexsDoes not existNever logged in

Security Considerations

Important:

  • 🔒 Never expose admin credentials in frontend code.
  • 🔐 Use secure tokens for API calls or mtls certificates.
  • 👤 Implement least privilege - give minimum permissions needed.
  • 📝 Audit changes - track who did what.
  • 🚪 Revoke access immediately when someone leaves.

❓ Common Questions (FAQ)

What's the difference between Admins and Users modules?

  • Admins - Manage your team (backend users who manage the system).
  • Users - Manage customers (frontend users who use your app/website).

How do I restrict what an admin can do?

Use roles and permissions.

🎓 Best Practices

  • Implement least privilege (minimum permissions needed).
  • Track admin actions (who did what, when).
  • Review permissions regularly.
  • Use strong password policies.
  • Consider using multi-factor authentication.
  • Change administrator passwords regularly.

For more information about the module's user interface, visit https://doc.oneentry.cloud/docs/category/administrators


Definition of the 'Admins' module


const { Admins } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);



const { Admins } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);
const body = [
{
"attributeMarker": "num",
"conditionMarker": "mth",
"conditionValue": 1
}
];

const response = await Admins.getAdminsInfo(body, "en_US", 0, 30);

Parameters schema

Schema: (body)

attributeMarker: string
Text identifier attribute
example: price

conditionMarker: string
Text identifier condition, possible values: 'in' - contains, 'nin' - does not contain, 'eq' - equal, 'neq' - not equal, 'mth' - more than, 'lth' - less than, 'exs' - exists, 'nexs' - does not exist, 'pat' - pattern, for example -, where '' represents any character, 'same' - same value as the selected attribute*
example: in
Enum: [ in, nin, eq, neq, mth, lth, exs, nexs, pat, same ]

conditionValue: number
Condition value
example: 1