'POST /api/workflows/build_module
Builds module models for the workflow editor.'

@expose_api
def build_module(self, trans, payload={}):

    inputs = payload.get('inputs', {})
    module = module_factory.from_dict(trans, payload)
    module_state = {}
    populate_state(trans, module.get_inputs(), inputs, module_state, check=False)
    module.recover_state(module_state)
    return {'label': inputs.get('__label', ''), 'annotation': inputs.get('__annotation', ''), 'name': module.get_name(), 'tool_state': module.get_state(), 'data_inputs': module.get_data_inputs(), 'data_outputs': module.get_data_outputs(), 'config_form': module.get_config_form(), 'post_job_actions': module.get_post_job_actions(inputs)}
