// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: place.atwork.profile // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. ///Indicates the identity is available for hire #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, Hash, jacquard_derive::IntoStatic )] pub struct Forhire; impl std::fmt::Display for Forhire { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "forhire") } } ///Indicates the identity is actively hiring #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, Hash, jacquard_derive::IntoStatic )] pub struct Hiring; impl std::fmt::Display for Hiring { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "hiring") } } ///A user profile for AT://Work.Place #[jacquard_derive::lexicon] #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[serde(rename_all = "camelCase")] pub struct Profile<'a> { ///Small image to be displayed next to job listings from account. AKA, 'profile picture' #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub avatar: std::option::Option>, ///Larger horizontal image to display behind profile view. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub banner: std::option::Option>, ///A free text description of the identity. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub description: std::option::Option>, ///The display name of the identity. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub display_name: std::option::Option>, ///Annotations of text (mentions, URLs, hashtags, etc) in the description. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub facets: std::option::Option>>, ///The service used for profile links #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub profile_host: std::option::Option>, ///The identity's resume. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub resume: std::option::Option>, ///The current status of the identity. #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub status: std::option::Option>, } /// Typed wrapper for GetRecord response with this collection's record type. #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[serde(rename_all = "camelCase")] pub struct ProfileGetRecordOutput<'a> { #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub cid: std::option::Option>, #[serde(borrow)] pub uri: jacquard_common::types::string::AtUri<'a>, #[serde(borrow)] pub value: Profile<'a>, } /// Marker type for deserializing records from this collection. pub struct ProfileRecord; impl jacquard_common::xrpc::XrpcResp for ProfileRecord { const NSID: &'static str = "place.atwork.profile"; const ENCODING: &'static str = "application/json"; type Output<'de> = ProfileGetRecordOutput<'de>; type Err<'de> = jacquard_common::types::collection::RecordError<'de>; } impl jacquard_common::types::collection::Collection for Profile<'_> { const NSID: &'static str = "place.atwork.profile"; type Record = ProfileRecord; } impl From> for Profile<'_> { fn from(output: ProfileGetRecordOutput<'_>) -> Self { use jacquard_common::IntoStatic; output.value.into_static() } }