Newer
Older
import {
EntitiesSchemas,
RelationDefinition,
Schema,
yams,
} from "ra-cubicweb/dist/Schema";
ESchemas extends EntitiesSchemas<string>,
EntityTypes extends Extract<keyof ESchemas, string>,
RDefs extends RelationDefinition<EntityTypes>[]
>(schema: {
entities: ESchemas;
relationsDefinitions: RDefs;
}): [Schema<EntityTypes, ESchemas, RDefs>, EntityTypes] {
return [schema, "" as EntityTypes];
export const [schema, types] = makeSchema({
entities: {
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(),
},
},
relationsDefinitions: [
{
name: "is_in",
subject: "Museum",
object: "City",
{
name: "director",
subject: "Museum",
object: "Person",