import { Str, Uid } from 'pinia-orm/dist/decorators' import ApiModel from '~/models/ApiModel' import {Assert, IdLess, IriEncoded} from '~/models/decorators' import {Attr, Bool, Num} from "pinia-orm/decorators"; import Country from "~/models/Core/Country"; import File from "~/models/Core/File"; /** * AP2i Model : Freemium / Organization * * */ @IdLess() export default class Organization extends ApiModel { static entity = 'freemium/organization' @Uid() declare id: number | string | null @Str(null) @Assert({'nullable': false, 'max':128}) declare name: string | null @Str(null) declare description: string | null @Str(null) @Assert({'nullable': false, 'type' : 'email'}) declare email: string | null @Str(null) declare tel: 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 @Num(null) declare latitude: number | null @Num(null) declare longitude: number | null @Str(null) @Assert({'max':255}) declare facebook: string @Str(null) @Assert({'max':255}) declare twitter: string @Str(null) @Assert({'max':255}) declare youtube: string @Str(null) @Assert({'max':255}) declare instagram: string @Bool(true) declare portailVisibility: boolean @Attr(null) @IriEncoded(File) declare logo: number | null }