import { Str, Uid, Attr, Num } from 'pinia-orm/dist/decorators' import ApiModel from '~/models/ApiModel' import { Assert, IriEncoded } from '~/models/decorators' import File from '~/models/Core/File' import Place from '~/models/Place/Place' import Country from '~/models/Core/Country' import Category from '~/models/Core/Category' /** * 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(() => []) @IriEncoded(Category) declare categories: Array | null }