Skip to content
Snippets Groups Projects
schema.ts 794 B
Newer Older
Frank Bessou's avatar
Frank Bessou committed
import { ETypes, Relationships, Schema, yams } from "ra-cubicweb/dist/Schema";

function makeSchema<E extends ETypes, R extends Relationships<E>>(
  etypes: E,
  relationships: R
): Schema<E, R> {
  return {
    etypes,
    relationships,
  };
}

export const schema = makeSchema(
  {
    Museum: {
      name: yams.String(),
      latitude: yams.Float(),
      longitude: yams.Float(),
      postal_address: yams.String(),
    },
    City: {
      name: yams.String(),
      zip_code: yams.Int(),
    },
    Person: {
      name: yams.String(),
      email: yams.String(),
    },
  },
  {
    is_in: {
Frank Bessou's avatar
Frank Bessou committed
      cardinality: "1*",
    },
    director: {
      subject: ["Museum"],
      object: ["Person"],
Frank Bessou's avatar
Frank Bessou committed
      cardinality: "**",
    },
  }
);