fleeta-api-lib
Version:
A comprehensive library for fleet management applications - API, Auth, Device management
304 lines • 9.93 kB
TypeScript
/**
* 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