podchat
Version:
Javascript SDK to use POD's Chat Service
332 lines (307 loc) • 8.33 kB
JavaScript
const chatMessageVOTypes = {
CREATE_THREAD: 1,
MESSAGE: 2,
SENT: 3,
DELIVERY: 4,
SEEN: 5,
PING: 6,
BLOCK: 7,
UNBLOCK: 8,
LEAVE_THREAD: 9,
ADD_PARTICIPANT: 11,
GET_STATUS: 12,
GET_CONTACTS: 13,
GET_THREADS: 14,
GET_HISTORY: 15,
CHANGE_TYPE: 16,
REMOVED_FROM_THREAD: 17,
REMOVE_PARTICIPANT: 18,
MUTE_THREAD: 19,
UNMUTE_THREAD: 20,
UPDATE_THREAD_INFO: 21,
FORWARD_MESSAGE: 22,
USER_INFO: 23,
USER_STATUS: 24,
GET_BLOCKED: 25,
RELATION_INFO: 26,
THREAD_PARTICIPANTS: 27,
EDIT_MESSAGE: 28,
DELETE_MESSAGE: 29,
THREAD_INFO_UPDATED: 30,
LAST_SEEN_UPDATED: 31,
GET_MESSAGE_DELEVERY_PARTICIPANTS: 32,
GET_MESSAGE_SEEN_PARTICIPANTS: 33,
IS_NAME_AVAILABLE: 34,
JOIN_THREAD: 39,
BOT_MESSAGE: 40,
SPAM_PV_THREAD: 41,
SET_ROLE_TO_USER: 42,
REMOVE_ROLE_FROM_USER: 43,
CLEAR_HISTORY: 44,
SYSTEM_MESSAGE: 46,
GET_NOT_SEEN_DURATION: 47,
PIN_THREAD: 48,
UNPIN_THREAD: 49,
PIN_MESSAGE: 50,
UNPIN_MESSAGE: 51,
UPDATE_CHAT_PROFILE: 52,
GET_PARTICIPANT_ROLES: 54,
GET_REPORT_REASONS: 56,
REPORT_THREAD: 57,
REPORT_USER: 58,
REPORT_MESSAGE: 59,
GET_CONTACT_NOT_SEEN_DURATION: 60,
ALL_UNREAD_MESSAGE_COUNT: 61,
CREATE_BOT: 62,
DEFINE_BOT_COMMAND: 63,
START_BOT: 64,
STOP_BOT: 65,
LAST_MESSAGE_DELETED: 66,
LAST_MESSAGE_EDITED: 67,
BOT_COMMANDS: 68,
THREAD_ALL_BOTS: 69,
CALL_REQUEST: 70,
ACCEPT_CALL: 71,
REJECT_CALL: 72,
RECEIVE_CALL_REQUEST: 73,
START_CALL: 74,
END_CALL_REQUEST: 75,
END_CALL: 76,
GET_CALLS: 77,
CONTACT_SYNCED: 90,
GROUP_CALL_REQUEST: 91,
LEAVE_CALL: 92,
ADD_CALL_PARTICIPANT: 93,
CALL_PARTICIPANT_JOINED: 94,
REMOVE_CALL_PARTICIPANT: 95,
TERMINATE_CALL: 96,
MUTE_CALL_PARTICIPANT: 97,
UNMUTE_CALL_PARTICIPANT: 98,
LOGOUT: 100,
ACTIVE_CALL_PARTICIPANTS: 110,
CALL_SESSION_CREATED: 111,
TURN_ON_VIDEO_CALL: 113,
TURN_OFF_VIDEO_CALL: 114,
RECORD_CALL: 121,
END_RECORD_CALL: 122,
DESTINATED_RECORD_CALL: 126,
ASSISTANT_CALL_STARTED: 127,
ASSISTANT_CALL_ENDED: 128,
GET_CALLS_TO_JOIN: 129,
EXPORT_CHAT: 152,
SWITCH_TO_GROUP_CALL_REQUEST: 221,
RECORD_CALL_STARTED: 222,
GET_THREAD_LIGHT: 237,
ADD_REACTION: 239,
REPLACE_REACTION: 240,
REMOVE_REACTION: 241,
REACTION_LIST: 242,
GET_MY_REACTION: 243,
REACTION_COUNT: 244,
CUSTOMIZE_REACTION: 245,
ERROR: 999
}
const inviteeVOidTypes = {
TO_BE_USER_SSO_ID: 1,
TO_BE_USER_CONTACT_ID: 2,
TO_BE_USER_CELLPHONE_NUMBER: 3,
TO_BE_USER_USERNAME: 4,
TO_BE_USER_ID: 5
}
const createThreadTypes = {
NORMAL: 0,
OWNER_GROUP: 1,
PUBLIC_GROUP: 2,
CHANNEL_GROUP: 4,
CHANNEL: 8,
NOTIFICATION_CHANNEL: 16,
SELF: 0x80
}
const chatMessageTypes = {
TEXT: '1',
VOICE: '2',
PICTURE: '3',
VIDEO: '4',
SOUND: '5',
FILE: '6',
POD_SPACE_PICTURE: '7',
POD_SPACE_VIDEO: '8',
POD_SPACE_SOUND: '9',
POD_SPACE_VOICE: '10',
POD_SPACE_FILE: '11',
LINK: '12',
END_CALL: '13',
START_CALL: '14',
STICKER: '15',
LOCATION: '16',
ENCRYPTED_TEXT: '17',
ADD_PARTICIPANT: '18',
REMOVE_PARTICIPANT: '19'
};
const chatStickerTypes = {
HI_FIVE: 1,
LIKE: 2,
HAPPY: 3,
CRY: 4,
THUMBS_DOWN: 5,
RED_HEART: 6,
ANGRY_FACE: 7,
VERIFICATION: 8,
HEART_EYES: 9,
CLAPPING_HANDS: 10,
FACE_SCREAMING: 11,
FLUSHING_FACE: 12,
GRIMACING_FACE: 13,
NO_EXPRESSION_FACE: 14,
ROFL: 15,
FACEPALMING_GIRL: 16,
FACEPALMING_BOY: 17,
SWEARING_FACE: 18,
BLOWING_KISS_FACE: 19,
SEE_NO_EVIL_MONKEY: 20,
TULIP: 21,
GREEN_HEART: 22,
PURPLE_HEART: 23,
BD_CAKE: 24,
HUNDRED_POINT: 25,
ALARM: 26,
PARTY_POPPER: 27,
PERSON_WALKING: 28,
SMILING_POO: 29,
CRYING_LOUDLY_FACE: 30,
};
const assistantActionTypes = {
REGISTER: 1,
ACTIVATE: 2,
DEACTIVATE: 3,
BLOCK: 4
};
const systemMessageTypes = {
IS_TYPING: '1',
RECORD_VOICE: '2',
UPLOAD_PICTURE: '3',
UPLOAD_VIDEO: '4',
UPLOAD_SOUND: '5',
UPLOAD_FILE: '6'
}
const imageMimeTypes = [
'image/bmp',
'image/png',
'image/tiff',
'image/x-icon',
'image/jpeg',
'image/webp'
]
const imageExtentions = [
'bmp',
'png',
'tiff',
'tiff2',
'ico',
'jpg',
'jpeg',
'webp'
]
const CHAT_ERRORS = {
// Socket Errors
6000: 'No Active Device found for this Token!',
6001: 'Invalid Token!',
6002: 'User not found!',
// Get User Info Errors
6100: 'Cant get UserInfo!',
6101: 'Getting User Info Retry Count exceeded 5 times; Connection Can Not Been Estabilished!',
// Http Request Errors
6200: 'Network Error',
6201: 'URL is not clarified!',
// File Uploads Errors
6300: 'Error in uploading File!',
6301: 'Not an image!',
6302: 'No file has been selected!',
6303: 'File upload has been canceled!',
6304: 'User Group Hash is needed for file sharing!',
// Cache Database Errors
6600: 'Your Environment doesn\'t have Databse compatibility',
6601: 'Database is not defined! (missing db)',
6602: 'Database Error',
// Map Errors
6700: 'You should Enter a Center Location like {lat: " ", lng: " "}',
6800: "RequestLimiter: Too fast api call, you should wait {time}ms after each call to current api.",
12003: 'Async socket connection failed',
}
const SERVICES_PATH = {
// Grant Devices
SSO_DEVICES: '/oauth2/grants/devices',
SSO_GENERATE_KEY: '/handshake/users/',
SSO_GET_KEY: '/handshake/keys/',
// Contacts
ADD_CONTACTS: '/nzh/contact/addContacts',
UPDATE_CONTACTS: '/nzh/contact/updateContacts',
REMOVE_CONTACTS: '/nzh/removeContacts',
SEARCH_CONTACTS: '/nzh/listContacts',
// Contacts V2
CONTACTS_V2_ADD: '/nzh/contact/addContacts',
CONTACTS_V2_UPDATE: '/nzh/contact/updateContacts',
CONTACTS_V2_REMOVE: '/nzh/removeContacts',
CONTACTS_V2_GET: '/nzh/contact/contacts',
// File/Image Upload and Download
UPLOAD_IMAGE: '/nzh/uploadImage',
GET_IMAGE: '/nzh/image/',
UPLOAD_FILE: '/nzh/uploadFile',
GET_FILE: '/nzh/file/',
// POD Drive Services
PODSPACE_UPLOAD_FILE_TO_USERGROUP: '/userGroup/uploadFile',
PODSPACE_UPLOAD_IMAGE_TO_USERGROUP: '/userGroup/uploadImage',
PODSPACE_UPLOAD_FILE_TO_USERGROUP_NEW: '/api/usergroups/{userGroupHash}/files',
PODSPACE_UPLOAD_IMAGE_TO_USERGROUP_NEW: '/api/usergroups/{userGroupHash}/images',
PODSPACE_DOWNLOAD_FILE_NEW: '/api/files/{fileHash}',
PODSPACE_DOWNLOAD_IMAGE_NEW: '/api/images/{fileHash}',
PODSPACE_DOWNLOAD_IMAGE_V2: '/api/v2/images/{fileHash}',
PODSPACE_UPLOAD_FILE: '/nzh/drive/uploadFile',
PODSPACE_UPLOAD_FILE_FROM_URL: '/nzh/drive/uploadFileFromUrl',
PODSPACE_UPLOAD_IMAGE: '/nzh/drive/uploadImage',
PODSPACE_DOWNLOAD_FILE: '/nzh/drive/downloadFile',
PODSPACE_DOWNLOAD_IMAGE: '/nzh/drive/downloadImage',
// Neshan Map
REVERSE: '/reverse',
SEARCH: '/search',
ROUTING: '/routing',
STATIC_IMAGE: '/static'
}
const podspace = {
image: {
size: {
SMALL: 'SMALL',
MEDIUM: 'MEDIUM',
LARGE: 'LARGE',
ACTUAl: 'ACTUAl',
CUSTOM: 'CUSTOM',
},
quality: {
ZERO: 0,
ONE: 0.1,
TWO: 0.2,
THREE: 0.3,
FOUR: 0.4,
FIVE: 0.5,
SIX: 0.6,
SEVEN: 0.7,
EIGHT: 0.8,
NINE: 0.9,
TEN: 1.0
}
}
};
export {
chatMessageVOTypes,
chatStickerTypes,
inviteeVOidTypes,
createThreadTypes,
chatMessageTypes,
systemMessageTypes,
imageMimeTypes,
imageExtentions,
CHAT_ERRORS,
SERVICES_PATH,
assistantActionTypes,
podspace
}