68 lines
1.7 KiB
TypeScript
68 lines
1.7 KiB
TypeScript
|
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),
|
||
|
},
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
|
||
|
}
|