class Employee(BaseModel): '''This class represents the company model''' __tablename__ = 'employee' contact_person_id = db.Column(db.Integer, db.ForeignKey('contact_person.id')) department_id = db.Column(db.Integer, db.ForeignKey('department.id')) contact_person = relationship('ContactPerson', foreign_keys=[contact_person_id]) department = relationship('Department', foreign_keys=[department_id]) def save_employee(self): ''' Method to save employee ''' if not self.exists(): self.save() return True return False def delete_employee(self, deep_delete=False): ''' Method to delete employee ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if employee exists ''' return True if Employee.query.filter_by( contact_person=self.contact_person).first() else False
class Telecom(BaseModel): ''' This class represents the telecom modal ''' __tablename__ = 'telecom' service_details = db.Column(db.String(255)) service_technology = db.Column(db.String(255)) qos_reqs_claims_status = db.Column(db.String(255)) coverage_area_details = db.Column(db.String(255)) sharing_requirements = db.Column(db.String(255)) protection_status = db.Column(db.String(255)) essential_resource_auth_status = db.Column(db.String(255)) outage_status = db.Column(db.String(255)) emergency_service_requirements = db.Column(db.String(255)) general_provisions = db.Column(db.String(255)) notes = db.Column(db.String(255)) recommendations = db.Column(db.String(255)) outage_report_id = db.Column(db.Integer, db.ForeignKey('resource.id')) report_id = db.Column(db.Integer, db.ForeignKey('resource.id')) reviewed_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) approved_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) inspected_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) outage_report = relationship('ResourceMeta', foreign_keys=[outage_report_id]) report = relationship('ResourceMeta', foreign_keys=[report_id]) inspected_by = relationship('Employee', foreign_keys=[inspected_by_id]) reviewed_by = relationship('Employee', foreign_keys=[reviewed_by_id]) approved_by = relationship('Employee', foreign_keys=[approved_by_id]) def save_telecom(self): ''' Method to save telecom ''' if not self.exists(): self.save() return True return False def delete_telecom(self, deep_delete=False): ''' Method to delete telecom ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if telecom exists ''' return True if Telecom.query.filter_by( service_details=self.service_details, active=True).first() else False
class Numbering(BaseModel): ''' This class represents the Numbering model ''' __tablename__ = 'numbering' service_category = db.Column(db.String(255)) number_type = db.Column(db.String(255)) applicable_service_type = db.Column(db.String(255)) description = db.Column(db.String(255)) assigned_range = db.Column(db.Integer) assigned_number = db.Column(db.Integer) assignment_date = db.Column(db.DateTime, default=db.func.current_timestamp()) last_auth_renewal_date = db.Column(db.DateTime) is_compliant = db.Column(db.Boolean, default=True) notes = db.Column(db.String(255)) recommendations = db.Column(db.String(255)) service_provider_id = db.Column(db.Integer, db.ForeignKey('company.id')) report_id = db.Column(db.Integer, db.ForeignKey('resource.id')) assigned_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) last_updated_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) last_updated_by = relationship('Employee', foreign_keys=[last_updated_by_id]) report = relationship('ResourceMeta', foreign_keys=[report_id]) assigned_by = relationship('Employee', foreign_keys=[assigned_by_id]) service_provider = relationship('Company', foreign_keys=[service_provider_id]) def save_numbering(self): ''' Method to save numbering ''' if not self.exists(): self.save() return True return False def delete_numbering(self, deep_delete=False): ''' Method to delete numbering ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if numbering exists ''' return True if Numbering.query.filter_by( assigned_number=self.assigned_number).first() else False
class Spectrum(BaseModel): ''' This class represents the spectrum modal ''' __tablename__ = 'spectrum' assigned_transmission_power = db.Column(db.Integer) authorized_antenna_gain = db.Column(db.Integer) authorized_antenna_height = db.Column(db.Integer) authorized_transmit_location = db.Column(db.String) assigned_stl_frequency = db.Column(db.Integer) assigned_stl_power = db.Column(db.Integer) assigned_stl_location = db.Column(db.String(255)) tx_freq_assign_date = db.Column(db.DateTime) stl_freq_assign_date = db.Column(db.DateTime) band_of_operation = db.Column(db.String(255)) service_authorized = db.Column(db.String(255)) report_id = db.Column(db.Integer, db.ForeignKey('resource.id')) authorized_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) assigned_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) applicant_id = db.Column(db.Integer, db.ForeignKey('company.id')) report = relationship('ResourceMeta', foreign_keys=[report_id]) authorized_by = relationship('Employee', foreign_keys=[authorized_by_id]) assigned_by = relationship('Employee', foreign_keys=[assigned_by_id]) applicant = relationship('Company', foreign_keys=[applicant_id]) def save_spectrum(self): ''' Method to save spectrum ''' if not self.exists(): self.save() return True return False def delete_spectrum(self, deep_delete=False): ''' Method to delete spectrum ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if spectrum exists ''' return True if Spectrum.query.filter_by( assigned_stl_location=self.assigned_stl_location, applicant=self.applicant, active=True).first() else False
class Postal(BaseModel): ''' This class represents the postal modal ''' __tablename__ = 'postal' call_sign = db.Column(db.String(255), nullable=False) physical_location_requirements = db.Column(db.String(255)) license_validity = db.Column(db.Integer) postal_article_confidentiality = db.Column(db.Integer) training_requirements = db.Column(db.Boolean) qos_reqs_working_days = db.Column(db.Boolean) qos_reqs_claims_policy = db.Column(db.Boolean) qos_reqs_ctrl_prohibit_items = db.Column(db.Boolean) qos_reqs_complaints_register = db.Column(db.Boolean) notes_01 = db.Column(db.String(255)) notes_02 = db.Column(db.String(255)) recommendations = db.Column(db.String(255)) report_id = db.Column(db.Integer, db.ForeignKey('resource.id')) inspected_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) reviewed_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) approved_by_id = db.Column(db.Integer, db.ForeignKey('employee.id')) report = relationship('ResourceMeta', foreign_keys=[report_id]) inspected_by = relationship('Employee', foreign_keys=[inspected_by_id]) reviewed_by = relationship('Employee', foreign_keys=[reviewed_by_id]) approved_by = relationship('Employee', foreign_keys=[approved_by_id]) def save_postal(self): ''' Method to save postal ''' if not self.exists(): self.save() return True return False def delete_postal(self, deep_delete=False): ''' Method to delete postal ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if postal exists ''' return True if Postal.query.filter_by(call_sign=self.call_sign, active=True).first() else False
class Company(BaseModel): '''This class represents the company model''' __tablename__ = 'company' name = db.Column(db.String(255), nullable=False, unique=True) address_id = db.Column(db.Integer, db.ForeignKey("address.id")) legal_person_id = db.Column(db.Integer, db.ForeignKey('contact_person.id')) tech_person_id = db.Column(db.Integer, db.ForeignKey('contact_person.id')) address = relationship("Address", foreign_keys=[address_id]) legal_person = relationship( 'ContactPerson', foreign_keys=[legal_person_id]) tech_person = relationship('ContactPerson', foreign_keys=[tech_person_id]) def save_company(self): ''' Method to save company ''' if not self.exists(): self.save() return True return False def delete_company(self, deep_delete=False): ''' Method to delete company ''' if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if company exists ''' return True if Company.query.filter_by( name=self.name).first() else False def __repr__(self): return "<Company: {}>".format(self.name) def __str__(self): return '{0}'.format(self.name)
class ContactPerson(BaseModel): '''This class represents the company model''' __tablename__ = 'contact_person' person_id = db.Column( db.Integer, db.ForeignKey('person.id'), nullable=False) # does not cascade contact_id = db.Column( db.Integer, db.ForeignKey('contact.id'), nullable=False) person = relationship('Person', foreign_keys=[person_id]) contact = relationship('Contact', foreign_keys=[contact_id]) def save_contact_person(self): if not self.exists(): self.save() return True return False def delete_contact_person(self, deep_delete=False): if not deep_delete: if self.deactivate(): return True return False if self.exists(): self.delete() return True return False def exists(self): ''' Check if company exists ''' return True if ContactPerson.query.filter_by( person=self.person, contact=self.contact).first() else False