forked from n8n-io/n8n
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* ✨ Strapi-Node * ⚡ Small improvements * ⚡ Small improvement
- Loading branch information
1 parent
702a8bf
commit a5ecf3d
Showing
6 changed files
with
746 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { | ||
ICredentialType, | ||
NodePropertyTypes, | ||
} from 'n8n-workflow'; | ||
|
||
export class StrapiApi implements ICredentialType { | ||
name = 'strapiApi'; | ||
displayName = 'Strapi API'; | ||
properties = [ | ||
{ | ||
displayName: 'Email', | ||
name: 'email', | ||
type: 'string' as NodePropertyTypes, | ||
default: '', | ||
}, | ||
{ | ||
displayName: 'Password', | ||
name: 'password', | ||
type: 'string' as NodePropertyTypes, | ||
default: '', | ||
}, | ||
{ | ||
displayName: 'URL', | ||
name: 'url', | ||
type: 'string' as NodePropertyTypes, | ||
default: '', | ||
}, | ||
]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,346 @@ | ||
import { | ||
INodeProperties, | ||
} from 'n8n-workflow'; | ||
|
||
export const entryOperations = [ | ||
{ | ||
displayName: 'Operation', | ||
name: 'operation', | ||
type: 'options', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
}, | ||
}, | ||
options: [ | ||
{ | ||
name: 'Create', | ||
value: 'create', | ||
description: 'Create an entry', | ||
}, | ||
{ | ||
name: 'Delete', | ||
value: 'delete', | ||
description: 'Delete an entry', | ||
}, | ||
{ | ||
name: 'Get', | ||
value: 'get', | ||
description: 'Get an entry', | ||
}, | ||
{ | ||
name: 'Get All', | ||
value: 'getAll', | ||
description: 'Get all entries', | ||
}, | ||
{ | ||
name: 'Update', | ||
value: 'update', | ||
description: 'Update an entry', | ||
}, | ||
], | ||
default: 'get', | ||
description: 'The operation to perform.', | ||
}, | ||
] as INodeProperties[]; | ||
|
||
export const entryFields = [ | ||
/* -------------------------------------------------------------------------- */ | ||
/* entry:create */ | ||
/* -------------------------------------------------------------------------- */ | ||
{ | ||
displayName: 'Content Type', | ||
name: 'contentType', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'create', | ||
], | ||
}, | ||
}, | ||
description: 'Name of the content type', | ||
}, | ||
{ | ||
displayName: 'Columns', | ||
name: 'columns', | ||
type: 'string', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'create', | ||
], | ||
}, | ||
}, | ||
default: '', | ||
placeholder: 'id,name,description', | ||
description: 'Comma separated list of the properties which should used as columns for the new rows.', | ||
}, | ||
/* -------------------------------------------------------------------------- */ | ||
/* entry:delete */ | ||
/* -------------------------------------------------------------------------- */ | ||
{ | ||
displayName: 'Content Type', | ||
name: 'contentType', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'delete', | ||
], | ||
}, | ||
}, | ||
description: 'Name of the content type', | ||
}, | ||
{ | ||
displayName: 'Entry ID', | ||
name: 'entryId', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'delete', | ||
], | ||
}, | ||
}, | ||
description: 'The ID of the entry to get.', | ||
}, | ||
/* -------------------------------------------------------------------------- */ | ||
/* entry:get */ | ||
/* -------------------------------------------------------------------------- */ | ||
{ | ||
displayName: 'Content Type', | ||
name: 'contentType', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'get', | ||
], | ||
}, | ||
}, | ||
description: 'Name of the content type', | ||
}, | ||
{ | ||
displayName: 'Entry ID', | ||
name: 'entryId', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'get', | ||
], | ||
}, | ||
}, | ||
description: 'The ID of the entry to get.', | ||
}, | ||
/* -------------------------------------------------------------------------- */ | ||
/* entry:getAll */ | ||
/* -------------------------------------------------------------------------- */ | ||
{ | ||
displayName: 'Content Type', | ||
name: 'contentType', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'getAll', | ||
], | ||
}, | ||
}, | ||
description: 'Name of the content type', | ||
}, | ||
{ | ||
displayName: 'Return All', | ||
name: 'returnAll', | ||
type: 'boolean', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'getAll', | ||
], | ||
}, | ||
}, | ||
default: false, | ||
description: 'Returns a list of your user contacts.', | ||
}, | ||
{ | ||
displayName: 'Limit', | ||
name: 'limit', | ||
type: 'number', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'getAll', | ||
], | ||
returnAll: [ | ||
false, | ||
], | ||
}, | ||
}, | ||
typeOptions: { | ||
minValue: 1, | ||
maxValue: 100, | ||
}, | ||
default: 50, | ||
description: 'How many results to return.', | ||
}, | ||
{ | ||
displayName: 'Options', | ||
name: 'options', | ||
type: 'collection', | ||
placeholder: 'Add Field', | ||
default: {}, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'getAll', | ||
], | ||
}, | ||
}, | ||
options: [ | ||
{ | ||
displayName: 'Publication State', | ||
name: 'publicationState', | ||
type: 'options', | ||
options: [ | ||
{ | ||
name: 'Live', | ||
value: 'live', | ||
}, | ||
{ | ||
name: 'Preview', | ||
value: 'preview', | ||
}, | ||
], | ||
default: '', | ||
description: 'Only select entries matching the publication state provided.', | ||
}, | ||
{ | ||
displayName: 'Sort Fields', | ||
name: 'sort', | ||
type: 'string', | ||
typeOptions: { | ||
multipleValues: true, | ||
multipleValueButtonText: 'Add Sort Field', | ||
}, | ||
default: '', | ||
placeholder: 'name:asc', | ||
description: `Name of the fields to sort the data by. By default will be sorted ascendingly.<br> | ||
To modify that behavior, you have to add the sort direction after the name of sort field preceded by a colon. | ||
For example: name:asc`, | ||
}, | ||
{ | ||
displayName: 'Where (JSON)', | ||
name: 'where', | ||
type: 'string', | ||
typeOptions: { | ||
alwaysOpenEditWindow: true, | ||
}, | ||
default: '', | ||
description: 'JSON query to filter the data.<a href="https://strapi.io/documentation/v3.x/content-api/parameters.html#filters" target="_blank"> Info</a>', | ||
}, | ||
], | ||
}, | ||
/* -------------------------------------------------------------------------- */ | ||
/* entry:update */ | ||
/* -------------------------------------------------------------------------- */ | ||
{ | ||
displayName: 'Content Type', | ||
name: 'contentType', | ||
type: 'string', | ||
default: '', | ||
required: true, | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'update', | ||
], | ||
}, | ||
}, | ||
description: 'Name of the content type', | ||
}, | ||
{ | ||
displayName: 'Update Key', | ||
name: 'updateKey', | ||
type: 'string', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'update', | ||
], | ||
}, | ||
}, | ||
default: 'id', | ||
required: true, | ||
description: 'Name of the property which decides which rows in the database should be updated. Normally that would be "id".', | ||
}, | ||
{ | ||
displayName: 'Columns', | ||
name: 'columns', | ||
type: 'string', | ||
displayOptions: { | ||
show: { | ||
resource: [ | ||
'entry', | ||
], | ||
operation: [ | ||
'update', | ||
], | ||
}, | ||
}, | ||
default: '', | ||
placeholder: 'id,name,description', | ||
description: 'Comma separated list of the properties which should used as columns for the new rows.', | ||
}, | ||
] as INodeProperties[]; |
Oops, something went wrong.