Compare commits

...

11 Commits

Author SHA1 Message Date
Thomas Viesmose Birch
5211a4a976 Adding songtype to playlists 2024-05-04 17:31:58 +02:00
Thomas Viesmose Birch
58f972156e Typescript is hard! 2024-05-04 16:20:19 +02:00
Thomas Viesmose Birch
1f69d0e867 Added OthersPlaylists to the parseMessages 2024-05-04 16:19:16 +02:00
Thomas Viesmose Birch
de19886518 Added OthersPlaylists to the parseMessages 2024-05-04 16:16:45 +02:00
Thomas Viesmose Birch
4ef0946605 Removed the ListenerJoined and ListenerLeft events 2024-05-04 16:09:35 +02:00
Thomas Viesmose Birch
365132977a Fixed unused include before bump 2024-05-04 15:36:49 +02:00
Thomas Viesmose Birch
3c80493446 bump to 17! 2024-05-04 15:35:11 +02:00
Thomas Viesmose Birch
927aa80398 bump to 16 2024-05-04 15:29:06 +02:00
Thomas Viesmose Birch
1b31aaf549 Renaming to GetOtherPlaylists 2024-05-04 15:27:43 +02:00
Thomas Viesmose Birch
7e1136acad Me and typescript is not friends. 2024-05-04 14:50:27 +02:00
Thomas Viesmose Birch
1487f6e1f5 Changed "Added new messages for returning users with playlists" to a call that just returns all playslists. 2024-05-04 14:43:05 +02:00
9 changed files with 54 additions and 78 deletions

View File

