""" .. module: lemur.models :platform: Unix :synopsis: This module contains all of the associative tables that help define the many to many relationships established in Lemur :copyright: (c) 2018 by Netflix Inc., see AUTHORS for more :license: Apache, see LICENSE for more details. .. moduleauthor:: Kevin Glisson """ from sqlalchemy import Column, Integer, ForeignKey, Index, UniqueConstraint from lemur.database import db certificate_associations = db.Table('certificate_associations', Column('domain_id', Integer, ForeignKey('domains.id')), Column('certificate_id', Integer, ForeignKey('certificates.id')) ) Index('certificate_associations_ix', certificate_associations.c.domain_id, certificate_associations.c.certificate_id) certificate_destination_associations = db.Table('certificate_destination_associations', Column('destination_id', Integer, ForeignKey('destinations.id', ondelete='cascade')), Column('certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')) ) Index('certificate_destination_associations_ix', certificate_destination_associations.c.destination_id, certificate_destination_associations.c.certificate_id) certificate_source_associations = db.Table('certificate_source_associations', Column('source_id', Integer, ForeignKey('sources.id', ondelete='cascade')), Column('certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')) ) Index('certificate_source_associations_ix', certificate_source_associations.c.source_id, certificate_source_associations.c.certificate_id) certificate_notification_associations = db.Table('certificate_notification_associations', Column('notification_id', Integer, ForeignKey('notifications.id', ondelete='cascade')), Column('certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')), Column('id', Integer, primary_key=True, autoincrement=True), UniqueConstraint('notification_id', 'certificate_id', name='uq_dest_not_ids') ) Index('certificate_notification_associations_ix', certificate_notification_associations.c.notification_id, certificate_notification_associations.c.certificate_id) certificate_replacement_associations = db.Table('certificate_replacement_associations', Column('replaced_certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')), Column('certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')) ) Index('certificate_replacement_associations_ix', certificate_replacement_associations.c.replaced_certificate_id, certificate_replacement_associations.c.certificate_id, unique=True) roles_authorities = db.Table('roles_authorities', Column('authority_id', Integer, ForeignKey('authorities.id')), Column('role_id', Integer, ForeignKey('roles.id')) ) Index('roles_authorities_ix', roles_authorities.c.authority_id, roles_authorities.c.role_id) roles_certificates = db.Table('roles_certificates', Column('certificate_id', Integer, ForeignKey('certificates.id')), Column('role_id', Integer, ForeignKey('roles.id')) ) Index('roles_certificates_ix', roles_certificates.c.certificate_id, roles_certificates.c.role_id) roles_users = db.Table('roles_users', Column('user_id', Integer, ForeignKey('users.id')), Column('role_id', Integer, ForeignKey('roles.id')) ) Index('roles_users_ix', roles_users.c.user_id, roles_users.c.role_id) policies_ciphers = db.Table('policies_ciphers', Column('cipher_id', Integer, ForeignKey('ciphers.id')), Column('policy_id', Integer, ForeignKey('policy.id'))) Index('policies_ciphers_ix', policies_ciphers.c.cipher_id, policies_ciphers.c.policy_id) pending_cert_destination_associations = db.Table('pending_cert_destination_associations', Column('destination_id', Integer, ForeignKey('destinations.id', ondelete='cascade')), Column('pending_cert_id', Integer, ForeignKey('pending_certs.id', ondelete='cascade')) ) Index('pending_cert_destination_associations_ix', pending_cert_destination_associations.c.destination_id, pending_cert_destination_associations.c.pending_cert_id) pending_cert_notification_associations = db.Table('pending_cert_notification_associations', Column('notification_id', Integer, ForeignKey('notifications.id', ondelete='cascade')), Column('pending_cert_id', Integer, ForeignKey('pending_certs.id', ondelete='cascade')) ) Index('pending_cert_notification_associations_ix', pending_cert_notification_associations.c.notification_id, pending_cert_notification_associations.c.pending_cert_id) pending_cert_source_associations = db.Table('pending_cert_source_associations', Column('source_id', Integer, ForeignKey('sources.id', ondelete='cascade')), Column('pending_cert_id', Integer, ForeignKey('pending_certs.id', ondelete='cascade')) ) Index('pending_cert_source_associations_ix', pending_cert_source_associations.c.source_id, pending_cert_source_associations.c.pending_cert_id) pending_cert_replacement_associations = db.Table('pending_cert_replacement_associations', Column('replaced_certificate_id', Integer, ForeignKey('certificates.id', ondelete='cascade')), Column('pending_cert_id', Integer, ForeignKey('pending_certs.id', ondelete='cascade')) ) Index('pending_cert_replacement_associations_ix', pending_cert_replacement_associations.c.replaced_certificate_id, pending_cert_replacement_associations.c.pending_cert_id) pending_cert_role_associations = db.Table('pending_cert_role_associations', Column('pending_cert_id', Integer, ForeignKey('pending_certs.id')), Column('role_id', Integer, ForeignKey('roles.id')) ) Index('pending_cert_role_associations_ix', pending_cert_role_associations.c.pending_cert_id, pending_cert_role_associations.c.role_id)