HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-api-updates/src/controllers/group/group.controller.js
import { messages } from "../../config/response.messages.js";
import * as groupService from "../../services/group/group.services.js";
import * as  Helper from "../../helper/index.js"

// create Group
export async function createGroup(req, res) {
  try {
    req.body.user_id = req.user_id;
    let result = await groupService.createGroup(req.body);
    let data = await groupService.GetGroupDetails({ user_id: req.user_id, group_id: result.id, latitude: req.body.latitude, longitude: req.body.longitude });

    return res.status(201).send({
      status: 201,
      message: messages.group_create_success,
      data: data
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get cafe list in create group 
export async function getCafeList(req, res) {
  try {
    let result;
    if (req.body.group_id != 0) {
      req.body.user_id = req.user_id;
      result = await groupService.getCafeList(req.body)
    } else {
      result = await groupService.getAllCafe(req.body)
    }
    return res.status(200).send({
      status: 200,
      message: messages.cafe_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }

}

export async function GetGroupDetails(req, res) {
  try {
    req.body.user_id = req.user_id;
    let element = await groupService.GetGroupDetails(req.body)
    return res.status(200).send({
      status: 200,
      message: messages.your_group_details_found,
      data: element
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get people list 
export async function getPeopleList(req, res) {
  try {
    let result;
    req.body.user_id = req.user_id;
    req.body.page = req.query.page;
    result = await groupService.getPeopleList(req.body)
    return res.status(200).send({
      status: 200,
      message: messages.peoples_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get people list 
export async function getSearchPeopleList(req, res) {
  try {
    let result;
    req.body.user_id = req.user_id;
    req.body.page = req.query.page;
    req.body.user_name = req.query.user_name;
    result = await groupService.searchPeopleList(req.body)
    return res.status(200).send({
      status: 200,
      message: messages.peoples_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get people list 
export async function getGroupPeopleList(req, res) {
  try {
    req.body.user_id = req.user_id;
    let result = await groupService.getGroupPeopleList(req.query, req.user_id)
    return res.status(200).send({
      status: 200,
      message: messages.peoples_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error.message
    });
  }
}

//add additional Cafe in create group
export async function addCafe(req, res) {
  try {
    req.body.user_id = req.user_id;
    await groupService.addCafe(req.body)
    return res.status(201).send({
      status: 201,
      message: messages.cafe_updated
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get group data 
export async function getGroupData(req, res) {
  try {
    let result = await groupService.getGroupData(req.body.group_id)
    return res.status(200).send({
      status: 200,
      message: messages.data_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//get group list 
export async function getGroupList(req, res) {
  try {
    let result = await groupService.getGroupList(req.user_id, req.query.page);

    return res.status(200).send({
      status: 200,
      message: messages.data_found,
      data: result
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

//remove user from group
export async function removeUser(req, res) {
  try {
    await groupService.removeUser(req.body)
    return res.status(202).send({
      status: 202,
      message: messages.remove_user,
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

// exit group 
export async function exitGroup(req, res) {
  try {
    req.body.user_id = req.user_id
    let result = await groupService.exitGroup(req.body)
    return res.status(202).send({
      status: 202,
      message: messages.exit_group_success,
    });
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

// Add Group Member
export async function addMember(req, res) {
  try {
    let result = await groupService.findcode(req.body.group_code);
    if (result) {
      let CreatedId = await groupService.findId(req.user_id, result.id);
      if (CreatedId) {
        return res.status(203).send({
          status: 203,
          message: messages.admin_already_added,
        });
      } else {
        let createdata = {
          user_id: req.user_id,
          group_id: result.id,
        };
        let groupdata = await groupService.getMemberDetail(req.user_id, result.id);
        if (!groupdata) {
          await groupService.createMember(createdata);
          return res.status(201).send({
            status: 201,
            message: messages.member_create_success,
          });
        } else {
          return res.status(203).send({
            status: 203,
            message: messages.member_already_exists,
          });
        }
      }
    } else {
      return res.status(203).send({
        status: 203,
        message: messages.code_not_found,
      });
    }
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error.message
    });
  }
}

// add group in member in bulk
export async function addMemberInGroup(req, res) {
  try {
    let result = await groupService.addMemberInGroup(req.body);
    return res.status(200).send({
      status: 201,
      messages: messages.added_members
    })
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}

// remove cafe from group

export async function removeCafeFromGroup(req, res) {
  try {
    let result = await groupService.removeCafeFromGroup(req.params);
    return res.status(200).send({
      status: 202,
      messages: messages.group_cafe_removed
    })
  } catch (error) {
    Helper.writeErrorLog(req, error)
    return res.status(500).send({
      status: 500,
      message: messages.something_went_wrong,
      error: error
    });
  }
}