[task-193] [int]
This commit is contained in:
parent
d3f9a88958
commit
c301789aed
1 changed files with 36 additions and 6 deletions
|
@ -59,7 +59,7 @@ namespace _espe.service.invite
|
||||||
+
|
+
|
||||||
"/"
|
"/"
|
||||||
+
|
+
|
||||||
Math.floor(lib_plankton.base.get_current_timestamp()).toFixed(0)
|
lib_plankton.base.get_current_timestamp(true).toFixed(0)
|
||||||
),
|
),
|
||||||
"secret"
|
"secret"
|
||||||
);
|
);
|
||||||
|
@ -68,7 +68,7 @@ namespace _espe.service.invite
|
||||||
"expiry": (
|
"expiry": (
|
||||||
((expiry !== null) && (expiry < 0))
|
((expiry !== null) && (expiry < 0))
|
||||||
?
|
?
|
||||||
(Math.floor(lib_plankton.base.get_current_timestamp()) + default_lifetime)
|
(lib_plankton.base.get_current_timestamp(true) + default_lifetime)
|
||||||
:
|
:
|
||||||
expiry
|
expiry
|
||||||
),
|
),
|
||||||
|
@ -90,15 +90,45 @@ namespace _espe.service.invite
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @todo heed expiry
|
*/
|
||||||
|
function get(
|
||||||
|
key : _espe.type.invite_key
|
||||||
|
) : Promise<_espe.type.invite_object>
|
||||||
|
{
|
||||||
|
return (
|
||||||
|
_espe.repository.invite.identify(key)
|
||||||
|
.then(
|
||||||
|
(id) => _espe.repository.invite.read(id)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
*/
|
*/
|
||||||
export async function examine(
|
export async function examine(
|
||||||
key : _espe.type.invite_key
|
key : _espe.type.invite_key
|
||||||
) : Promise<_espe.type.invite_object>
|
) : Promise<_espe.type.invite_object>
|
||||||
{
|
{
|
||||||
const invite_id : _espe.type.invite_id = await _espe.repository.invite.identify(key);
|
let invite_object : (null | _espe.type.invite_object);
|
||||||
const invite_object : _espe.type.invite_object = await _espe.repository.invite.read(invite_id);
|
try {
|
||||||
return invite_object;
|
invite_object = await get(key)
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
invite_object = null;
|
||||||
|
}
|
||||||
|
if (invite_object === null) {
|
||||||
|
return Promise.reject(new Error("not found"))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
const now : int = lib_plankton.base.get_current_timestamp(true);
|
||||||
|
if ((invite_object.expiry !== null) && (invite_object.expiry >= now)) {
|
||||||
|
return Promise.reject(new Error("expired"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return Promise.resolve(invite_object);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue