mediasfu-reactnative-expo
Version:
mediasfu-reactnative-expo – Expo-managed React Native WebRTC SDK for video conferencing, webinars, live streaming, broadcast, screen sharing, whiteboard, chat, recording, live subtitles, translation, and AI agent rooms on iOS, Android, and web. Prebuilt r
66 lines • 2.07 kB
JavaScript
import { updateParticipantPermission as sharedUpdateParticipantPermission, bulkUpdateParticipantPermissions as sharedBulkUpdateParticipantPermissions, } from 'mediasfu-shared';
/**
* Updates a single participant's permission level.
* Only hosts (islevel === "2") can update permissions.
* Cannot change a host's permission level.
*
* @param {UpdateParticipantPermissionOptions} options - Options for updating permission.
*
* @example
* ```typescript
* await updateParticipantPermission({
* socket,
* participant: { id: "123", name: "John", islevel: "0" },
* newLevel: "1",
* member: "currentUser",
* islevel: "2",
* roomName: "room123",
* showAlert: (alert) => console.log(alert.message),
* });
* ```
*/
export const updateParticipantPermission = async ({ socket, participant, newLevel, member, islevel, roomName, showAlert, }) => {
await sharedUpdateParticipantPermission({
socket,
participant,
newLevel,
member,
islevel,
roomName,
showAlert,
});
};
/**
* Updates multiple participants' permission levels in bulk.
* Only hosts (islevel === "2") can update permissions.
* Processes in batches (default max 50 at a time).
*
* @param {BulkUpdateParticipantPermissionsOptions} options - Options for bulk updating permissions.
*
* @example
* ```typescript
* await bulkUpdateParticipantPermissions({
* socket,
* participants: [participant1, participant2],
* newLevel: "0",
* member: "currentUser",
* islevel: "2",
* roomName: "room123",
* showAlert: (alert) => console.log(alert.message),
* maxBatchSize: 50,
* });
* ```
*/
export const bulkUpdateParticipantPermissions = async ({ socket, participants, newLevel, member, islevel, roomName, showAlert, maxBatchSize = 50, }) => {
await sharedBulkUpdateParticipantPermissions({
socket,
participants,
newLevel,
member,
islevel,
roomName,
showAlert,
maxBatchSize,
});
};
//# sourceMappingURL=updateParticipantPermission.js.map