hubuum_client 0.0.2

Rust client library for the Hubuum API with synchronous and asynchronous interfaces.
Documentation
mod auth;
mod baseurl;
mod datetime;
mod filter;
mod import;
mod meta;
mod params;
mod report;
mod search;
mod task;

use serde::{Deserialize, Serialize};
use strum::{Display, EnumIter, EnumString};

pub use auth::{Credentials, Token};
pub use baseurl::BaseUrl;
pub use datetime::HubuumDateTime;
pub use filter::{FilterOperator, IntoQueryTuples, QueryFilter, SortDirection};
pub use import::{
    CURRENT_IMPORT_VERSION, ClassKey, GroupKey, ImportAtomicity, ImportClassInput,
    ImportClassRelationInput, ImportCollisionPolicy, ImportGraph, ImportMode, ImportNamespaceInput,
    ImportNamespacePermissionInput, ImportObjectInput, ImportObjectRelationInput,
    ImportPermissionPolicy, ImportRequest, NamespaceKey, ObjectKey,
};
pub use meta::{CountsResponse, DbStateResponse, ObjectsByClass};
pub use params::{ClassParams, NamespacePermissionsGrantParams, UserParams};
pub use report::{
    ReportContentType, ReportJsonResponse, ReportLimits, ReportMeta, ReportMissingDataPolicy,
    ReportOutputRequest, ReportRequest, ReportResult, ReportScope, ReportScopeKind, ReportWarning,
};
pub use search::{
    UnifiedSearchBatchResponse, UnifiedSearchDoneEvent, UnifiedSearchErrorEvent,
    UnifiedSearchEvent, UnifiedSearchKind, UnifiedSearchNext, UnifiedSearchResponse,
    UnifiedSearchResults, UnifiedSearchStartedEvent,
};
pub use task::{
    ImportTaskDetails, ImportTaskResultResponse, TaskDetails, TaskEventResponse, TaskKind,
    TaskLinks, TaskProgress, TaskQueueStateResponse, TaskResponse, TaskStatus,
};

#[derive(Debug, Clone, Serialize, Deserialize, EnumIter, EnumString, Display, PartialEq, Eq)]
#[serde(rename_all = "PascalCase")]
pub enum Permissions {
    ReadCollection,
    UpdateCollection,
    DeleteCollection,
    DelegateCollection,
    CreateClass,
    ReadClass,
    UpdateClass,
    DeleteClass,
    CreateObject,
    ReadObject,
    UpdateObject,
    DeleteObject,
    CreateClassRelation,
    ReadClassRelation,
    UpdateClassRelation,
    DeleteClassRelation,
    CreateObjectRelation,
    ReadObjectRelation,
    UpdateObjectRelation,
    DeleteObjectRelation,
    ReadTemplate,
    CreateTemplate,
    UpdateTemplate,
    DeleteTemplate,
}