Пример #1
0
def add_workflow_spec_category(body):
    WorkflowService.cleanup_workflow_spec_category_display_order()
    count = session.query(WorkflowSpecCategoryModel).count()
    body['display_order'] = count
    schema = WorkflowSpecCategoryModelSchema()
    new_cat: WorkflowSpecCategoryModel = schema.load(body, session=session)
    session.add(new_cat)
    session.commit()
    return schema.dump(new_cat)
Пример #2
0
def reorder_workflow_spec_category(cat_id, direction):
    if direction not in ('up', 'down'):
        raise ApiError(code='bad_direction',
                       message='The direction must be `up` or `down`.')
    WorkflowService.cleanup_workflow_spec_category_display_order()
    category = session.query(WorkflowSpecCategoryModel).\
        filter(WorkflowSpecCategoryModel.id == cat_id).first()
    if category:
        ordered_categories = WorkflowService.reorder_workflow_spec_category(
            category, direction)
        schema = WorkflowSpecCategoryModelSchema(many=True)
        return schema.dump(ordered_categories)
    else:
        raise ApiError(
            code='bad_category_id',
            message=
            f'The category id {cat_id} did not return a Workflow Spec Category. Make sure it is a valid ID.'
        )
Пример #3
0
def update_workflow_spec_category(cat_id, body):
    if cat_id is None:
        raise ApiError('unknown_category',
                       'Please provide a valid Workflow Spec Category ID.')

    category = session.query(WorkflowSpecCategoryModel).filter_by(
        id=cat_id).first()

    if category is None:
        raise ApiError('unknown_category',
                       'The category "' + cat_id + '" is not recognized.')

    schema = WorkflowSpecCategoryModelSchema()
    category = schema.load(body,
                           session=session,
                           instance=category,
                           partial=True)
    session.add(category)
    session.commit()
    return schema.dump(category)
Пример #4
0
def update_workflow_spec_category(cat_id, body):
    if cat_id is None:
        raise ApiError('unknown_category',
                       'Please provide a valid Workflow Spec Category ID.')

    category = session.query(WorkflowSpecCategoryModel).filter_by(
        id=cat_id).first()

    if category is None:
        raise ApiError('unknown_category',
                       'The category "' + cat_id + '" is not recognized.')

    # Make sure they don't try to change the display_order
    # There is a separate endpoint for that
    body['display_order'] = category.display_order

    schema = WorkflowSpecCategoryModelSchema()
    category = schema.load(body,
                           session=session,
                           instance=category,
                           partial=True)
    session.add(category)
    session.commit()
    return schema.dump(category)
Пример #5
0
def add_workflow_spec_category(body):
    schema = WorkflowSpecCategoryModelSchema()
    new_cat: WorkflowSpecCategoryModel = schema.load(body, session=session)
    session.add(new_cat)
    session.commit()
    return schema.dump(new_cat)
Пример #6
0
def get_workflow_spec_category(cat_id):
    schema = WorkflowSpecCategoryModelSchema()
    return schema.dump(
        session.query(WorkflowSpecCategoryModel).filter_by(id=cat_id).first())
Пример #7
0
def list_workflow_spec_categories():
    schema = WorkflowSpecCategoryModelSchema(many=True)
    return schema.dump(session.query(WorkflowSpecCategoryModel).all())