libreccm-legacy/ccm-navigation/pdl/com/arsdigita/navigation/Template.pdl

37 lines
1.3 KiB
Plaintext
Executable File

model com.arsdigita.navigation;
import com.arsdigita.categorization.Category;
object type Template {
BigDecimal[1..1] id = nav_templates.template_id INTEGER;
String[1..1] title = nav_templates.title VARCHAR(50);
String[0..1] description = nav_templates.description VARCHAR(400);
unique String[1..1] url = nav_templates.url VARCHAR(100);
object key (id);
}
association {
TemplateMapping[0..n] templateMappings = join nav_templates.template_id
to nav_template_cat_map.template_id;
Template[1..1] template = join nav_template_cat_map.template_id
to nav_templates.template_id;
}
association {
TemplateMapping[0..n] templateMappings = join cat_categories.category_id
to nav_template_cat_map.category_id;
Category[1..1] category = join nav_template_cat_map.category_id
to cat_categories.category_id;
}
object type TemplateMapping {
BigDecimal[1..1] id = nav_template_cat_map.map_id INTEGER;
String[1..1] dispatcherContext = nav_template_cat_map.dispatcher_context VARCHAR(100);
String[1..1] useContext = nav_template_cat_map.use_context VARCHAR(100);
unique ( category, dispatcherContext, useContext );
object key (id);
}