Go to file
2025-06-25 13:06:16 +00:00
src Automatic push from FunctionsAPI 2025-06-25 13:06:16 +00:00
Cargo.lock Automatic push from FunctionsAPI 2025-06-25 13:06:16 +00:00
Cargo.toml Automatic push from FunctionsAPI 2025-06-25 13:06:16 +00:00
example_input.json Automatic push from FunctionsAPI 2025-06-25 13:06:16 +00:00
README.md Automatic push from FunctionsAPI 2025-06-25 13:06:16 +00:00

Corrosion coupon report upload

Approximately every 90 days during the entire lifetime of an active pipeline the corrosion coupon in a corrosion coupon retrieval point should be replaced. The removed coupon should be weighed to assess the metal loss of the coupon during the days it was exposed in the pipeline.

Input

Arguments

  • org_id: as string which should be a valid uuid for the organization
  • project_id: the id of the data project where the pipeline data is found
  • pipeline_id: an array of strings which should be valid UUIDs for pipelines
  • coupon_retrieval_point_id: an array of strings which should be valid UUIDs for coupon retrieval points on the pipeline
  • installation_date: a string formatted as an ISO date representing the date the corrosion coupon was installed in the pipeline.
  • retrieval_date: a string formatted as an ISO date representing the date the corrosion coupon was retrieved from the pipeline.
  • metal_loss: a float representing the measured metal loss of the coupon.
  • inspector: a string representing the identifier of the inspector
  • remarks: a string for any additional remarks about the inspection

Creating the function on the platform

To create this function on the platform using the cli set up the port forwarding as shown in README.

Then run the following command to create the function.

cargo run functions create \
  -f functions/corrosion_coupon_report \
  -d "Creates new corrosion coupon reports" \
  -i org_id=string \
  -i project_id=string \
  -i pipeline_id=array \
  -i coupon_retrieval_point_id=array \
  -i installation_date=string \
  -i retrieval_date=string \
  -i metal_loss=float \
  -i inspector=string \
  -i remarks=string 

Testing the function locally

You can run and test the function locally by running

cargo run

Then you can check it work with curl as follows

jq '. | tojson' functions/corrosion_coupon_report/example_input.json | curl -d '@-' localhost:8080