authnz-common 0.2.1

Authnz common library (types and utils).
Documentation
//! Users maintenance module.

#[cfg(any(feature = "app-server-types", feature = "authnz-server-types"))]
use impulse_server_kit::salvo;
#[cfg(any(feature = "app-server-types", feature = "authnz-server-types"))]
use salvo::oapi::ToSchema;
use serde::{Deserialize, Serialize};

use crate::{AccessTag, Id, PreregistrationRequirementsRequest};

/// Check user exists request.
pub type CheckUserExistsRequest = PreregistrationRequirementsRequest;

/// Get user tags request.
pub type GetUserTagsRequest = PreregistrationRequirementsRequest;

/// Get user tags request.
pub type DeleteUserRequest = PreregistrationRequirementsRequest;

#[cfg_attr(any(feature = "app-server-types", feature = "authnz-server-types"), derive(ToSchema))]
#[derive(Deserialize, Serialize, PartialEq, Eq, Clone)]
/// Get user tags response.
pub struct GetUserTagsResponse {
  /// User tags.
  pub tags: Vec<AccessTag>,
}

#[cfg_attr(any(feature = "app-server-types", feature = "authnz-server-types"), derive(ToSchema))]
#[derive(Deserialize, Serialize, PartialEq, Eq, Clone)]
/// Edit user tags request.
pub struct EditUserTagsRequest {
  /// Application name to register user in.
  pub app_name: String,
  /// User identifier.
  pub login: Id,
  /// Add some tags.
  pub add_tags: Option<Vec<AccessTag>>,
  /// Remove some tags if user have them.
  pub remove_tags: Option<Vec<AccessTag>>,
}