Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Gerst20051/b6557c55dbc8d80b3f6211b6428af700 to your computer and use it in GitHub Desktop.
Save Gerst20051/b6557c55dbc8d80b3f6211b6428af700 to your computer and use it in GitHub Desktop.
Paw JS Scripts
function evaluate(context) {
const request = context.getAllRequests().filter(request => {
const name = request.name.includes('token:password');
const exchange = request.getLastExchange();
if (name && exchange) {
const date = exchange.date;
const typePassword = exchange.requestBody.includes('grant_type=password');
const typeRefresh = exchange.requestBody.includes('grant_type=refresh_token');
return date && (typePassword || typeRefresh);
}
return false;
}).sort((a, b) => b.getLastExchange().date - a.getLastExchange().date)[0];
return JSON.parse(request.getLastExchange().responseBody).id_token;
}
function evaluate(context) {
const verifiedParkerRequest = context.getAllRequests().filter(request => {
const name = request.name.includes('verifyphonenumber3') || request.name.includes('verifyemail2') || request.name.includes('saveparker');
const exchange = request.getLastExchange();
return !!(name && exchange && exchange.date);
}).sort((a, b) => b.getLastExchange().date - a.getLastExchange().date)[0];
const verifiedParker = new DynamicValue('com.luckymarmot.URLEncodingDynamicValue', {
'input': verifiedParkerRequest.getLastExchange() ? (JSON.parse(verifiedParkerRequest.getLastExchange().responseBody).data || {}).ppverifiedparker : ''
});
const sessionDataRequest = context.getAllRequests().filter(request => {
const name = request.name.includes('verifypin') || request.name.includes('login');
const exchange = request.getLastExchange();
return !!(name && exchange && exchange.date);
}).sort((a, b) => b.getLastExchange().date - a.getLastExchange().date)[0];
const sessionData = new DynamicValue('com.luckymarmot.URLEncodingDynamicValue', {
'input': sessionDataRequest.getLastExchange() ? (JSON.parse(sessionDataRequest.getLastExchange().responseBody).data || {}).ppsessiondata : ''
});
return `ppverifiedparker=${verifiedParker.getEvaluatedString()};ppsessiondata=${sessionData.getEvaluatedString()}`;
}
function evaluate(context) {
const request = context.getAllRequests().reverse().find(request => {
return request.name.includes('Create a new invitation (manual)');
});
const invitation_url = JSON.parse(request.getLastExchange().responseBody).invitation_url;
const url_parts = invitation_url.split('/');
return url_parts[url_parts.length - 1];
}
function evaluate(context) {
const request = context.getAllRequests().reverse().find(request => {
return request.name.includes('Create a new invitation (manual) (Domestic)');
});
const invitation_url = JSON.parse(request.getLastExchange().responseBody).invitation_url;
const url_parts = invitation_url.split('/');
return url_parts.slice(3).join('/');
}
function evaluate(context) {
const invitationUrl = '{LAST RESPONSE OF W/ KEYPATH "[0].invitation_url"}';
return invitationUrl.split('/').reverse()[1];
}
function evaluate(context) {
return context.getCurrentRequest().urlBase.includes('localhost') ? '' : '/v1/endpoint';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment