Files
n8n-enterprise-unlocked/packages/nodes-base/nodes/SentryIo/ProjectDescription.ts
MedAliMarz a3c5f41b0f Add update/delete to Team, Release and Project in SentryIo node (#1605)
* Add update/delete to Team, Release and Project in SentryIo node

* Add create/delete:Project in SentryIo node

* Minor fix

* Fix descriptions & display names

* Fix casing in descriptions

* Add getTeams load function & Update operations fields

* Change 'Additional Field' to 'Update Fields' for Team,Release,Project & Organization operations
2021-04-24 00:37:37 +02:00

376 lines
7.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {
INodeProperties,
} from 'n8n-workflow';
export const projectOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
displayOptions: {
show: {
resource: [
'project',
],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a new project',
},
{
name: 'Get',
value: 'get',
description: 'Get project by ID',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all projects',
},
{
name: 'Update',
value: 'update',
description: 'Update a project',
},
{
name: 'Delete',
value: 'delete',
description: 'Delete a project',
},
],
default: 'get',
description: 'The operation to perform',
},
] as INodeProperties[];
export const projectFields = [
/* -------------------------------------------------------------------------- */
/* project:create/get */
/* -------------------------------------------------------------------------- */
{
displayName: 'Organization Slug',
name: 'organizationSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getOrganizations',
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'create',
'get',
],
},
},
required: true,
description: 'The slug of the organization the events belong to.',
},
{
displayName: 'Project Slug',
name: 'projectSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getProjects',
loadOptionsDependsOn: [
'organizationSlug',
],
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'get',
],
},
},
required: true,
description: 'The slug of the project to retrieve.',
},
{
displayName: 'Team Slug',
name: 'teamSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getTeams',
loadOptionsDependsOn: [
'organizationSlug',
],
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'create',
],
},
},
required: true,
description: 'The slug of the team to create a new project for.',
},
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'create',
],
},
},
required: true,
description: 'The name for the new project.',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'create',
],
},
},
options: [
{
displayName: 'Slug',
name: 'slug',
type: 'string',
default: '',
description: 'Optionally a slug for the new project. If its not provided a slug is generated from the name.',
},
],
},
/* -------------------------------------------------------------------------- */
/* project:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
operation: [
'getAll',
],
resource: [
'project',
],
},
},
default: false,
description: 'If all results should be returned or only up to a given limit.',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
operation: [
'getAll',
],
resource: [
'project',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 500,
},
default: 100,
description: 'How many results to return.',
},
/* -------------------------------------------------------------------------- */
/* project:update */
/* -------------------------------------------------------------------------- */
{
displayName: 'Organization Slug',
name: 'organizationSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getOrganizations',
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'update',
],
},
},
required: true,
description: 'The slug of the organization the project belong to.',
},
{
displayName: 'Project Slug',
name: 'projectSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getProjects',
loadOptionsDependsOn: [
'organizationSlug',
],
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'update',
],
},
},
required: true,
description: 'The slug of the project to update.',
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'update',
],
},
},
options: [
{
displayName: 'Team',
name: 'team',
type: 'string',
default: '',
description: 'The new team name.',
},
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'The new name for the updated project.',
},
{
displayName: 'Slug',
name: 'slug',
type: 'string',
default: '',
description: 'The new slug for the updated project.',
},
{
displayName: 'Platform',
name: 'platform',
type: 'string',
default: '',
description: 'The new platform for the updated project.',
},
{
displayName: 'Bookmarked',
name: 'isBookmarked',
type: 'boolean',
default: false,
description: 'The new platform for the updated project.',
},
{
displayName: 'Digests Minimun Delay',
name: 'digestsMinDelay',
type: 'number',
default: 60,
description: 'Minium interval to digest alerts.',
},
{
displayName: 'Digests Maximum Delay',
name: 'digestsMaxDelay',
type: 'number',
default: 1800,
description: 'Maximum interval to digest alerts.',
},
],
},
/* -------------------------------------------------------------------------- */
/* project:delete */
/* -------------------------------------------------------------------------- */
{
displayName: 'Organization Slug',
name: 'organizationSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getOrganizations',
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'delete',
],
},
},
required: true,
description: 'The slug of the organization the project belong to.',
},
{
displayName: 'Project Slug',
name: 'projectSlug',
type: 'options',
typeOptions: {
loadOptionsMethod: 'getProjects',
loadOptionsDependsOn: [
'organizationSlug',
],
},
default: '',
displayOptions: {
show: {
resource: [
'project',
],
operation: [
'delete',
],
},
},
required: true,
description: 'The slug of the project to delete.',
},
] as INodeProperties[];