239 lines
5.2 KiB
Rust
239 lines
5.2 KiB
Rust
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
addresses (id) {
|
|
id -> Uuid,
|
|
title -> Nullable<Text>,
|
|
street -> Text,
|
|
number -> Text,
|
|
zipcode -> Text,
|
|
city -> Text,
|
|
geo_location -> Nullable<Point>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
addresses_entities (address_id, entitiy_id) {
|
|
address_id -> Uuid,
|
|
entitiy_id -> Uuid,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
buildings (entity_id) {
|
|
entity_id -> Uuid,
|
|
name -> Text,
|
|
description -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
communication_targets (id) {
|
|
id -> Uuid,
|
|
entity -> Text,
|
|
entity_id -> Uuid,
|
|
com_type -> Uuid,
|
|
value -> Text,
|
|
description -> Nullable<Text>,
|
|
visibility -> Bool,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
communication_types (id) {
|
|
id -> Uuid,
|
|
name -> Text,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
entities (entity_id) {
|
|
entity_id -> Uuid,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
groups (entity_id) {
|
|
entity_id -> Uuid,
|
|
group_name -> Text,
|
|
group_description -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
groups_entities (group_id, entity_id) {
|
|
group_id -> Uuid,
|
|
entity_id -> Uuid,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
members (entity_id) {
|
|
entity_id -> Uuid,
|
|
users_id -> Nullable<Uuid>,
|
|
firstname -> Text,
|
|
lastname -> Text,
|
|
date_of_birth -> Nullable<Date>,
|
|
sex -> Nullable<Int2>,
|
|
salutation -> Nullable<Text>,
|
|
place_of_birth -> Nullable<Text>,
|
|
academic_titles -> Nullable<Text>,
|
|
personnel_number -> Nullable<Int4>,
|
|
ui_language -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
members_roles (member_id, role_id) {
|
|
member_id -> Uuid,
|
|
role_id -> Text,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
permissions (permission) {
|
|
permission -> Text,
|
|
description -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
roles (id) {
|
|
id -> Text,
|
|
description -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
roles_permissions (role_permission_id) {
|
|
role_id -> Text,
|
|
permission_id -> Text,
|
|
role_permission_id -> Uuid,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
roles_permissions_context (role_permission_id, entity) {
|
|
role_permission_id -> Uuid,
|
|
entity -> Uuid,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
users (id) {
|
|
id -> Uuid,
|
|
password -> Nullable<Text>,
|
|
email -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
vehicle_categories (id) {
|
|
id -> Uuid,
|
|
name -> Text,
|
|
description -> Nullable<Text>,
|
|
}
|
|
}
|
|
|
|
table! {
|
|
use diesel::sql_types::*;
|
|
use diesel_geometry::sql_types::*;
|
|
|
|
vehicles (entity_id) {
|
|
entity_id -> Uuid,
|
|
identifier -> Text,
|
|
numberplate -> Nullable<Text>,
|
|
description -> Nullable<Text>,
|
|
vehicle_category -> Nullable<Uuid>,
|
|
next_inspection -> Nullable<Date>,
|
|
is_operational -> Bool,
|
|
admissible_total_weight -> Nullable<Float4>,
|
|
required_license -> Nullable<Uuid>,
|
|
}
|
|
}
|
|
|
|
joinable!(addresses_entities -> addresses (address_id));
|
|
joinable!(addresses_entities -> entities (entitiy_id));
|
|
joinable!(buildings -> entities (entity_id));
|
|
joinable!(communication_targets -> communication_types (com_type));
|
|
joinable!(communication_targets -> entities (id));
|
|
joinable!(groups -> entities (entity_id));
|
|
joinable!(groups_entities -> entities (entity_id));
|
|
joinable!(groups_entities -> groups (group_id));
|
|
joinable!(members -> entities (entity_id));
|
|
joinable!(members -> users (users_id));
|
|
joinable!(members_roles -> entities (member_id));
|
|
joinable!(members_roles -> roles (role_id));
|
|
joinable!(roles_permissions -> permissions (permission_id));
|
|
joinable!(roles_permissions -> roles (role_id));
|
|
joinable!(roles_permissions_context -> entities (entity));
|
|
joinable!(roles_permissions_context -> roles_permissions (role_permission_id));
|
|
joinable!(vehicles -> entities (entity_id));
|
|
joinable!(vehicles -> vehicle_categories (entity_id));
|
|
|
|
allow_tables_to_appear_in_same_query!(
|
|
addresses,
|
|
addresses_entities,
|
|
buildings,
|
|
communication_targets,
|
|
communication_types,
|
|
entities,
|
|
groups,
|
|
groups_entities,
|
|
members,
|
|
members_roles,
|
|
permissions,
|
|
roles,
|
|
roles_permissions,
|
|
roles_permissions_context,
|
|
users,
|
|
vehicle_categories,
|
|
vehicles,
|
|
);
|