[mod] allow empty membership number
This commit is contained in:
parent
5457c6dd4d
commit
70b9bd0073
3 changed files with 43 additions and 21 deletions
|
@ -24,11 +24,15 @@ namespace _espe.api
|
|||
{
|
||||
register<
|
||||
{
|
||||
membership_number : string;
|
||||
membership_number : (null | string);
|
||||
name_real_value : string;
|
||||
email_address_private : (null | string);
|
||||
},
|
||||
_espe.type.member_id
|
||||
(
|
||||
string
|
||||
|
|
||||
_espe.type.member_id
|
||||
)
|
||||
>(
|
||||
rest_subject,
|
||||
lib_plankton.http.enum_method.post,
|
||||
|
@ -71,25 +75,41 @@ namespace _espe.api
|
|||
return Promise.reject(new Error("impossible"));
|
||||
}
|
||||
else {
|
||||
const member_id : _espe.type.member_id = await _espe.service.member.project(
|
||||
{
|
||||
"membership_number": input.membership_number,
|
||||
"name_real_value": input.name_real_value,
|
||||
"email_address_private": (
|
||||
("email_address_private" in input)
|
||||
? (
|
||||
(input.email_address_private !== "")
|
||||
? input.email_address_private
|
||||
if (
|
||||
(! _espe.conf.get().settings.facultative_membership_number)
|
||||
&&
|
||||
(
|
||||
(input.membership_number === null)
|
||||
||
|
||||
(input.membership_number === "")
|
||||
)
|
||||
) {
|
||||
return Promise.resolve({
|
||||
"status_code": 400,
|
||||
"data": "membership number required"
|
||||
});
|
||||
}
|
||||
else {
|
||||
const member_id : _espe.type.member_id = await _espe.service.member.project(
|
||||
{
|
||||
"membership_number": input.membership_number,
|
||||
"name_real_value": input.name_real_value,
|
||||
"email_address_private": (
|
||||
("email_address_private" in input)
|
||||
? (
|
||||
(input.email_address_private !== "")
|
||||
? input.email_address_private
|
||||
: null
|
||||
)
|
||||
: null
|
||||
)
|
||||
: null
|
||||
),
|
||||
}
|
||||
);
|
||||
return Promise.resolve({
|
||||
"status_code": 201,
|
||||
"data": member_id
|
||||
});
|
||||
),
|
||||
}
|
||||
);
|
||||
return Promise.resolve({
|
||||
"status_code": 201,
|
||||
"data": member_id
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,6 +97,7 @@ namespace _espe.conf
|
|||
target_domain : string;
|
||||
frontend_url_base : (null | string);
|
||||
prefix_for_nominal_email_addresses : string;
|
||||
facultative_membership_number : boolean;
|
||||
registration_email : {
|
||||
subject : string;
|
||||
body : string;
|
||||
|
@ -248,6 +249,7 @@ namespace _espe.conf
|
|||
"target_domain": (node_settings["target_domain"] ?? "example.org"),
|
||||
"frontend_url_base": (node_settings["frontend_url_base"] ?? null), // TODO: mandatory?
|
||||
"prefix_for_nominal_email_addresses": (node_settings["prefix_for_nominal_email_addresses"] ?? "member-"),
|
||||
"facultative_membership_number": (node_settings["facultative_membership_number"] ?? false),
|
||||
"registration_email": {
|
||||
"subject": ((node_settings["registration_email"] ?? {})["subject"] ?? "Registration"),
|
||||
"body": ((node_settings["registration_email"] ?? {})["body"] ?? "URL: {{url}}"),
|
||||
|
|
|
@ -307,7 +307,7 @@ namespace _espe.service.member
|
|||
*/
|
||||
export async function project(
|
||||
data : {
|
||||
membership_number : string;
|
||||
membership_number : (null | string);
|
||||
name_real_value : string;
|
||||
email_address_private : (null | string);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue