EinsatzOnline/src/schema.rs

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,
);