n8n/packages/nodes-base/nodes/Strava/ActivityDescription.ts
Iván Ovejero 6dcdb30bf4
refactor: Apply more nodelinting rules (#3324)
* ✏️ Alphabetize lint rules

* 🔥 Remove duplicates

*  Update `lintfix` script

* 👕 Apply `node-param-operation-without-no-data-expression` (#3329)

* 👕 Apply `node-param-operation-without-no-data-expression`

* 👕 Add exceptions

* 👕 Apply `node-param-description-weak` (#3328)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-value-duplicate` (#3331)

* 👕 Apply `node-param-description-miscased-json` (#3337)

* 👕 Apply `node-param-display-name-excess-inner-whitespace` (#3335)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-type-options-missing-from-limit` (#3336)

* Rule workig as intended

* ✏️ Uncomment rules

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-name-duplicate` (#3338)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-description-wrong-for-simplify` (#3334)

*  fix

*  exceptions

*  changed rule ignoring from file to line

* 👕 Apply `node-param-resource-without-no-data-expression` (#3339)

* 👕 Apply `node-param-display-name-untrimmed` (#3341)

* 👕 Apply `node-param-display-name-miscased-id` (#3340)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-resource-with-plural-option` (#3342)

* 👕 Apply `node-param-description-wrong-for-upsert` (#3333)

*  fix

*  replaced record with contact in description

*  fix

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

* 👕 Apply `node-param-option-description-identical-to-name` (#3343)

* 👕 Apply `node-param-option-name-containing-star` (#3347)

* 👕 Apply `node-param-display-name-wrong-for-update-fields` (#3348)

* 👕 Apply `node-param-option-name-wrong-for-get-all` (#3345)

*  fix

*  exceptions

* 👕 Apply node-param-display-name-wrong-for-simplify (#3344)

* Rule working as intended

* Uncomented other rules

* 👕 Undo and add exceptions

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>

*  Alphabetize lint rules

*  Restore `lintfix` script

Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
2022-05-20 23:47:24 +02:00

487 lines
8.7 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 activityOperations: INodeProperties[] = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
resource: [
'activity',
],
},
},
options: [
{
name: 'Create',
value: 'create',
description: 'Create a new activity',
},
{
name: 'Get',
value: 'get',
description: 'Get an activity',
},
{
name: 'Get All',
value: 'getAll',
description: 'Get all activities',
},
{
name: 'Get Comments',
value: 'getComments',
description: 'Get all activity comments',
},
{
name: 'Get Kudos',
value: 'getKudos',
description: 'Get all activity kudos',
},
{
name: 'Get Laps',
value: 'getLaps',
description: 'Get all activity laps',
},
{
name: 'Get Streams',
value: 'getStreams',
description: 'Get activity streams',
},
{
name: 'Get Zones',
value: 'getZones',
description: 'Get all activity zones',
},
{
name: 'Update',
value: 'update',
description: 'Update an activity',
},
],
default: 'create',
},
];
export const activityFields: INodeProperties[] = [
/* -------------------------------------------------------------------------- */
/* activity:create */
/* -------------------------------------------------------------------------- */
{
displayName: 'Name',
name: 'name',
type: 'string',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'create',
],
},
},
default: '',
description: 'The name of the activity',
},
{
displayName: 'Type',
name: 'type',
type: 'string',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'create',
],
},
},
default: '',
description: 'Type of activity. For example - Run, Ride etc.',
},
{
displayName: 'Start Date',
name: 'startDate',
type: 'dateTime',
default: '',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'create',
],
},
},
description: 'ISO 8601 formatted date time',
},
{
displayName: 'Elapsed Time (Seconds)',
name: 'elapsedTime',
type: 'number',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'create',
],
},
},
typeOptions: {
minValue: 0,
},
default: 0,
description: 'In seconds',
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'create',
],
},
},
options: [
{
displayName: 'Commute',
name: 'commute',
type: 'boolean',
default: false,
description: 'Set to true to mark as commute',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the activity',
},
{
displayName: 'Distance',
name: 'distance',
type: 'number',
typeOptions: {
minValue: 0,
},
default: 0,
description: 'In meters',
},
{
displayName: 'Trainer',
name: 'trainer',
type: 'boolean',
default: false,
description: 'Set to true to mark as a trainer activity',
},
],
},
/* -------------------------------------------------------------------------- */
/* activity:update */
/* -------------------------------------------------------------------------- */
{
displayName: 'Activity ID',
name: 'activityId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'update',
],
},
},
default: '',
description: 'ID or email of activity',
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'update',
],
},
},
options: [
{
displayName: 'Commute',
name: 'commute',
type: 'boolean',
default: false,
description: 'Set to true to mark as commute',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the activity',
},
{
displayName: 'Gear ID',
name: 'gear_id',
type: 'string',
default: '',
description: 'Identifier for the gear associated with the activity. none clears gear from activity.',
},
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'The name of the activity',
},
{
displayName: 'Type',
name: 'type',
type: 'string',
default: '',
description: 'Type of activity. For example - Run, Ride etc.',
},
{
displayName: 'Trainer',
name: 'trainer',
type: 'boolean',
default: false,
description: 'Set to true to mark as a trainer activity',
},
],
},
/* -------------------------------------------------------------------------- */
/* activity:get */
/* -------------------------------------------------------------------------- */
{
displayName: 'Activity ID',
name: 'activityId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'get',
],
},
},
default: '',
description: 'ID or email of activity',
},
/* -------------------------------------------------------------------------- */
/* activity */
/* -------------------------------------------------------------------------- */
{
displayName: 'Activity ID',
name: 'activityId',
type: 'string',
required: true,
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getComments',
'getLaps',
'getKudos',
'getZones',
'getStreams',
],
},
},
default: '',
description: 'ID or email of activity',
},
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getComments',
'getLaps',
'getKudos',
'getZones',
],
},
},
default: false,
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getComments',
'getLaps',
'getKudos',
'getZones',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 50,
description: 'Max number of results to return',
},
{
displayName: 'Keys',
name: 'keys',
type: 'multiOptions',
options: [
{
name: 'Altitude',
value: 'altitude',
},
{
name: 'Cadence',
value: 'cadence',
},
{
name: 'Distance',
value: 'distance',
},
{
name: 'Gradient',
value: 'grade_smooth',
},
{
name: 'Heartrate',
value: 'heartrate',
},
{
name: 'Latitude / Longitude',
value: 'latlng',
},
{
name: 'Moving',
value: 'moving',
},
{
name: 'Temperature',
value: 'temp',
},
{
name: 'Time',
value: 'time',
},
{
name: 'Velocity',
value: 'velocity_smooth',
},
{
name: 'Watts',
value: 'watts',
},
],
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getStreams',
],
},
},
required: true,
default: [],
description: 'Desired stream types to return',
},
/* -------------------------------------------------------------------------- */
/* activity:getAll */
/* -------------------------------------------------------------------------- */
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getAll',
],
},
},
default: false,
description: 'Whether to return all results or only up to a given limit',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
displayOptions: {
show: {
resource: [
'activity',
],
operation: [
'getAll',
],
returnAll: [
false,
],
},
},
typeOptions: {
minValue: 1,
maxValue: 100,
},
default: 50,
description: 'Max number of results to return',
},
];