Ghost/ghost/link-tracking/lib/FullPostLink.js
Fabien 'egg' O'Carroll 5fcf5098a8
Added links API (#15446)
closes https://github.com/TryGhost/Team/issues/1927

This expose the /links endpoint on the Admin API, which is filterable by Post ID.

Co-authored-by: Simon Backx <simon@ghost.org>
2022-09-22 13:39:52 +02:00

37 lines
907 B
JavaScript

const ObjectID = require('bson-objectid').default;
/**
* @typedef {Object} FullPostLinkCount
* @property {number} clicks
*/
/**
* Stores the connection between a LinkRedirect and a Post
*/
module.exports = class FullPostLink {
/** @type {ObjectID} */
post_id;
/** @type {import('@tryghost/link-redirects/lib/LinkRedirect')} */
link;
/** @type {FullPostLinkCount} */
count;
/**
* @param {object} data
* @param {string|ObjectID} data.post_id
* @param {import('@tryghost/link-redirects/lib/LinkRedirect')} data.link
* @param {FullPostLinkCount} data.count
*/
constructor(data) {
if (typeof data.post_id === 'string') {
this.post_id = ObjectID.createFromHexString(data.post_id);
} else {
this.post_id = data.post_id;
}
this.link = data.link;
this.count = data.count;
}
};