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
  • paramètre(s):
    • path : un chemin sur le périphérique
    • extension : un filtre par extension de fichier (optionnel)
  • vide

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
  • paramètre(s):
    • path : un chemin sur le périphérique
    • extension : un filtre par extension de fichier (optionnel)
  • vide

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
  • paramètre(s):
    • path : un chemin sur le périphérique
    • download : si présent, le navigateur téléchargera le fichier ('Content-disposition: attachment;' au lieu de 'Content-disposition: inline;')
  • vide

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
  • paramètre(s):
    • path : un chemin sur le périphérique
  • vide

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/size/$$UUID$$

  • $$UUID$$ : un UUID de périphérique
  • paramètre(s):
    • path : un chemin sur le périphérique
  • vide

GET

Retourne la taille du fichiers ou 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
  • vide

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
  • vide

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
  • paramètre(s):
    • path : un chemin sur le périphérique
  • vide

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
  • vide

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
  • vide

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
  • paramètre(s):
    • path : un chemin sur le partage
    • extension : filtre à appliquer sur les fichiers (optionnel)
  • vide

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
  • paramètre(s):
    • path : un chemin sur le partage
    • extension : filtre à appliquer sur les fichiers (optionnel)
  • vide

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
  • paramètre(s):
    • path : un chemin sur le partage
    • download : si présent, le navigateur téléchargera le fichier ('Content-disposition: attachment;' au lieu de 'Content-disposition: inline;')
  • vide

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
  • paramètre(s):
    • path : un chemin sur le partage
  • vide

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/size/$$HOST$$/$$SHARE$$

  • $$HOST$$ : un hôte supportant le protocole SMB/CIFS
  • $$SHARE$$ : le nom du partage sur cet hôte
  • paramètre(s):
    • path : un chemin sur le partage
  • vide

GET

Retourne la taille du fichiers ou 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
  • paramètre(s):
    • path : un chemin sur le partage
  • vide

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
  • vide

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/$$ID$$

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 travail → 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