namespace _espe.api { /** * @todo types * @todo restriction */ export function register_member_get( rest_subject : lib_plankton.rest.type_rest ) : void { lib_plankton.rest.register< int, ( null | { name_real : string; name_login : string; email_address_numerical_value : string; email_address_namely_value : string; } ) >( rest_subject, lib_plankton.http.enum_method.get, "/member/get/:id", { "description": "gibt Angaben über ein Mitglied aus, die für die Registrierung verwendet werden dürfen", "query_parameters": [ { "name": "key", "required": true, "description": "Zugriffs-Schlüssel", }, ], "restriction": restriction_none, "execution": async ({"path_parameters": path_parameters, "query_parameters": query_parameters, "input": input}) => { const key : string = query_parameters["key"]; const member_id : _espe.service.member.type_id = parseInt(path_parameters["id"]); const member_value : _espe.service.member.type_value = await _espe.service.member.get(member_id); if (member_value.registered) { return Promise.resolve({ "status_code": 409, "data": /*"bereits registriert"*/null, }); } else { return Promise.resolve({ "status_code": 200, "data": { "name_real": member_value.name_real_value, "name_login": _espe.service.member.derive_login_name(member_value), // TODO "email_address_numerical_value": _espe.service.member.derive_email_address_numerical(member_value), // TODO "email_address_namely_value": _espe.service.member.derive_email_address_namely(member_value), }, }); } }, } ) } }