| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- """Read models for the enterprise connector control plane."""
- from sqlalchemy.dialects.postgresql import ARRAY, JSONB, UUID
- from app import db
- from app.core.common.identifiers import new_governance_uid
- class ConnectorManifestRecord(db.Model):
- __tablename__ = "connector_manifests"
- __table_args__ = (
- db.UniqueConstraint("connector_id", "connector_version"),
- {"schema": "public"},
- )
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- connector_id = db.Column(db.String(64), nullable=False)
- connector_version = db.Column(db.String(40), nullable=False)
- sdk_version = db.Column(db.String(20), nullable=False)
- display_name = db.Column(db.String(200), nullable=False)
- capabilities = db.Column(JSONB, nullable=False)
- config_schema = db.Column(JSONB, nullable=False)
- status = db.Column(db.String(20), nullable=False)
- class ConnectorPrincipal(db.Model):
- __tablename__ = "connector_principals"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- connector_id = db.Column(db.String(64), nullable=False)
- connector_version = db.Column(db.String(40), nullable=False)
- source_uid = db.Column(UUID(as_uuid=False), nullable=False)
- business_domain_uid = db.Column(UUID(as_uuid=False), nullable=False)
- environment = db.Column(db.String(20), nullable=False)
- allowed_operations = db.Column(ARRAY(db.Text), nullable=False)
- allowed_scopes = db.Column(JSONB, nullable=False)
- status = db.Column(db.String(20), nullable=False)
- source_binding_uid = db.Column(UUID(as_uuid=False))
- source_binding_version = db.Column(db.Integer)
- class ConnectorSourceBinding(db.Model):
- __tablename__ = "connector_source_bindings"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- binding_version = db.Column(db.Integer, primary_key=True)
- connector_id = db.Column(db.String(64), nullable=False)
- connector_version = db.Column(db.String(40), nullable=False)
- source_uid = db.Column(UUID(as_uuid=False), nullable=False)
- business_domain_uid = db.Column(UUID(as_uuid=False), nullable=False)
- environment = db.Column(db.String(20), nullable=False)
- approved_base_url = db.Column(db.String(2048))
- allowed_host = db.Column(db.String(253))
- credential_ref = db.Column(db.String(300))
- approved_config = db.Column(JSONB, nullable=False)
- status = db.Column(db.String(20), nullable=False)
- approved_by = db.Column(UUID(as_uuid=False), nullable=False)
- class ConnectorRun(db.Model):
- __tablename__ = "connector_runs"
- __table_args__ = {"schema": "public"}
- uid = db.Column(UUID(as_uuid=False), primary_key=True, default=new_governance_uid)
- idempotency_key = db.Column(db.String(64), nullable=False, unique=True)
- connector_id = db.Column(db.String(64), nullable=False)
- connector_version = db.Column(db.String(40), nullable=False)
- source_uid = db.Column(UUID(as_uuid=False), nullable=False)
- principal_uid = db.Column(UUID(as_uuid=False))
- business_domain_uid = db.Column(UUID(as_uuid=False))
- environment = db.Column(db.String(20))
- process_key = db.Column(db.String(300))
- operation = db.Column(db.String(30), nullable=False)
- status = db.Column(db.String(20), nullable=False)
- attempt_count = db.Column(db.Integer, nullable=False)
- checkpoint = db.Column(JSONB, nullable=False)
- cursor = db.Column(JSONB, nullable=False)
- safe_config = db.Column(JSONB, nullable=False)
- scope = db.Column(JSONB, nullable=False)
- request_hash = db.Column(db.String(64), nullable=False)
- client_hint_hash = db.Column(db.String(64))
- source_binding_uid = db.Column(UUID(as_uuid=False))
- source_binding_version = db.Column(db.Integer)
- attempt_lease_token = db.Column(UUID(as_uuid=False))
- cancel_requested = db.Column(db.Boolean, nullable=False, default=False)
|