push de la fleme
This commit is contained in:
@@ -3,7 +3,7 @@ let Db = null
|
||||
getDatabase("brief04").then((value)=>{Db = value})
|
||||
|
||||
const { Logger } = require('tslog');
|
||||
|
||||
const {Event} = require('../models/Event')
|
||||
const logger = new Logger({ name: "Auth Controller" });
|
||||
|
||||
//TODO Better return error integration ===
|
||||
@@ -16,6 +16,8 @@ async function getEventFromIdService(id) {
|
||||
return await Db.collection("events").findOne({id: id});
|
||||
}
|
||||
|
||||
//TODO Get owned event
|
||||
|
||||
//TODO - To test
|
||||
/**
|
||||
* Retrieves all events from the database.
|
||||
@@ -66,7 +68,6 @@ async function getAllEventsService(sourceId) {
|
||||
}
|
||||
}
|
||||
|
||||
//TODO - To test
|
||||
/**
|
||||
* Retrieves the subscribed event(s) for a given user.
|
||||
*
|
||||
@@ -87,9 +88,8 @@ async function getAllEventsService(sourceId) {
|
||||
async function getUserSubscribedEventService(targetId) {
|
||||
const subscribedEvent = await Db.collection("events").find({
|
||||
members: {
|
||||
$eltMatch: {
|
||||
$eq: {targetId}
|
||||
}}}).toArray();
|
||||
$in: [`${targetId}`]
|
||||
}}).toArray();
|
||||
if (!subscribedEvent) {
|
||||
logger.error(`No subscribed event found for USERID:${targetId}`)
|
||||
return {
|
||||
@@ -183,11 +183,64 @@ async function editEventService(eventId, sanitizedData) {
|
||||
}
|
||||
|
||||
//TODO Delete event - Owner || Admin ===
|
||||
async function deleteEventService(eventId) {
|
||||
const deletedEventResult = await Db.collection("events").deleteOne({id: eventId});
|
||||
if (deletedEventResult.deletedCount === 0) {
|
||||
logger.error(`Failed to delete event (${eventId})`);
|
||||
return { error: "deleteFailed" };
|
||||
}
|
||||
logger.info(`Event deleted successfully (${eventId})`);
|
||||
return { error: "none" };
|
||||
}
|
||||
|
||||
//TODO - To test
|
||||
/**
|
||||
* Create a new event and store it in the database.
|
||||
*
|
||||
* @param {string} ownerId - The ID of the event owner.
|
||||
* @param {object} sanitizedData - The sanitized data object containing event details.
|
||||
* @return {object} - An object indicating the success or failure of the event creation.
|
||||
*/
|
||||
async function createEventService(ownerId, sanitizedData) {
|
||||
const newEvent = new Event(
|
||||
`${sanitizedData.title}`,
|
||||
`${sanitizedData.subTitle}`,
|
||||
`${sanitizedData.base64Banner}`,
|
||||
`${sanitizedData.desc}`,
|
||||
`${sanitizedData.date}`,
|
||||
`${sanitizedData.were}`,
|
||||
Number.parseInt(`${sanitizedData.maxMembers}`),
|
||||
`${ownerId}`,)
|
||||
const event = {
|
||||
id: newEvent.id,
|
||||
title: newEvent.title,
|
||||
subTitle: newEvent.subTitle,
|
||||
base64Banner: newEvent.base64Banner,
|
||||
desc: newEvent.desc,
|
||||
date: newEvent.date,
|
||||
were: newEvent.were,
|
||||
maxMembers: newEvent.maxMembers,
|
||||
authorId: newEvent.authorId,
|
||||
members: newEvent.members
|
||||
};
|
||||
const insertedEventResult = await Db.collection("events").insertOne(event);
|
||||
if (insertedEventResult.insertedCount === 0) {
|
||||
logger.error(`Failed to create event (${event.id})`);
|
||||
return { error: "createFailed" };
|
||||
}
|
||||
logger.info(`Event created successfully (${event.id})`);
|
||||
return {
|
||||
error: "none",
|
||||
eventId: event.id
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getEventFromIdService,
|
||||
getAllEventsService,
|
||||
getUserSubscribedEventService,
|
||||
alterUserSubscribedEventStateService,
|
||||
editEventService
|
||||
editEventService,
|
||||
createEventService,
|
||||
deleteEventService
|
||||
}
|
||||
@@ -174,6 +174,12 @@ async function LoginService(sanitizedData) {
|
||||
*/
|
||||
async function getAllUsersService() {
|
||||
const users = await Db.collection("users").find().toArray();
|
||||
// biome-ignore lint/complexity/noForEach: <explanation>
|
||||
users.forEach(user => {
|
||||
delete user.passwordHash
|
||||
delete user._id
|
||||
delete user.gdpr
|
||||
});
|
||||
logger.info(`Query ${users.length} user(s)`)
|
||||
return {
|
||||
iat: Date.now(),
|
||||
@@ -192,6 +198,12 @@ async function getAllUsersService() {
|
||||
* Otherwise, the error property will be a string "none".
|
||||
*/
|
||||
async function editUserService(targetId, sanitizedData) {
|
||||
if (sanitizedData.password) {
|
||||
const passwordHash = await getHashFromPassword(sanitizedData.password)
|
||||
delete sanitizedData.password
|
||||
logger.info(`Changing password for user "${targetId}"`)
|
||||
sanitizedData.passwordHash = passwordHash
|
||||
}
|
||||
const updatedUserResult = await Db.collection("users").updateOne({id: targetId}, {$set: sanitizedData});
|
||||
if (updatedUserResult.modifiedCount === 0) {
|
||||
logger.info(`EDIT :> User not found (${targetId})`);
|
||||
|
||||
Reference in New Issue
Block a user