import "@typespec/rest"; namespace Shared; @doc("{name} create request.", T) @friendlyName("Create{name}Request", T) @withVisibility(Lifecycle.Create) model CreateRequest is DefaultKeyVisibility; // Supports visibility filtering for models with nested fields. @doc("{name} create request.", T) @friendlyName("Create{name}Request", T) model CreateRequestNested is FilterVisibility< DefaultKeyVisibility, #{ all: #[Lifecycle.Create] }, "Create{name}" >; @doc("{name} upsert request.", T) @friendlyName("Upsert{name}Request", T) @withVisibility(Lifecycle.Create, Lifecycle.Update) model UpsertRequest is DefaultKeyVisibility; @doc("{name} update request.", T) @friendlyName("Update{name}Request", T) @withVisibility(Lifecycle.Update) model UpdateRequest is OptionalProperties>>; // Supports visibility filtering for models with nested fields. @doc("{name} update request.", T) @friendlyName("Update{name}Request", T) model UpdateRequestNested is FilterVisibility< DefaultKeyVisibility, #{ all: #[Lifecycle.Update] }, "Update{name}" >;