Repository URL to install this package:
|
Version:
1.1.16 ▾
|
// # .graphql
// input Login {
// # google, facebook, twitter, optional
// provider: String = 'skava'
// authToken: String
// # email or number or username
// username: String
// password: String
// }
interface LoginRequest {
provider: string
authToken: string
username: string
password: string
}
const fromSocialToLoginType = (type: string) => {
switch (type) {
case 'google':
return 3
case 'twitter':
return 4
case 'facebook':
return 2
case 'skava':
return '0'
default:
return '0'
}
}
const toUserLoginDefaultParams = () => {
const commonParams = {
// these come from defaults or env...
partnerId,
messageCampaignId: '',
promocode: '',
promocampaign: '',
}
const params = {
locale: 'en_US',
channel: '',
...commonParams,
}
return params
}
const fromInputToStreamCasing = (data: LoginRequest) => {
const { username, password } = data
return {
userName: username,
password,
}
}
const toLogInParams = (data: LoginRequest) => {
const userinfo = fromInputToStreamCasing(data)
const defaultParams = toUserLoginDefaultParams()
const type = fromSocialToLoginType(data.provider)
const params = {
...defaultParams,
// !! not sure if this is right for userinfo?
userinfo,
//
customParams: {
value: data.provider,
},
type,
}
if (data.authToken) {
params.authToken = authToken
}
return params
}