const connection = require('../sql');

class PagesRoleService {
  async getPagesRoleList(pageId) {
    const statement = `SELECT id, page_id as pageId, role, user_id as userId, user_name as userName FROM pages_role WHERE page_id in(${pageId});`;
    const [result] = await connection.execute(statement, []);
    return result;
  }

  async create(type, pageId, role, userId, userName, createdUId, createdUName) {
    const statement = 'INSERT INTO pages_role (type, page_id, role, user_id, user_name, created_uid, created_uname) VALUES (?, ?, ?, ?, ?, ?, ?);';
    const [result] = await connection.execute(statement, [type, pageId, role, userId, userName, createdUId, createdUName]);
    return result;
  }

  // 根据ID删除
  async delete(id) {
    const statement = 'DELETE FROM pages_role WHERE id = ?;';
    const [result] = await connection.execute(statement, [id]);
    return result;
  }

  // 根据页面ID删除
  async deleteByPageId(pageId) {
    const statement = 'DELETE FROM pages_role WHERE page_id = ?;';
    const [result] = await connection.execute(statement, [pageId]);
    return result;
  }

  // 注销用户所有角色
  async deleteAllPageRole(userId) {
    const statement = 'DELETE FROM pages_role WHERE created_uid = ?;';
    const [result] = await connection.execute(statement, [userId]);
    return result;
  }
}

module.exports = new PagesRoleService();