Exemplo n.º 1
0
def archive_many(call: APICall, company_id, request: BatchRequest):
    results, failures = run_batch_operation(
        func=partial(ModelBLL.archive_model, company_id=company_id),
        ids=request.ids,
    )
    call.result.data_model = BatchResponse(
        succeeded=[
            dict(id=_id, archived=bool(archived)) for _id, archived in results
        ],
        failed=failures,
    )
Exemplo n.º 2
0
def archive_many(call: APICall, company_id, request: TaskBatchRequest):
    results, failures = run_batch_operation(
        func=partial(
            archive_task,
            company_id=company_id,
            status_message=request.status_message,
            status_reason=request.status_reason,
        ),
        ids=request.ids,
    )
    call.result.data_model = BatchResponse(
        succeeded=[
            dict(id=_id, archived=bool(archived)) for _id, archived in results
        ],
        failed=failures,
    )
Exemplo n.º 3
0
def delete(call: APICall, company_id, request: ModelsDeleteManyRequest):
    results, failures = run_batch_operation(
        func=partial(ModelBLL.delete_model,
                     company_id=company_id,
                     force=request.force),
        ids=request.ids,
    )

    if results:
        projects = set(model.project for _, (_, model) in results)
        _reset_cached_tags(company_id, projects=list(projects))

    call.result.data_model = BatchResponse(
        succeeded=[
            dict(id=_id, deleted=bool(deleted), url=model.uri)
            for _id, (deleted, model) in results
        ],
        failed=failures,
    )
Exemplo n.º 4
0
def publish_many(call: APICall, company_id, request: ModelsPublishManyRequest):
    results, failures = run_batch_operation(
        func=partial(
            ModelBLL.publish_model,
            company_id=company_id,
            force_publish_task=request.force_publish_task,
            publish_task_func=publish_task if request.publish_task else None,
        ),
        ids=request.ids,
    )

    call.result.data_model = BatchResponse(
        succeeded=[
            dict(
                id=_id,
                updated=bool(updated),
                published_task=published_task.to_struct()
                if published_task else None,
            ) for _id, (updated, published_task) in results
        ],
        failed=failures,
    )