From d5047e2f893710ca018dc2f396afc0032c8c746e Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Mon, 18 May 2026 18:27:58 +0200 Subject: [PATCH] Refactored to external actions --- .gitea/workflows/build.yml | 111 +--- n8n/Factorio Item Import.json | 1126 --------------------------------- 2 files changed, 26 insertions(+), 1211 deletions(-) delete mode 100644 n8n/Factorio Item Import.json diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index aca5043..1235923 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -6,9 +6,9 @@ on: - main env: - REGISTRY: git.sebse.de - IMAGE: git.sebse.de/sebse/factorio-signal-exporter - IMAGE_MIGRATE: git.sebse.de/sebse/factorio-signal-exporter-migrate + IMAGE: git.sebse.de/${{ github.repository }} + IMAGE_MIGRATE: git.sebse.de/${{ github.repository }}-migrate + CHART_PATH: web/charts/factorio-signal-exporter jobs: build: @@ -18,100 +18,41 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install Helm - uses: azure/setup-helm@v4 + - name: Set SHORT_SHA + run: echo "SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_ENV - - name: Log in to Gitea Container Registry - uses: docker/login-action@v3 + - name: Docker login + uses: sebse/actions/docker-login@main with: - registry: ${{ env.REGISTRY }} username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_TOKEN }} - - name: Extract metadata (app) - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.IMAGE }} - tags: | - type=sha,prefix=,format=short - type=raw,value=latest - - name: Build and push app - uses: docker/build-push-action@v5 + uses: sebse/actions/docker-build-push@main with: + image: ${{ env.IMAGE }} context: ./web - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=registry,ref=${{ env.IMAGE }}:latest - cache-to: type=inline - - - name: Extract metadata (migrate) - id: meta-migrate - uses: docker/metadata-action@v5 - with: - images: ${{ env.IMAGE_MIGRATE }} - tags: | - type=sha,prefix=,format=short - type=raw,value=latest - name: Build and push migrate - uses: docker/build-push-action@v5 + uses: sebse/actions/docker-build-push@main with: + image: ${{ env.IMAGE_MIGRATE }} context: ./web - file: ./web/Dockerfile.migrate - push: true - tags: ${{ steps.meta-migrate.outputs.tags }} - labels: ${{ steps.meta-migrate.outputs.labels }} - cache-from: type=registry,ref=${{ env.IMAGE_MIGRATE }}:latest - cache-to: type=inline + dockerfile: ./web/Dockerfile.migrate - - name: Inject image tags into chart values - run: | - SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) - sed -i "s|^\(\s*tag:\).*|\1 ${SHORT_SHA}|" web/charts/factorio-signal-exporter/values.yaml - - - name: Package Helm chart (SHA) - run: | - SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) - helm package web/charts/factorio-signal-exporter \ - --version "0.0.0-${SHORT_SHA}" \ - --app-version "${SHORT_SHA}" - - - name: Push Helm chart (SHA) to Gitea - run: | - SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) - curl -u ${{ secrets.REGISTRY_USERNAME }}:${{ secrets.REGISTRY_TOKEN }} \ - -X POST \ - https://${{ env.REGISTRY }}/api/packages/sebse/helm/api/charts \ - -F "chart=@factorio-signal-exporter-0.0.0-${SHORT_SHA}.tgz" \ - --fail-with-body - - - name: Package Helm chart (latest) - run: | - SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) - helm package web/charts/factorio-signal-exporter \ - --version "0.0.0-latest" \ - --app-version "${SHORT_SHA}" - - - name: Push Helm chart (latest) to Gitea - run: | - curl -u ${{ secrets.REGISTRY_USERNAME }}:${{ secrets.REGISTRY_TOKEN }} \ - -X POST \ - https://${{ env.REGISTRY }}/api/packages/sebse/helm/api/charts \ - -F "chart=@factorio-signal-exporter-0.0.0-latest.tgz" \ - --fail-with-body + - name: Package and push helm chart + uses: sebse/actions/helm-package-push@main + with: + chart-path: ${{ env.CHART_PATH }} + version: 0.0.0-${{ env.SHORT_SHA }} + app-version: ${{ env.SHORT_SHA }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} - name: Deploy to prod - run: | - SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) - mkdir -p ~/.ssh - echo "${{ secrets.HELMBOT_SSH_KEY }}" > ~/.ssh/helmbot_deploy - chmod 600 ~/.ssh/helmbot_deploy - ssh -i ~/.ssh/helmbot_deploy \ - -o StrictHostKeyChecking=no \ - -p 1234 \ - helmbot@84.247.134.31 \ - " -s factorio-signal-exporter -p prod -v 0.0.0-${SHORT_SHA}" - rm ~/.ssh/helmbot_deploy + uses: sebse/actions/helm-deploy@main + with: + app: factorio-signal-exporter + profile: prod + version: 0.0.0-${{ env.SHORT_SHA }} + ssh-key: ${{ secrets.HELMBOT_SSH_KEY }} diff --git a/n8n/Factorio Item Import.json b/n8n/Factorio Item Import.json deleted file mode 100644 index b2e26fe..0000000 --- a/n8n/Factorio Item Import.json +++ /dev/null @@ -1,1126 +0,0 @@ -{ - "name": "Factorio Item Import", - "nodes": [ - { - "parameters": { - "httpMethod": "POST", - "path": "/:combinator", - "authentication": "basicAuth", - "options": {} - }, - "type": "n8n-nodes-base.webhook", - "typeVersion": 2.1, - "position": [ - 32, - 0 - ], - "id": "55c608ad-b55a-4b20-92d0-ff19a2b492f7", - "name": "Webhook", - "webhookId": "c3f462a9-97b7-42eb-8489-63ab0b1fe865", - "credentials": { - "httpBasicAuth": { - "id": "lkKRpbdr8blMWEMu", - "name": "Factorio Signal Export Webhook" - } - } - }, - { - "parameters": { - "resource": "database", - "databaseId": { - "__rl": true, - "value": "347d9833-167a-80fa-9658-ede979752440", - "mode": "list", - "cachedResultName": "Items", - "cachedResultUrl": "https://www.notion.so/347d9833167a80fa9658ede979752440" - }, - "simple": false - }, - "type": "n8n-nodes-base.notion", - "typeVersion": 2.2, - "position": [ - 256, - -192 - ], - "id": "03bbc2f2-1a84-409a-90ca-714665b0e0b3", - "name": "Get a database", - "credentials": { - "notionApi": { - "id": "2L2bc1EBjnWecsXH", - "name": "Notion account" - } - } - }, - { - "parameters": { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "edb73ec1-a6b8-45e9-9e21-a548c344ef9f", - "leftValue": "={{ $json.properties.keys() }}", - "rightValue": "={{ $('Webhook').item.json.params.combinator }}", - "operator": { - "type": "array", - "operation": "contains", - "rightType": "any" - } - }, - { - "id": "97738ff4-1afb-43d7-9338-edd7a8d458ec", - "leftValue": "={{ $json.properties.keys() }}", - "rightValue": "={{ $('Webhook').item.json.params.combinator }} (Trend)", - "operator": { - "type": "array", - "operation": "contains", - "rightType": "any" - } - }, - { - "id": "b6a4e7af-6e84-4665-b266-e66c2a90c7be", - "leftValue": "={{ $json.properties.keys() }}", - "rightValue": "={{ $('Webhook').item.json.params.combinator }} (NP)", - "operator": { - "type": "array", - "operation": "contains", - "rightType": "any" - } - }, - { - "id": "345b4774-1c49-490e-bebb-12907578e7fd", - "leftValue": "={{ $json.properties.keys() }}", - "rightValue": "={{ $('Webhook').item.json.params.combinator }} (NP-Trend)", - "operator": { - "type": "array", - "operation": "contains", - "rightType": "any" - } - } - ], - "combinator": "and" - }, - "options": {} - }, - "type": "n8n-nodes-base.if", - "typeVersion": 2.3, - "position": [ - 480, - -192 - ], - "id": "d4bba8d6-9af1-4b62-a03f-31071af7232b", - "name": "If" - }, - { - "parameters": { - "resource": "databasePage", - "operation": "getAll", - "databaseId": { - "__rl": true, - "value": "347d9833-167a-80fa-9658-ede979752440", - "mode": "list", - "cachedResultName": "Items", - "cachedResultUrl": "https://www.notion.so/347d9833167a80fa9658ede979752440" - }, - "returnAll": true, - "filterType": "manual", - "options": {} - }, - "type": "n8n-nodes-base.notion", - "typeVersion": 2.2, - "position": [ - 704, - -192 - ], - "id": "8353a984-2f15-4ba3-9cb3-246330e7e182", - "name": "Get many database pages", - "credentials": { - "notionApi": { - "id": "2L2bc1EBjnWecsXH", - "name": "Notion account" - } - } - }, - { - "parameters": { - "mode": "combineBySql", - "numberInputs": 3, - "query": "SELECT out.* FROM (SELECT\n id, property_name, input2.key as property_key,\n \"{{ $('Col Name').first().json.name }}\" as col_name,\n input2.green as green,\n input2.green-IFNULL(input1.property_{{ $('Col Name').first().json.name }}, 0) as green_trend,\n input2.red as red,\n input2.red-IFNULL(input1.property_{{ $('Col Name').first().json.name }}_np, 0) as red_trend,\n input1.property_{{ $('Col Name').first().json.name }}_trend as last_trend,\n input1.property_{{ $('Col Name').first().json.name }}_np_trend as last_np_trend\n FROM input1\n RIGHT JOIN input2 ON input1.property_key = input2.key) AS out\n WHERE out.key = 'advanced-circuit' OR ABS(out.green_trend) > 1000 OR ABS(out.red_trend) > 1000 OR ABS(out.last_trend) > 100 OR ABS(out.last_np_trend) > 100", - "options": {} - }, - "type": "n8n-nodes-base.merge", - "typeVersion": 3.2, - "position": [ - 928, - -16 - ], - "id": "dd58a64f-ccb8-4f58-a8ff-a357337dfcdf", - "name": "Merge" - }, - { - "parameters": { - "jsCode": "const green = $input.first().json.body.circuit_network.green\nconst red = $input.first().json.body.circuit_network.red\n\nconst keys = [...new Set([\n ...Object.keys(green),\n ...Object.keys(red)\n])]\n\nreturn keys.map(key => ({json: {\n key,\n ...({green: key in green ? green[key] : 0}),\n ...({red: key in red ? red[key] : 0}),\n}}))" - }, - "type": "n8n-nodes-base.code", - "typeVersion": 2, - "position": [ - 704, - 0 - ], - "id": "0412345e-0d98-472c-b9c6-15d300407572", - "name": "Code in JavaScript" - }, - { - "parameters": { - "assignments": { - "assignments": [ - { - "id": "b8b65e40-8f54-4fca-8488-1a4b9f6ba49a", - "name": "name", - "value": "={{ $json.params.combinator.replace(/[^a-z0-9]/gi, \"_\") }}", - "type": "string" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.set", - "typeVersion": 3.4, - "position": [ - 704, - 192 - ], - "id": "c5b8a980-b730-4a2c-967f-39f84cff83c6", - "name": "Col Name" - }, - { - "parameters": { - "conditions": { - "options": { - "caseSensitive": true, - "leftValue": "", - "typeValidation": "strict", - "version": 3 - }, - "conditions": [ - { - "id": "c00fa350-7c15-4747-a8e2-92b94462c0bd", - "leftValue": "={{ $json.id }}", - "rightValue": "", - "operator": { - "type": "string", - "operation": "exists", - "singleValue": true - } - } - ], - "combinator": "and" - }, - "options": {} - }, - "type": "n8n-nodes-base.if", - "typeVersion": 2.3, - "position": [ - 1152, - 0 - ], - "id": "b71a4d13-7ead-4694-b1f4-d3b9c47089fb", - "name": "If1" - }, - { - "parameters": { - "resource": "databasePage", - "operation": "update", - "pageId": { - "__rl": true, - "value": "={{ $json.id }}", - "mode": "id" - }, - "simple": false, - "propertiesUi": { - "propertyValues": [ - { - "key": "={{ $('Webhook').first().json.params.combinator }}|number", - "numberValue": "={{ $json.green }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (Trend)|number", - "numberValue": "={{ $json.green_trend }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (NP)|number", - "numberValue": "={{ $json.red }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (NP-Trend)|number", - "numberValue": "={{ $json.red_trend }}" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.notion", - "typeVersion": 2.2, - "position": [ - 1376, - -96 - ], - "id": "0cd9e181-1c7d-4742-9851-631a241cac61", - "name": "Update a database page", - "retryOnFail": true, - "waitBetweenTries": 5000, - "credentials": { - "notionApi": { - "id": "2L2bc1EBjnWecsXH", - "name": "Notion account" - } - } - }, - { - "parameters": { - "resource": "databasePage", - "databaseId": { - "__rl": true, - "value": "347d9833-167a-80fa-9658-ede979752440", - "mode": "list", - "cachedResultName": "Items", - "cachedResultUrl": "https://www.notion.so/347d9833167a80fa9658ede979752440" - }, - "propertiesUi": { - "propertyValues": [ - { - "key": "={{ $('Webhook').first().json.params.combinator }}|number", - "numberValue": "={{ $json.green }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (Trend)|number", - "numberValue": "={{ $json.green_trend }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (NP)|number", - "numberValue": "={{ $json.red }}" - }, - { - "key": "={{ $('Webhook').first().json.params.combinator }} (NP-Trend)|number", - "numberValue": "={{ $json.red_trend }}" - }, - { - "key": "key|rich_text", - "textContent": "={{ $json.property_key }}" - }, - { - "key": "Name|title", - "title": "={{ $json.localized_name }}" - } - ] - }, - "options": {} - }, - "type": "n8n-nodes-base.notion", - "typeVersion": 2.2, - "position": [ - 2144, - 144 - ], - "id": "e2e75281-01b9-4a43-9754-d34e94fa463b", - "name": "Create a database page", - "credentials": { - "notionApi": { - "id": "2L2bc1EBjnWecsXH", - "name": "Notion account" - } - } - }, - { - "parameters": { - "operation": "get", - "dataTableId": { - "__rl": true, - "value": "JOjirabaeWdKzrjz", - "mode": "list", - "cachedResultName": "Factorio German Items", - "cachedResultUrl": "/projects/xGMh3OSlorc65P6x/datatables/JOjirabaeWdKzrjz" - }, - "matchType": "allConditions", - "filters": { - "conditions": [ - { - "keyName": "item_key", - "keyValue": "={{ $json.property_key }}" - } - ] - } - }, - "type": "n8n-nodes-base.dataTable", - "typeVersion": 1.1, - "position": [ - 1376, - 208 - ], - "id": "03c1722f-e799-4cbf-84f5-a5a0a89caba8", - "name": "Get row(s)" - }, - { - "parameters": { - "mode": "combineBySql", - "numberInputs": 3, - "query": "SELECT\n input1.*,\n COALESCE(input2.localized_name, input3.localized_name, '') AS localized_name\nFROM input1\nLEFT JOIN (SELECT DISTINCT item_key, localized_name FROM input2) input2 \n ON input1.property_key = input2.item_key\nLEFT JOIN (SELECT DISTINCT item_key, localized_name FROM input3) input3 \n ON input1.property_key = input3.item_key\n AND input2.item_key IS NULL", - "options": {} - }, - "type": "n8n-nodes-base.merge", - "typeVersion": 3.2, - "position": [ - 1680, - 128 - ], - "id": "1ab12727-e6bb-467d-bf47-38a3852c4b39", - "name": "Merge1" - }, - { - "parameters": { - "operation": "get", - "dataTableId": { - "__rl": true, - "value": "bT9Yx2RZT3cYxvkw", - "mode": "list", - "cachedResultName": "Factorio English Items", - "cachedResultUrl": "/projects/xGMh3OSlorc65P6x/datatables/bT9Yx2RZT3cYxvkw" - }, - "matchType": "allConditions", - "filters": { - "conditions": [ - { - "keyName": "item_key", - "keyValue": "={{ $json.property_key }}" - } - ] - } - }, - "type": "n8n-nodes-base.dataTable", - "typeVersion": 1.1, - "position": [ - 1376, - 400 - ], - "id": "59e59459-3246-4dea-810a-f189c65bbf53", - "name": "Get row(s)1" - } - ], - "pinData": { - "Webhook": [ - { - "json": { - "headers": { - "host": "n8n.sebse.de", - "user-agent": "node", - "content-length": "12891", - "accept": "*/*", - "accept-encoding": "br, gzip, deflate", - "accept-language": "*", - "authorization": { - "__redacted": true, - "reason": "node_defined_field", - "canReveal": false - }, - "content-type": "application/json", - "sec-fetch-mode": "cors", - "x-forwarded-for": "10.42.0.1", - "x-forwarded-host": "n8n.sebse.de", - "x-forwarded-port": "443", - "x-forwarded-proto": "https", - "x-forwarded-server": "traefik-6486bcf8c8-5zlc4", - "x-real-ip": "10.42.0.1" - }, - "params": { - "combinator": "nauvis" - }, - "query": {}, - "body": { - "circuit_network": { - "red": { - "kr-energy-2": 7, - "chlorine": -4431, - "logistic-chest-requester": 1, - "kr-se-loader": 60, - "se-space-transport-belt": 57, - "se-space-underground-belt": 4, - "se-space-splitter": 63, - "se-space-pipe": 79, - "se-space-pipe-to-ground": 66, - "substation": 3, - "se-space-platform-scaffold": 14, - "se-space-probe-rocket-silo": 2, - "se-space-capsule": 1511, - "se-space-growth-facility": 36, - "se-space-laser-laboratory": 16, - "se-space-gravimetrics-laboratory": 112, - "se-space-supercomputer-1": 20, - "se-space-supercomputer-2": 1, - "se-space-telescope": 172, - "se-space-telescope-gammaray": 4, - "se-space-telescope-microwave": 39, - "se-space-telescope-radio": 1, - "se-space-telescope-xray": 716, - "burner-lab": 5, - "lab": 5, - "speed-module": 17163, - "productivity-module": 10471, - "effectivity-module": 7215, - "effectivity-module-3": 2901, - "iron-ore": 12261, - "copper-ore": 2734, - "uranium-235": 15400, - "se-holmium-plate": 73, - "se-gammaray-detector": 704, - "se-cargo-rocket-section-packed": 1653, - "se-observation-frame-microwave": 800, - "se-observation-frame-infrared": 655, - "se-observation-frame-visible": 577, - "se-observation-frame-uv": 594, - "se-observation-frame-xray": 392, - "se-contaminated-scrap": 4095, - "light-oil-barrel": 336, - "se-cryonite-slush-barrel": 768, - "blank-tech-card": 3000, - "automation-science-pack": 2999, - "logistic-science-pack": 2999, - "military-science-pack": 3000, - "chemical-science-pack": 2999, - "se-rocket-science-pack": 2999, - "se-junk-data": 4066, - "se-broken-data": 17, - "se-astronomic-catalogue-1": 464, - "se-astronomic-catalogue-2": 349, - "se-infrared-observation-data": 412, - "se-visible-observation-data": 356, - "se-uv-observation-data": 296, - "se-microwave-observation-data": 304, - "se-xray-observation-data": 428, - "se-gravitational-lensing-data": 512, - "se-gravity-wave-data": 428, - "se-radio-observation-data": 540, - "se-gammaray-observation-data": 328, - "se-darkmatter-data": 220, - "se-negative-pressure-data": 264, - "se-astronomic-science-pack-2": 164, - "se-energy-catalogue-1": 2769, - "advanced-tech-card": 102, - "blueprint": 1, - "laser-turret": 89, - "se-meteor-defence": 1, - "se-meteor-defence-ammo": 664 - }, - "green": { - "heavy-oil": 238260, - "light-oil": 200000, - "petroleum-gas": 17197, - "lubricant": 354916, - "mineral-water": 396354, - "chlorine": 260373, - "se-space-water": 103463, - "se-cryonite-slush": 219270, - "se-vitalic-acid": 299987, - "se-bio-sludge": 428912, - "se-chemical-gel": 299913, - "se-nutrient-gel": 203829, - "se-neural-gel": 299985, - "se-neural-gel-2": 299974, - "se-plasma-stream": 299987, - "se-ion-stream": 231944, - "se-proton-stream": 245059, - "se-particle-stream": -733445, - "se-space-coolant-hot": 154031, - "iron-chest": -2500, - "kr-fast-loader": -6500, - "kr-se-loader": 9001, - "transport-belt": -13000, - "fast-transport-belt": -13000, - "se-space-transport-belt": 16569, - "underground-belt": -6500, - "se-space-underground-belt": 8273, - "splitter": -6500, - "fast-splitter": -6500, - "kr-advanced-splitter": 5946, - "se-space-splitter": 9002, - "fast-inserter": 5016, - "kr-superior-filter-inserter": 5004, - "kr-superior-long-filter-inserter": 5004, - "pipe": 10087, - "kr-steel-pipe": 5077, - "se-space-pipe": 20000, - "pipe-to-ground": 5010, - "kr-steel-pipe-to-ground": 5622, - "se-space-pipe-to-ground": 12500, - "small-electric-pole": -2500, - "small-iron-electric-pole": -2500, - "medium-electric-pole": 5009, - "big-electric-pole": 5005, - "rail": 30001, - "se-space-rail": 100000, - "locomotive": 1501, - "roboport": 805, - "stone-brick": 29128, - "concrete": 26448, - "refined-concrete": 20001, - "landfill": 95592, - "se-space-platform-scaffold": 100000, - "se-space-capsule": 2511, - "kr-advanced-solar-panel": 20000, - "se-space-solar-panel": 4002, - "se-space-solar-panel-2": 15980, - "accumulator": 50000, - "se-space-accumulator": 11195, - "electric-mining-drill": -1863, - "kr-electric-mining-drill-mk2": 5002, - "area-mining-drill": 5003, - "se-core-miner": 100, - "electric-furnace": 4012, - "industrial-furnace": 1607, - "se-casting-machine": 4003, - "se-recycling-facility": 403, - "assembling-machine-3": 10002, - "centrifuge": 1374, - "beacon": 805, - "speed-module": 67163, - "speed-module-3": 5000, - "productivity-module": 17971, - "productivity-module-2": -15233, - "productivity-module-3": -9500, - "effectivity-module": 22715, - "effectivity-module-2": -5600, - "effectivity-module-4": 25244, - "se-water-ice": 200000, - "se-core-fragment-omni": -11886, - "wood": -55000, - "coal": 63001, - "plastic-bar": -75312, - "sulfur": 22576, - "solid-fuel": 18005, - "rocket-fuel": 9191, - "stone": -50676, - "glass": 694648, - "quartz": 15001, - "sand": -376110, - "silicon": 13423, - "se-heat-shielding": 3021, - "iron-ore": 162575, - "enriched-iron": -10000, - "se-iron-ingot": -15026, - "iron-plate": -5000, - "se-steel-ingot": 91012, - "steel-plate": 93475, - "copper-ore": -31718, - "se-copper-ingot": 149528, - "copper-plate": -5000, - "raw-rare-metals": 21008, - "rare-metals": 183310, - "lithium-chloride": 50008, - "lithium": 46002, - "uranium-ore": -38845, - "uranium-238": 45518, - "uranium-235": 71332, - "uranium-fuel-cell": 10000, - "used-up-uranium-fuel-cell": -15000, - "se-vulcanite-block": -139, - "imersium-plate": -56494, - "se-beryllium-ore": -30000, - "se-beryllium-sulfate": -40000, - "se-beryllium-ingot": 4859, - "se-holmium-ingot": -22256, - "se-iridium-ingot": -16376, - "se-core-fragment-se-vitamelange": -236, - "se-vitamelange-spice": -8506, - "se-vitamelange-extract": -54878, - "se-vitalic-reagent": -5184, - "se-vitalic-epoxy": -5151, - "coke": 51117, - "fertilizer": 50000, - "biomass": -14485, - "iron-stick": -5000, - "iron-gear-wheel": -5000, - "empty-barrel": -500, - "motor": 7501, - "engine-unit": 7500, - "electric-motor": -10825, - "electric-engine-unit": 50000, - "copper-cable": -10000, - "se-holmium-cable": -29261, - "se-superconductive-cable": 48574, - "se-holmium-solenoid": 10004, - "se-dynamic-emitter": -9000, - "battery": 368650, - "electronic-circuit": 790832, - "advanced-circuit": 213267, - "processing-unit": -10111, - "se-quantum-processor": -18500, - "low-density-structure": 4107, - "se-space-mirror": 12500, - "se-gammaray-detector": 12500, - "se-material-testing-pack": 17077, - "se-heavy-girder": -37194, - "se-heavy-bearing": 44420, - "se-heavy-composite": -20850, - "se-aeroframe-pole": 17887, - "se-aeroframe-scaffold": 20000, - "se-aeroframe-bulkhead": 50000, - "se-bioscrubber": -3060, - "rocket-control-unit": 3953, - "se-cargo-rocket-cargo-pod": 3936, - "se-cargo-rocket-fuel-tank": 4001, - "se-cargo-rocket-section-packed": 2653, - "se-space-probe-rocket": 1000, - "se-space-elevator-cable": 20000, - "se-canister": -10000, - "se-magnetic-canister": 7502, - "se-lifesupport-canister": 6012, - "se-used-lifesupport-canister": -6100, - "se-observation-frame-blank": 173115, - "se-specimen": 900, - "se-experimental-specimen": 928, - "se-significant-specimen": -1884, - "se-scrap": -15787, - "se-contaminated-scrap": -20905, - "heavy-oil-barrel": 3003, - "light-oil-barrel": 3034, - "lubricant-barrel": 3027, - "petroleum-gas-barrel": 3026, - "se-nutrient-gel-barrel": 1080, - "iron-beam": -5000, - "steel-beam": -5000, - "steel-gear-wheel": -5000, - "electronic-components": 129878, - "automation-core": 4020, - "lithium-sulfur-battery": 49287, - "energy-control-unit": 100000, - "blank-tech-card": 23000, - "automation-science-pack": 22999, - "logistic-science-pack": 22999, - "military-science-pack": 23000, - "chemical-science-pack": 22999, - "se-rocket-science-pack": 22999, - "se-junk-data": -15933, - "se-empty-data": -96869, - "se-machine-learning-data": 47383, - "se-data-storage-substrate": -54134, - "se-significant-data": 15001, - "se-astronomic-catalogue-1": 43506, - "se-astronomic-catalogue-2": 41751, - "se-astronomic-catalogue-3": -16853, - "se-astronomic-catalogue-4": 46401, - "se-astronomic-insight": 49735, - "se-astrometric-data": 19424, - "se-astronomic-science-pack-1": 38257, - "se-astronomic-science-pack-2": 36706, - "se-astronomic-science-pack-4": 13072, - "se-biological-catalogue-1": 30320, - "se-biological-catalogue-2": -12908, - "se-biological-catalogue-3": -2510, - "se-biological-catalogue-4": -16728, - "se-biological-insight": 11580, - "se-genetic-data": -7500, - "se-experimental-genetic-data": -12500, - "se-biological-science-pack-1": 17000, - "se-biological-science-pack-2": 18912, - "se-energy-catalogue-1": 48221, - "se-energy-catalogue-2": -9700, - "se-energy-catalogue-3": 36037, - "se-energy-catalogue-4": -20526, - "se-energy-insight": 12146, - "se-atomic-data": 5046, - "se-energy-science-pack-1": 40000, - "se-energy-science-pack-2": 17000, - "se-energy-science-pack-3": 17000, - "se-material-catalogue-1": 42496, - "se-material-catalogue-2": 48205, - "se-material-catalogue-3": -21850, - "se-material-catalogue-4": -21362, - "se-material-insight": 12843, - "se-material-science-pack-1": 17000, - "se-material-science-pack-2": 24904, - "se-material-science-pack-4": -6000, - "se-kr-matter-liberation-data": 9000, - "se-kr-matter-science-pack-2": -6000, - "singularity-tech-card": -6000, - "se-deep-space-science-pack-1": -6000, - "se-deep-space-science-pack-2": -6000, - "se-deep-space-science-pack-3": -6000, - "se-deep-space-science-pack-4": -6000, - "cliff-explosives": 1611, - "radar": 10000, - "se-meteor-defence-ammo": 20000 - } - }, - "logistic_network": { - "steel-chest": 3535, - "logistic-chest-passive-provider": 3509, - "logistic-chest-active-provider": 4126, - "logistic-chest-storage": 4800, - "logistic-chest-buffer": 4029, - "logistic-chest-requester": 3878, - "kr-fluid-storage-1": 155, - "kr-fluid-storage-2": 1034, - "kr-loader": 3042, - "kr-express-loader": 1939, - "kr-advanced-loader": 2779, - "kr-superior-loader": 150, - "express-transport-belt": 3233, - "kr-advanced-transport-belt": 5900, - "kr-superior-transport-belt": 1318, - "express-underground-belt": 2448, - "kr-advanced-underground-belt": 2223, - "kr-superior-underground-belt": 1464, - "express-splitter": 2034, - "kr-advanced-splitter": 3104, - "kr-superior-splitter": 360, - "long-handed-inserter": 3923, - "fast-inserter": 4256, - "filter-inserter": 3109, - "stack-inserter": 2142, - "stack-filter-inserter": 2349, - "kr-superior-inserter": 50, - "kr-superior-long-inserter": 850, - "kr-superior-filter-inserter": 2155, - "kr-superior-long-filter-inserter": 1650, - "pipe": 6271, - "kr-steel-pipe": 2968, - "pipe-to-ground": 3197, - "kr-steel-pipe-to-ground": 3092, - "storage-tank": 3558, - "pump": 4044, - "kr-steel-pump": 3011, - "medium-electric-pole": 3245, - "big-electric-pole": 3760, - "substation": 3783, - "se-pylon-substation": 4088, - "rail": 8118, - "logistic-train-stop": 663, - "rail-signal": 3014, - "rail-chain-signal": 3465, - "locomotive": 356, - "cargo-wagon": 431, - "fluid-wagon": 45, - "spidertron": 10, - "logistic-robot": 3041, - "construction-robot": 5266, - "roboport": 1006, - "small-lamp": 3398, - "red-wire": 2000, - "green-wire": 2000, - "arithmetic-combinator": 3311, - "decider-combinator": 3049, - "sil-filter-combinator": 150, - "constant-combinator": 5482, - "ltn-combinator": 3629, - "stack-constant-combinator": 200, - "power-switch": 3025, - "aai-signal-sender": 400, - "aai-signal-receiver": 69, - "item-sensor": 3, - "stone-brick": 6535, - "concrete": 6418, - "refined-concrete": 6002, - "landfill": 6228, - "kr-black-reinforced-plate": 581, - "kr-white-reinforced-plate": 952, - "se-rocket-launch-pad": 136, - "se-rocket-landing-pad": 8, - "textplate-small-copper": 2000, - "solar-panel": 3148, - "se-space-solar-panel-2": 1440, - "accumulator": 3656, - "kr-electric-mining-drill-mk2": 3634, - "offshore-pump": 1402, - "kr-mineral-water-pumpjack": 86, - "pumpjack": 121, - "se-core-miner": 51, - "electric-furnace": 3099, - "industrial-furnace": 1693, - "kr-advanced-furnace": 200, - "se-casting-machine": 3192, - "kr-greenhouse": 990, - "kr-bio-lab": 119, - "kr-electrolysis-plant": 1534, - "kr-filtration-plant": 1620, - "kr-atmospheric-condenser": 1977, - "kr-fluid-burner": 111, - "se-recycling-facility": 501, - "se-pulveriser": 315, - "assembling-machine-3": 3009, - "kr-advanced-assembling-machine": 500, - "se-space-assembling-machine": 500, - "oil-refinery": 757, - "chemical-plant": 701, - "kr-advanced-chemical-plant": 393, - "fuel-processor": 18, - "se-fuel-refinery": 136, - "centrifuge": 3232, - "beacon": 929, - "se-compact-beacon": 1749, - "se-wide-beacon": 1543, - "speed-module-3": 3318, - "speed-module-6": 38, - "productivity-module-3": 3136, - "effectivity-module-4": 3072, - "effectivity-module-6": 1930, - "se-water-ice": 16080, - "wood": 6230, - "coal": 1748, - "plastic-bar": 6228, - "sulfur": 3306, - "explosives": 3845, - "processed-fuel": 1100, - "solid-fuel": 3300, - "rocket-fuel": 872, - "stone": 4800, - "glass": 12151, - "quartz": 4800, - "sand": 16317, - "silicon": 3200, - "stone-tablet": 7338, - "se-heat-shielding": 3992, - "se-iron-ingot": 3602, - "iron-plate": 9600, - "se-steel-ingot": 3561, - "steel-plate": 7956, - "se-copper-ingot": 3560, - "copper-plate": 8928, - "rare-metals": 7072, - "lithium": 4032, - "uranium-fuel-cell": 713, - "se-vulcanite-block": 16032, - "imersite-crystal": 3341, - "imersium-plate": 7708, - "se-beryllium-ingot": 6989, - "se-beryllium-plate": 9600, - "se-holmium-ingot": 4224, - "se-iridium-ingot": 1915, - "iron-stick": 8372, - "iron-gear-wheel": 8823, - "empty-barrel": 70, - "motor": 3573, - "engine-unit": 3881, - "electric-motor": 3308, - "electric-engine-unit": 4120, - "copper-cable": 15922, - "se-holmium-cable": 3548, - "se-superconductive-cable": 4032, - "se-holmium-solenoid": 3389, - "battery": 12278, - "electronic-circuit": 15593, - "advanced-circuit": 13976, - "processing-unit": 7339, - "low-density-structure": 4192, - "se-heavy-girder": 3294, - "se-heavy-bearing": 3332, - "se-aeroframe-pole": 3605, - "se-aeroframe-scaffold": 3900, - "se-aeroframe-bulkhead": 3979, - "se-lifesupport-canister": 3407, - "lubricant-barrel": 951, - "iron-beam": 8011, - "steel-beam": 7914, - "imersium-beam": 7985, - "steel-gear-wheel": 8635, - "imersium-gear-wheel": 8288, - "electronic-components": 6173, - "automation-core": 3629, - "lithium-sulfur-battery": 3267, - "energy-control-unit": 7202, - "se-energy-catalogue-1": 377, - "se-material-catalogue-1": 39, - "se-medpack-2": 1644, - "repair-pack": 9600, - "piercing-rounds-magazine": 14234, - "cliff-explosives": 2175, - "se-rtg-equipment": 20, - "se-rtg-equipment-2": 16, - "imersite-solar-panel-equipment": 360, - "big-imersite-solar-panel-equipment": 44, - "big-battery-mk2-equipment": 40, - "jetpack-1": 40, - "advanced-exoskeleton-equipment": 40, - "advanced-additional-engine": 10, - "vehicle-roboport": 240, - "steel-wall": 3725, - "gun-turret": 4061, - "laser-turret": 700, - "radar": 3276, - "se-meteor-defence": 20 - } - }, - "webhookUrl": "https://n8n.sebse.de/webhook/c3f462a9-97b7-42eb-8489-63ab0b1fe865/:combinator", - "executionMode": "production" - }, - "pairedItem": { - "item": 0 - } - } - ] - }, - "connections": { - "Webhook": { - "main": [ - [ - { - "node": "Get a database", - "type": "main", - "index": 0 - }, - { - "node": "Code in JavaScript", - "type": "main", - "index": 0 - }, - { - "node": "Col Name", - "type": "main", - "index": 0 - } - ] - ] - }, - "Get a database": { - "main": [ - [ - { - "node": "If", - "type": "main", - "index": 0 - } - ] - ] - }, - "If": { - "main": [ - [ - { - "node": "Get many database pages", - "type": "main", - "index": 0 - } - ] - ] - }, - "Get many database pages": { - "main": [ - [ - { - "node": "Merge", - "type": "main", - "index": 0 - } - ] - ] - }, - "Code in JavaScript": { - "main": [ - [ - { - "node": "Merge", - "type": "main", - "index": 1 - } - ] - ] - }, - "Col Name": { - "main": [ - [ - { - "node": "Merge", - "type": "main", - "index": 2 - } - ] - ] - }, - "Merge": { - "main": [ - [ - { - "node": "If1", - "type": "main", - "index": 0 - } - ] - ] - }, - "If1": { - "main": [ - [ - { - "node": "Update a database page", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Get row(s)", - "type": "main", - "index": 0 - }, - { - "node": "Merge1", - "type": "main", - "index": 0 - }, - { - "node": "Get row(s)1", - "type": "main", - "index": 0 - } - ] - ] - }, - "Get row(s)": { - "main": [ - [ - { - "node": "Merge1", - "type": "main", - "index": 1 - } - ] - ] - }, - "Merge1": { - "main": [ - [ - { - "node": "Create a database page", - "type": "main", - "index": 0 - } - ] - ] - }, - "Get row(s)1": { - "main": [ - [ - { - "node": "Merge1", - "type": "main", - "index": 2 - } - ] - ] - } - }, - "active": true, - "settings": { - "executionOrder": "v1", - "binaryMode": "separate" - }, - "versionId": "34c6607b-4cff-4b00-9ed6-33e997f16a80", - "meta": { - "templateCredsSetupCompleted": true, - "instanceId": "4726556730103ab7311c3481f6a0c01717b032c732d44cc4f6f4aaec9cda9290" - }, - "id": "wxjLUEiL15VHEpKO", - "tags": [] -} \ No newline at end of file