Packages

🛂 Gleam Microsoft Authorization Library by @gleam-br

Current section

Files

Jump to
gbr_msal src gbr msal domain.gleam
Raw

src/gbr/msal/domain.gleam

////
//// TYPES
////
//// Tipos p/ trabalharmos com a biblioteca @azure/msal-browser.
////
import gleam/javascript/promise
/// Concentra a composição necessária p/ exec. das funções em 'gbr_msal'.
///
/// - `config`: Config da inicialização do msal.
/// - `instance`: Instância do msal criada.
///
/// https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md#createpca-pattern
///
pub opaque type Msal {
Msal(config: Configuration, instance: Application)
}
/// Cria nova instancia de Msal
///
pub fn msal(config config, instance instance) {
Msal(config:, instance:)
}
/// Extrai instância da aplicação @azure/msal-browser
///
pub fn instance(in: Msal, cb: fn(Application) -> a) -> a {
let Msal(instance:, ..) = in
cb(instance)
}
/// IPublicClientApplication
///
/// [lib/msal-browser/docs/initialization.md](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md#initialization-of-msal)
///
pub type Application
/// Configuration
///
/// [lib/msal-browser/docs/configuration.md](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md#configuration-options)
///
pub type Configuration
/// Qualquer objeto de requisição da biblioteca @azure/msal-browser:
///
/// - login: PopupRequest | RedirectRequest | SsoSilentRequest
/// - token: PopupRequest | RedirectRequest | SilentRequest | AuthenticationCodeRequest
/// - logout: EndSessionRequest | EndSessionRequestPopup
/// - account: AccountFilter
///
pub type Request
/// Qualquer objeto de resposta da biblioteca @azure/msal-browser:
///
/// - login: AuthenticationResult
/// - token: AuthenticationResult
/// - account: AccountInfo
/// - logout: void
///
pub type Response
/// AccountInfo
///
/// [lib/msal-common/docs/Accounts.md](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/Accounts.md)
///
pub type AccountInfo =
Response
/// Iteração c/ o usuário
///
/// [Escolha qual usar](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/initialization.md#choosing-an-interaction-type)
///
pub type Iteraction {
Code
Popup
Silent
Redirect
}
/// Erro geral utilizado pela @azure/msal-browser.
/// TODO retornar este erro do ffi.mjs
pub type AuthError {
/// Atributos:
///
/// * code : Short string denoting error
/// * message : Detailed description of error
/// * sub : Describes the subclass of an error
/// * correlation_id: CorrelationId associated with the error
AuthError(code: String, message: String, sub: String, correlation_id: String)
}
/// Short alias type
///
pub type Try(a) =
Result(a, String)
/// Short alias type
///
pub type Promise(a) =
promise.Promise(Try(a))