Skip to content

Commit

Permalink
feat: Build and send email notification if necessary
Browse files Browse the repository at this point in the history
Updates all notified files so that they are no longer notified
  • Loading branch information
Merkur39 committed Dec 5, 2022
1 parent cc70721 commit 9333a7a
Showing 1 changed file with 20 additions and 3 deletions.
23 changes: 20 additions & 3 deletions src/targets/services/expiration.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,36 @@ import fetch from 'node-fetch'

import CozyClient from 'cozy-client'
import log from 'cozy-logger'
import { sendNotification } from 'cozy-notifications'

import schema from 'src/doctypes'
import { fetchAllfilesToNotify } from 'src/helpers/service'
import { EXPIRATION_SERVICE_NAME } from 'src/constants'
import { EXPIRATION_SERVICE_NAME, FILES_DOCTYPE } from 'src/constants'
import { buildNotification } from 'src/notifications/helpers'

global.fetch = fetch

const expiration = async () => {
log('info', `Start ${EXPIRATION_SERVICE_NAME} service`)
const client = CozyClient.fromEnv(process.env, { schema })

const files = await fetchAllfilesToNotify(client)
log('info', `Found ${files.length} file(s)`)
const filesInfo = await fetchAllfilesToNotify(client)
log('info', `Found ${filesInfo.length} file(s)`)

if (filesInfo.length > 0) {
const notification = buildNotification(client, { filesInfo })
log('info', `Send notification...`)
await sendNotification(client, notification)

log('info', `Update file(s) notified to stop being notified`)
for (const fileInfo of filesInfo) {
const { file } = fileInfo
await client.collection(FILES_DOCTYPE).updateMetadataAttribute(file._id, {
...file.metadata,
notifiedAt: new Date().toISOString()
})
}
}
}

expiration().catch(error => {
Expand Down

0 comments on commit 9333a7a

Please sign in to comment.