702 lines
16 KiB
Rust
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,
|
|
);
|