@sap/cds-dk
Version:
Command line client and development toolkit for the SAP Cloud Application Programming Model
45 lines (35 loc) • 1.1 kB
JavaScript
const { readProject } = require('../../projectReader')
const { merge } = require('../../merge')
const { DESTINATION } = require('../../constants').OPTIONS
const { notificationTypesDeployer } = require('../../registries/mta')
module.exports = class NotificationsTemplate extends require('../../plugin') {
static help() {
return 'SAP BTP Notification Service'
}
requires() {
return [DESTINATION]
}
static hasInProduction(env) {
return !!env.requires?.notifications
}
async canRun() {
const project = readProject()
const { isJava } = project
if (isJava) {
throw `'cds add notifications' is not available for Java yet`
}
return true
}
async run() {
const project = readProject()
const { configFile } = project
await merge(__dirname, 'files/package.json.hbs').into(configFile, { project })
}
async combine() {
const project = readProject()
const { hasMta } = project
if (hasMta) {
await merge(__dirname, 'files/mta.yaml.hbs').into('mta.yaml', { project, additions: [notificationTypesDeployer] })
}
}
}