1
0
mirror of https://git.sr.ht/~cadence/bibliogram synced 2024-09-28 14:57:30 +00:00

Assistant understands age restricted profiles

This commit is contained in:
Cadence Ember 2020-04-14 03:51:21 +12:00
parent fff2d74fe3
commit 138145fa05
No known key found for this signature in database
GPG Key ID: 128B99B1B74A6412
3 changed files with 12 additions and 1 deletions

View File

@ -35,6 +35,9 @@ class Assistant {
if (root.identifier === "NOT_FOUND") {
this.lastRequestStatus = constants.symbols.assistant_statuses.OK
reject(constants.symbols.NOT_FOUND)
} else if (root.identifier === "AGE_RESTRICTED") {
this.lastRequestStatus = constants.symbols.assistant_statuses.OK
reject(constants.symbols.extractor_results.AGE_RESTRICTED)
} else if (root.identifier === "NOT_AUTHENTICATED") {
this.lastRequestStatus = constants.symbols.assistant_statuses.NOT_AUTHENTICATED
reject(constants.symbols.assistant_statuses.NOT_AUTHENTICATED)

View File

@ -25,7 +25,7 @@ class AssistantSwitcher {
const user = await assistant.requestUser(username)
return resolve(user)
} catch (e) {
if (e === constants.symbols.NOT_FOUND) {
if (e === constants.symbols.NOT_FOUND || e === constants.symbols.extractor_results.AGE_RESTRICTED) {
const rejection = Promise.reject(e)
rejection.catch(() => {}) // otherwise we get a warning that the rejection was handled asynchronously
collectors.userRequestCache.set(`user/${username}`, false, rejection)

View File

@ -96,6 +96,14 @@ module.exports = [
message: "User not found.",
identifier: "NOT_FOUND"
})
} else if (error === constants.symbols.extractor_results.AGE_RESTRICTED) {
return reply(403, {
status: "fail",
version: "1.0",
generatedAt: Date.now(),
message: "Profile is age restricted.",
identifier: "AGE_RESTRICTED"
})
} else {
throw error
}