n8n/packages/nodes-base/nodes/PostBin/PostBin.node.ts
Milorad FIlipović 06c407def8
feat(PostBin Node): Add PostBin node (#3236)
* 🚧 Initial progress on PostBin node.

*  Implemented Bin and Request operations for PostBin node.

* 🚧 Reworked the node in the declarative way.

* 🚧 PosBin node refactoring after reworking it.

*  Implemented Bin id parsing in PostBin node. Done some final refactoring and documentation.

*  Improvements

*  Add comments

* 👌Updating the PostBin node based on the product review

* 💄Updating PostBin node Bin ID validation logic

*  Small improvements

*  Transform the bin requests and add additional properties

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-05-27 18:04:56 +02:00

60 lines
1 KiB
TypeScript

import {
INodeType,
INodeTypeDescription
} from 'n8n-workflow';
import {
binFields,
binOperations,
} from './BinDescription';
import {
requestFields,
requestOperations,
} from './RequestDescription';
export class PostBin implements INodeType {
description: INodeTypeDescription = {
displayName: 'PostBin',
name: 'postBin',
icon: 'file:postbin.svg',
group: ['transform'],
version: 1,
subtitle: '={{ $parameter["operation"] + ": " + $parameter["resource"] }}',
description: 'Consume PostBin API',
defaults: {
name: 'PostBin',
color: '#4dc0b5',
},
inputs: ['main'],
outputs: ['main'],
credentials: [],
requestDefaults: {
baseURL: 'https://www.toptal.com',
},
properties: [
{
displayName: 'Resource',
name: 'resource',
type: 'options',
options: [
{
name: 'Bin',
value: 'bin',
},
{
name: 'Request',
value: 'request',
},
],
default: 'bin',
required: true,
},
...binOperations,
...binFields,
...requestOperations,
...requestFields,
],
};
}