Music sender api

De mydil
Aller à la navigation Aller à la recherche

User

L'objet user est composé comme suit : {"id":"1","pseudo":"tala","email":"tala@tala.com","id_image":null}

URL Corps Verbe Action Code retour Implémentée

/api/user

  • vide

GET

Retourne un tableau avec tous les objets utilisateur

  • 200 : si l'objet existe
  • 400 : si une erreur survient
Implemented green tick.png

/api/user/$$ID$$

  • $$ID$$ : un identifiant utilisateur
  • vide

GET

Retourne un objet utilisateur

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
  • 400 : si une erreur survient
Implemented green tick.png

/api/user/

  • pseudo : le pseudo de l'utilisateur
  • email : le mail de l'utilisateur
  • password : le mot de passe de l'utilisateur
  • image : l'identifiant de l'image

POST

Crée un nouvel utilisateur et renvoie son identifiant

  • 201 : si la création réussi avec en réponse l'identifiant (eg. {"id":1} )
  • 400 : si la création échoue
Implemented green tick.png

/api/user/email/$$ID$$

  • $$ID$$ : un identifiant utilisateur
  • email : le mail de l'utilisateur

PUT

Modifie l'email du compte

  • 200 : si la modification réussie
  • 400 : si une erreur survient
  • 404 : si l'utilisateur n'existe pas
Implemented green tick.png

/api/user/password/$$ID$$

  • $$ID$$ : un identifiant utilisateur
  • password : le nouveau mot de passe utilisateur

PUT

Modifie le mot de passe du compte

  • 200 : si la modification réussie
  • 400 : si une erreur survient
  • 404 : si l'utilisateur n'existe pas
Implemented green tick.png

/api/user/$$ID$$

  • $$ID$$ : un id de d'artiste
  • vide

DELETE

Efface l'utilisateur

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
  • 400 : si une erreur survient
Implemented red cross.png

Genre

L'objet genre est composé comme suit : {"id": "1", "name": "Electro-Jazz"}

URL Corps Verbe Action Code retour Implémentée

/api/genre

  • vide

GET

Retourne un tableau avec tous les objets genre

  • 200 : si l'objet existe
Implemented green tick.png

/api/genre/$$ID$$

  • $$ID$$ : un id de genre
  • vide

GET

Retourne un objet genre

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
Implemented green tick.png

/api/genre/like/$$EXPR$$

  • $$EXPR$$ : une expression contenu dans un genre
  • vide

GET

Retourne un tableau d'objets genre

  • 200
Implemented green tick.png

/api/genre

  • genre : le nom du genre

POST

Créé un nouvel objet genre

  • 201 : si la création réussie
  • 400 : si la création échoue
Implemented green tick.png

/api/genre/$$ID$$

  • $$ID$$ : un id de genre
  • genre : le nom du genre

PUT

Modifie le nom du genre

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented green tick.png

/api/genre/$$ID$$

  • $$ID$$ : un id de genre
  • vide

DELETE

Efface le genre

  • 200 : si l'effacement réussie
  • 400 : si l'effacement échoue
Implemented green tick.png

Artist

L'objet artiste est composé comme suit : {"id":"84","name":"Yolanda Be Cool & Dcup","id_image":null}

URL Corps Verbe Action Code retour Implémentée

/api/artist

  • vide

GET

Retourne un tableau avec tous les objets artiste

  • 200 : si l'objet existe
Implemented green tick.png

/api/artist/$$ID$$

  • $$ID$$ : un id d'artiste
  • vide

GET

Retourne un objet artiste

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
Implemented green tick.png

/api/artist/like/$$EXPR$$

  • $$EXPR$$ : une expression contenu dans un nom d'artiste
  • vide

GET

Retourne un tableau d'objets artiste

  • 200
Implemented green tick.png

/api/artist

  • name : le nom de l'artist
  • image : l'identifiant d'une image (optionnel)

POST

Créé un nouvel objet artiste

  • 201 : si la création réussie
  • 400 : si la création échoue
Implemented green tick.png

/api/artist/name/$$ID$$

  • $$ID$$ : un id d'artiste
  • name: le nom de l’artiste

PUT

Modifie le nom de l'artiste

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented green tick.png

/api/artist/image/$$ID$$

  • $$ID$$ : un id d'artiste
  • image: l'identifiant de l'image

PUT

Modifie l'image de l'artiste

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented green tick.png

/api/genre/$$ID$$

  • $$ID$$ : un id d'artiste
  • vide

DELETE

Efface l'artiste

  • 200 : si l'effacement réussie
  • 400 : si l'effacement échoue
Implemented green tick.png

Album

