794 lines
21 KiB
JSON

[
{
"name": "Backend-Operation",
"key": "backend_operation",
"type": "condition",
"position_x": 25,
"position_y": 22,
"options": {
"filter": {
"$accountability": {
"origin": {
"_neq": "https://api.utopia-lab.org"
}
}
}
},
"resolve": "8cc15ed4-8372-4a45-abaa-df19d560b01a",
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "30c1dc02-2ccb-4b45-9668-dcf9fd2b6f1c"
},
{
"name": "Condition",
"key": "condition_r2r2k",
"type": "condition",
"position_x": 36,
"position_y": 19,
"options": {
"filter": {
"$last": {
"result": {
"_eq": true
}
}
}
},
"resolve": "34a6106b-7789-4212-8bdc-e54798e2eca7",
"reject": "c548ce31-7864-4b71-af5f-9c6c0484f6a5",
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "c6568ed4-4a25-4439-b491-82b3924937b7"
},
{
"name": "Condition",
"key": "condition_wl4bz",
"type": "condition",
"position_x": 58,
"position_y": 1,
"options": {
"filter": {
"$last": {
"_eq": "0"
}
}
},
"resolve": "57f3b6fe-4cf9-4a11-984f-320d80246980",
"reject": "e58a5edc-0ecb-42f3-89b1-c0306af1ed15",
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "432dcfa2-28c5-4d75-884f-706877984bd6"
},
{
"name": "Create item secret",
"key": "create_item_secret",
"type": "item-create",
"position_x": 19,
"position_y": 1,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "itemSecrets",
"payload": {
"item": "{{ $trigger.item }}"
}
},
"resolve": null,
"reject": null,
"flow": "234d13fe-112a-4408-9bdb-78dd8cbd6b82",
"_syncId": "491e552d-539e-4474-bcf5-a94dcc43e67e"
},
{
"name": "Create secret",
"key": "create_secret",
"type": "item-create",
"position_x": 25,
"position_y": 2,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "itemSecrets",
"payload": {
"item": "{{ $trigger.key }}"
}
},
"resolve": null,
"reject": null,
"flow": "cbd7d15d-7f09-4f45-8060-3b24adabf82a",
"_syncId": "7b158384-5bce-4fd7-917a-4a61e53de6ec"
},
{
"name": "Run Script",
"key": "exec_a3592",
"type": "exec",
"position_x": 37,
"position_y": 1,
"options": {
"code": "module.exports = async function(data) {\n\treturn data['$last'].map((item) => {\n \treturn {\n item: item.id,\n };\n });\n}"
},
"resolve": "2d4009c7-0a19-4c55-813c-f1e0f3de1bf0",
"reject": null,
"flow": "9a1d1084-438f-471e-aac5-47e0749375e7",
"_syncId": "34632268-e471-42d0-aede-292069da3ed2"
},
{
"name": "does_relation_exist",
"key": "exec_b85vb",
"type": "exec",
"position_x": 19,
"position_y": 19,
"options": {
"code": "module.exports = async function(data) {\n\treturn {\n \tresult: data['$last'].length > 0\n };\n}"
},
"resolve": "c6568ed4-4a25-4439-b491-82b3924937b7",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "2532ca4a-8804-4d52-b656-1deedb7f2169"
},
{
"name": "get Creator",
"key": "get_creator",
"type": "item-read",
"position_x": 73,
"position_y": 1,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "directus_users",
"query": {
"fields:": "first_name"
},
"key": [
"{{$trigger.user_created}}"
]
},
"resolve": "4ed7ef1e-df2c-4431-869c-5db36566c89e",
"reject": null,
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"_syncId": "df666750-86d0-4e92-b01c-d54bb25b5e10"
},
{
"name": "get_existing_relation",
"key": "get_existing_relation",
"type": "item-read",
"position_x": 2,
"position_y": 19,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "items_items",
"query": {
"filter": {
"type": {
"_eq": "is_following"
},
"items_id": {
"_eq": "{{ $trigger.body.item }}"
},
"related_items_id": {
"_eq": "{{ $last[0].item }}"
}
}
}
},
"resolve": "2532ca4a-8804-4d52-b656-1deedb7f2169",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "0ef676a7-39b0-491e-8f42-21033af08078"
},
{
"name": "Get Item",
"key": "get_item",
"type": "item-read",
"position_x": 37,
"position_y": 1,
"options": {
"permissions": "$trigger",
"emitEvents": false,
"collection": "items",
"key": [
"{{$trigger.item}}"
],
"query": {
"fields": "name"
}
},
"resolve": "7aedff00-97c2-4865-9202-6015188303dc",
"reject": null,
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"_syncId": "e41ca97f-b3f6-4baa-a910-db2913c9fe25"
},
{
"name": "Get Map",
"key": "get_map",
"type": "item-read",
"position_x": 55,
"position_y": 1,
"options": {
"permissions": "$trigger",
"emitEvents": false,
"collection": "maps",
"query": {
"filter": {
"url": {
"_eq": "{{$trigger.map_url}}"
}
},
"fields": "name,logo"
}
},
"resolve": "df666750-86d0-4e92-b01c-d54bb25b5e10",
"reject": null,
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"_syncId": "7aedff00-97c2-4865-9202-6015188303dc"
},
{
"name": "Get Subscriber",
"key": "get_subscriber",
"type": "item-read",
"position_x": 19,
"position_y": 1,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "directus_users",
"key": [
"{{$trigger.subscriber}}"
],
"query": {
"fields": "email, first_name"
}
},
"resolve": "e41ca97f-b3f6-4baa-a910-db2913c9fe25",
"reject": null,
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"_syncId": "bb96dab8-08c7-4b39-8ead-c2ed5d5a906c"
},
{
"name": "Read Items",
"key": "item_create_jqtv7",
"type": "item-read",
"position_x": 19,
"position_y": 1,
"options": {
"permissions": "$trigger",
"emitEvents": false,
"collection": "items",
"query": {
"limit": -1
}
},
"resolve": "34632268-e471-42d0-aede-292069da3ed2",
"reject": null,
"flow": "9a1d1084-438f-471e-aac5-47e0749375e7",
"_syncId": "c5b9aa76-b524-47b8-acc5-dd0350a3a12a"
},
{
"name": "Create Data",
"key": "item_create_x8h5h",
"type": "item-create",
"position_x": 37,
"position_y": 36,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "items_items",
"payload": {
"items_id": "{{ $trigger.body.item }}",
"related_items_id": "{{ read_data[0].item }}",
"type": "is_following"
}
},
"resolve": "5583fd94-c481-4a08-8632-115a2ce85577",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "c548ce31-7864-4b71-af5f-9c6c0484f6a5"
},
{
"name": "Read Data",
"key": "item_read_0u34g",
"type": "item-read",
"position_x": 4,
"position_y": 47,
"options": {
"collection": "layers",
"key": "{{$last.layer}}"
},
"resolve": "a0be4bc8-1fe0-40fd-8cc7-01be6b25f5cb",
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "9823c564-3872-495a-b343-6108e328b0e4"
},
{
"name": "Read Data",
"key": "item_read_3ku1k",
"type": "item-read",
"position_x": 38,
"position_y": 1,
"options": {
"collection": "items",
"query": {
"filter": {
"slug": {
"_starts_with": "{{$last}}"
}
},
"aggregate": {
"count": "*"
}
}
},
"resolve": "a1df90fb-43dd-4753-b1d5-437c2eb8ad9f",
"reject": null,
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "ac036523-bc4d-4230-9475-01085fa4f8e1"
},
{
"name": "Read Data",
"key": "item_read_3udhm",
"type": "item-read",
"position_x": 19,
"position_y": 1,
"options": {
"permissions": "$trigger",
"emitEvents": false,
"collection": "items",
"key": [
"{{$trigger.payload.id}}"
]
},
"resolve": "0be87499-c06d-4cf9-9212-27729ec5ad4e",
"reject": null,
"flow": "bff21ad9-d142-4a6e-96fe-8da016576bc7",
"_syncId": "b95390e0-fa4c-4b2f-b7ea-a151b333229f"
},
{
"name": "Read Data",
"key": "item_read_9qv1c",
"type": "item-read",
"position_x": 19,
"position_y": 1,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "itemSecrets",
"query": {
"filter": {
"secret": {
"_eq": "{{$trigger.query.secret}}"
}
}
},
"key": []
},
"resolve": null,
"reject": null,
"flow": "01d61db0-25aa-4bfa-bc24-c6a8f208a455",
"_syncId": "8bf158c9-8540-4ce3-88da-0e5f17f76ed7"
},
{
"name": "Read Data",
"key": "item_read_bls9m",
"type": "item-read",
"position_x": 5,
"position_y": 22,
"options": {
"collection": "items",
"key": "{{$trigger.payload.id}}"
},
"resolve": "9823c564-3872-495a-b343-6108e328b0e4",
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "95ed41d5-f195-4ebb-b444-402cff7c4a12"
},
{
"name": "Read Data",
"key": "item_read_p8h47",
"type": "item-read",
"position_x": 22,
"position_y": 49,
"options": {
"collection": "layers_maps"
},
"resolve": "373efd9a-c3c2-4bfc-b8d1-cd9b6f8492f9",
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "a0be4bc8-1fe0-40fd-8cc7-01be6b25f5cb"
},
{
"name": "Read Data",
"key": "item_read_q6u16",
"type": "item-read",
"position_x": 41,
"position_y": 49,
"options": {
"collection": "maps"
},
"resolve": "30c1dc02-2ccb-4b45-9668-dcf9fd2b6f1c",
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "373efd9a-c3c2-4bfc-b8d1-cd9b6f8492f9"
},
{
"name": "Update Data",
"key": "item_update_chszs",
"type": "item-update",
"position_x": 100,
"position_y": 17,
"options": {
"collection": "items",
"query": {
"filter": {
"id": {
"_eq": "{{$trigger.payload.id}}"
}
}
},
"payload": {
"slug": "{{slugify}}-{{singelton}}"
}
},
"resolve": null,
"reject": null,
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "e58a5edc-0ecb-42f3-89b1-c0306af1ed15"
},
{
"name": "Update Data",
"key": "item_update_pv6i8",
"type": "item-update",
"position_x": 99,
"position_y": 1,
"options": {
"payload": {
"slug": "{{slugify}}"
},
"query": {
"filter": {
"id": {
"_eq": "{{$trigger.payload.id}}"
}
}
},
"collection": "items"
},
"resolve": null,
"reject": null,
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "57f3b6fe-4cf9-4a11-984f-320d80246980"
},
{
"name": "Log to Console",
"key": "log_tj8ei",
"type": "log",
"position_x": 37,
"position_y": 1,
"options": {
"message": "{{$last}}"
},
"resolve": null,
"reject": null,
"flow": "5e320392-429d-4759-95ec-c5adcff61f01",
"_syncId": "f26cd8dd-9fda-4019-9f81-d2a9de999c14"
},
{
"name": "Send Email",
"key": "mail_kmf07",
"type": "mail",
"position_x": 91,
"position_y": 1,
"options": {
"type": "markdown",
"subject": "{{get_item.name}} {{$trigger.event}}",
"to": [
"{{get_subscriber.email}}"
],
"body": "Hi {{get_subscriber.first_name}},\n\n{{get_creator.first_name}} has {{$trigger.event}} [{{get_item.name}}]({{$trigger.map_url}}/item/{{$trigger.item}}) on [{{get_map[0].name}}]({{$trigger.map_url}}/item/{{$trigger.item}})."
},
"resolve": null,
"reject": null,
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"_syncId": "4ed7ef1e-df2c-4431-869c-5db36566c89e"
},
{
"name": "prepare Mails",
"key": "prepare_mails",
"type": "exec",
"position_x": 55,
"position_y": 1,
"options": {
"code": "module.exports = async function(data) {\n\treturn data['$last'].map((item) => {\n \treturn {\n event: data['$trigger'].event === \"items.items.create\" ? \"created\" : \"updated\",\n item: data['$trigger'].payload.id,\n user_created: data['$accountability'].user,\n subscriber: item.directus_users_id,\n \t\t\tmap_url: data['$accountability'].origin,\n };\n });\n}"
},
"resolve": "661c5585-4833-46b0-82aa-72be37ec0ff2",
"reject": null,
"flow": "bff21ad9-d142-4a6e-96fe-8da016576bc7",
"_syncId": "00e09aa0-d3d3-492a-8a17-f9b74f421954"
},
{
"name": "Prepare Profile for Murmurations",
"key": "prepare_profile_for_murmurations",
"type": "transform",
"position_x": 19,
"position_y": 1,
"options": {
"json": {
"linked_schemas": [
"people_schema-v0.1.0"
],
"name": "{{$last.user_created.firstname}}",
"nickname": "{{$last.user_created.firstname}}",
"image": "{{$last.user_created.avatar}}",
"geolocation": {
"lat": 50.43312645607191,
"lon": 9.714832305908205
}
}
},
"resolve": "f26cd8dd-9fda-4019-9f81-d2a9de999c14",
"reject": null,
"flow": "5e320392-429d-4759-95ec-c5adcff61f01",
"_syncId": "c4d60433-bb2e-4d06-b10b-f3029b02963d"
},
{
"name": "read data",
"key": "read_data",
"type": "item-read",
"position_x": 52,
"position_y": 2,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "itemSecrets",
"query": {
"filter": {
"secret": {
"_eq": "{{$trigger.body.secret}}"
}
}
}
},
"resolve": "0ef676a7-39b0-491e-8f42-21033af08078",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "ae1677c8-3114-4015-9115-b9e763a7d5e1"
},
{
"name": "Read Layer IDs",
"key": "read_layers_ids",
"type": "item-read",
"position_x": 37,
"position_y": 1,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "layers_directus_users_1",
"key": [],
"query": {
"filter": {
"layers_id": {
"_eq": "{{$last.layer}}"
}
},
"fields": "directus_users_id"
}
},
"resolve": "00e09aa0-d3d3-492a-8a17-f9b74f421954",
"reject": null,
"flow": "bff21ad9-d142-4a6e-96fe-8da016576bc7",
"_syncId": "0be87499-c06d-4cf9-9212-27729ec5ad4e"
},
{
"name": "read user items",
"key": "read_user_items",
"type": "item-read",
"position_x": 19,
"position_y": 2,
"options": {
"permissions": "$full",
"emitEvents": false,
"collection": "items",
"query": {
"filter": {
"user_created": {
"_eq": "{{$accountability.user}}"
}
}
}
},
"resolve": "feca5834-de50-4593-9df4-7f9ec81f8c71",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "020070b2-cf09-4a0d-82d0-c90b334a70cc"
},
{
"name": "Webhook / Request URL",
"key": "request_dvnuy",
"type": "request",
"position_x": 31,
"position_y": 24,
"options": {
"method": "POST",
"url": "https://test-index.murmurations.network/v2/nodes",
"headers": [
{
"header": "accept",
"value": "application/json"
},
{
"header": "Content-Type",
"value": "application/json"
}
],
"body": "{\n \"profile_url\": \"https://somenode.org/optional-subdirectory/node-profile.json\"\n}"
},
"resolve": null,
"reject": null,
"flow": "5e320392-429d-4759-95ec-c5adcff61f01",
"_syncId": "6d14f1a8-cd2b-4dc1-9df3-5297f1e99cf0"
},
{
"name": "Webhook updated",
"key": "request_juotc",
"type": "request",
"position_x": 48,
"position_y": 1,
"options": {
"url": "https://telegram-bot.utopia-lab.org/send_message",
"method": "POST",
"body": "{\"message\": \"**[{{$trigger.payload.name}}]({{$accountability.origin}}/item/{{$trigger.payload.id}})** updated\"}",
"headers": [
{
"header": "Content-Type",
"value": "application/json"
}
]
},
"resolve": null,
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "4cd7018f-74a1-4cae-b185-3ee2b82ae1bd"
},
{
"name": "Webhook created",
"key": "request_juotc_izixm",
"type": "request",
"position_x": 48,
"position_y": 17,
"options": {
"url": "https://telegram-bot.utopia-lab.org/send_message",
"method": "POST",
"body": "{\"message\": \"**[{{$trigger.payload.name}}]({{$accountability.origin}}/item/{{$trigger.payload.id}})** created\"}",
"headers": [
{
"header": "Content-Type",
"value": "application/json"
}
]
},
"resolve": null,
"reject": null,
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "05cdab2d-9373-494a-a13b-9a8cd6b9ea90"
},
{
"name": "return inviting item",
"key": "return_inviting_item",
"type": "exec",
"position_x": 56,
"position_y": 36,
"options": {
"code": "module.exports = async function(data) {\n\treturn data.read_data[0].item\n}"
},
"resolve": null,
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "5583fd94-c481-4a08-8632-115a2ce85577"
},
{
"name": "return inviting item",
"key": "return_inviting_item_uxzvf",
"type": "exec",
"position_x": 54,
"position_y": 19,
"options": {
"code": "module.exports = async function(data) {\n\treturn data.read_data[0].item\n}"
},
"resolve": null,
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "34a6106b-7789-4212-8bdc-e54798e2eca7"
},
{
"name": "singelton",
"key": "singelton",
"type": "exec",
"position_x": 57,
"position_y": 16,
"options": {
"code": "module.exports = async function(data) {\n\treturn data.$last[0].count\n}"
},
"resolve": "432dcfa2-28c5-4d75-884f-706877984bd6",
"reject": null,
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "a1df90fb-43dd-4753-b1d5-437c2eb8ad9f"
},
{
"name": "slugify",
"key": "slugify",
"type": "exec",
"position_x": 19,
"position_y": 1,
"options": {
"code": "module.exports = async function (data) {\n\tconst text = data.$trigger.payload.name;\n\n\tconst slug = text\n\t\t.toLowerCase()\n\t\t.trim()\n\t\t.replace(/[^\\w\\s-]/g, '')\n\t\t.replace(/[\\s_-]+/g, '-')\n\t\t.replace(/^-+|-+$/g, '');\n\n\treturn slug;\n};"
},
"resolve": "ac036523-bc4d-4230-9475-01085fa4f8e1",
"reject": null,
"flow": "f2beb617-9c21-48b2-a8ec-c04197d1b7d1",
"_syncId": "c7c8e08e-e94d-41f1-9b69-70251b2d3caf"
},
{
"name": "test item ownership",
"key": "test_item_ownership",
"type": "exec",
"position_x": 36,
"position_y": 2,
"options": {
"code": "module.exports = async function(data) {\n\tif (!data.$last.some(item => item.id === data.$trigger.body.item)) {\n throw new Error('Not your item')\n }\n return {};\n}"
},
"resolve": "ae1677c8-3114-4015-9115-b9e763a7d5e1",
"reject": null,
"flow": "cc80ec73-ecf5-4789-bee5-1127fb1a6ed4",
"_syncId": "feca5834-de50-4593-9df4-7f9ec81f8c71"
},
{
"name": "Trigger Send Email",
"key": "trigger_4tvps",
"type": "trigger",
"position_x": 73,
"position_y": 1,
"options": {
"iterationMode": "parallel",
"flow": "d7e74f35-a19a-4a0b-9ae8-59af2fa0f081",
"payload": "{{$last}}"
},
"resolve": null,
"reject": null,
"flow": "bff21ad9-d142-4a6e-96fe-8da016576bc7",
"_syncId": "661c5585-4833-46b0-82aa-72be37ec0ff2"
},
{
"name": "trigger create secret flow",
"key": "trigger_create_secret_flow",
"type": "trigger",
"position_x": 55,
"position_y": 1,
"options": {
"iterationMode": "parallel",
"payload": "{{ $last }}",
"flow": "234d13fe-112a-4408-9bdb-78dd8cbd6b82"
},
"resolve": null,
"reject": null,
"flow": "9a1d1084-438f-471e-aac5-47e0749375e7",
"_syncId": "2d4009c7-0a19-4c55-813c-f1e0f3de1bf0"
},
{
"name": "Updated?",
"key": "updated",
"type": "condition",
"position_x": 21,
"position_y": 1,
"options": {
"filter": {
"$trigger": {
"event": {
"_eq": "items.items.update"
}
}
}
},
"resolve": "4cd7018f-74a1-4cae-b185-3ee2b82ae1bd",
"reject": "05cdab2d-9373-494a-a13b-9a8cd6b9ea90",
"flow": "a78d01a4-13b3-46a4-8938-9606bf26e329",
"_syncId": "8cc15ed4-8372-4a45-abaa-df19d560b01a"
}
]