Basic system autuomation, mail processing

This commit is contained in:
Denis Arh
2019-09-03 09:09:44 +02:00
parent 78660c47ec
commit 6b5ef8aaae
19 changed files with 2807 additions and 122 deletions
+382 -1
View File
@@ -1103,7 +1103,8 @@
}
}
]
}, {
},
{
"title": "Permissions",
"parameters": {},
"entrypoint": "permissions",
@@ -1200,5 +1201,385 @@
}
}
]
},
{
"title": "Automation scripts",
"entrypoint": "automation_script",
"path": "/automation/script",
"authentication": [
"Client ID",
"Session ID"
],
"struct": [
{
"imports": [
"github.com/cortezaproject/corteza-server/pkg/automation"
]
}
],
"apis": [
{
"name": "list",
"method": "GET",
"title": "List/read automation script",
"path": "/",
"parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query to match against automation script",
"type": "string"
},
{
"name": "resource",
"required": false,
"title": "Limit by resource (via trigger)",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"type": "uint",
"required": false,
"title": "Page number (0 based)"
},
{
"name": "perPage",
"type": "uint",
"required": false,
"title": "Returned items per page (default 50)"
}
]
}
},
{
"name": "create",
"method": "POST",
"title": "Add new automation script",
"path": "/",
"parameters": {
"post": [
{
"name": "name",
"title": "automation name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run as specific user",
"type": "uint64"
},
{
"name": "timeout",
"title": "Script timeout (in milliseconds)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "triggers",
"type": "automation.TriggerSet"
}
]
}
},
{
"name": "read",
"method": "GET",
"title": "Read automation script by ID",
"path": "/{scriptID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "scriptID",
"required": true,
"title": "automation script ID"
}
]
}
},
{
"name": "update",
"method": "POST",
"title": "Update automation script",
"path": "/{scriptID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "scriptID",
"required": true,
"title": "Automation script ID"
}
],
"post": [
{
"name": "name",
"title": "Script name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run script as specific user",
"type": "uint64"
},
{
"name": "timeout",
"title": "Run script in user-agent (browser)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "triggers",
"type": "automation.TriggerSet"
}
]
}
},
{
"name": "delete",
"method": "DELETE",
"title": "Delete script",
"path": "/{scriptID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "scriptID",
"required": true,
"title": "Script ID"
}
]
}
},
{
"name": "test",
"method": "POST",
"title": "Run source code in corredor. Used for testing",
"path": "/test",
"parameters": {
"post": [
{"name": "source", "type": "string", "title": "Script's source code"},
{"name": "payload", "type": "json.RawMessage", "title": "Payload to be used"}
]
}
}
]
},
{
"title": "Automation script triggers",
"entrypoint": "automation_trigger",
"path": "/automation/script/{scriptID}/trigger",
"authentication": [
"Client ID",
"Session ID"
],
"parameters": {
"path": [
{
"type": "uint64",
"name": "scriptID",
"required": true,
"title": "Script ID"
}
]
},
"apis": [
{
"name": "list",
"method": "GET",
"title": "List/read automation script triggers",
"path": "/",
"parameters": {
"get": [
{
"name": "resource",
"required": false,
"title": "Only triggers of a specific resource",
"type": "string"
},
{
"name": "event",
"required": false,
"title": "Only triggers of a specific event",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"type": "uint",
"required": false,
"title": "Page number (0 based)"
},
{
"name": "perPage",
"type": "uint",
"required": false,
"title": "Returned items per page (default 50)"
}
]
}
},
{
"name": "create",
"method": "POST",
"title": "Add new automation script trigger",
"path": "/",
"parameters": {
"post": [
{
"name": "resource",
"title": "Resource",
"type": "string",
"required": true
},
{
"name": "event",
"title": "Event",
"type": "string",
"required": true
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"name": "read",
"method": "GET",
"title": "Read automation script trigger by ID",
"path": "/{triggerID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID"
}
]
}
},
{
"name": "update",
"method": "POST",
"title": "Update automation script trigger",
"path": "/{triggerID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID"
}
],
"post": [
{
"name": "resource",
"title": "Resource",
"type": "string",
"required": true
},
{
"name": "event",
"title": "Event",
"type": "string",
"required": true
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"name": "delete",
"method": "DELETE",
"title": "Delete script",
"path": "/{triggerID}",
"parameters": {
"path": [
{
"type": "uint64",
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID"
}
]
}
}
]
}
]
+226
View File
@@ -0,0 +1,226 @@
{
"Title": "Automation scripts",
"Interface": "Automation_script",
"Struct": [
{
"imports": [
"github.com/cortezaproject/corteza-server/pkg/automation"
]
}
],
"Parameters": null,
"Protocol": "",
"Authentication": [
"Client ID",
"Session ID"
],
"Path": "/automation/script",
"APIs": [
{
"Name": "list",
"Method": "GET",
"Title": "List/read automation script",
"Path": "/",
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query to match against automation script",
"type": "string"
},
{
"name": "resource",
"required": false,
"title": "Limit by resource (via trigger)",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"required": false,
"title": "Page number (0 based)",
"type": "uint"
},
{
"name": "perPage",
"required": false,
"title": "Returned items per page (default 50)",
"type": "uint"
}
]
}
},
{
"Name": "create",
"Method": "POST",
"Title": "Add new automation script",
"Path": "/",
"Parameters": {
"post": [
{
"name": "name",
"title": "automation name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run as specific user",
"type": "uint64"
},
{
"name": "timeout",
"title": "Script timeout (in milliseconds)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "triggers",
"type": "automation.TriggerSet"
}
]
}
},
{
"Name": "read",
"Method": "GET",
"Title": "Read automation script by ID",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "automation script ID",
"type": "uint64"
}
]
}
},
{
"Name": "update",
"Method": "POST",
"Title": "Update automation script",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "Automation script ID",
"type": "uint64"
}
],
"post": [
{
"name": "name",
"title": "Script name",
"type": "string"
},
{
"name": "sourceRef",
"title": "Source URL",
"type": "string"
},
{
"name": "source",
"title": "Source code",
"type": "string"
},
{
"name": "runAs",
"title": "Run script as specific user",
"type": "uint64"
},
{
"name": "timeout",
"title": "Run script in user-agent (browser)",
"type": "uint"
},
{
"name": "critical",
"title": "Is it critical to run this script successfully",
"type": "bool"
},
{
"name": "async",
"title": "Will this script be ran asynchronously",
"type": "bool"
},
{
"name": "enabled",
"type": "bool"
},
{
"name": "triggers",
"type": "automation.TriggerSet"
}
]
}
},
{
"Name": "delete",
"Method": "DELETE",
"Title": "Delete script",
"Path": "/{scriptID}",
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "Script ID",
"type": "uint64"
}
]
}
},
{
"Name": "test",
"Method": "POST",
"Title": "Run source code in corredor. Used for testing",
"Path": "/test",
"Parameters": {
"post": [
{
"name": "source",
"title": "Script's source code",
"type": "string"
},
{
"name": "payload",
"title": "Payload to be used",
"type": "json.RawMessage"
}
]
}
}
]
}
+165
View File
@@ -0,0 +1,165 @@
{
"Title": "Automation script triggers",
"Interface": "Automation_trigger",
"Struct": null,
"Parameters": {
"path": [
{
"name": "scriptID",
"required": true,
"title": "Script ID",
"type": "uint64"
}
]
},
"Protocol": "",
"Authentication": [
"Client ID",
"Session ID"
],
"Path": "/automation/script/{scriptID}/trigger",
"APIs": [
{
"Name": "list",
"Method": "GET",
"Title": "List/read automation script triggers",
"Path": "/",
"Parameters": {
"get": [
{
"name": "resource",
"required": false,
"title": "Only triggers of a specific resource",
"type": "string"
},
{
"name": "event",
"required": false,
"title": "Only triggers of a specific event",
"type": "string"
},
{
"name": "incDeleted",
"required": false,
"title": "Include deleted scripts",
"type": "bool"
},
{
"name": "page",
"required": false,
"title": "Page number (0 based)",
"type": "uint"
},
{
"name": "perPage",
"required": false,
"title": "Returned items per page (default 50)",
"type": "uint"
}
]
}
},
{
"Name": "create",
"Method": "POST",
"Title": "Add new automation script trigger",
"Path": "/",
"Parameters": {
"post": [
{
"name": "resource",
"required": true,
"title": "Resource",
"type": "string"
},
{
"name": "event",
"required": true,
"title": "Event",
"type": "string"
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"Name": "read",
"Method": "GET",
"Title": "Read automation script trigger by ID",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID",
"type": "uint64"
}
]
}
},
{
"Name": "update",
"Method": "POST",
"Title": "Update automation script trigger",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID",
"type": "uint64"
}
],
"post": [
{
"name": "resource",
"required": true,
"title": "Resource",
"type": "string"
},
{
"name": "event",
"required": true,
"title": "Event",
"type": "string"
},
{
"name": "condition",
"title": "Event",
"type": "string"
},
{
"name": "enabled",
"type": "bool"
}
]
}
},
{
"Name": "delete",
"Method": "DELETE",
"Title": "Delete script",
"Path": "/{triggerID}",
"Parameters": {
"path": [
{
"name": "triggerID",
"required": true,
"title": "Automation script trigger ID",
"type": "uint64"
}
]
}
}
]
}