gleif_rs/model/mod.rs
1//! Model definitions for the GLEIF API.
2//!
3//! This module contains submodules that define the data structures and enumerations used to interact with
4//! various endpoints of the GLEIF API. Each submodule corresponds to a specific endpoint or category of data
5//! provided by the API, enabling strongly-typed deserialization and manipulation of GLEIF resources.
6//!
7//! The submodules include:
8//! - `auto_completion`: Models for the auto-completion endpoint.
9//! - `common`: Shared data structures used across multiple endpoints.
10//! - `country`: Models for country-specific data.
11//! - `entity_legal_form`: Models for entity legal forms.
12//! - `enums`: Enumerations for attributes and statuses used across the API.
13//! - `field`: Models for the field endpoint.
14//! - `field_modification`: Models for the field modification endpoint.
15//! - `fuzzy_completion`: Models for the fuzzy completion endpoint.
16//! - `isin`: Models for ISIN-related data.
17//! - `jurisdiction`: Models for jurisdiction-specific data.
18//! - `lei_issuer`: Models for LEI issuer data.
19//! - `lei_record`: Models for LEI records.
20//! - `official_organizational_role`: Models for official organizational roles.
21//! - `region`: Models for region-specific data.
22//! - `registration_agent`: Models for registration agents.
23//! - `registration_authority`: Models for registration authorities.
24//! - `relationship_record`: Models for relationship records.
25//! - `reporting_exception`: Models for reporting exceptions.
26//! - `vlei_issuer`: Models for vLEI issuers.
27//!
28//! These modules collectively provide a comprehensive representation of the GLEIF API's data model.
29
30pub mod auto_completion;
31pub mod common;
32pub mod country;
33pub mod entity_legal_form;
34pub mod enums;
35pub mod field;
36pub mod field_modification;
37pub mod fuzzy_completion;
38pub mod isin;
39pub mod jurisdiction;
40pub mod lei_issuer;
41pub mod lei_record;
42pub mod official_organizational_role;
43pub mod region;
44pub mod registration_agent;
45pub mod registration_authority;
46pub mod relationship_record;
47pub mod reporting_exception;
48pub mod vlei_issuer;
49
50// Types alias for convenience
51
52/// Type alias for a list of auto-completion responses from the GLEIF API.
53pub type AutoCompletionList = common::GleifApiResponse<Vec<auto_completion::AutoCompletion>>;
54/// Type alias for a country response from the GLEIF API.
55pub type Country = common::GleifApiResponse<country::Country>;
56/// Type alias for a list of countries from the GLEIF API.
57pub type CountryList = common::GleifApiResponse<Vec<country::Country>>;
58/// Type alias for an entity legal form response from the GLEIF API.
59pub type EntityLegalForm = common::GleifApiResponse<entity_legal_form::EntityLegalForm>;
60/// Type alias for a list of entity legal forms from the GLEIF API.
61pub type EntityLegalFormList = common::GleifApiResponse<Vec<entity_legal_form::EntityLegalForm>>;
62/// Type alias for a field response from the GLEIF API.
63pub type Field = common::GleifApiResponse<field::Field>;
64/// Type alias for a list of fields from the GLEIF API.
65pub type FieldList = common::GleifApiResponse<Vec<field::Field>>;
66/// Type alias for a list of field modifications from the GLEIF API.
67pub type FieldModificationList =
68 common::GleifApiResponse<Vec<field_modification::FieldModification>>;
69/// Type alias for a list of fuzzy completions from the GLEIF API.
70pub type FuzzyCompletionList = common::GleifApiResponse<Vec<fuzzy_completion::FuzzyCompletion>>;
71/// Type alias for a list of ISINs from the GLEIF API.
72pub type IsinList = common::GleifApiResponse<Vec<isin::Isin>>;
73/// Type alias for a jurisdiction response from the GLEIF API.
74pub type Jurisdiction = common::GleifApiResponse<jurisdiction::Jurisdiction>;
75/// Type alias for a list of jurisdictions from the GLEIF API.
76pub type JurisdictionList = common::GleifApiResponse<Vec<jurisdiction::Jurisdiction>>;
77/// Type alias for a LEI issuer response from the GLEIF API.
78pub type LeiIssuer = common::GleifApiResponse<lei_issuer::LeiIssuer>;
79/// Type alias for a list of LEI issuers from the GLEIF API.
80pub type LeiIssuerList = common::GleifApiResponse<Vec<lei_issuer::LeiIssuer>>;
81/// Type alias for a list of LEI issuer jurisdictions from the GLEIF API.
82pub type LeiIssuerJurisdictionList =
83 common::GleifApiResponse<Vec<lei_issuer::LeiIssuerJurisdiction>>;
84/// Type alias for a LEI record response from the GLEIF API.
85pub type LeiRecord = common::GleifApiResponse<lei_record::LeiRecord>;
86/// Type alias for a list of LEI records from the GLEIF API.
87pub type LeiRecordList = common::GleifApiResponse<Vec<lei_record::LeiRecord>>;
88/// Type alias for an official organizational role response from the GLEIF API.
89pub type OfficialOrganizationalRole =
90 common::GleifApiResponse<official_organizational_role::OfficialOrganizationalRole>;
91/// Type alias for a list of official organizational roles from the GLEIF API.
92pub type OfficialOrganizationalRoleList =
93 common::GleifApiResponse<Vec<official_organizational_role::OfficialOrganizationalRole>>;
94/// Type alias for a region response from the GLEIF API.
95pub type Region = common::GleifApiResponse<region::Region>;
96/// Type alias for a list of regions from the GLEIF API.
97pub type RegionList = common::GleifApiResponse<Vec<region::Region>>;
98/// Type alias for a registration agent response from the GLEIF API.
99pub type RegistrationAgent = common::GleifApiResponse<registration_agent::RegistrationAgent>;
100/// Type alias for a list of registration agents from the GLEIF API.
101pub type RegistrationAgentList =
102 common::GleifApiResponse<Vec<registration_agent::RegistrationAgent>>;
103/// Type alias for a registration authority response from the GLEIF API.
104pub type RegistrationAuthority =
105 common::GleifApiResponse<registration_authority::RegistrationAuthority>;
106/// Type alias for a list of registration authorities from the GLEIF API.
107pub type RegistrationAuthorityList =
108 common::GleifApiResponse<Vec<registration_authority::RegistrationAuthority>>;
109/// Type alias for a relationship record response from the GLEIF API.
110pub type RelationshipRecord = common::GleifApiResponse<relationship_record::RelationshipRecord>;
111/// Type alias for a list of relationship records from the GLEIF API.
112pub type RelationshipRecordList =
113 common::GleifApiResponse<Vec<relationship_record::RelationshipRecord>>;
114/// Type alias for a reporting exception response from the GLEIF API.
115pub type ReportingException = common::GleifApiResponse<reporting_exception::ReportingException>;
116/// Type alias for a vLEI issuer response from the GLEIF API.
117pub type VLeiIssuer = common::GleifApiResponse<vlei_issuer::VLeiIssuer>;
118/// Type alias for a list of vLEI issuers from the GLEIF API.
119pub type VLeiIssuerList = common::GleifApiResponse<Vec<vlei_issuer::VLeiIssuer>>;