Socialbase 0.5.0

Socialbase 0.5.0

1amageek 维护。



 
依赖项
Firebase/Core>= 0
Firebase/Firestore>= 0
Firebase/Storage>= 0
Pring>= 0
 

Socialbase

Version Platform Downloads

Socialbase 是一个用于在 Cloud Firestore 中构建 SNS 框架。

要求❗️

安装

CocoaPods

  • pod 'Socialbase' 添加到您的 Podfile 中。
  • 运行 pod install

用法

通过使您的用户符合 Pring ,使您的用户定义符合 Socialbase。

@objcMembers
final class User: Object, Socialbase {

    dynamic var name: String = "USER_NAME"
    dynamic var type: String = UserType.none.rawValue

    // Organizable
    let organizations: ReferenceCollection<User> = []
    let peoples: ReferenceCollection<User> = []
    
    // Followable
    let followers: ReferenceCollection<User> = []
    let followees: ReferenceCollection<User> = []
}
extension User {
    typealias Invitation = Test.Invitation
}

class Test {
    @objcMembers
    class Invitation: Object, InvitationProtocol {
        typealias Element = User
        dynamic var status: String = Status.none.rawValue
        dynamic var message: String?
        dynamic var toID: String = ""
        dynamic var fromID: String = ""
    }
}
extension User {
    typealias FollowRequest = Test.FollowRequest
}

extension Test {
    @objcMembers
    class FollowRequest: Object, FollowRequestProtocol {
        typealias Element = User
        dynamic var status: String = Status.none.rawValue
        dynamic var message: String?
        dynamic var toID: String = ""
        dynamic var fromID: String = ""
    }
}

邀请用户加入您的组织。

let user0: User = User(id: "user0", value: [:]) // Organization user
let user1: User = User(id: "user1", value: [:])
let invitation: Test.Invitation = Test.Invitation(fromID: user0.id, toID: user1.id)
invitation.save()

关注用户。

let user0: User = User(id: "user0", value: [:])
let user0: User = User(id: "user1", value: [:])
user1.follow(from: user0)