// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct CollaboratorSchema: Codable, Equatable {
    public var userAvatarUrl: String?
    public var userDisplayName: String?
    public var userHandle: String?
    public var userId: UUID
    public var userInviteStatus: UserInviteStatus

    public struct UserInviteStatus: RawRepresentable, Codable, Equatable {
        public let rawValue: String

        public init(rawValue: String) {
            self.rawValue = rawValue
        }

        public static let accepted = Self(rawValue: "accepted")
        public static let pending = Self(rawValue: "pending")
    }

    public init(userAvatarUrl: String? = nil, userDisplayName: String? = nil, userHandle: String? = nil, userId: UUID, userInviteStatus: UserInviteStatus) {
        self.userAvatarUrl = userAvatarUrl
        self.userDisplayName = userDisplayName
        self.userHandle = userHandle
        self.userId = userId
        self.userInviteStatus = userInviteStatus
    }
}