@ -23,10 +23,11 @@ export class PlayingSong extends QueuedSong {
}
export class Playlist {
constructor(public title: string, public listener: string, public songs: Song[]) {
constructor(public title: string, public listener: string, public type: SongType, public songs: Song[]) {
}
}
export class PlaylistDescription {
constructor(public title: string, public listener: string) {
constructor(public title: string, public listener: string, public type: SongType) {
}
}

6
dist/dataTypes.d.ts vendored
View File

@ -25,11 +25,13 @@ export declare class PlayingSong extends QueuedSong {
export declare class Playlist {
title: string;
listener: string;
type: SongType;
songs: Song[];
constructor(title: string, listener: string, songs: Song[]);
constructor(title: string, listener: string, type: SongType, songs: Song[]);
}
export declare class PlaylistDescription {
title: string;
listener: string;
constructor(title: string, listener: string);
type: SongType;
constructor(title: string, listener: string, type: SongType);
}

6
dist/dataTypes.js vendored
View File

@ -57,18 +57,20 @@ var PlayingSong = /** @class */ (function (_super) {
}(QueuedSong));
exports.PlayingSong = PlayingSong;
var Playlist = /** @class */ (function () {
function Playlist(title, listener, songs) {
function Playlist(title, listener, type, songs) {
this.title = title;
this.listener = listener;
this.type = type;
this.songs = songs;
}
return Playlist;
}());
exports.Playlist = Playlist;
var PlaylistDescription = /** @class */ (function () {
function PlaylistDescription(title, listener) {
function PlaylistDescription(title, listener, type) {
this.title = title;
this.listener = listener;
this.type = type;
}
return PlaylistDescription;
}());

View File

@ -1,5 +1,5 @@
import { Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription } from "./dataTypes";
export type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | RemovePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | GetListenersWithPlaylists | ToggleTag | Shuffle | RemoveFromAutoPlay;
export type StuenMessages = ListenerList | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | RemovePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | GetOtherPlaylists | ToggleTag | Shuffle | RemoveFromAutoPlay;
export declare abstract class StuenMessage {
type: string;
constructor(type: string);
@ -8,14 +8,6 @@ export declare class Join extends StuenMessage {
name: string;
constructor(name: string);
}
export declare class ListenerJoined extends StuenMessage {
name: string;
constructor(name: string);
}
export declare class ListenerLeft extends StuenMessage {
name: string;
constructor(name: string);
}
export declare class ListenerList extends StuenMessage {
names: string[];
constructor(names: string[]);
@ -89,9 +81,13 @@ export declare class PlaylistSongs extends StuenMessage {
playlist: Playlist;
constructor(playlist: Playlist);
}
export declare class GetListenersWithPlaylists extends StuenMessage {
export declare class GetOtherPlaylists extends StuenMessage {
constructor();
}
export declare class OthersPlaylists extends StuenMessage {
playlists: PlaylistDescription[];
constructor(playlists: PlaylistDescription[]);
}
export declare class AddSongToPlaylist extends StuenMessage {
song: Song;
playlist: string;

44
dist/messageTypes.js vendored
View File

@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.RemoveFromAutoPlay = exports.Shuffle = exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.GetListenersWithPlaylists = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.RemovePlaylist = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0;
exports.RemoveFromAutoPlay = exports.Shuffle = exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.OthersPlaylists = exports.GetOtherPlaylists = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.RemovePlaylist = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.Join = exports.StuenMessage = void 0;
var StuenMessage = /** @class */ (function () {
function StuenMessage(type) {
this.type = type;
@ -33,26 +33,6 @@ var Join = /** @class */ (function (_super) {
return Join;
}(StuenMessage));
exports.Join = Join;
var ListenerJoined = /** @class */ (function (_super) {
__extends(ListenerJoined, _super);
function ListenerJoined(name) {
var _this = _super.call(this, 'ListenerJoined') || this;
_this.name = name;
return _this;
}
return ListenerJoined;
}(StuenMessage));
exports.ListenerJoined = ListenerJoined;
var ListenerLeft = /** @class */ (function (_super) {
__extends(ListenerLeft, _super);
function ListenerLeft(name) {
var _this = _super.call(this, 'ListenerLeft') || this;
_this.name = name;
return _this;
}
return ListenerLeft;
}(StuenMessage));
exports.ListenerLeft = ListenerLeft;
var ListenerList = /** @class */ (function (_super) {
__extends(ListenerList, _super);
function ListenerList(names) {
@ -233,14 +213,24 @@ var PlaylistSongs = /** @class */ (function (_super) {
return PlaylistSongs;
}(StuenMessage));
exports.PlaylistSongs = PlaylistSongs;
var GetListenersWithPlaylists = /** @class */ (function (_super) {
__extends(GetListenersWithPlaylists, _super);
function GetListenersWithPlaylists() {
return _super.call(this, 'GetListenersWithPlaylists') || this;
var GetOtherPlaylists = /** @class */ (function (_super) {
__extends(GetOtherPlaylists, _super);
function GetOtherPlaylists() {
return _super.call(this, 'GetOtherPlaylists') || this;
}
return GetListenersWithPlaylists;
return GetOtherPlaylists;
}(StuenMessage));
exports.GetListenersWithPlaylists = GetListenersWithPlaylists;
exports.GetOtherPlaylists = GetOtherPlaylists;
var OthersPlaylists = /** @class */ (function (_super) {
__extends(OthersPlaylists, _super);
function OthersPlaylists(playlists) {
var _this = _super.call(this, 'OthersPlaylists') || this;
_this.playlists = playlists;
return _this;
}
return OthersPlaylists;
}(StuenMessage));
exports.OthersPlaylists = OthersPlaylists;
var AddSongToPlaylist = /** @class */ (function (_super) {
__extends(AddSongToPlaylist, _super);
function AddSongToPlaylist(song, playlist) {

10
dist/parseMessage.js vendored
View File

@ -7,10 +7,6 @@ function parseMessage(message) {
switch (data.type) {
case 'Join':
return new messageTypes_1.Join(data.name);
case 'ListenerJoined':
return new messageTypes_1.ListenerJoined(data.name);
case 'ListenerLeft':
return new messageTypes_1.ListenerLeft(data.name);
case 'ListenerList':
return new messageTypes_1.ListenerList(data.names);
case 'SendChatMessage':
@ -51,8 +47,10 @@ function parseMessage(message) {
return new messageTypes_1.AddSongToPlaylist(data.song, data.playlist);
case 'RemoveSongFromPlaylist':
return new messageTypes_1.RemoveSongFromPlaylist(data.song, data.playlist);
case 'GetListenersWithPlaylists':
return new messageTypes_1.GetListenersWithPlaylists();
case 'GetOtherPlaylists':
return new messageTypes_1.GetOtherPlaylists();
case 'OthersPlaylists':
return new messageTypes_1.OthersPlaylists(data.playlists);
case 'ToggleTag':
return new messageTypes_1.ToggleTag(data.song, data.tag);
case 'Shuffle':

View File

@ -1,9 +1,7 @@
import {Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription} from "./dataTypes";
export type StuenMessages =
ListenerLeft
| ListenerList
| ListenerJoined
ListenerList
| SendChatMessage
| SearchSong
| SearchSongResult
@ -23,7 +21,7 @@ export type StuenMessages =
| Playlists
| GetPlaylist
| PlaylistSongs
| GetListenersWithPlaylists
| GetOtherPlaylists
| ToggleTag
| Shuffle
| RemoveFromAutoPlay
@ -39,18 +37,6 @@ export class Join extends StuenMessage {
}
}
export class ListenerJoined extends StuenMessage {
constructor(public name: string) {
super('ListenerJoined');
}
}
export class ListenerLeft extends StuenMessage {
constructor(public name: string) {
super('ListenerLeft');
}
}
export class ListenerList extends StuenMessage {
constructor(public names: string[]) {
super('ListenerList');
@ -161,12 +147,17 @@ export class PlaylistSongs extends StuenMessage {
}
}
export class GetListenersWithPlaylists extends StuenMessage {
export class GetOtherPlaylists extends StuenMessage {
constructor() {
super('GetListenersWithPlaylists');
super('GetOtherPlaylists');
}
}
export class OthersPlaylists extends StuenMessage {
constructor(public playlists: PlaylistDescription[]) {
super('OthersPlaylists');
}
}
export class AddSongToPlaylist extends StuenMessage {
constructor(public song: Song, public playlist: string) {
super('AddSongToPlaylist');

View File

@ -1,6 +1,6 @@
{
"name": "stuen-common",
"version": "1.2.13",
"version": "1.2.17",
"main": "dist/common.js",
"type": "commonjs",
"types": "dist/common.d.ts",

View File

@ -6,12 +6,10 @@ import {
CurrentSong,
GetPlaylist,
Join,
ListenerJoined,
ListenerLeft,
ListenerList,
Playlists,
PlaylistSongs,
GetListenersWithPlaylists,
GetOtherPlaylists,
QueueSong, RemoveFromAutoPlay, RemovePlaylist,
RemoveSongFromPlaylist,
ReorderSong,
@ -22,7 +20,7 @@ import {
SongLikes,
StuenMessage,
ToggleSongLike, ToggleTag,
UnqueueSong
UnqueueSong, OthersPlaylists,
} from "./messageTypes";
export default function parseMessage(message: string): StuenMessage | null {
@ -32,10 +30,6 @@ export default function parseMessage(message: string): StuenMessage | null {
switch (data.type) {
case 'Join':
return new Join(data.name);
case 'ListenerJoined':
return new ListenerJoined(data.name);
case 'ListenerLeft':
return new ListenerLeft(data.name);
case 'ListenerList':
return new ListenerList(data.names);
case 'SendChatMessage':
@ -76,8 +70,10 @@ export default function parseMessage(message: string): StuenMessage | null {
return new AddSongToPlaylist(data.song, data.playlist);
case 'RemoveSongFromPlaylist':
return new RemoveSongFromPlaylist(data.song, data.playlist);
case 'GetListenersWithPlaylists':
return new GetListenersWithPlaylists();
case 'GetOtherPlaylists':
return new GetOtherPlaylists();
case 'OthersPlaylists':
return new OthersPlaylists(data.playlists);
case 'ToggleTag':
return new ToggleTag(data.song, data.tag);
case 'Shuffle':