-
Notifications
You must be signed in to change notification settings - Fork 0
/
UNQfy.uxf
126 lines (118 loc) · 5.55 KB
/
UNQfy.uxf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<diagram program="umletino" version="14.4.0-SNAPSHOT"><zoom_level>10</zoom_level><help_text>Space for diagram notes</help_text><element><id>UMLClass</id><coordinates><x>52</x><y>30</y><w>260</w><h>280</h></coordinates><panel_attributes>Track
--
- id: string
- name: string
- duration: number
- genres: string[]
--
Methods
+ get id(): string
+ set id(value: string)
+ get name(): string
+ set name(value: string)
+ get duration(): number
+ set duration(value: number)
+ get genres(): string[]
+ set genres(value: string[]) </panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>882</x><y>0</y><w>310</w><h>240</h></coordinates><panel_attributes>Album
--
- id: string;
- name: string;
- tracks: Track[]
- year: number
--
Methods
+tracks(value: Track[])
+id(value: string)
+name(value: string)
+year(value: number)
+deleteTrack(trackId: string)
+addTrack(track: Track)
+*search(any:string):object[]</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>682</x><y>510</y><w>490</w><h>330</h></coordinates><panel_attributes>Artist
--
- id: string;
- name: string;
- country: string;
- albums: Album[]
--
Methods
+ get albums(): Album[]
+ set albums(value: Album[])
+ get id(): string
+ set id(value: string)
+ get name(): string
+ set name(value: string)
+ get country(): string
+ set country(value: string)
+ deleteAlbum(albumId: string)
+ deleteTrack(trackId: string)
+ getAlgumById(id: string): Album
+ addAlbum(album: Album)
+ addTrack(albumId: string, trackData: { name: string; duration: number; genres: string[] })
+*search(any:string):object[]</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>32</x><y>440</y><w>260</w><h>240</h></coordinates><panel_attributes>Playlist
--
- id: string
- name: string
- tracks: string[]
- duration: number
--
Methods
+ get id() : string
+ get name() : string
+ get tracks() : tracks: string[] ¿?
+ get duration() : number
+ set name(value: string)
+ addTrack(track: Track)
+ deleteTrack(track: Track)
+ hasTrack(track: Track): boolean</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>302</x><y>60</y><w>600</w><h>40</h></coordinates><panel_attributes>lt=->>>
m2=n</panel_attributes><additional_attributes>580;10;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>172</x><y>300</y><w>40</w><h>160</h></coordinates><panel_attributes>lt=<-
m1=n</panel_attributes><additional_attributes>10;10;10;140</additional_attributes></element><element><id>UMLClass</id><coordinates><x>352</x><y>110</y><w>510</w><h>390</h></coordinates><panel_attributes>UNQfy
--
- artists: Artist[]
- playlists: Playlist[]
- users: User[]
--
+ addUser(name: string): void
+ listen(userId: string, trackId: string) : void
+ listened(userId: string): string[]
+ addArtist(artistData: {name: string, country: string}): Artist
+ addAlbum(artistId: string, albumData: {name: string, year: number}) : void
+ addTrack(albumId: string, trackData: {name: string, duration: number, genres: string[]}) : void
+ deleteArtist(artistId: string): void
+ deleteAlbum(albumId: string): void
+ deleteTrack(trackIds: string): void
+ deletePlaylist(playlistId: string): void
+ getArtistById(id: string): Artist
+ getAlbumById(id: string) : void ¿?
+ getTrackById(id: string) : void ¿?
+ getPlaylistById(id: string) : void ¿?
+ getUserById(id: string) : void ¿?
+ getTracksMatchingGenres(genres: string[]): Track[]
- getArtistByName(artistName: string): Artist
- getAlbumsByArtist(artistId: string): Album[]
+ createPlaylist(name: string, genresToInclude: string[], maxDuration: number): Playlist
</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>1012</x><y>230</y><w>40</w><h>300</h></coordinates><panel_attributes>lt=<-
m1=n</panel_attributes><additional_attributes>10;10;10;280</additional_attributes></element><element><id>Relation</id><coordinates><x>282</x><y>430</y><w>90</w><h>40</h></coordinates><panel_attributes>lt=<-
m1=n</panel_attributes><additional_attributes>10;10;70;10</additional_attributes></element><element><id>UMLClass</id><coordinates><x>352</x><y>740</y><w>260</w><h>150</h></coordinates><panel_attributes>Listen
--
- id: string
- track: string ?
- count: number
--
Methods
get id() : string
get track() : string
get count() : number</panel_attributes><additional_attributes></additional_attributes></element><element><id>UMLClass</id><coordinates><x>352</x><y>520</y><w>260</w><h>190</h></coordinates><panel_attributes>User
--
- id: string
- name: string
- listened: Listen[]
--
Methods
+ get id() : string
+ get name() : string
+ get listened() : Listen[]
+ listen(track: Track) :void
+ listen.addListen() :void</panel_attributes><additional_attributes></additional_attributes></element><element><id>Relation</id><coordinates><x>472</x><y>700</y><w>40</w><h>60</h></coordinates><panel_attributes>lt=<-
m1=.n</panel_attributes><additional_attributes>10;40;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>462</x><y>490</y><w>40</w><h>50</h></coordinates><panel_attributes>lt=<-
m1=n</panel_attributes><additional_attributes>10;30;10;10</additional_attributes></element><element><id>Relation</id><coordinates><x>850</x><y>380</y><w>110</w><h>150</h></coordinates><panel_attributes>lt=<-
m1=n</panel_attributes><additional_attributes>90;130;10;10</additional_attributes></element></diagram>