Usuário

public extension User
extension User: ObservableObject
  • Vincula o usuário atualmente autenticado a uma nova identidade, em que a identidade é definida pela credencial especificada como um parâmetro. Isso só será bem-sucedido se esse User for o atualmente autenticado com o cliente do qual foi criado. Em caso de sucesso, um novo usuário será retornado com as novas credenciais vinculadas. @param credenciais O Credentials usado para vincular o usuário a uma nova identidade. @completion Uma conclusão que eventualmente retorna Result.success(User) com os dados do usuário ou Result.failure(Error).

    Declaração

    Swift

    @preconcurrency
    func linkUser(credentials: Credentials, _ completion: @escaping @Sendable (Result<User, Error>) -> Void)
  • Vincula o usuário atualmente autenticado a uma nova identidade, em que a identidade é definida pela credencial especificada como um parâmetro. Isso só será bem-sucedido se esse User for o atualmente autenticado com o cliente do qual foi criado. Em caso de sucesso, um novo usuário será retornado com as novas credenciais vinculadas. @param credenciais O Credentials usado para vincular o usuário a uma nova identidade. @returns Um editor que eventualmente retorna Result.success ou Error.

    Declaração

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    func linkUser(credentials: Credentials) -> Future<User, Error>
  • Vincula o usuário atualmente autenticado a uma nova identidade, em que a identidade é definida pela credencial especificada como um parâmetro. Isso só será bem-sucedido se esse User for o atualmente autenticado com o cliente do qual foi criado. Em caso de sucesso, um novo usuário será retornado com as novas credenciais vinculadas.

    Declaração

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    func linkUser(credentials: Credentials) async throws -> User

    Parâmetros

    credentials

    O Credentials costumava vincular o usuário a uma nova identidade.

    Valor de retorno

    Um User depois de atualizar com sucesso sua identidade.

  • Crie uma instância de configuração de sincronização.

    Declaração

    Swift

    @preconcurrency
    func configuration<T: BSON>(partitionValue: T,
                                clientResetMode: ClientResetMode = .recoverUnsyncedChanges(beforeReset: nil, afterReset: nil),
                                cancelAsyncOpenOnNonFatalErrors: Bool = false) -> Realm.Configuration

    Parâmetros

    partitionValue

    O valor BSON em que o Realm é particionado.

    clientResetMode

    Determina o comportamento de recuperação de arquivos durante um reinício do cliente. .recoverUnsyncedChanges por padrão.

    cancelAsyncOpenOnNonFatalErrors

    Por padrão, Realm.asyncOpen() incorpora erros de conexão não fatais, como uma tentativa de conexão de tempo limite, e simplesmente tenta novamente até ser bem-sucedida. Se isso estiver definido como true, o erro será relatado à chamada de resposta e a abertura assíncrona será cancelada.

  • Crie uma instância de configuração de sincronização.

    Declaração

    Swift

    @preconcurrency
    func configuration(partitionValue: AnyBSON,
                       clientResetMode: ClientResetMode = .recoverUnsyncedChanges(beforeReset: nil, afterReset: nil),
                       cancelAsyncOpenOnNonFatalErrors: Bool = false) -> Realm.Configuration

    Parâmetros

    partitionValue

    Aceita nil como um valor da partição.

    clientResetMode

    Determina o comportamento de recuperação de arquivos durante um reinício do cliente. .recoverUnsyncedChanges por padrão.

    cancelAsyncOpenOnNonFatalErrors

    Por padrão, Realm.asyncOpen() incorpora erros de conexão não fatais, como uma tentativa de conexão de tempo limite, e simplesmente tenta novamente até ser bem-sucedida. Se isso estiver definido como true, o erro será relatado à chamada de resposta e a abertura assíncrona será cancelada.

  • Os dados personalizados do usuário. Isso é configurado em seu Atlas App Services App.

    Declaração

    Swift

    var customData: Document { get }
  • Um cliente para interagir com uma instância remota do MongoDB

    Declaração

    Swift

    func mongoClient(_ serviceName: String) -> MongoClient

    Parâmetros

    serviceName

    O nome do serviço MongoDB

    Valor de retorno

    Um MongoClient que é usado para interagir com um serviço MongoDB remoto

  • Chame uma função do Atlas App Services com o nome e os argumentos fornecidos.

    user.functions.sum([1, 2, 3, 4, 5]) { sum, error in
        guard case let .int64(value) = sum else {
            print(error?.localizedDescription)
        }
    
        assert(value == 15)
    }
    

    O nome do membro dinâmico (sum no exemplo acima) está diretamente associado ao nome da função. O primeiro argumento é o BSONArray dos argumentos a serem fornecidos à função. O segundo e último argumento é o manipulador de conclusão a ser chamado quando a chamada de função estiver concluída. Este manipulador é executado em um DispatchQueue global não principal.

    Declaração

    Swift

    var functions: Functions { get }
  • Atualize os dados personalizados de um usuário. Isso, de fato, atualizará a sessão de autenticação do usuário. @returns Um editor que eventualmente retorna Dictionary com os dados do usuário ou Error.

    Declaração

    Swift

    func refreshCustomData() -> Future<[AnyHashable : Any], Error>
  • Remove o usuário Isso desconecta e destrói a sessão relacionada a esse usuário. O bloco de conclusão retornará um erro se o usuário não for encontrado ou já estiver removido. @returns Um editor que eventualmente retorna Result.success ou Error.

    Declaração

    Swift

    func remove() -> Future<Void, Error>
  • Desconecta o usuário atual O estado do usuário será definido como Removed se for um usuário anônimo ou LoggedOut se for autenticado por um nome de usuário/senha ou clientes de autenticação de terceiros/ Se a solicitação de logout falhar, esse método ainda limpar o estado de autenticação local. @returns Um editor que eventualmente retorna Result.success ou Error.

    Declaração

    Swift

    func logOut() -> Future<Void, Error>
  • Exclui permanentemente esse usuário do seu Atlas App Services App. O estado do usuário será definido como Removed e a sessão será destruída. Se a solicitação de exclusão falhar, o estado de autenticação local permanecerá intocado. @returns Um editor que eventualmente retorna Result.success ou Error.

    Declaração

    Swift

    func delete() -> Future<Void, Error>
  • Um editor que emite um vazio toda vez que o usuário muda.

    Apesar do nome, isso é realmente emitido depois que o usuário muda.

    Declaração

    Swift

    public var objectWillChange: AnyPublisher<UserPublisher.Output, UserPublisher.Failure> { get }
  • Atualize os dados personalizados de um usuário. Isso, de fato, atualizará a sessão de autenticação do usuário. @completion Uma conclusão que eventualmente retorna Result.success(Dictionary) com os dados do usuário ou Result.failure(Error).

    Declaração

    Swift

    @preconcurrency
    func refreshCustomData(_ completion: @escaping @Sendable (Result<[AnyHashable : Any], Error>) -> Void)
  • Crie uma instância de configuração de Flexible Sync, que pode ser usada para abrir um Realm que ofereça suporte a Flexible Sync.

    Não será possível combinar a Flexible Sync e a Sincronização de Partição no mesmo aplicativo, o que significa que, se você abrir um Realm com uma configuração de Flexible Sync, não poderá abrir um Realm com uma configuração PBS e o contrário.

    Declaração

    Swift

    public func flexibleSyncConfiguration(clientResetMode: ClientResetMode = .recoverUnsyncedChanges(),
                                          cancelAsyncOpenOnNonFatalErrors: Bool = false) -> Realm.Configuration

    Parâmetros

    clientResetMode

    Determina o comportamento de recuperação de arquivos durante um reinício do cliente. .recoverUnsyncedChanges por padrão.

    cancelAsyncOpenOnNonFatalErrors

    Por padrão, Realm.asyncOpen() incorpora erros de conexão não fatais, como uma tentativa de conexão de tempo limite, e simplesmente tenta novamente até ser bem-sucedida. Se isso estiver definido como true, o erro será relatado à chamada de resposta e a abertura assíncrona será cancelada.

  • Crie uma instância de configuração de Flexible Sync, que pode ser usada para abrir um Realm que ofereça suporte a Flexible Sync.

    Não será possível combinar a Flexible Sync e a Sincronização de Partição no mesmo aplicativo, o que significa que, se você abrir um Realm com uma configuração de Flexible Sync, não poderá abrir um Realm com uma configuração PBS e o contrário.

    O uso de rerunOnOpen abrange os casos em que você deseja executar novamente query dinâmicas, por exemplo, intervalos de tempo.

    var config = user.flexibleSyncConfiguration(initialSubscriptions: { subscriptions in
        subscriptions.append(QuerySubscription<User>() {
            $0.birthdate < Date() && $0.birthdate > Calendar.current.date(byAdding: .year, value: 21)!
        })
    }, rerunOnOpen: true)
    

    Declaração

    Swift

    @preconcurrency
    public func flexibleSyncConfiguration(clientResetMode: ClientResetMode = .recoverUnsyncedChanges(),
                                          cancelAsyncOpenOnNonFatalErrors: Bool = false,
                                          initialSubscriptions: @escaping @Sendable (SyncSubscriptionSet) -> Void,
                                          rerunOnOpen: Bool = false) -> Realm.Configuration

    Parâmetros

    clientResetMode

    Determina o comportamento de recuperação de arquivos durante um reinício do cliente. .recoverUnsyncedChanges por padrão.

    initialSubscriptions

    Um bloco que recebe uma instância de conjunto de assinaturas, que pode ser usado para adicionar um conjunto inicial de assinaturas que serão executadas quando o Realm for aberto pela primeira vez.

    rerunOnOpen

    Se verdadeiro, permite executar o conjunto inicial de assinaturas especificado, em cada inicialização do aplicativo. Isso pode ser usado para executar novamente intervalos de tempo dinâmicos e outras query que exigem um novo cálculo de uma variável estática.

    cancelAsyncOpenOnNonFatalErrors

    Por padrão, Realm.asyncOpen() incorpora erros de conexão não fatais, como uma tentativa de conexão de tempo limite, e simplesmente tenta novamente até ser bem-sucedida. Se isso estiver definido como true, o erro será relatado à chamada de resposta e a abertura assíncrona será cancelada.