L'objet album est composé comme suit : {"id":"1","album":"Electro Swing Collection 1","coverId":null}

URL Corps Verbe Action Code retour Implémentée

/api/album

  • vide

GET

Retourne un tableau avec tous les objets album

  • 200
Implemented green tick.png

/api/album/$$ID$$

  • $$ID$$ : un id d'album
  • vide

GET

Retourne un objet album

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
Implemented green tick.png

/api/album/artist/$$ID$$

  • $$ID$$ : l'identifiant d'un artiste
  • vide

GET

Retourne un tableau d'objets album

  • 200
Implemented green tick.png

/api/album/genre/$$ID$$

  • $$ID$$ : l'identifiant d'un genre
  • vide

GET

Retourne un tableau d'objets album

  • 200
Implemented green tick.png

/api/album/like/$$EXPR$$

  • $$EXPR$$ : une expression contenu dans un nom d'album
  • vide

GET

Retourne un tableau d'objets album

  • 200
Implemented green tick.png

/api/album

  • name : le nom de l'album
  • image : l'identifiant d'une image (optionnel)

POST

Créé un nouvel objet album

  • 201 : si la création réussie
  • 400 : si la création échoue
Implemented green tick.png

/api/album/name/$$ID$$

  • $$ID$$ : un id d'album
  • name: le nom de l’album

PUT

Modifie le nom de l'album

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented green tick.png

/api/album/image/$$ID$$

  • $$ID$$ : un id d'album
  • image: l'identifiant de l'image

PUT

Modifie l'image de l'album

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented green tick.png

/api/genre/$$ID$$

  • $$ID$$ : un id d'album
  • vide

DELETE

Efface l'album

  • 200 : si l'effacement réussie
  • 400 : si l'effacement échoue
Implemented green tick.png

Music

L'objet musique est composé comme suit : {"id":"1","title":"All Night","artists":["1"],"genres":["1"],"bitrate":"128","hit":"4","duration":"163","id_image":"1"}

URL Corps Verbe Action Code retour Implémentée

/api/music/info/$$ID$$

  • $$ID$$ : un identifiant de musique
  • vide

GET

Retourne un objet musique au format Json

  • 200 : si l'objet existe;
  • 400 : si une erreur survient;
Implemented green tick.png

/api/music/content/$$ID$$

  • $$ID$$ : un identifiant de musique
  • vide

GET

Retourne le contenu de la musique (fichier son)

  • 200 : si l'objet existe;
  • 400 : si une erreur survient;
Implemented green tick.png

/api/music/album/$$ID$$

  • $$ID$$ : un id d'album
  • vide

GET

Retourne un tableau d'objet musiques au format Json appartenant à l'album associé à l'identifiant

  • 200 : si l'objet existe;
  • 400 : si une erreur survient;
Implemented green tick.png

/api/music/artist/$$ID$$

  • $$ID$$ : un id d'artiste
  • vide

GET

Retourne un tableau d'objet musiques au format Json dont le créateur est l'artiste associé à l'identifiant

  • 200 : si l'objet existe;
  • 400 : si une erreur survient;
Implemented green tick.png

Image

L'objet image est composé comme suit : {"id": "1", "content": "/9j/4B4…T0+7RRW/2Q==","mime":"image\jpeg","hash":"0aebaad7…4f265bd"} }

URL Corps Verbe Action Code retour Implémentée

/api/images

  • vide

GET

Retourne un tableau avec tous les objets image

  • 200
Implemented green tick.png

/api/image/info/$$ID$$

  • $$ID$$ : un id d'image
  • vide

GET

Retourne un objet image

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
Implemented green tick.png

/api/image/content/$$ID$$

  • $$ID$$ : un id d'image
  • vide

GET

Retourne le contenu du fichier avec le type mime en entête

  • 200 : si l'objet existe
  • 404 : si l'objet n'existe pas
Implemented green tick.png

/api/image

  • content : le contenu du fichier image

POST

Créé un nouvel objet image

  • 200 : si la création réussie
  • 400 : si la création échoue
Implemented red cross.png

/api/image/$$ID$$

  • $$ID$$ : un id d'image
  • content : le contenu du fichier image

PUT

Modifie l'image

  • 200 : si la modification réussie
  • 400 : si la modification échoue
Implemented red cross.png

/api/image/$$ID$$

  • $$ID$$ : un id de genre
  • vide

DELETE

Efface l'image

  • 200 : si l'effacement réussie
  • 400 : si l'effacement échoue
Implemented green tick.png

Device

L'objet périphérique est composé comme suit : {"name":"\/dev\/sda1","label":"MUSIC","size":"7.2 GiB","UUID":"84B9-A853","fstype":"vfat"}

