Started work on media class.
This commit is contained in:
parent
4c31dbde1e
commit
f8a6e00345
35
src/app/channel/media/media.js
Normal file
35
src/app/channel/media/media.js
Normal file
|
|
@ -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 <https://www.gnu.org/licenses/>.*/
|
||||||
|
|
||||||
|
//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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue