n8n-nodes-netsuite-markival
Version:
NetSuite integration node for n8n with SuiteQL, RESTlet, and Raw REST support
105 lines • 3.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetSuiteOAuth1Api = void 0;
const NetsuiteAuth_1 = require("../nodes/Netsuite/NetsuiteAuth");
class NetSuiteOAuth1Api {
constructor() {
this.name = 'netSuiteOAuth1Api';
this.displayName = 'NetSuite OAuth-1 API';
this.documentationUrl = 'https://docs.oracle.com';
this.description = {
icon: 'file:netsuite.svg',
};
this.properties = [
{
displayName: 'Consumer Key',
name: 'consumerKey',
type: 'string',
typeOptions: { password: true },
required: true,
default: '',
},
{
displayName: 'Consumer Secret',
name: 'consumerSecret',
type: 'string',
typeOptions: { password: true },
required: true,
default: '',
},
{
displayName: 'Access Token',
name: 'accessToken',
type: 'string',
typeOptions: { password: true },
required: true,
default: '',
},
{
displayName: 'Token Secret',
name: 'tokenSecret',
type: 'string',
typeOptions: { password: true },
required: true,
default: '',
},
{
displayName: 'Account ID',
name: 'accountId',
type: 'string',
required: true,
default: '',
description: 'e.g. 30000-SB1',
},
{
displayName: 'Realm',
name: 'realm',
type: 'string',
required: true,
default: '',
description: 'e.g. 30000_SB1',
},
{
displayName: 'Signature Method',
name: 'signatureMethod',
type: 'options',
options: [{ name: 'HMAC-SHA256', value: 'HMAC-SHA256' }],
required: true,
default: 'HMAC-SHA256',
},
{
displayName: 'Licence Key',
name: 'licenseKey',
type: 'string',
typeOptions: { password: true },
required: true,
default: '',
description: 'Licence key provided by MRK',
},
];
this.test = {
request: {
baseURL: '={{`https://${$credentials.accountId}.suitetalk.api.netsuite.com`}}',
url: '/services/rest/record/v1/metadata-catalog',
method: 'GET',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: '={{$credentials.authHeader}}',
},
},
};
}
async preAuthentication(credentials) {
const method = 'GET';
const baseURL = `https://${String(credentials.accountId)}.suitetalk.api.netsuite.com`;
const path = '/services/rest/record/v1/metadata-catalog';
const url = `${baseURL}${path}`;
const { Authorization } = (0, NetsuiteAuth_1.generateNetSuiteAuth)(method, url, String(credentials.consumerKey), String(credentials.consumerSecret), String(credentials.accessToken), String(credentials.tokenSecret), String(credentials.realm), {});
return {
authHeader: Authorization,
};
}
}
exports.NetSuiteOAuth1Api = NetSuiteOAuth1Api;
//# sourceMappingURL=NetSuiteOAuth1Api.credentials.js.map