Added remaining elements to alert dialog.

This commit is contained in:
2024-05-19 05:07:35 +02:00
parent 715e5ac58a
commit 014758241c
22 changed files with 1210 additions and 30 deletions

37
src/web/alerts.js Executable file
View File

@@ -0,0 +1,37 @@
import {
fetchAlerts,
createAlert,
removeAlert,
updateNotifications,
updateNotification,
} from '../alerts.js';
export async function fetchAlertsApi(req, res) {
const alerts = await fetchAlerts(req.user);
res.send(alerts);
}
export async function createAlertApi(req, res) {
const alertId = await createAlert(req.body, req.user);
res.send({ id: alertId });
}
export async function removeAlertApi(req, res) {
await removeAlert(req.params.alertId, req.user);
res.status(204).send();
}
export async function updateNotificationsApi(req, res) {
await updateNotifications(req.body, req.user);
res.status(204).send();
}
export async function updateNotificationApi(req, res) {
await updateNotification(req.params.notificationId, req.body, req.user);
res.status(204).send();
}

View File

@@ -1,7 +1,7 @@
import { fetchEntities } from '../entities.js';
export async function fetchEntitiesApi(req, res) {
const entities = await fetchEntities(req.body);
const entities = await fetchEntities(req.query);
res.send(entities);
}

View File

@@ -18,6 +18,7 @@ import { fetchScenesApi } from './scenes.js';
import { fetchActorsApi } from './actors.js';
import { fetchMoviesApi } from './movies.js';
import { fetchEntitiesApi } from './entities.js';
import { fetchTagsApi } from './tags.js';
import {
setUserApi,
@@ -42,6 +43,14 @@ import {
updateStashApi,
} from './stashes.js';
import {
fetchAlertsApi,
createAlertApi,
removeAlertApi,
updateNotificationApi,
updateNotificationsApi,
} from './alerts.js';
import initLogger from '../logger.js';
const logger = initLogger();
@@ -118,6 +127,9 @@ export default async function initServer() {
router.get('/api/users/:userId', fetchUserApi);
router.post('/api/users', signupApi);
router.patch('/api/users/:userId/notifications', updateNotificationsApi);
router.patch('/api/users/:userId/notifications/:notificationId', updateNotificationApi);
// STASHES
router.post('/api/stashes', createStashApi);
router.patch('/api/stashes/:stashId', updateStashApi);
@@ -131,6 +143,11 @@ export default async function initServer() {
router.delete('/api/stashes/:stashId/scenes/:sceneId', unstashSceneApi);
router.delete('/api/stashes/:stashId/movies/:movieId', unstashMovieApi);
// ALERTS
router.get('/api/alerts', fetchAlertsApi);
router.post('/api/alerts', createAlertApi);
router.delete('/api/alerts/:alertId', removeAlertApi);
// SCENES
router.get('/api/scenes', fetchScenesApi);
@@ -143,6 +160,9 @@ export default async function initServer() {
// ENTITIES
router.get('/api/entities', fetchEntitiesApi);
// TAGS
router.get('/api/tags', fetchTagsApi);
router.get('*', async (req, res, next) => {
const pageContextInit = {
urlOriginal: req.originalUrl,

9
src/web/tags.js Normal file
View File

@@ -0,0 +1,9 @@
import { fetchTags } from '../tags.js';
export async function fetchTagsApi(req, res) {
const tags = await fetchTags({
query: req.query.query,
});
res.send(tags);
}