'use strict'
let clientConfiguration = require("../core/client.conf")
let processQuery = require("../core/processor").processQuery
/**
* Validates the tag type against allowed types
* @private
* @param {String} tagType
*/
module.exports.validateTagType = (tagType) => {
const allowed = [
"countries",
"domains",
"subjects",
"user_defined_tags",
"taxonomies",
"publications",
"record_types"
]
if (!allowed.includes(tagType)) throw Error(`tag type should be one of ${allowed.join(", ")}`)
}
/**
* Determine if a user has permission to edit this record.
* @param {Number} recordID - ID of the record.
* @returns {Promise}
*/
module.exports.canEdit = (recordID) => {
const request = {
method: "get",
baseURL: clientConfiguration.baseURL + "/fairsharing_records/can_edit/" + recordID,
headers: clientConfiguration.headers,
};
return processQuery(request, true);
}
/**
* Determine if a the logged in user has permission to claim a record.
* @param {Number} recordID - ID for the relevant FairsharingRecord.
* @returns {Promise}
*/
module.exports.canClaim = (recordID) => {
const request = {
method: "get",
baseURL: clientConfiguration.baseURL + "/maintenance_requests/existing/" + recordID,
headers: clientConfiguration.headers,
};
return processQuery(request, true);
}