Допустим, наш API имеет некоторую функциональность, которая может использоваться одинаково с разных конечных точек / контроллеров / маршрутов. Например, мы можем захотеть выполнить процедуру входа из разных мест. Возможно, как post (/ login), так и post (/ register) в конечном итоге войдут в систему.

Так что имеет смысл поместить эту процедуру в другой модуль. Например, у меня есть эта функция в классе services / UserLogin:

/** * * @param {String} email * @param {String} password * @return {Promise{amp}lt;Object|false{amp}gt;} Resolves with a User object on success, false on failure. */ static login(email, password) { return new Promise((resolve, reject) ={amp}gt; { db.query( "SELECT * FROM `user` WHERE email = ? AND password = ?", [email, password], async function(error, results, fields) { if (error) { reject(error); } console.log(results.length); if (results.length {amp}gt; 0) { // const id = results[0].id/ const user = results[0]; resolve(user); } else { resolve(false); } } ); }); } 
 /** * * @param {String} token * @return {Promise{amp}lt;Object|false{amp}gt;} Resolves with a userobject on success, false on failure. */ static async verifyLogin(token){ const decoded = await Jwt.verifyToken(token); if(decoded){ return decoded }else{ return false; } } 

Поэтому я назвал этот класс «сервис». Мне интересно, хотя, является ли сервис правильной терминологией здесь . Мне не удалось найти четкое определение этого термина в контексте современных веб-приложений. Возможно ли, чтобы этот класс UserLogin лучше называть «фасадом» ?

Я уверен, что все мы задались вопросом, где разместить такие функции и какую терминологию использовать. Может кто-нибудь пролить свет на проблему?