Необхідно створити публічний Api метод
send(input_links Json Object\array, steaming_serivce_id int)
Який приймає на вхід
input_links - Json об'єкт, або массив який мість список треків
steaming_serivce_id - Id стрімнг сервісу із словника
Валідація:
1. посилання із першого аргумента має належати одному з стрімінг сервісів зі словника
1.1. Якщо посилання не належить до якогось стрімінг сервісу із словника то унікальна помилка
1.2. Якщо в массиві посилань лінки з різних стрімінг сервісів, то унікальна помилка
1.3. Якщо прийшов не той тип данних то унікальна помилка
2. Id з другого аргумента має належати одному з стрімінг сервісів зі словника
2.1. Якщо Id не належить до якогось стрімінг сервісу із словника то унікальна помилка
2.2. Якщо прийшов не той тип данних то унікальна помилка
Відповідть API
outup_link String - посилання на знайдені треки (або 1 трек) з input_links у стрімінг сервісу з steaming_serivce_id
Бізнес логіка
Скріпт по посиланню знаходить назву треків. Шукає та створює плейлист у тому стрімінг срвісі який відпривили по API. Знаходить посилання та відправляє назад
Additional
Результат можна перевірити через постман
Q&A
- Чи треба створювати плейліст коли один трек? може одразу посилання на нього
- Так, якщо на вхід прийшов один трек а не плейлист, то віддавати трек
- Як валідувати що лінки належать до пітримуємих сервісів?
Як варіант*
- 1. Зробити словник стрімінг сервісів, в якому будуть тільки 2-3, спот, епл, ютуб
- 2. Зроити функцію, яка по лінке буде розуміти до якого стрімінгу вона належить (парсер по назві), а потім переввряє чи є таке в бд
- Плейлісти будуть належати додатку api і він буде робити їх публічними що б юзер міг перейти? чи буде якась авторизація у сервіси які є у юзера що б одразу додавати у його аккаунт?
- Так, належати додатку Api. Вони будуть публічним, але його додатково не треба робити таким, він за дефолтом public, перевірено