사용자

public extension User
extension User: ObservableObject
  • 현재 인증된 사용자를 새 ID와 연결하며, 여기서 ID는 매개 변수로 지정된 자격 증명으로 정의됩니다. 이 User 가 현재 생성된 클라이언트로 인증된 경우에만 성공합니다. 성공하면 새 사용자가 새로 연결된 자격 증명과 함께 반환됩니다. @param credentials 사용자를 새 ID에 연결하는 데 사용되는 Credentials 입니다. @completion 최종적으로 사용자 데이터와 함께 Result.success(User) 또는 Result.failure(Error) 를 반환하는 완료입니다.

    선언

    스위프트

    @preconcurrency
    func linkUser(credentials: Credentials, _ completion: @escaping @Sendable (Result<User, Error>) -> Void)
  • 현재 인증된 사용자를 새 ID와 연결하며, 여기서 ID는 매개 변수로 지정된 자격 증명으로 정의됩니다. 이 User 가 현재 생성된 클라이언트로 인증된 경우에만 성공합니다. 성공하면 새 사용자가 새로 연결된 자격 증명과 함께 반환됩니다. @param credentials 사용자를 새 ID에 연결하는 데 사용되는 Credentials 입니다. @returns 최종적으로 Result.success 또는 Error 을 반환하는 출판사입니다.

    선언

    스위프트

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    func linkUser(credentials: Credentials) -> Future<User, Error>
  • linkUser(credentials:) 비동기식

    현재 인증된 사용자를 새 ID와 연결하며, 여기서 ID는 매개 변수로 지정된 자격 증명으로 정의됩니다. 이 User 가 현재 생성된 클라이언트로 인증된 경우에만 성공합니다. 성공하면 새 사용자가 새로 연결된 자격 증명과 함께 반환됩니다.

    선언

    스위프트

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

    매개변수

    credentials

    Credentials 은 사용자를 새 ID에 연결하는 데 사용됩니다.

    반환 값

    ID를 성공적으로 업데이트한 후의 User 입니다.

  • 동기화 구성 인스턴스를 만듭니다.

    선언

    스위프트

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

    매개변수

    partitionValue

    Realm이 분할된 BSON 값입니다.

    clientResetMode

    클라이언트 재설정 중 파일 복구 동작을 결정합니다. 기본적으로 .recoverUnsyncedChanges 입니다.

    cancelAsyncOpenOnNonFatalErrors

    기본적으로 Realm.asyncOpen() 는 연결 시도 시간 초과와 같이 치명적이지 않은 연결 오류를 삼키고 성공할 때까지 단순히 재시도합니다. true 로 설정하면 대신 오류가 콜백에 보고되고 비동기 열기가 취소됩니다.

  • 동기화 구성 인스턴스를 만듭니다.

    선언

    스위프트

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

    매개변수

    partitionValue

    nil 을 파티션 값으로 사용합니다.

    clientResetMode

    클라이언트 재설정 중 파일 복구 동작을 결정합니다. 기본적으로 .recoverUnsyncedChanges 입니다.

    cancelAsyncOpenOnNonFatalErrors

    기본적으로 Realm.asyncOpen() 는 연결 시도 시간 초과와 같이 치명적이지 않은 연결 오류를 삼키고 성공할 때까지 단순히 재시도합니다. true 로 설정하면 대신 오류가 콜백에 보고되고 비동기 열기가 취소됩니다.

  • 사용자의 사용자 지정 데이터입니다. 이는 Atlas App Services App에서 구성합니다.

    선언

    스위프트

    var customData: Document { get }
  • 원격 MongoDB 인스턴스와 상호 작용하기 위한 클라이언트

    선언

    스위프트

    func mongoClient(_ serviceName: String) -> MongoClient

    매개변수

    serviceName

    MongoDB 서비스의 이름

    반환 값

    원격 MongoDB 서비스와 상호 작용하는 데 사용되는 MongoClient 입니다.

  • 제공된 이름과 인수를 사용하여 Atlas App Services 함수를 호출합니다.

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

    동적 멤버 이름(위 예제에서는 sum )은 함수 이름과 직접 연결됩니다. 첫 번째 인수는 함수에 제공될 인수의 BSONArray 입니다. 두 번째이자 마지막 인수는 함수 호출이 완료될 때 호출하는 완료 핸들러입니다. 이 핸들러는 메인이 아닌 글로벌 DispatchQueue 에서 실행됩니다.

    선언

    스위프트

    var functions: Functions { get }
  • 사용자의 사용자 지정 데이터를 새로 고칩니다. 이렇게 하면 사실상 사용자의 인증 세션이 새로 고쳐집니다. @returns 최종적으로 사용자 데이터와 함께 Dictionary 또는 Error 을 반환하는 출판사입니다.

    선언

    스위프트

    func refreshCustomData() -> Future<[AnyHashable : Any], Error>
  • 사용자를 제거합니다. 그러면 로그아웃되고 이 사용자와 관련된 세션이 삭제됩니다. 사용자를 찾을 수 없거나 사용자가 이미 제거된 경우 완료 차단은 오류를 반환합니다. @returns 최종적으로 Result.success 또는 Error 을 반환하는 출판사입니다.

    선언

    스위프트

    func remove() -> Future<Void, Error>
  • 현재 사용자를 로그아웃합니다. 사용자 상태는 사용자 이름/비밀번호 또는 타사 인증 클라이언트로 인증되는 경우 LoggedOut Removed (익명의 사용자인 경우 또는 로컬 인증 상태를 지웁니다. @returns 최종적으로 Result.success 또는 Error 을 반환하는 출판사입니다.

    선언

    스위프트

    func logOut() -> Future<Void, Error>
  • Atlas App Services App에서 이 사용자를 영구적으로 삭제합니다. 사용자 상태가 Removed 로 설정되고 세션이 파기됩니다. 삭제 요청이 실패하면 로컬 인증 상태가 변경되지 않습니다. @returns 최종적으로 Result.success 또는 Error 를 반환하는 출판사입니다.

    선언

    스위프트

    func delete() -> Future<Void, Error>
  • 사용자가 변경될 때마다 Void를 방출하는 출판사입니다.

    이름과 달리 실제로 사용자가 변경된 후에 발생합니다.

    선언

    스위프트

    public var objectWillChange: AnyPublisher<UserPublisher.Output, UserPublisher.Failure> { get }
  • 사용자의 사용자 지정 데이터를 새로 고칩니다. 이렇게 하면 사실상 사용자의 인증 세션이 새로 고쳐집니다. @completion 최종적으로 사용자의 데이터와 함께 Result.success(Dictionary) 또는 Result.failure(Error) 를 반환하는 완료입니다.

    선언

    스위프트

    @preconcurrency
    func refreshCustomData(_ completion: @escaping @Sendable (Result<[AnyHashable : Any], Error>) -> Void)
  • Flexible Sync를 지원하는 영역을 여는 데 사용할 수 있는 Flexible Sync 구성 인스턴스를 생성하세요.

    동일한 앱에서 flexible과 partition sync를 결합하는 것은 불가능합니다.

    선언

    스위프트

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

    매개변수

    clientResetMode

    클라이언트 재설정 중 파일 복구 동작을 결정합니다. 기본적으로 .recoverUnsyncedChanges 입니다.

    cancelAsyncOpenOnNonFatalErrors

    기본적으로 Realm.asyncOpen() 는 연결 시도 시간 초과와 같이 치명적이지 않은 연결 오류를 삼키고 성공할 때까지 단순히 재시도합니다. true 로 설정하면 대신 오류가 콜백에 보고되고 비동기 열기가 취소됩니다.

  • Flexible Sync를 지원하는 영역을 여는 데 사용할 수 있는 Flexible Sync 구성 인스턴스를 생성하세요.

    동일한 앱에서 flexible과 partition sync를 결합하는 것은 불가능합니다.

    rerunOnOpen 사용은 동적 쿼리(예: 시간 범위)를 다시 실행하려는 경우를 다룹니다.

    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)
    

    선언

    스위프트

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

    매개변수

    clientResetMode

    클라이언트 재설정 중 파일 복구 동작을 결정합니다. 기본적으로 .recoverUnsyncedChanges 입니다.

    initialSubscriptions

    구독 세트 인스턴스를 수신하는 블록으로, Realm이 처음 열릴 때 실행될 초기 구독 세트를 추가하는 데 사용할 수 있습니다.

    rerunOnOpen

    true인 경우 앱을 시작할 때마다 지정된 초기 구독 세트를 실행할 수 있습니다. 이를 사용하여 동적 시간 범위 및 정적 변수를 다시 계산해야 하는 기타 쿼리를 다시 실행할 수 있습니다.

    cancelAsyncOpenOnNonFatalErrors

    기본적으로 Realm.asyncOpen() 는 연결 시도 시간 초과와 같이 치명적이지 않은 연결 오류를 삼키고 성공할 때까지 단순히 재시도합니다. true 로 설정하면 대신 오류가 콜백에 보고되고 비동기 열기가 취소됩니다.