Skip to content
Snippets Groups Projects
types.d.ts 1.62 KiB
declare var sibStore: any;
declare var sibRouter: any;
declare var moment: any;
declare var orbit: any | undefined;

interface ProxiedSolidResource {
  "@id": string;
}

interface UserProfile extends ProxiedSolidResource {
  name: string;
  communities: Community[];
}

interface SharedFile extends ProxiedSolidResource {
  name: string;
  author: { name: string };
  date: string;
  document: string;
}

interface Location extends ProxiedSolidResource {
  name: string;
  address: string;
  postal_code: string;
  city: string;
  phones: { phone: string; phone_type: string }[];
  emails: { email: string; email_type: string }[];
}

interface Job extends ProxiedSolidResource {
  organisation: string;
  position: string;
  link: string;
  address: string;
  postal_code: string;
  city: string;
  mobile_phone: string;
  mobile_phone_public: boolean;
  phone: string;
  phone_public: boolean;
  email: string;
  email_public: boolean;
}

interface PartPoint extends ProxiedSolidResource {
  fieldType: "checkboxe" | string;
}

interface CommunityAnswer extends ProxiedSolidResource {
  answer: boolean;
  evaluation_point: {
    name: string;
    part: {
      order: number;
      title: string;
    };
  };
}

interface Community extends ProxiedSolidResource {
  name: string;
  profile: {
    description: string;
    website: string;
  };
  members: {
    user_set: ProxiedSolidResource[];
  };
  tzcld_profile: TzcldCommunity;
}

interface TzcldCommunity extends ProxiedSolidResource {
  regions: { name: string }[];
  kind: { name: string };
  step_state: { name: string };
  primary_contact: ProxiedSolidResource;
  locations: ProxiedSolidResource;
}