diff --git a/src/app/channel/media/media.js b/src/app/channel/media/media.js new file mode 100644 index 0000000..998d666 --- /dev/null +++ b/src/app/channel/media/media.js @@ -0,0 +1,35 @@ +/*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 .*/ + +//Node imports +const crypto = require('node:crypto'); + +module.exports = class{ + constructor(title, id, type, duration){ + this.title = title; + this.id = id; + this.type = type; + this.duration = duration; + + //Generate initial UUID, this will most likely be replaced when media object is added to a playlist + //If this ends up being entirely redudnant in the future we'll remove it for performance + this.genUUID(); + } + + genUUID(){ + this.uuid = crypto.randomUUID(); + } +} \ No newline at end of file