Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
uses: actions/checkout@v4
with:
path: odp-server
submodules: recursive

- name: Check out odp-core
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
[submodule "jschon-translation"]
path = jschon-translation
url = https://github.com/marksparkza/jschon-translation.git
branch = odp-package-support
14 changes: 14 additions & 0 deletions bin/archive
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python

import pathlib
import sys

rootdir = pathlib.Path(__file__).parent.parent
sys.path.append(str(rootdir))

import odp.logfile
import odp.svc

if __name__ == '__main__':
odp.logfile.initialize()
odp.svc.run_service('archive')
4 changes: 2 additions & 2 deletions bin/package
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ rootdir = pathlib.Path(__file__).parent.parent
sys.path.append(str(rootdir))

import odp.logfile
import odp.package
import odp.svc

if __name__ == '__main__':
odp.logfile.initialize()
odp.package.run_all()
odp.svc.run_service('package')
2 changes: 1 addition & 1 deletion migrate/systemdata/clients.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ ODP.Web.UI:
- odp.package:sdg
- odp.provider:read
- odp.record:read
- odp.resource:write
- odp.resource:read
- odp.token:read
- openid
- offline_access
Expand Down
1 change: 0 additions & 1 deletion migrate/systemdata/roles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ SAEON.Staff:
- odp.record:read
- odp.resource:read
- odp.resource:read_all
- odp.resource:write
- odp.role:read
- odp.schema:read
- odp.scope:read
Expand Down
35 changes: 35 additions & 0 deletions migrate/versions/2025_04_16_b9774b38ac0b_split_resource_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""Split resource status

Revision ID: b9774b38ac0b
Revises: 660293c24387
Create Date: 2025-04-16 17:49:32.137456

"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql


# revision identifiers, used by Alembic.
revision = 'b9774b38ac0b'
down_revision = '660293c24387'
branch_labels = None
depends_on = None


def upgrade():
op.drop_column('archive_resource', 'status')
op.execute('drop type resourcestatus')
op.execute("create type archiveresourcestatus as enum ('pending', 'valid', 'missing', 'corrupt')")
op.add_column('archive_resource', sa.Column('status', postgresql.ENUM(name='archiveresourcestatus', create_type=False), nullable=False))
op.execute("create type resourcestatus as enum ('active', 'delete_pending')")
op.add_column('resource', sa.Column('status', postgresql.ENUM(name='resourcestatus', create_type=False), nullable=False))


def downgrade():
op.drop_column('resource', 'status')
op.execute('drop type resourcestatus')
op.drop_column('archive_resource', 'status')
op.execute('drop type archiveresourcestatus')
op.execute("create type resourcestatus as enum ('pending', 'valid', 'missing', 'corrupt', 'delete_pending')")
op.add_column('archive_resource', sa.Column('status', postgresql.ENUM(name='resourcestatus', create_type=False), nullable=False))
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
"""Merge folder and filename into path

Revision ID: c8363345ee8c
Revises: b9774b38ac0b
Create Date: 2025-04-21 16:05:08.099042

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'c8363345ee8c'
down_revision = 'b9774b38ac0b'
branch_labels = None
depends_on = None


def upgrade():
# ### commands auto generated by Alembic - adjusted ###
op.add_column('resource', sa.Column('path', sa.String(), nullable=False))
op.create_unique_constraint('resource_package_id_path_key', 'resource', ['package_id', 'path'])
op.drop_index('resource_package_path_uix', 'resource')
op.drop_column('resource', 'filename')
op.drop_column('resource', 'folder')
# ### end Alembic commands ###


def downgrade():
# ### commands auto generated by Alembic - adjusted ###
op.add_column('resource', sa.Column('folder', sa.VARCHAR(), autoincrement=False, nullable=False))
op.add_column('resource', sa.Column('filename', sa.VARCHAR(), autoincrement=False, nullable=False))
op.create_index('resource_package_path_uix', 'resource', [sa.text("(package_id || '/' || folder || '/' || filename)")], unique=True)
op.drop_constraint('resource_package_id_path_key', 'resource', type_='unique')
op.drop_column('resource', 'path')
# ### end Alembic commands ###
31 changes: 31 additions & 0 deletions migrate/versions/2025_05_06_326d3fc9b55b_modify_package_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
"""Modify package status

Revision ID: 326d3fc9b55b
Revises: c8363345ee8c
Create Date: 2025-05-06 11:16:12.242684

"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql


# revision identifiers, used by Alembic.
revision = '326d3fc9b55b'
down_revision = 'c8363345ee8c'
branch_labels = None
depends_on = None


def upgrade():
op.drop_column('package', 'status')
op.execute('drop type packagestatus')
op.execute("create type packagestatus as enum ('editing', 'submitted', 'in_review', 'archived', 'delete_pending')")
op.add_column('package', sa.Column('status', postgresql.ENUM(name='packagestatus', create_type=False), nullable=False))


def downgrade():
op.drop_column('package', 'status')
op.execute('drop type packagestatus')
op.execute("create type packagestatus as enum ('pending', 'submitted', 'archived', 'deleted')")
op.add_column('package', sa.Column('status', postgresql.ENUM(name='packagestatus', create_type=False), nullable=False))
19 changes: 0 additions & 19 deletions odp/api/lib/archive.py

This file was deleted.

Loading