import { Str, Uid } from 'pinia-orm/dist/decorators' import ApiModel from '~/models/ApiModel' import {Assert, IriEncoded} from '~/models/decorators' import {Attr, Num} from "pinia-orm/decorators"; import File from "~/models/Core/File"; import Place from "~/models/Place/Place"; import Country from "~/models/Core/Country"; /** * AP2i Model : Freemium / Event * * */ export default class Event extends ApiModel { static entity = 'freemium/events' @Uid() declare id: number | string | null @Str(null) @Assert({'nullable': false, 'max':255}) declare name: string | null @Str(null) @Assert({'nullable': false}) declare datetimeStart: string @Str(null) @Assert({'nullable': false}) declare datetimeEnd: string @Str(null) declare description: string @Attr(null) @IriEncoded(File) declare image: number | null @Str(null) declare url: string @Str(null) declare urlTicket: string @Attr(null) @IriEncoded(Place) declare place: number | null @Str(null) declare placeName: string | null @Str(null) declare streetAddress: string | null @Str(null) declare streetAddressSecond: string | null @Str(null) declare streetAddressThird: string | null @Str(null) declare postalCode: string | null @Str(null) declare addressCity: string | null @IriEncoded(Country) @Attr(null) declare addressCountry: number | null @Num(null) declare latitude: number | null @Num(null) declare longitude: number | null @Str('FREE') declare pricing: string | null @Num(null) declare priceMini: number | null @Num(null) declare priceMaxi: number | null @Attr(() => []) declare categories: Array | null }