podchat-browser
Version:
Javascript SDK to use POD's Chat Service - Browser Only
211 lines (185 loc) • 7.13 kB
JavaScript
import Utility from "../../utility/utility";
function TypeCodeApiMethods(app) {
function addTypeCodeToBusiness(params, callback) {
let uniqueId = Utility.generateUUID(),
data = {};
if (params) {
if(params.typeCode && typeof params.typeCode == 'string') {
data.typeCode = params.typeCode;
}
if(params.businessToken && typeof params.businessToken == 'string') {
data.businessToken = params.businessToken;
}
}
data.name = params.typeCode;
/**
* 'https://api.pod.ir/srv/social/nzh/biz/addContactType/?typeCode=Test3&name=Test3&scopes=CELLPHONE_SCOPE&scopes=FIRSTNAME_SCOPE&scopes=LASTNAME_SCOPE&scopes=NATIONALCODE_SCOPE&scopes=DEBITCARD_SCOPE&scopes=USERNAME_SCOPE&scopes=NICKNAME_SCOPE&scopes=EMAIL_SCOPE'
*/
app.httpRequest.httpRequest({
url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS
+ app.sdkParams.SERVICES_PATH.ADD_CONTACT_TYPE
+ `?typeCode=${data.typeCode}&name=${data.name}&scopes=CELLPHONE_SCOPE&scopes=FIRSTNAME_SCOPE&scopes=LASTNAME_SCOPE&scopes=NATIONALCODE_SCOPE&scopes=DEBITCARD_SCOPE&scopes=USERNAME_SCOPE&scopes=NICKNAME_SCOPE&scopes=EMAIL_SCOPE`,
method: 'POST',
data: {},
uniqueId: uniqueId,
headers: {
'_token_': data.businessToken,//app.sdkParams.token,
'_token_issuer_': 1,
// 'accept': 'application/json'
},
//data: getFileData
}, function (result) {
if (!result.hasError) {
try {
let response = (typeof result.result.response == 'string')
? JSON.parse(result.result.response)
: result.result.response;
callback && callback(response);
} catch (e) {
callback({
hasError: true,
errorCode: 999,
errorMessage: '[SDK] Problem in Parsing result',
error: e
});
}
} else {
app.errorHandler.raiseError({
code: result.errorCode,
message: result.errorMessage
}, callback, true, {});
}
});
return {
uniqueId: uniqueId,
}
}
function registerTypeCodeInChat(params, callback) {
let uniqueId = Utility.generateUUID(),
data = {};
if (params) {
if(params.typeCode && typeof params.typeCode == 'string') {
data.typeCode = params.typeCode;
}
if(params.ownerId && typeof params.ownerId == 'string') {
data.ownerId = params.ownerId;
}
}
app.httpRequest.httpRequest({
url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS
+ app.sdkParams.SERVICES_PATH.REGISTER_CONTACT_TYPE_IN_CHAT,
method: 'GET',
data: data,
uniqueId: uniqueId,
headers: {
'_token_': app.sdkParams.token,
'_token_issuer_': 1
},
//data: getFileData
}, function (result) {
if (!result.hasError) {
callback({
hasError: result.hasError,
result: result.result.response,
});
} else {
app.errorHandler.raiseError({
code: result.errorCode,
message: result.errorMessage
}, callback, true, {});
}
});
return {
uniqueId: uniqueId,
}
}
function deactivateTypeCode() {
let uniqueId = Utility.generateUUID(),
data = {};
if (params) {
if(params.typeCode && typeof params.typeCode == 'string') {
data.typeCode = params.typeCode;
}
if(params.ownerId && typeof params.ownerId == 'string') {
data.ownerId = params.ownerId;
}
// if(params.typeCode && typeof params.typeCode == 'string') {
// data.typeCode = params.typeCode;
// }
}
app.httpRequest.httpRequest({
url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS
+ app.sdkParams.SERVICES_PATH.REGISTER_CONTACT_TYPE_IN_CHAT,
method: 'GET',
data: data,
uniqueId: uniqueId,
headers: {
'_token_': app.sdkParams.token,
'_token_issuer_': 1
},
//data: getFileData
}, function (result) {
if (!result.hasError) {
callback({
hasError: result.hasError,
result: result.result.response,
});
} else {
app.errorHandler.raiseError({
code: result.errorCode,
message: result.errorMessage
}, callback, true, {});
}
});
return {
uniqueId: uniqueId,
}
}
function getRegisterationStatus() {
let uniqueId = Utility.generateUUID(),
data = {};
if (params) {
if(params.typeCode && typeof params.typeCode == 'string') {
data.typeCode = params.typeCode;
}
if(params.ownerId && typeof params.ownerId == 'string') {
data.ownerId = params.ownerId;
}
// if(params.typeCode && typeof params.typeCode == 'string') {
// data.typeCode = params.typeCode;
// }
}
app.httpRequest.httpRequest({
url: app.sdkParams.SERVICE_ADDRESSES.PLATFORM_ADDRESS
+ app.sdkParams.SERVICES_PATH.REGISTER_CONTACT_TYPE_IN_CHAT,
method: 'GET',
data: data,
uniqueId: uniqueId,
headers: {
'_token_': app.sdkParams.token,
'_token_issuer_': 1
},
//data: getFileData
}, function (result) {
if (!result.hasError) {
callback({
hasError: result.hasError,
result: result.result.response,
});
} else {
app.errorHandler.raiseError({
code: result.errorCode,
message: result.errorMessage
}, callback, true, {});
}
});
return {
uniqueId: uniqueId,
}
}
return {
addTypeCodeToBusiness,
registerTypeCodeInChat,
}
}
export default TypeCodeApiMethods