Skip to content

Users API ​

The UsersResource manages registered user accounts on your Skyroom domain.

php
use Skyroom\Laravel\Facades\Skyroom;
use Skyroom\Laravel\Enums\Status;
use Skyroom\Laravel\Enums\Gender;

all() ​

Returns a list of all user accounts.

php
$users = Skyroom::users()->all();
// Or:
$users = Skyroom::getUsers();

Response Format:

php
[
    [
        'id' => 1,
        'username' => 'parham',
        'nickname' => 'پرهام',
        'status' => 1,
    ],
    // ...
]

count() ​

Returns the total count of registered users.

php
$count = Skyroom::users()->count();

get(int|string|array $idOrUsername) ​

Retrieves details for a specific user by ID, username, or params.

php
// By User ID
$user = Skyroom::users()->get(1);

// By Username
$user = Skyroom::users()->get('parham');

// By parameters array
$user = Skyroom::users()->get(['user_id' => 1]);

Response Fields:

php
[
    'id' => 1,
    'username' => 'parham',
    'nickname' => 'پرهام',
    'email' => 'example@gmail.com',
    'fname' => 'پرهام',
    'lname' => 'عابدینی',
    'gender' => 1, // 0: Unknown, 1: Male, 2: Female
    'status' => 1, // 0: Inactive, 1: Active
    'is_public' => false,
    'concurrent' => 0, // 0 = unlimited concurrent logins
    'time_limit' => null,
    'time_usage' => 426466,
    'time_total' => 8464516,
    'expiry_date' => null,
    'create_time' => 1489021434,
    'update_time' => 1489021434,
]

create(array $params) ​

Creates a new user. Returns the created user_id integer.

php
use Skyroom\Laravel\Enums\Status;
use Skyroom\Laravel\Enums\Gender;

$userId = Skyroom::users()->create([
    'username' => 'ali_rezaei',         // Latin characters (max 32 chars)
    'password' => 'SecurePass123!',     // Max 24 chars
    'nickname' => 'علی رضایی',          // Display name (max 128 chars)
    'email' => 'ali@example.com',       // Optional (max 128 chars)
    'fname' => 'علی',                   // Optional first name
    'lname' => 'رضایی',                 // Optional last name
    'gender' => Gender::MALE->value,    // 0: Unknown, 1: Male, 2: Female
    'status' => Status::ACTIVE->value,  // 0: Inactive, 1: Active
    'is_public' => false,               // True: public account for shared access
    'concurrent' => 1,                  // Max concurrent sessions (0 = unlimited)
]);

update(int $userId, array $params) ​

Updates an existing user profile or credentials. Returns 1 on success.

php
Skyroom::users()->update($userId, [
    'nickname' => 'علی رضایی (سرگروه)',
    'password' => 'NewSecretPassword!',
    'status' => Status::ACTIVE->value,
]);

delete(int $userId) ​

Deletes a single user account permanently. Returns 1 on success.

php
Skyroom::users()->delete($userId);

deleteMany(array $users) ​

Deletes multiple users in one call. Accepts an array of user IDs.

php
$result = Skyroom::users()->deleteMany([101, 102, 103]);

// Returns:
// [
//     'success' => 2,
//     'failure' => 1,
// ]

rooms(int $userId) ​

Lists all rooms that a user has access to.

php
$rooms = Skyroom::users()->rooms($userId);

Response Format:

php
[
    [
        'room_id' => 1,
        'name' => 'meeting',
        'title' => 'اتاق جلسات',
        'access' => 1,
    ],
]

addRooms(int $userId, array $rooms) ​

Assigns multiple rooms to a user. Returns count of assigned rooms.

php
use Skyroom\Laravel\Enums\AccessLevel;

$count = Skyroom::users()->addRooms($userId, [
    ['room_id' => 1],
    ['room_id' => 2, 'access' => AccessLevel::PRESENTER->value],
]);

removeRooms(int $userId, array $rooms) ​

Removes room assignments from a user. Accepts an array of room IDs.

php
$count = Skyroom::users()->removeRooms($userId, [1, 2]);

Released under the MIT License.