Skip to content

Commit 625786a

Browse files
committed
keep backwards compat for grpc messages
1 parent 8573696 commit 625786a

3 files changed

Lines changed: 18 additions & 13 deletions

File tree

golem-api-grpc/proto/golem/apidefinition/api_definition.proto

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ message WorkerBinding {
6565
optional golem.rib.Expr worker_name = 2;
6666
golem.rib.Expr response = 3;
6767
optional golem.rib.Expr idempotency_key = 4;
68-
WorkerBindingType type = 5;
68+
optional WorkerBindingType type = 5;
6969
}
7070

7171
message CompiledWorkerBinding {
@@ -80,7 +80,7 @@ message CompiledWorkerBinding {
8080
optional golem.rib.RibByteCode compiled_idempotency_key_expr = 9;
8181
optional golem.rib.RibInputType idempotency_key_rib_input = 10;
8282
optional golem.rib.WorkerFunctionsInRib worker_functions_in_response = 11;
83-
WorkerBindingType type = 12;
83+
optional WorkerBindingType type = 12;
8484
}
8585

8686
enum WorkerBindingType {

golem-worker-service-base/src/api/register_api_definition_api.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ impl TryFrom<crate::worker_binding::GolemWorkerBinding> for grpc_apidefinition::
490490
worker_name,
491491
idempotency_key,
492492
response,
493-
r#type: r#type.into(),
493+
r#type: Some(r#type.into()),
494494
};
495495

496496
Ok(result)
@@ -516,15 +516,19 @@ impl TryFrom<grpc_apidefinition::WorkerBinding> for crate::worker_binding::Golem
516516
None
517517
};
518518

519-
let r#type = grpc_apidefinition::WorkerBindingType::try_from(value.r#type)
520-
.map_err(|e| format!("Failed to convert WorkerBindingType: {}", e))?;
519+
let r#type = value
520+
.r#type
521+
.map(grpc_apidefinition::WorkerBindingType::try_from)
522+
.transpose()
523+
.map_err(|e| format!("Failed to convert WorkerBindingType: {}", e))?
524+
.map_or(WorkerBindingType::default(), WorkerBindingType::from);
521525

522526
let result = crate::worker_binding::GolemWorkerBinding {
523527
component_id,
524528
worker_name,
525529
idempotency_key,
526530
response,
527-
worker_binding_type: r#type.into(),
531+
worker_binding_type: r#type,
528532
};
529533

530534
Ok(result)

golem-worker-service-base/src/worker_binding/compiled_golem_worker_binding.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -202,18 +202,19 @@ impl TryFrom<golem_api_grpc::proto::golem::apidefinition::CompiledWorkerBinding>
202202
worker_calls,
203203
};
204204

205-
let worker_binding_type: golem_api_grpc::proto::golem::apidefinition::WorkerBindingType =
206-
value
207-
.r#type
208-
.try_into()
209-
.map_err(|_| "Invalid worker binding type".to_string())?;
205+
let worker_binding_type = value
206+
.r#type
207+
.map(golem_api_grpc::proto::golem::apidefinition::WorkerBindingType::try_from)
208+
.transpose()
209+
.map_err(|_| "Invalid worker binding type".to_string())?
210+
.map_or(WorkerBindingType::default(), WorkerBindingType::from);
210211

211212
Ok(CompiledGolemWorkerBinding {
212213
component_id,
213214
worker_name_compiled,
214215
idempotency_key_compiled,
215216
response_compiled,
216-
worker_binding_type: worker_binding_type.into(),
217+
worker_binding_type,
217218
})
218219
}
219220
}
@@ -267,7 +268,7 @@ impl TryFrom<CompiledGolemWorkerBinding>
267268
compiled_response_expr,
268269
response_rib_input,
269270
worker_functions_in_response,
270-
r#type: r#type.into(),
271+
r#type: Some(r#type.into()),
271272
},
272273
)
273274
}

0 commit comments

Comments
 (0)