Skip to content

Process a captured document.

An exact source excerpt. Inspect the complete file to see its imports, surrounding types, and error handling.

domain/documentintake/model/modules/process_extract_drive_document/src/main.goExcerpt begins at line 8File SHA-25698df0c066c636e640c44ea9772c17cd0f8ee29e8dc8ef49148915349427da866
Process a captured document go
// Inspect captured documentdone_inspect_document := true_ = done_inspect_documentvar value_inspect_document module.Valueif done_inspect_document {value_inspect_document, err = module.Function("inspect_drive_document",module.MustObject(map[string]module.Value{"file_id":field(input,"file_id")}))if err != nil { return module.Value{},err }}// Route normalization outcomedone_route_normalization := (done_inspect_document)_ = done_route_normalizationselected_route_normalization := ""if done_route_normalization {selected_route_normalization = text(field(field(value_inspect_document,"value"),"normalization_status"))switch selected_route_normalization { case "normalized","failed": default: return module.Value{},fmt.Errorf("ExtractDriveDocument: unexpected route_normalization value %q", selected_route_normalization) }}// Extract normalized documentdone_extract_document := (selected_route_normalization == "normalized")_ = done_extract_documentvar value_extract_document module.Valueif done_extract_document {value_extract_document, err = module.Function("extract_drive_document",module.MustObject(map[string]module.Value{"file_id":field(input,"file_id")}))if err != nil { return module.Value{},err }}// Record extracted factsdone_record_extraction := (done_extract_document)_ = done_record_extractionif done_record_extraction {_,err = module.Action("RecordDriveExtraction",module.MustObject(map[string]module.Value{"amount":field(field(value_extract_document,"value"),"amount"),"customer":field(field(value_extract_document,"value"),"customer"),"document_status":field(field(value_extract_document,"value"),"document_status"),"extraction_status":field(field(value_extract_document,"value"),"extraction_status"),"failure_class":field(field(value_extract_document,"value"),"failure_class"),"file_id":field(input,"file_id")}),nil,target(field(field(value_extract_document,"evidence"),"candidate_receipt_id")))if err != nil { return module.Value{},err }}
Run it in its product environment.

This source depends on its surrounding product, generated libraries, and platform runtime. The website demonstrations run locally in your browser and do not execute this source against a workspace.