[int]
This commit is contained in:
parent
46ee340e17
commit
5f79d2566d
6 changed files with 103 additions and 4 deletions
|
@ -66,6 +66,7 @@ namespace _espe.api
|
|||
"email_address_namebased_use": input["email_address_namebased_use"],
|
||||
"email_redirect_to_private": input["email_redirect_to_private"],
|
||||
"salutation": input["salutation"],
|
||||
"registered": false,
|
||||
};
|
||||
const member_id : _espe.service.member.type_id = await _espe.service.member.add(member_value);
|
||||
return Promise.resolve({
|
||||
|
|
67
source/api/actions/member_get.ts
Normal file
67
source/api/actions/member_get.ts
Normal file
|
@ -0,0 +1,67 @@
|
|||
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),
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
|
@ -30,6 +30,7 @@ namespace _espe.api
|
|||
"email_address_namebased_use": input["email_address_namebased_use"],
|
||||
"email_redirect_to_private": input["email_redirect_to_private"],
|
||||
"salutation": input["salutation"],
|
||||
"registered": /*input["registered"]*/member_value_old.registered,
|
||||
};
|
||||
await _espe.service.member.modify(member_id, member_value_new);
|
||||
return Promise.resolve({
|
||||
|
|
|
@ -37,6 +37,7 @@ namespace _espe.api
|
|||
_espe.api.register_member_create(rest_subject);
|
||||
_espe.api.register_member_update(rest_subject);
|
||||
// _espe.api.register_member_delete(rest_subject);
|
||||
_espe.api.register_member_get(rest_subject);
|
||||
_espe.api.register_member_register(rest_subject);
|
||||
_espe.api.register_member_urge_for_registration(rest_subject);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ namespace _espe.service.member
|
|||
email_address_namebased_use : boolean;
|
||||
email_redirect_to_private : boolean;
|
||||
salutation : (null | string);
|
||||
registered : boolean;
|
||||
};
|
||||
|
||||
|
||||
|
@ -87,6 +88,7 @@ namespace _espe.service.member
|
|||
"email_address_namebased_use": (value.email_address_namebased_use ? 1 : 0),
|
||||
"email_redirect_to_private": (value.email_redirect_to_private ? 1 : 0),
|
||||
"salutation": value.salutation,
|
||||
"registered": (value.registered ? 1 : 0),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -110,6 +112,7 @@ namespace _espe.service.member
|
|||
"email_address_namebased_use": (row["email_address_namebased_use"] > 0),
|
||||
"email_redirect_to_private": (row["email_redirect_to_private"] > 0),
|
||||
"salutation": row["salutation"],
|
||||
"registered": (row["registered"] > 0),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -246,6 +249,7 @@ namespace _espe.service.member
|
|||
member.email_address_namebased_use = data.email_address_namebased_use
|
||||
member.email_redirect_to_private = data.email_redirect_to_private;
|
||||
member.password_image = await _espe.helpers.bcrypt_compute(data.password);
|
||||
member.registered = true;
|
||||
|
||||
await modify(id, member);
|
||||
}
|
||||
|
@ -254,7 +258,31 @@ namespace _espe.service.member
|
|||
|
||||
/**
|
||||
*/
|
||||
function derive_email_address_namebased(
|
||||
export function derive_login_name(
|
||||
value : type_value
|
||||
) : string
|
||||
{
|
||||
return lib_plankton.string.coin(
|
||||
"{{value}}{{extension}}",
|
||||
{
|
||||
"value": value.name_real_value.toLowerCase().replace(new RegExp(" ", "g"), "."),
|
||||
"extension": (
|
||||
(
|
||||
(value.name_real_extension === null)
|
||||
||
|
||||
(value.name_real_extension === "")
|
||||
)
|
||||
? ""
|
||||
: ("." + value.name_real_extension)
|
||||
),
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*/
|
||||
export function derive_email_address_namely(
|
||||
value : type_value
|
||||
) : string
|
||||
{
|
||||
|
@ -279,7 +307,7 @@ namespace _espe.service.member
|
|||
|
||||
/**
|
||||
*/
|
||||
function derive_email_address_numberbased(
|
||||
export function derive_email_address_numerical(
|
||||
value : type_value
|
||||
) : string
|
||||
{
|
||||
|
@ -302,10 +330,10 @@ namespace _espe.service.member
|
|||
{
|
||||
return (
|
||||
value.email_address_namebased_use
|
||||
? derive_email_address_namebased(value)
|
||||
? derive_email_address_namely(value)
|
||||
: (
|
||||
value.email_address_numberbased_use
|
||||
? derive_email_address_numberbased(value)
|
||||
? derive_email_address_numerical(value)
|
||||
: value.email_address_private_value
|
||||
)
|
||||
);
|
||||
|
|
|
@ -41,6 +41,7 @@ ${dir_temp}/espe-unlinked.js: \
|
|||
${dir_source}/api/actions/member_create.ts \
|
||||
${dir_source}/api/actions/member_update.ts \
|
||||
${dir_source}/api/actions/member_delete.ts \
|
||||
${dir_source}/api/actions/member_get.ts \
|
||||
${dir_source}/api/actions/member_urge_for_registration.ts \
|
||||
${dir_source}/api/actions/member_register.ts \
|
||||
${dir_source}/api/functions.ts \
|
||||
|
|
Loading…
Add table
Reference in a new issue