'workflow_transition', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('from_state_id', types.UnicodeText, ForeignKey('workflow_state.id')), Column('to_state_id', types.UnicodeText, ForeignKey('workflow_state.id'), nullable=False), UniqueConstraint('from_state_id', 'to_state_id'), CheckConstraint('from_state_id is null or from_state_id != to_state_id'), ) vdm.sqlalchemy.make_table_stateful(workflow_transition_table) workflow_transition_revision_table = core.make_revisioned_table( workflow_transition_table) class WorkflowTransition(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a workflow_transition object referenced by its id. """ if not reference: return None return meta.Session.query(cls).get(reference)
from sqlalchemy import types, Table, Column import vdm.sqlalchemy from ckan.model import meta, core, types as _types, domain_object workflow_annotation_table = Table( 'workflow_annotation', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('name', types.UnicodeText, nullable=False, unique=True), Column('attributes', types.UnicodeText, nullable=False), ) vdm.sqlalchemy.make_table_stateful(workflow_annotation_table) workflow_annotation_revision_table = core.make_revisioned_table( workflow_annotation_table) class WorkflowAnnotation(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a workflow_annotation object referenced by its id or name. """ if not reference: return None workflow_annotation = meta.Session.query(cls).get(reference) if workflow_annotation is None:
from ckan.model import meta, core, types as _types, domain_object metadata_json_attr_map_table = Table( 'metadata_json_attr_map', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('json_path', types.UnicodeText, nullable=False), Column('record_attr', types.UnicodeText, nullable=False), Column('is_key', types.Boolean, nullable=False), Column('metadata_standard_id', types.UnicodeText, ForeignKey('metadata_standard.id'), nullable=False), UniqueConstraint('metadata_standard_id', 'record_attr'), ) vdm.sqlalchemy.make_table_stateful(metadata_json_attr_map_table) metadata_json_attr_map_revision_table = core.make_revisioned_table(metadata_json_attr_map_table) class MetadataJSONAttrMap(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a MetadataJSONAttrMap object referenced by its id. """ if not reference: return None return meta.Session.query(cls).get(reference)
meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('user_id', types.UnicodeText, ForeignKey('user.id'), nullable=False), Column('role_id', types.UnicodeText, ForeignKey('role.id'), nullable=False), Column('organization_id', types.UnicodeText, ForeignKey('group.id'), nullable=False), UniqueConstraint('user_id', 'role_id', 'organization_id'), ) vdm.sqlalchemy.make_table_stateful(user_role_table) user_role_revision_table = core.make_revisioned_table(user_role_table) class UserRole(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a UserRole object referenced by its id. """ if not reference: return None return meta.Session.query(cls).get(reference) @classmethod
import vdm.sqlalchemy from ckan.model import meta, core, types as _types, domain_object role_table = Table( 'role', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('name', types.UnicodeText, nullable=False, unique=True), Column('title', types.UnicodeText), Column('description', types.UnicodeText), ) vdm.sqlalchemy.make_table_stateful(role_table) role_revision_table = core.make_revisioned_table(role_table) class Role(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a Role object referenced by its id or name. """ if not reference: return None role = meta.Session.query(cls).get(reference) if role is None: role = cls.by_name(reference)
from ckan.model import meta, core, types as _types, domain_object role_permission_table = Table( 'role_permission', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('role_id', types.UnicodeText, ForeignKey('role.id'), nullable=False), Column('content_type', types.UnicodeText, nullable=False), Column('operation', types.UnicodeText, nullable=False), UniqueConstraint('role_id', 'content_type', 'operation'), ) vdm.sqlalchemy.make_table_stateful(role_permission_table) role_permission_revision_table = core.make_revisioned_table( role_permission_table) class RolePermission(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a RolePermission object referenced by its id. """ if not reference: return None return meta.Session.query(cls).get(reference)
Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('model_name', types.UnicodeText, nullable=False), Column('object_id', types.UnicodeText, nullable=False), Column('operation', _types.JsonDictType), Column('scope', types.UnicodeText), Column('ordinal', types.Integer, nullable=False, default=0), Column('timestamp', types.DateTime, nullable=False, default=datetime.datetime.utcnow), Column('data', _types.JsonDictType), ) vdm.sqlalchemy.make_table_stateful(jsonpatch_table) jsonpatch_revision_table = core.make_revisioned_table(jsonpatch_table) class JSONPatch(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a JSONPatch object referenced by its id. """ if not reference: return None return meta.Session.query(cls).get(reference)
meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('name', types.UnicodeText, nullable=False, unique=True), Column('description', types.UnicodeText), Column('standard_name', types.UnicodeText, nullable=False), Column('standard_version', types.UnicodeText, nullable=False), # we implement the self-relation "softly", otherwise revision table # auto-generation gets confused about how to join to this table Column('parent_standard_id', types.UnicodeText), # ForeignKey('metadata_standard.id')), Column('metadata_template_json', types.UnicodeText), UniqueConstraint('standard_name', 'standard_version')) vdm.sqlalchemy.make_table_stateful(metadata_standard_table) metadata_standard_revision_table = core.make_revisioned_table( metadata_standard_table) class MetadataStandard(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a metadata_standard object referenced by its id or name. """ if not reference: return None metadata_standard = meta.Session.query(cls).get(reference) if metadata_standard is None:
mapper(KataAccessRequest, kata_access_request_table, extension=[ extension.PluginMapperExtension(), ] ) user_extra_table = Table('user_extra', meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('user_id', types.UnicodeText, ForeignKey('user.id')), Column('key', types.UnicodeText), Column('value', _types.JsonType), ) vdm.sqlalchemy.make_table_stateful(user_extra_table) user_extra_revision_table = core.make_revisioned_table(user_extra_table) class UserExtra(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): pass meta.mapper(UserExtra, user_extra_table, properties={ 'user': orm.relation(user.User, backref=orm.backref('_extras', collection_class=orm.collections.attribute_mapped_collection(u'key'), cascade='all, delete, delete-orphan', ), ) },
default=_types.make_uuid), Column('name', types.UnicodeText, nullable=False, unique=True), Column('description', types.UnicodeText), Column('metadata_standard_id', types.UnicodeText, ForeignKey('metadata_standard.id'), nullable=False), Column('organization_id', types.UnicodeText, ForeignKey('group.id')), Column('infrastructure_id', types.UnicodeText, ForeignKey('group.id')), Column('schema_json', types.UnicodeText), # null organization & infrastructure implies that the object is the default schema for the given metadata standard UniqueConstraint('metadata_standard_id', 'organization_id', 'infrastructure_id')) vdm.sqlalchemy.make_table_stateful(metadata_schema_table) metadata_schema_revision_table = core.make_revisioned_table( metadata_schema_table) class MetadataSchema(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a metadata_schema object referenced by its id or name. """ if not reference: return None metadata_schema = meta.Session.query(cls).get(reference) if metadata_schema is None:
meta.metadata, Column('id', types.UnicodeText, primary_key=True, default=_types.make_uuid), Column('name', types.UnicodeText, nullable=False, unique=True), Column('title', types.UnicodeText), Column('description', types.UnicodeText), Column('workflow_rules_json', types.UnicodeText), Column('metadata_records_private', types.Boolean, nullable=False), # we implement the self-relation "softly", otherwise revision table # auto-generation gets confused about how to join to this table Column('revert_state_id', types.UnicodeText), # ForeignKey('workflow_state.id')), ) vdm.sqlalchemy.make_table_stateful(workflow_state_table) workflow_state_revision_table = core.make_revisioned_table( workflow_state_table) class WorkflowState(vdm.sqlalchemy.RevisionedObjectMixin, vdm.sqlalchemy.StatefulObjectMixin, domain_object.DomainObject): @classmethod def get(cls, reference): """ Returns a workflow_state object referenced by its id or name. """ if not reference: return None workflow_state = meta.Session.query(cls).get(reference) if workflow_state is None: