Skip to main content

ledger_models/
fintekkers.requests.security.rs

1/// Use this request to create or update securities. Uniqueness is guaranteed via the UUID.
2/// Security identifiers do not guarantee uniqueness. As an example a bond ISIN or stock ticker
3/// may be re-used over time. Therefore if you send 2 requests with the same security identifier
4/// you will create two securities. In order to avoid duplication you should either re-use the UUID
5/// when calling the API, in which case an update will be applied. If you do not know the UUID, you
6/// should first do a search operation.
7///
8/// It is preferred that the client generates the UUID. This will avoid issues in the network leading
9/// to duplicate securities.
10#[allow(clippy::derive_partial_eq_without_eq)]
11#[derive(Clone, PartialEq, ::prost::Message)]
12pub struct CreateSecurityRequestProto {
13    #[prost(string, tag = "1")]
14    pub object_class: ::prost::alloc::string::String,
15    #[prost(string, tag = "2")]
16    pub version: ::prost::alloc::string::String,
17    /// A fully formed security object to be created or updated. Validations may be applied
18    /// before creating. For example creating an equity security with bond fields may be invalid and
19    /// therefore rejected.
20    #[prost(message, optional, tag = "20")]
21    pub security_input: ::core::option::Option<
22        super::super::models::security::SecurityProto,
23    >,
24}
25#[allow(clippy::derive_partial_eq_without_eq)]
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct CreateSecurityResponseProto {
28    #[prost(string, tag = "1")]
29    pub object_class: ::prost::alloc::string::String,
30    #[prost(string, tag = "2")]
31    pub version: ::prost::alloc::string::String,
32    /// The input that was provided for this request.
33    #[prost(message, optional, tag = "20")]
34    pub security_request: ::core::option::Option<CreateSecurityRequestProto>,
35    /// The security (or securities) that were created in response to this request
36    #[prost(message, optional, tag = "30")]
37    pub security_response: ::core::option::Option<
38        super::super::models::security::SecurityProto,
39    >,
40    /// If no errors or warnings in the response then the request was processed successfully without any
41    /// contingencies.
42    #[prost(message, optional, tag = "40")]
43    pub errors_or_warnings: ::core::option::Option<super::util::errors::SummaryProto>,
44}
45#[allow(clippy::derive_partial_eq_without_eq)]
46#[derive(Clone, PartialEq, ::prost::Message)]
47pub struct GetFieldValuesRequestProto {
48    #[prost(string, tag = "1")]
49    pub object_class: ::prost::alloc::string::String,
50    #[prost(string, tag = "2")]
51    pub version: ::prost::alloc::string::String,
52    #[prost(enumeration = "super::super::models::position::FieldProto", tag = "10")]
53    pub field: i32,
54}
55#[allow(clippy::derive_partial_eq_without_eq)]
56#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct GetFieldValuesResponseProto {
58    #[prost(string, tag = "1")]
59    pub object_class: ::prost::alloc::string::String,
60    #[prost(string, tag = "2")]
61    pub version: ::prost::alloc::string::String,
62    #[prost(message, repeated, tag = "10")]
63    pub values: ::prost::alloc::vec::Vec<::prost_types::Any>,
64}
65#[allow(clippy::derive_partial_eq_without_eq)]
66#[derive(Clone, PartialEq, ::prost::Message)]
67pub struct GetFieldsResponseProto {
68    #[prost(string, tag = "1")]
69    pub object_class: ::prost::alloc::string::String,
70    #[prost(string, tag = "2")]
71    pub version: ::prost::alloc::string::String,
72    #[prost(
73        enumeration = "super::super::models::position::FieldProto",
74        repeated,
75        tag = "10"
76    )]
77    pub fields: ::prost::alloc::vec::Vec<i32>,
78}
79/// A request to allow clients to find existing securities.
80#[allow(clippy::derive_partial_eq_without_eq)]
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct QuerySecurityRequestProto {
83    #[prost(string, tag = "1")]
84    pub object_class: ::prost::alloc::string::String,
85    #[prost(string, tag = "2")]
86    pub version: ::prost::alloc::string::String,
87    /// The list of UUIds to return
88    #[prost(message, repeated, tag = "21")]
89    pub uu_ids: ::prost::alloc::vec::Vec<super::super::models::util::UuidProto>,
90    /// A list of position filters that will filter securities that match.
91    #[prost(message, optional, tag = "22")]
92    pub search_security_input: ::core::option::Option<
93        super::super::models::position::PositionFilterProto,
94    >,
95    #[prost(message, optional, tag = "23")]
96    pub as_of: ::core::option::Option<super::super::models::util::LocalTimestampProto>,
97    /// Case-insensitive substring match on security name (issuer) or identifier (e.g. ticker).
98    /// Empty string means no filter (return all).
99    #[prost(string, tag = "24")]
100    pub name_filter: ::prost::alloc::string::String,
101}
102#[allow(clippy::derive_partial_eq_without_eq)]
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct QuerySecurityResponseProto {
105    #[prost(string, tag = "1")]
106    pub object_class: ::prost::alloc::string::String,
107    #[prost(string, tag = "2")]
108    pub version: ::prost::alloc::string::String,
109    /// The input that was provided for this request.
110    #[prost(message, optional, tag = "20")]
111    pub query_security_input: ::core::option::Option<QuerySecurityRequestProto>,
112    /// The security (or securities) that was matched by this request.
113    #[prost(message, repeated, tag = "30")]
114    pub security_response: ::prost::alloc::vec::Vec<
115        super::super::models::security::SecurityProto,
116    >,
117    /// Any errors or warnings related to this request
118    #[prost(message, repeated, tag = "40")]
119    pub errors_or_warnings: ::prost::alloc::vec::Vec<super::util::errors::SummaryProto>,
120}