All Downloads are FREE. Search and download functionalities are using the official Maven repository.

notion.api.v1.model.pages.PageProperty.kt Maven / Gradle / Ivy

package notion.api.v1.model.pages

import notion.api.v1.model.databases.DatabaseProperty
import notion.api.v1.model.users.User
import java.util.*

data class PageProperty(
    val id: String = UUID.randomUUID().toString(),
    var type: String? = null,
    var title: List? = null,
    var richText: List? = null,
    var select: DatabaseProperty.Select.Option? = null,
    var multiSelect: List? = null,
    var number: Number? = null,
    var date: Date? = null,
    var people: List? = null,
    var checkbox: Boolean? = null,
    var url: String? = null,
    var phoneNumber: String? = null,
    var email: String? = null,
    var files: List? = null,
    var relation: List? = null,
    var formula: Formula? = null,
    var rollup: Rollup? = null,
    val createdBy: User? = null,
    val lastEditedBy: User? = null,
    val createdTime: String? = null,
    val lastEditedTime: String? = null,
) {


    data class RichText(
        val type: String = "text",
        var text: Text? = null,
        var annotations: Annotations? = null,
        var plainText: String? = null,
        var href: String? = null,
    ) {

        data class Text(
            var content: String? = null,
            var link: Link? = null
        )

        data class Link(
            var type: String? = null,
            var url: String? = null
        )

        data class Annotations(
            var bold: Boolean? = null,
            var italic: Boolean? = null,
            var strikethrough: Boolean? = null,
            var underline: Boolean? = null,
            var code: Boolean? = null,
            var color: String? = null,
        )
    }

    data class PageReference(val id: String)

    data class File(
        var name: String? = null
    )

    data class Date(
        var start: String? = null,
        var end: String? = null
    )

    data class Formula(
        val type: String,
        var boolean: Boolean? = null,
        var date: Date? = null,
        var string: String? = null,
        var number: Number? = null,
    ) {
        // For other JVM languages
        constructor(type: String) : this(type, null, null, null, null)
    }

    data class Rollup(
        val type: String
    )

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy