EinsatzOnline/src/schema.rs

702 lines
16 KiB
Rust

table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
addresses (id) {
id -> Uuid,
title -> Nullable<Text>,
street -> Nullable<Text>,
number -> Nullable<Text>,
zipcode -> Nullable<Text>,
city -> Nullable<Text>,
country -> Nullable<Text>,
}
}
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::*;
appointment_types (type_id) {
type_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
interval -> Nullable<Int4>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
appointments (id) {
id -> Uuid,
type_id -> Uuid,
entity_id -> Uuid,
appointment_date -> Date,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
billing_states (entity_id) {
name -> Text,
description -> Nullable<Text>,
final_approve -> Bool,
order -> Nullable<Int4>,
entity_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 (target_id) {
target_id -> Uuid,
entity_id -> Uuid,
com_type -> Uuid,
value -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
communication_types (type_id) {
type_id -> Uuid,
type_name -> Text,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
cost_centres (short_id) {
short_id -> Int4,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
cost_centres_members (member_entity_id, cost_centre_shortid) {
member_entity_id -> Uuid,
cost_centre_shortid -> Int4,
}
}
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::*;
eu_instances (instance_id) {
instance_id -> Uuid,
template_id -> Uuid,
name -> Text,
event_id -> Uuid,
planned_start_time -> Nullable<Timestamptz>,
planned_end_time -> Nullable<Timestamptz>,
real_start_time -> Nullable<Timestamptz>,
real_end_time -> Nullable<Timestamptz>,
billing_rate_id -> Nullable<Uuid>,
billing_state_id -> Nullable<Uuid>,
billing_state_author -> Nullable<Uuid>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
eu_position_instances (position_instance_id) {
instance_id -> Uuid,
position_id -> Uuid,
taken_by -> Nullable<Uuid>,
position_instance_id -> Uuid,
real_start_time -> Nullable<Timestamptz>,
real_end_time -> Nullable<Timestamptz>,
billable -> Nullable<Bool>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
eu_positions (entity_id) {
entity_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
requirements -> Nullable<Jsonb>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
eu_positions_templates (position_template_id) {
position_entity_id -> Uuid,
template_id -> Uuid,
position_template_id -> Uuid,
num -> Int4,
tag -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
eu_templates (entity_id) {
entity_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
eu_vehicle_positions (entity_id) {
entity_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
required_vehicle_category -> Uuid,
template_id -> Uuid,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
event_organisers (entity_id) {
entity_id -> Uuid,
company -> Nullable<Text>,
firstname -> Nullable<Text>,
lastname -> Nullable<Text>,
phone -> Nullable<Text>,
email -> Nullable<Text>,
other -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
event_requests (entity_id) {
entity_id -> Uuid,
name -> Text,
timescale -> Nullable<Text>,
site -> Nullable<Text>,
organiser_id -> Nullable<Uuid>,
etype -> Nullable<Uuid>,
related_group -> Nullable<Uuid>,
contact_on_site_name -> Nullable<Text>,
contact_on_site_phone -> Nullable<Text>,
specials -> Nullable<Text>,
requested -> Nullable<Text>,
expected_attendees -> Nullable<Int4>,
risk_potential -> Nullable<Int4>,
state -> Int2,
received -> Timestamp,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
event_types (type_id) {
type_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
is_billable -> Bool,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
events (entity_id) {
entity_id -> Uuid,
name -> Text,
start -> Timestamp,
end -> Timestamp,
site -> Nullable<Text>,
organiser_id -> Nullable<Uuid>,
etype -> Nullable<Uuid>,
contact_on_site_name -> Nullable<Text>,
contact_on_site_phone -> Nullable<Text>,
member_responsible -> Nullable<Uuid>,
related_group -> Nullable<Uuid>,
other -> Nullable<Text>,
other_intern -> Nullable<Text>,
related_request -> Nullable<Uuid>,
state -> Int2,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
group_entity_state (state_id) {
state_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
unique -> Bool,
}
}
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,
state -> Nullable<Uuid>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
license_categories (name) {
name -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
licenses_members (member_id, license_name) {
member_id -> Uuid,
license_name -> Text,
drive_permission -> Bool,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
log (entry_id) {
entry_id -> Int4,
timestamp -> Timestamptz,
action -> Text,
affected_entity -> Nullable<Uuid>,
causer -> Nullable<Uuid>,
details -> Nullable<Jsonb>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
log_actions (action) {
action -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
login_attempts (id) {
id -> Uuid,
email -> Text,
timestamp -> Timestamp,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
login_attempts_usernames (id) {
id -> Uuid,
username -> Text,
timestamp -> Timestamp,
}
}
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>,
nationality -> Nullable<Text>,
entrance_date -> Nullable<Date>,
birth_name -> Nullable<Text>,
iban -> Nullable<Text>,
bic -> 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::*;
notification_types (name) {
name -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
password_resets (token) {
token -> Text,
user_id -> Uuid,
issued -> Timestamp,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
permissions (permission) {
permission -> Text,
description -> Nullable<Text>,
context -> Bool,
context_type -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
personnel_billing (position_instance_id) {
position_instance_id -> Uuid,
member_id -> Uuid,
fulfilled_time -> Int4,
money_for_time -> Numeric,
money_from_lump_sum -> Numeric,
total_money -> Numeric,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
personnel_billing_rates (billing_rate_id) {
billing_rate_id -> Uuid,
name -> Text,
description -> Nullable<Text>,
active -> Bool,
payment_per_hour -> Numeric,
lump_sum -> Numeric,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
qualification_categories (id) {
id -> Uuid,
name -> Text,
description -> Nullable<Text>,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
qualifications (id) {
id -> Uuid,
name -> Text,
description -> Nullable<Text>,
category -> Uuid,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
qualifications_members (member_id, qualification_id) {
member_id -> Uuid,
qualification_id -> Uuid,
}
}
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::*;
units (unit_id) {
unit_id -> Uuid,
name -> Text,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
units_members (unit_id, member_id) {
unit_id -> Uuid,
member_id -> Uuid,
crew -> Int2,
}
}
table! {
use diesel::sql_types::*;
use diesel_geometry::sql_types::*;
users (id) {
id -> Uuid,
password -> Nullable<Text>,
email -> Text,
username -> Nullable<Text>,
timezone -> 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>,
is_operational -> Bool,
admissible_total_weight -> Nullable<Int4>,
required_license -> Nullable<Text>,
vehicle_category -> Nullable<Uuid>,
}
}
joinable!(addresses_entities -> addresses (address_id));
joinable!(addresses_entities -> entities (entitiy_id));
joinable!(appointments -> appointment_types (type_id));
joinable!(appointments -> entities (entity_id));
joinable!(billing_states -> entities (entity_id));
joinable!(buildings -> entities (entity_id));
joinable!(communication_targets -> communication_types (com_type));
joinable!(communication_targets -> entities (entity_id));
joinable!(cost_centres_members -> cost_centres (cost_centre_shortid));
joinable!(cost_centres_members -> members (member_entity_id));
joinable!(eu_instances -> personnel_billing_rates (billing_rate_id));
joinable!(eu_positions -> entities (entity_id));
joinable!(eu_templates -> entities (entity_id));
joinable!(eu_vehicle_positions -> entities (entity_id));
joinable!(eu_vehicle_positions -> eu_templates (template_id));
joinable!(eu_vehicle_positions -> vehicle_categories (required_vehicle_category));
joinable!(event_organisers -> entities (entity_id));
joinable!(event_requests -> entities (entity_id));
joinable!(event_requests -> groups (related_group));
joinable!(events -> event_organisers (organiser_id));
joinable!(events -> event_types (etype));
joinable!(events -> groups (related_group));
joinable!(groups -> entities (entity_id));
joinable!(groups_entities -> entities (entity_id));
joinable!(groups_entities -> group_entity_state (state));
joinable!(groups_entities -> groups (group_id));
joinable!(licenses_members -> license_categories (license_name));
joinable!(licenses_members -> members (member_id));
joinable!(members -> entities (entity_id));
joinable!(members -> users (users_id));
joinable!(members_roles -> entities (member_id));
joinable!(members_roles -> roles (role_id));
joinable!(password_resets -> users (user_id));
joinable!(personnel_billing -> eu_position_instances (position_instance_id));
joinable!(personnel_billing -> members (member_id));
joinable!(qualifications -> qualification_categories (category));
joinable!(qualifications_members -> members (member_id));
joinable!(qualifications_members -> qualifications (qualification_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!(units -> entities (unit_id));
joinable!(units_members -> members (member_id));
joinable!(units_members -> units (unit_id));
joinable!(vehicles -> entities (entity_id));
joinable!(vehicles -> license_categories (required_license));
joinable!(vehicles -> vehicle_categories (vehicle_category));
allow_tables_to_appear_in_same_query!(
addresses,
addresses_entities,
appointment_types,
appointments,
billing_states,
buildings,
communication_targets,
communication_types,
cost_centres,
cost_centres_members,
entities,
eu_instances,
eu_position_instances,
eu_positions,
eu_positions_templates,
eu_templates,
eu_vehicle_positions,
event_organisers,
event_requests,
event_types,
events,
group_entity_state,
groups,
groups_entities,
license_categories,
licenses_members,
log,
log_actions,
login_attempts,
login_attempts_usernames,
members,
members_roles,
notification_types,
password_resets,
permissions,
personnel_billing,
personnel_billing_rates,
qualification_categories,
qualifications,
qualifications_members,
roles,
roles_permissions,
roles_permissions_context,
units,
units_members,
users,
vehicle_categories,
vehicles,
);