UNPKG

fleeta-api-lib

Version:

A comprehensive library for fleet management applications - API, Auth, Device management

304 lines 9.93 kB
/** * Users API Type Definitions * Defines interfaces and types for user management functionality */ /** * User type for fleet member roles */ export type FleetUserType = 'SubMaster' | 'User'; /** * Login application type */ export type LoginApp = 'fleeta' | 'blackvue'; /** * Token type for requests */ export type TokenType = 'web' | 'app'; /** * Invite member request parameters interface */ export interface InviteMemberParams { email: string; user_token: string; guestEmail: string; userType: FleetUserType; tokenType?: TokenType; loginApp?: LoginApp; } /** * Invite member API response interface */ export interface InviteMemberResponse { resultcode: string; message: string; } /** * Invite member error codes mapping */ export declare const INVITE_MEMBER_ERROR_MESSAGES: { readonly BC_ERR_INVALID_DATA: "Invalid data provided"; readonly BC_ERR_DUPLICATED: "Email is already registered or invitation already exists"; readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_UNAVAILABLE: "Already have subscription - cannot invite more members"; readonly BC_ERR_INTERNAL_ERROR: "Internal server error occurred"; }; /** * Fleet user type display names */ export declare const FLEET_USER_TYPE_NAMES: Record<FleetUserType, string>; /** * Login app display names */ export declare const LOGIN_APP_NAMES: Record<LoginApp, string>; /** * Group information for invited member */ export interface InvitedMemberGroup { groupManageMentID: string; groupName: string; } /** * Invited member information interface */ export interface InvitedMemberInfo { email: string; role: 'Master' | 'SubMaster' | 'User'; groups: InvitedMemberGroup[]; dateInvited: string; mailStatus: string; firstName: string; lastName: string; profileImg: string; hostEmail: string; hostfirstName: string; hostlastName: string; hostRole: 'Master' | 'SubMaster' | 'User'; } /** * Get invite member list request parameters interface */ export interface GetInviteMemberListParams { email: string; user_token: string; tokenType?: TokenType; startIndex?: number; endIndex?: number; ordering?: 0 | 1; searchKey: string; } /** * Get invite member list API response interface */ export interface GetInviteMemberListResponse { resultcode: string; message: string; response?: { inviteMember: InvitedMemberInfo[]; inviteMemberCount: number; }; } /** * Get invite member list error codes mapping */ export declare const GET_INVITE_MEMBER_ERROR_MESSAGES: { readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_UNAVAILABLE: "Already joined BlackVueCloud"; readonly BC_ERR_SERVER: "Internal server error occurred"; readonly BC_ERR_PERMISSION: "Permission error - insufficient privileges"; }; /** * Delete member request parameters interface */ export interface DeleteMemberParams { email: string; user_token: string; deleteEmail: string; deleteEmailUserType: FleetUserType; tokenType?: TokenType; loginApp?: LoginApp; } /** * Delete member API response interface */ export interface DeleteMemberResponse { resultcode: string; message: string; response?: {}; } /** * Delete member error codes mapping */ export declare const DELETE_MEMBER_ERROR_MESSAGES: { readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_SERVER: "Internal server error occurred"; readonly BC_ERR_PERMISSION: "Permission error - insufficient privileges"; readonly BC_ERR_ALREADY_REQUESTED: "Member has already been deleted"; }; /** * Mail status display names */ export declare const MAIL_STATUS_NAMES: { readonly A: "Active"; readonly P: "Pending"; readonly C: "Completed"; readonly F: "Failed"; }; /** * User role display names (extended for invited members) */ export declare const USER_ROLE_NAMES: { readonly Master: "Fleet Master"; readonly SubMaster: "Fleet Manager"; readonly User: "Driver"; }; /** * User permissions interface * Defines all available permissions for fleet management */ export interface UserPermissions { listDashcam: boolean; registerDashcam: boolean; changeDashcamName: boolean; deleteDashcam: boolean; dashcamInformation: boolean; firmwareSettings: boolean; privacy: boolean; eventAutoUpload: boolean; firmwareUpdate: boolean; pushNotifications: boolean; cloudUploadManual: boolean; vodDownload: number; myBlackVueFilePlay: boolean; cloudFilePlay: boolean; fileDelete: boolean; liveView: number; fileMove: boolean; gpsTracking: boolean; geoFence: boolean; driveReports: boolean; membersInquiry: boolean; inviteSubMaster: boolean; inviteUser: boolean; deleteSubMaster: boolean; deleteUser: boolean; registerGroup: boolean; deleteGroup: boolean; changeGroupName: boolean; assignDashcamToGroup: boolean; deleteDashcamFromGroup: boolean; assignSubMasterToGroup: boolean; deleteSubMasterFromGroup: boolean; assignUserToDashcam: boolean; deleteUserFromDashcam: boolean; setSubMasterPermissions: boolean; inquirySubMasterPermissions: boolean; setPushNotification: boolean; setEmailNotification: boolean; sharingVideoToEventMap: boolean; cloudStorageUsage: number; eldHosCompliance?: boolean; } /** * Get user permissions request parameters interface */ export interface GetUserPermissionsParams { email: string; user_token: string; tokenType?: TokenType; } /** * Get user permissions API response interface */ export interface GetUserPermissionsResponse { resultcode: string; message: string; response?: { permissions: UserPermissions; }; } /** * Get user permissions error codes mapping */ export declare const GET_USER_PERMISSIONS_ERROR_MESSAGES: { readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_SERVER: "Internal server error occurred"; readonly BC_ERR_UNAVAILABLE: "UserType is not valid or subscription information not found"; }; /** * Get target user permissions request parameters interface (Master queries SubMaster/User) */ export interface GetTargetUserPermissionsParams { email: string; user_token: string; targetEmail: string; tokenType?: TokenType; } /** * Get target user permissions API response interface (Master queries SubMaster/User) */ export interface GetTargetUserPermissionsResponse { resultcode: string; message: string; response?: { permissions: UserPermissions; }; } /** * Get target user permissions error codes mapping */ export declare const GET_TARGET_USER_PERMISSIONS_ERROR_MESSAGES: { readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_SERVER: "Internal server error occurred"; readonly BC_ERR_UNAVAILABLE: "UserType is not valid, unsupported target email, or subscription information not found"; }; /** * Set target user permissions request parameters interface (Master sets SubMaster/User permissions) */ export interface SetTargetUserPermissionsParams { email: string; user_token: string; roleSetEmail: string; permissions: UserPermissions; tokenType?: TokenType; } /** * Set target user permissions API response interface (Master sets SubMaster/User permissions) */ export interface SetTargetUserPermissionsResponse { resultcode: string; message: string; response?: {}; } /** * Set target user permissions error codes mapping */ export declare const SET_TARGET_USER_PERMISSIONS_ERROR_MESSAGES: { readonly BC_ERR_AUTHENTICATION: "Authentication failed - please check your credentials"; readonly BC_ERR_INVALID_PARAMETER: "Invalid parameter provided"; readonly BC_ERR_SERVER: "Internal server error occurred"; readonly BC_ERR_UNAVAILABLE: "UserType is not valid or unsupported target email"; }; /** * Permission display names for UI */ export declare const PERMISSION_DISPLAY_NAMES: Record<keyof UserPermissions, string>; /** * Permission categories for UI organization */ export declare const PERMISSION_CATEGORIES: { readonly deviceManagement: readonly ["listDashcam", "registerDashcam", "changeDashcamName", "deleteDashcam", "dashcamInformation"]; readonly deviceSettings: readonly ["firmwareSettings", "privacy", "eventAutoUpload", "firmwareUpdate", "pushNotifications", "cloudUploadManual"]; readonly streamingMedia: readonly ["vodDownload", "myBlackVueFilePlay", "cloudFilePlay", "fileDelete", "liveView", "fileMove"]; readonly trackingMonitoring: readonly ["gpsTracking", "geoFence", "driveReports"]; readonly userManagement: readonly ["membersInquiry", "inviteSubMaster", "inviteUser", "deleteSubMaster", "deleteUser"]; readonly groupManagement: readonly ["registerGroup", "deleteGroup", "changeGroupName", "assignDashcamToGroup", "deleteDashcamFromGroup", "assignSubMasterToGroup", "deleteSubMasterFromGroup", "assignUserToDashcam", "deleteUserFromDashcam"]; readonly advanced: readonly ["setSubMasterPermissions", "inquirySubMasterPermissions", "setPushNotification", "setEmailNotification", "sharingVideoToEventMap"]; readonly storage: readonly ["cloudStorageUsage"]; readonly compliance: readonly ["eldHosCompliance"]; }; //# sourceMappingURL=types.d.ts.map