0
0
Fork 0
mirror of https://github.com/nextcloud/server.git synced 2025-05-16 19:25:29 +00:00
nextcloud_server/apps/files_reminders/src/services/reminderService.ts
Andy Scherzinger 8d8891c5bc
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-30 15:49:33 +02:00

38 lines
1.1 KiB
TypeScript

/**
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import axios from '@nextcloud/axios'
import { generateOcsUrl } from '@nextcloud/router'
interface Reminder {
dueDate: null | Date
}
export const getReminder = async (fileId: number): Promise<Reminder> => {
const url = generateOcsUrl('/apps/files_reminders/api/v1/{fileId}', { fileId })
const response = await axios.get(url)
const dueDate = response.data.ocs.data.dueDate ? new Date(response.data.ocs.data.dueDate) : null
return {
dueDate,
}
}
export const setReminder = async (fileId: number, dueDate: Date): Promise<[]> => {
const url = generateOcsUrl('/apps/files_reminders/api/v1/{fileId}', { fileId })
const response = await axios.put(url, {
dueDate: dueDate.toISOString(), // timezone of string is always UTC
})
return response.data.ocs.data
}
export const clearReminder = async (fileId: number): Promise<[]> => {
const url = generateOcsUrl('/apps/files_reminders/api/v1/{fileId}', { fileId })
const response = await axios.delete(url)
return response.data.ocs.data
}