RLMUser
Objective-C
@interface RLMUser : NSObject
Swift
@_nonSendable(_assumed) class RLMUser : NSObject, @unchecked Sendable
Uma instância RLMUser
representa uma única conta de usuário do aplicativo Realm.
Um usuário pode ter uma ou mais credenciais associadas a ele. Essas credenciais identificam exclusivamente o usuário para o provedor de autenticação e são usadas para se conectar em uma conta de usuário do Atlas App Services.
Observe que os objeto de usuário só são vendidos por meio de API do SDK e não podem ser inicializados diretamente. Objeto de usuário podem ser acessados de qualquer thread.
-
A string exclusiva do Atlas App Services que identifica esse usuário. Observe que isso é diferente de uma identidade: um usuário pode ter várias identidades, mas tem um único identificador. Consulte RLMUserIdentity.
Declaração
Objective-C
@property (nonatomic, readonly) NS_SWIFT_NAME(id) NSString *identifier;
Swift
var id: String { get }
-
Retorna uma matriz de identidades atualmente vinculadas a um usuário.
Declaração
Objective-C
@property (nonatomic, readonly) NSArray<RLMUserIdentity *> *_Nonnull identities;
Swift
var identities: [RLMUserIdentity] { get }
-
O token de atualização do usuário usado para acessar o App Services.
Por padrão, tokens de atualização expiram 60 dias após serem emitidos. Você pode configurar esse tempo para que os tokens de atualização da sua aplicação estejam entre 30 minutos e 180 dias.
Você pode configurar o tempo de expiração do token de atualização para todas as sessões em um aplicativo a partir da interface do usuário do administrador ou da API do administrador.
Declaração
Objective-C
@property (nonatomic, readonly, nullable) NSString *refreshToken;
Swift
var refreshToken: String? { get }
-
O token de acesso do usuário usado para acessar o App Services.
Isso é necessário para fazer solicitações HTTP para o Atlas App Services, como Data API ou GraphQL. Devem ser tratados como dados confidenciais.
O Realm SDK managed automaticamente os tokens de acesso e os atualiza quando expiram.
Declaração
Objective-C
@property (nonatomic, readonly, nullable) NSString *accessToken;
Swift
var accessToken: String? { get }
-
O estado atual do usuário.
Declaração
Objective-C
@property (nonatomic, readonly) RLMUserState state;
Swift
var state: RLMUserState { get }
-
Indica se o usuário está conectado ou não. Retorna verdadeiro se o token de acesso e o token de atualização não estiverem vazios.
Declaração
Objective-C
@property (nonatomic, readonly) BOOL isLoggedIn;
Swift
var isLoggedIn: Bool { get }
-
Crie uma instância de sincronização baseada em partição para o valor da partição fornecido.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *)configurationWithPartitionValue: (nullable id<RLMBSON>)partitionValue;
Parâmetros
partitionValue
O valor
RLMBSON
em que o Realm é particionado.Valor de retorno
Um objeto de configuração padrão com a configuração de sincronização definida para usar o valor da partição fornecido.
-
Crie uma instância de sincronização baseada em partição para o valor da partição fornecido.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue clientResetMode:(RLMClientResetMode)clientResetMode;
Parâmetros
partitionValue
O valor
RLMBSON
em que o Realm é particionado.clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
Valor de retorno
Um objeto com a configuração de sincronização definida para usar o valor da partição.
-
Crie uma instância de sincronização baseada em partição para o valor da partição fornecido.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue clientResetMode:(RLMClientResetMode)clientResetMode notifyBeforeReset: (nullable RLMClientResetBeforeBlock)beforeResetBlock notifyAfterReset: (nullable RLMClientResetAfterBlock)afterResetBlock;
Parâmetros
partitionValue
O valor
RLMBSON
em que o Realm é particionado.clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
beforeResetBlock
Uma chamada de resposta que notifica antes da ocorrência de um reinício do cliente. Veja:
RLMClientResetBeforeBlock
afterResetBlock
Uma chamada de resposta que notifica após a ocorrência de um reinício do cliente. Veja:
RLMClientResetAfterBlock
Valor de retorno
Um objeto com a configuração de sincronização definida para usar o valor da partição.
-
Crie uma instância de sincronização baseada em partição para o valor da partição fornecido.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) configurationWithPartitionValue:(nullable id<RLMBSON>)partitionValue clientResetMode:(RLMClientResetMode)clientResetMode manualClientResetHandler: (nullable RLMSyncErrorReportingBlock)manualClientResetHandler;
Parâmetros
partitionValue
O valor
RLMBSON
em que o Realm é particionado.clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
manualClientResetHandler
Um bloco de relatório de erros que é invocado durante um reinício do cliente. @Veja
RLMSyncErrorReportingBlock
eRLMClientResetInfo
Valor de retorno
Um objeto com a configuração de sincronização definida para usar o valor da partição.
-
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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *)flexibleSyncConfiguration;
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync. -
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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) flexibleSyncConfigurationWithClientResetMode: (RLMClientResetMode)clientResetMode notifyBeforeReset: (nullable RLMClientResetBeforeBlock) beforeResetBlock notifyAfterReset: (nullable RLMClientResetAfterBlock) afterResetBlock;
Parâmetros
clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
beforeResetBlock
Uma chamada de resposta que notifica antes da ocorrência de um reinício do cliente. Veja:
RLMClientResetBeforeBlock
afterResetBlock
Uma chamada de resposta que notifica após a ocorrência de um reinício do cliente. Veja:
RLMClientResetAfterBlock
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync. -
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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) flexibleSyncConfigurationWithClientResetMode: (RLMClientResetMode)clientResetMode manualClientResetHandler: (nullable RLMSyncErrorReportingBlock) manualClientResetHandler;
Parâmetros
clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
manualClientResetHandler
Um bloco de relatório de erros que é invocado durante um reinício do cliente. @Veja
RLMSyncErrorReportingBlock
eRLMClientResetInfo
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync. -
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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) flexibleSyncConfigurationWithInitialSubscriptions: (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions rerunOnOpen:(BOOL)rerunOnOpen;
Parâmetros
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.
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync. -
-flexibleSyncConfigurationWithInitialSubscriptions:
rerunOnOpen: clientResetMode: notifyBeforeReset: notifyAfterReset: 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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) flexibleSyncConfigurationWithInitialSubscriptions: (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions rerunOnOpen:(BOOL)rerunOnOpen clientResetMode: (RLMClientResetMode)clientResetMode notifyBeforeReset: (nullable RLMClientResetBeforeBlock) beforeResetBlock notifyAfterReset: (nullable RLMClientResetAfterBlock) afterResetBlock;
Parâmetros
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.
clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
beforeResetBlock
Uma chamada de resposta que notifica antes da ocorrência de um reinício do cliente. Veja:
RLMClientResetBeforeBlock
afterResetBlock
Uma chamada de resposta que notifica após a ocorrência de um reinício do cliente. Veja:
RLMClientResetAfterBlock
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync. -
-flexibleSyncConfigurationWithInitialSubscriptions:
rerunOnOpen: clientResetMode: manualClientResetHandler: 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.
Observação
Um único aplicativo Realm Mobile Sync no lado do servidor pode sincronizar dados com realms baseados em partição ou realms baseados em Flexible Sync. Para que uma aplicação contenha domínios de sincronização baseados em partição e Flexible Sync, mais de um Realm Mobile Sync do lado do servidor deve ser usado.
Declaração
Objective-C
- (nonnull RLMRealmConfiguration *) flexibleSyncConfigurationWithInitialSubscriptions: (nonnull RLMFlexibleSyncInitialSubscriptionsBlock)initialSubscriptions rerunOnOpen:(BOOL)rerunOnOpen clientResetMode: (RLMClientResetMode)clientResetMode manualClientResetHandler: (nullable RLMSyncErrorReportingBlock) manualClientResetHandler;
Parâmetros
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.
clientResetMode
Determina o comportamento de recuperação de arquivo no caso de uma redefinição de cliente. Consulte: https://mongodb.com/pt-br/docs/realm/sync/error-handling/client-resets/
manualClientResetHandler
Um bloco de relatório de erros que é invocado durante um reinício do cliente. @Veja
RLMSyncErrorReportingBlock
eRLMClientResetInfo
Valor de retorno
Uma instância do
RLMRealmConfiguration
com uma configuração de Flexible Sync.
-
Recupere um objeto de sessão válido pertencente a este usuário para uma determinada URL ou
nil
se não existir tal objeto.Declaração
Objective-C
- (nullable RLMSyncSession *)sessionForPartitionValue: (nonnull id<RLMBSON>)partitionValue;
Swift
func session(forPartitionValue partitionValue: any RLMBSON) -> RLMSyncSession?
-
Recupere todas as sessões válidas pertencentes a este usuário.
Declaração
Objective-C
@property (nonatomic, readonly) NSArray<RLMSyncSession *> *_Nonnull allSessions;
Swift
var allSessions: [RLMSyncSession] { get }
-
Os dados personalizados do usuário. Isso é configurado em seu Atlas App Services App.
Declaração
Objective-C
@property (nonatomic, readonly) NS_REFINED_FOR_SWIFT NSDictionary *customData;
-
O perfil do usuário.
Declaração
Objective-C
@property (nonatomic, readonly) RLMUserProfile *_Nonnull profile;
Swift
var profile: RLMUserProfile { get }
-
Atualize os dados personalizados de um usuário. Isso, de fato, atualizará a sessão de autenticação do usuário.
Declaração
Objective-C
- (void)refreshCustomDataWithCompletion: (nonnull RLMUserCustomDataBlock)completion;
-
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
RLMUser
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
Objective-C
- (void)linkUserWithCredentials:(nonnull RLMCredentials *)credentials completion:(nonnull RLMOptionalUserBlock)completion;
Parâmetros
credentials
O
RLMCredentials
costumava vincular o usuário a uma nova identidade.completion
O manipulador de conclusão para chamar quando a vinculação estiver concluída. Se a operação for bem-sucedida, o resultado conterá um novo objeto
RLMUser
representando o usuário conectado no momento. -
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.
Declaração
Objective-C
- (void)removeWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;
Swift
func remove() async throws
Parâmetros
completion
Uma chamada de resposta invocada na conclusão
-
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.Declaração
Objective-C
- (void)deleteWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;
Swift
func delete() async throws
Parâmetros
completion
Uma chamada de resposta invocada na conclusão
-
Desconecta o usuário atual
O estado dos usuários será definido como
Removed
se for um usuário anônimo ouLoggedOut
se for autenticado por um e-mail/senha ou clientes de autenticação de terceiros Se a solicitação de logout falhar, esse método ainda limpará o estado da autenticação local.Declaração
Objective-C
- (void)logOutWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;
Swift
func logOut() async throws
Parâmetros
completion
Uma chamada de resposta invocada na conclusão
-
Um cliente para o provedor de autenticação de chaves de API do usuário que pode ser usado para criar e modificar chaves de API do usuário.
Este cliente só deve ser usado por um usuário autenticado.
Declaração
Objective-C
@property (nonatomic, readonly) RLMAPIKeyAuth *_Nonnull apiKeysAuth;
Swift
var apiKeysAuth: RLMAPIKeyAuth { get }
-
Um cliente para interagir com uma instância remota do MongoDB
Declaração
Objective-C
- (nonnull RLMMongoClient *)mongoClientWithServiceName: (nonnull NSString *)serviceName;
Parâmetros
serviceName
O nome do serviço MongoDB
-
Chama a função Atlas App Services com o nome e os argumentos fornecidos.
Declaração
Objective-C
- (void)callFunctionNamed:(nonnull NSString *)name arguments:(nonnull NSArray<id<RLMBSON>> *)arguments completionBlock:(nonnull RLMCallFunctionCompletionBlock)completion;
Parâmetros
name
O nome da função Atlas App Services a ser chamada.
arguments
O
BSONArray
dos argumentos a serem fornecidos para a função.completion
O manipulador de conclusão para chamar quando a chamada de função estiver concluída. Este manipulador é executado em um
DispatchQueue
global não principal.