/*Canopy - The next generation of stoner streaming software Copyright (C) 2024-2025 Rainbownapkin and the TTN Community This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see .*/ /** * Object representing a piece of media */ class media{ /** * Creates a new media object from scraped information * @param {String} title - Chosen title of media * @param {String} fileName - Original filename/title of media provided by source * @param {String} url - Original URL to file * @param {String} id - Video ID from source (IE: youtube watch code/archive.org file path) * @param {String} type - Original video source * @param {Number} duration - Length of media in seconds * @param {String} rawLink - URL to raw file copy of media, not applicable to all sources */ constructor(title, fileName, url, id, type, duration, rawLink = url){ /** * Chosen title of media */ this.title = title; /** * Original filename/title of media provided by source */ this.fileName = fileName /** * Original URL to file */ this.url = url; /** * Video ID from source (IE: youtube watch code/archive.org file path) */ this.id = id; /** * Original video source */ this.type = type; /** * Length of media in seconds */ this.duration = duration; /** * URL to raw file copy of media, not applicable to all sources */ this.rawLink = rawLink; } } module.exports = media;