package io.apibuilder.api.v0.models import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty import java.io.Serializable import java.util.UUID import kotlin.String /** * This code was generated by [models.generator.kotlin.KotlinGenerator] * A membership represents a user in a specific role to an organization. Memberships cannot be * created directly. Instead you first create a membership request, then that request is either * accepted or declined. */ @JsonIgnoreProperties(ignoreUnknown=true) data class Membership( @JsonProperty("guid") @get:JsonProperty("guid") val guid: UUID, @JsonProperty("user") @get:JsonProperty("user") val user: User, @JsonProperty("organization") @get:JsonProperty("organization") val organization: Organization, @JsonProperty("role") @get:JsonProperty("role") val role: io.apibuilder.common.v0.enums.MembershipRole, @JsonProperty("audit") @get:JsonProperty("audit") val audit: io.apibuilder.common.v0.models.Audit ) : Serializable { fun toJsonString(): String = io.apibuilder.api.v0.models.JacksonObjectMapperFactory.create().writeValueAsString(this) companion object { fun parseJson(json: String): Membership = io.apibuilder.api.v0.models.JacksonObjectMapperFactory.create().readValue( json, Membership::class.java) } }