URL Corps Verbe Action Code retour Implémentée

/api/device

  • vide

GET

Retourne un tableau avec tous les périphériques

  • 200
Implemented green tick.png

/api/device/list/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un chemin sur le périphérique
  • extension : un filtre par extension de fichier (optionnel)

GET

Retourne un tableau avec la liste récursive des fichiers

  • 200 : si l'UUID existe
  • 400 : si l'UUID n'existe pas
Implemented green tick.png

/api/device/explore/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un répertoire sur le périphérique
  • extension : un filtre par extension de fichier (optionnel)

GET

Retourne un tableau avec la liste des fichiers et dossiers:

{"directories":["Pop","Rock"],"files":["Gala - Freed From Desire.mp3","13)Jacques Your Body (Make Me Sweat)(Jcf Pitch Edit).mp3"]}

  • 200 : si l'UUID existe
  • 400 : si l'UUID n'existe pas
Implemented green tick.png

/api/device/content/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un chemin sur le périphérique

GET

Retourne le contenu du fichier avec le type mime en entête

  • 200 : si le fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

/api/device/tag/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un chemin sur le périphérique

GET

Retourne un tableau contenant les tags du ou des fichiers présent dans le répertoire

  • 200 : si le fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

/api/device/mounted

  • vide

GET

Retourne un tableau avec la liste des périphériques montés

  • 200 : si aucune erreur
  • 400 : si une erreur survient
Implemented green tick.png

/api/device/umounted

  • vide

GET

Retourne un tableau avec la liste des périphériques démontés

  • 200 : si aucune erreur
  • 400 : si une erreur survient
Implemented green tick.png

/api/device/mount/$$UUID$$

  • $$UUID$$ : un UUID de périphérique

POST

Monte le périphérique sur le système

  • 200 : si le montage réussie
  • 400 : si le montage échoue
Implemented green tick.png

/api/device/enable/$$UUID$$

  • $$UUID$$ : un UUID de périphérique

POST

Active le montage du périphérique au démarrage du système

  • 200 : si le montage réussie
  • 400 : si le montage échoue
Implemented green tick.png

/api/device/index/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un chemin sur le périphérique

POST

Index le répertoire ou le fichier désigné par le paramètre path

  • 200 : si le fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

/api/device/mount/$$UUID$$

  • $$UUID$$ : un UUID de périphérique

DELETE

Démonte le périphérique du système

  • 200 : si le démontage réussie
  • 400 : si le démontage échoue
Implemented green tick.png

/api/device/enable/$$UUID$$

  • $$UUID$$ : un UUID de périphérique

DELETE

Désactive le montage du périphérique au démarrage du système

  • 200 : si le démontage réussie
  • 400 : si le démontage échoue
Implemented green tick.png

Share

L'objet partage est composé comme suit : {"host":"hades","share":"downloads","login":"nobody"}

URL Corps Verbe Action Code retour Implémentée

/api/share

  • vide

GET

Retourne un tableau avec tous les partages montés

  • 200
Implemented green tick.png

/api/share/list/$$HOST$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • vide

GET

Retourne un tableau avec la liste des partages disponibles sur l'hôte

  • 200
Implemented green tick.png

/api/share/list/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un chemin sur le partage
  • extension : filtre à appliquer sur les fichiers (optionnel)

GET

Retourne un tableau avec la liste récursive de tous les fichiers disponibles sur le partage

Attention, l'appel peut être long, surtout lorsque les partages contiennent beaucoup de fichiers

  • 200 : si le partage existe
  • 400 : si le partage n'existe pas
Implemented green tick.png

/api/device/explore/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un répertoire sur le partage
  • extension : un filtre par extension de fichier (optionnel)

GET

Retourne un tableau avec la liste des fichiers

  • 200 : si le partage existe
  • 400 : si le partage n'existe pas
Implemented green tick.png

/api/share/content/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un chemin sur le partage

GET

Retourne le contenu du fichier avec le type mime en entête

  • 200 : si le fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

/api/share/tag/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un chemin sur le partage

GET

Retourne un tableau contenant les tags du ou des fichiers présent dans le répertoire

  • 200 : si le fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

/api/share/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • login : le login à utiliser (optionnel)
  • password : le mot de passe associé (optionnel)

POST

Monte le partage sur le système. Si aucun couple d'authentification n'est fourni, nobody sera utilisé

  • 200 : si le montage réussie
  • 400 : si le montage échoue
Implemented green tick.png

/api/share/index/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un chemin sur le partage

POST

Index le répertoire ou le fichier désigné par le paramètre path

  • 200 : si le montage réussie
  • 400 : si le montage échoue
