Skip to content

Commit c83e221

Browse files
Complexity Based Consumption (#197)
* creates alembic revision for consumption logs * use cognition project state instead of wizard running * updates consumption summary migration * recreates alembic version * Submodule update --------- Co-authored-by: JWittmeyer <[email protected]>
1 parent 246eb7a commit c83e221

File tree

3 files changed

+91
-3
lines changed

3 files changed

+91
-3
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
"""adds cognition consumption
2+
3+
Revision ID: 4861b97fcd5d
4+
Revises: 754dd15f2c9c
5+
Create Date: 2024-03-25 14:27:56.042650
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
from sqlalchemy.dialects import postgresql
11+
12+
# revision identifiers, used by Alembic.
13+
revision = '4861b97fcd5d'
14+
down_revision = '754dd15f2c9c'
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.create_table('consumption_summary',
22+
sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
23+
sa.Column('organization_id', postgresql.UUID(as_uuid=True), nullable=True),
24+
sa.Column('project_id', postgresql.UUID(as_uuid=True), nullable=True),
25+
sa.Column('creation_date', sa.Date(), nullable=True),
26+
sa.Column('project_name', sa.String(), nullable=True),
27+
sa.Column('complexity', sa.String(), nullable=True),
28+
sa.Column('count', sa.Integer(), nullable=True),
29+
sa.ForeignKeyConstraint(['organization_id'], ['organization.id'], ondelete='CASCADE'),
30+
sa.ForeignKeyConstraint(['project_id'], ['cognition.project.id'], ondelete='SET NULL'),
31+
sa.PrimaryKeyConstraint('id'),
32+
sa.UniqueConstraint('organization_id', 'project_id', 'creation_date', 'complexity', name='unique_summary'),
33+
schema='cognition'
34+
)
35+
op.create_index(op.f('ix_cognition_consumption_summary_creation_date'), 'consumption_summary', ['creation_date'], unique=False, schema='cognition')
36+
op.create_index(op.f('ix_cognition_consumption_summary_organization_id'), 'consumption_summary', ['organization_id'], unique=False, schema='cognition')
37+
op.create_index(op.f('ix_cognition_consumption_summary_project_id'), 'consumption_summary', ['project_id'], unique=False, schema='cognition')
38+
op.create_table('consumption_log',
39+
sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
40+
sa.Column('organization_id', postgresql.UUID(as_uuid=True), nullable=True),
41+
sa.Column('project_id', postgresql.UUID(as_uuid=True), nullable=True),
42+
sa.Column('strategy_id', postgresql.UUID(as_uuid=True), nullable=True),
43+
sa.Column('conversation_id', postgresql.UUID(as_uuid=True), nullable=True),
44+
sa.Column('message_id', postgresql.UUID(as_uuid=True), nullable=True),
45+
sa.Column('created_by', postgresql.UUID(as_uuid=True), nullable=True),
46+
sa.Column('created_at', sa.DateTime(), nullable=True),
47+
sa.Column('complexity', sa.String(), nullable=True),
48+
sa.Column('state', sa.String(), nullable=True),
49+
sa.Column('project_name', sa.String(), nullable=True),
50+
sa.Column('project_state', sa.String(), nullable=True),
51+
sa.ForeignKeyConstraint(['conversation_id'], ['cognition.conversation.id'], ondelete='SET NULL'),
52+
sa.ForeignKeyConstraint(['created_by'], ['user.id'], ondelete='SET NULL'),
53+
sa.ForeignKeyConstraint(['message_id'], ['cognition.message.id'], ondelete='SET NULL'),
54+
sa.ForeignKeyConstraint(['organization_id'], ['organization.id'], ondelete='CASCADE'),
55+
sa.ForeignKeyConstraint(['project_id'], ['cognition.project.id'], ondelete='SET NULL'),
56+
sa.ForeignKeyConstraint(['strategy_id'], ['cognition.strategy.id'], ondelete='SET NULL'),
57+
sa.PrimaryKeyConstraint('id'),
58+
schema='cognition'
59+
)
60+
op.create_index(op.f('ix_cognition_consumption_log_conversation_id'), 'consumption_log', ['conversation_id'], unique=False, schema='cognition')
61+
op.create_index(op.f('ix_cognition_consumption_log_created_by'), 'consumption_log', ['created_by'], unique=False, schema='cognition')
62+
op.create_index(op.f('ix_cognition_consumption_log_message_id'), 'consumption_log', ['message_id'], unique=False, schema='cognition')
63+
op.create_index(op.f('ix_cognition_consumption_log_organization_id'), 'consumption_log', ['organization_id'], unique=False, schema='cognition')
64+
op.create_index(op.f('ix_cognition_consumption_log_project_id'), 'consumption_log', ['project_id'], unique=False, schema='cognition')
65+
op.create_index(op.f('ix_cognition_consumption_log_strategy_id'), 'consumption_log', ['strategy_id'], unique=False, schema='cognition')
66+
op.add_column('project', sa.Column('state', sa.String(), nullable=True), schema='cognition')
67+
op.drop_column('project', 'wizard_running', schema='cognition')
68+
op.add_column('strategy', sa.Column('complexity', sa.String(), nullable=True), schema='cognition')
69+
# ### end Alembic commands ###
70+
71+
72+
def downgrade():
73+
# ### commands auto generated by Alembic - please adjust! ###
74+
op.drop_column('strategy', 'complexity', schema='cognition')
75+
op.add_column('project', sa.Column('wizard_running', sa.BOOLEAN(), autoincrement=False, nullable=True), schema='cognition')
76+
op.drop_column('project', 'state', schema='cognition')
77+
op.drop_index(op.f('ix_cognition_consumption_log_strategy_id'), table_name='consumption_log', schema='cognition')
78+
op.drop_index(op.f('ix_cognition_consumption_log_project_id'), table_name='consumption_log', schema='cognition')
79+
op.drop_index(op.f('ix_cognition_consumption_log_organization_id'), table_name='consumption_log', schema='cognition')
80+
op.drop_index(op.f('ix_cognition_consumption_log_message_id'), table_name='consumption_log', schema='cognition')
81+
op.drop_index(op.f('ix_cognition_consumption_log_created_by'), table_name='consumption_log', schema='cognition')
82+
op.drop_index(op.f('ix_cognition_consumption_log_conversation_id'), table_name='consumption_log', schema='cognition')
83+
op.drop_table('consumption_log', schema='cognition')
84+
op.drop_index(op.f('ix_cognition_consumption_summary_project_id'), table_name='consumption_summary', schema='cognition')
85+
op.drop_index(op.f('ix_cognition_consumption_summary_organization_id'), table_name='consumption_summary', schema='cognition')
86+
op.drop_index(op.f('ix_cognition_consumption_summary_creation_date'), table_name='consumption_summary', schema='cognition')
87+
op.drop_table('consumption_summary', schema='cognition')
88+
# ### end Alembic commands ###

controller/transfer/cognition/import_wizard.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def __finalize_setup(
6161
token_ref: TokenRef, cognition_project_id: str, task_id: str
6262
) -> None:
6363
cognition_project_item = cognition_project.get(cognition_project_id)
64-
cognition_project_item.wizard_running = True
64+
cognition_project_item.state = enums.CognitionProjectState.WIZARD_RUNNING.value
6565
general.commit()
6666
# unbind to prevent session issues
6767
organization_id = str(cognition_project_item.organization_id)
@@ -238,7 +238,7 @@ def finish_cognition_setup(
238238
str(cognition_project_item.refinery_relevance_project_id), user_id
239239
)
240240

241-
cognition_project_item.wizard_running = False
241+
cognition_project_item.state = enums.CognitionProjectState.DEVELOPMENT.value
242242
organization_id = str(cognition_project_item.organization_id)
243243
general.commit()
244244
general.remove_and_refresh_session(ctx_token, False)

0 commit comments

Comments
 (0)