Implemented green tick.png

/api/share/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte

DELETE

Démonte le partage du système

  • 200 : si le démontage réussie
  • 400 : si le démontage échoue
Implemented green tick.png

Youtube

Permet de récupérer des informations sur les vidéo Youtube

URL Corps Verbe Action Code retour Implémentée

/api/youtube/info/$$ID$$

  • vide

GET

Récupère des informations sur la vidéo Youtube. Voici un exemple:

{

"url":"https:\/\/www.youtube.com\/watch?v=eVGrSCrRiy8",

"cover":"https:\/\/i.ytimg.com\/vi\/eVGrSCrRiy8\/maxresdefault.jpg",

"author":"ElectroDanceMixes",

"title":"FESTIVAL MIX - Best EDM & Electro House Dance Party Mix 2018",

"id":"eVGrSCrRiy8",

"videos":["..."]

}

  • 200 : si la vidéo existe
  • 200 : si la vidéo n'existe pas
Implemented green tick.png

/api/youtube/cover/$$ID$$

  • vide

GET

Récupère la pochette de la vidéo

  • 200 : si la vidéo existe
  • 200 : si la vidéo n'existe pas
Implemented green tick.png

/api/youtube/listen/$$ID$$

  • vide

GET

Récupère le contenu de la vidéo

  • 200 : si la vidéo existe
  • 200 : si la vidéo n'existe pas
Implemented green tick.png

Player

Joue la musique sur la carte son du Pi (intégration VLC)

URL Corps Verbe Action Code retour Implémentée

/api/player/pause

  • vide

GET

Met en pause la music

  • 200
Implemented green tick.png

/api/player/stop

  • vide

GET

Stop la lecture

  • 200
Implemented green tick.png

/api/player/volume/$$PERCENT$$

  • $$PERCENT$$ : le volume en poucentage
  • vide

GET

Règle le volume du lecteur

  • 200
Implemented green tick.png

/api/player/device/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • path : un chemin sur le périphérique

POST

Joue le fichier désigné par path sur le périphérique UUID

  • 200 : si le fichier et le périphérique existent
  • 400 : si le fichier ou le périphérique n'existe pas
Implemented green tick.png

/api/player/share/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • path : un chemin sur le partage

POST

Joue le fichier désigné par path sur le partage SHARE sur l'hôte HOST

  • 200 : si le fichier, le partage et l'hôte existent
  • 400 : si le fichier, le partage ou l'hôte n'existe pas
Implemented green tick.png

/api/player/youtube

POST

Joue le son de la vidéo, quand c'est possible (certaines vidéos ne fonctionnent pas)

  • 200 : si la vidéo existe
  • 400 : si le vidéo n'existe pas
Implemented green tick.png

/api/player/url

  • path : un lien vers un fichier musical

POST

Joue le fichier

  • 200 : si la fichier existe
  • 400 : si le fichier n'existe pas
Implemented green tick.png

Indexer (WIP)

Permet d'avoir des informations sur les travaux d'indexation en cours. Voici un exemple:

  • d'identifiant de travai → 5c2e724887be4;
  • d'informations sur un travail → {"files":{"directory":"\/opt\/mount\/192.168.1.252-torrent\/\/Best of POP JCF","total":8,"current":[],"processed":8,"remaining":0,"success":[1,2,3,4,5,6,7,8],"failure":[]},"time":{"start":1546547784,"elapsed":1,"end":1546547785},"state":2}
URL Corps Verbe Action Code retour Implémentée

/api/index/run

  • vide

GET

Retourne la liste des identifiants des travaux en cours

  • 200
Implemented green tick.png

/api/index/info

  • vide

GET

Récupère la liste des identifiants des travaux disponibles pour consultation

  • 200
Implemented green tick.png

/api/index/info/$$ID$$

  • $$ID$$ : l'identifiant du travail
  • vide

GET

Récupère les informations liées au travail désigné par $$ID$$

  • 200 : si l'identifiant existe
  • 400 : si l'identifiant n'existe pas
Implemented green tick.png

/api/index/run/$$ID$$

  • $$ID$$ : l'identifiant du travail
  • vide

DELETE

Stop le travail d'indexation désignè par $$ID$$

  • 200 : si l'identifiant existe
  • 400 : si l'identifiant n'existe pas
Implemented green tick.png

/api/index/info/$$ID$$

  • $$ID$$ : l'identifiant du travail
  • vide

DELETE

Supprime les informations liées au travail désigné par $$ID$$

  • 200 : si l'identifiant existe
  • 400 : si l'identifiant n'existe pas
Implemented green tick.png