---
parameters:
  deploy_mode: html5-repo
modules:
  - name: {{appName}}-srv
    type: {{language}}
    path: {{& srvPath}}{{#isJava}}
    requires:
      - name: {{appName}}-html5-runtime{{/isJava}}

  - name: {{appName}}
    type: approuter.nodejs
    path: {{& approuterPath}}
    requires:
      - name: {{appName}}-html5-runtime

  - name: {{appName}}-mtx
    type: nodejs
    path: {{#isNodejs}}gen/{{/isNodejs}}mtx/sidecar
    requires:
      - name: {{appName}}-html5-repo-host
      - name: {{appName}}-html5-runtime

  - name: {{appName}}-app-deployer
    type: com.sap.application.content
    path: {{#isNodejs}}gen{{/isNodejs}}{{#isJava}}.{{/isJava}}
    build-parameters:
      build-result: {{#isNodejs}}{{& appPath }}{{/isNodejs}}{{#isJava}}resources{{/isJava}}
      requires:
      {{#apps}}
        - name: {{strippedAppName}}{{strippedApp}}
          artifacts:
            - {{app}}.zip
          target-path: {{#isNodejs}}{{& appPath }}{{/isNodejs}}{{#isJava}}resources{{/isJava}}
      {{/apps}}
    requires:
      {{#hasXsuaa}}
      - name: {{appName}}-auth
      {{/hasXsuaa}}
      - name: srv-api
      - name: {{appName}}-html5-repo-host
        parameters:
          content-target: true
          config:
            HTML5Runtime_enabled: true{{#hasIas}}
            IASDependencyName: {{appName}}-ias-api{{/hasIas}}
    {{#hasWorkzoneStandard}}
    parameters:
      config:
        destinations:
          - Name: srv-api
            URL: ~{srv-api/srv-url}
            Authentication: NoAuthentication
            Type: HTTP
            ProxyType: Internet
            HTML5.ForwardAuthToken: true
            HTML5.DynamicDestination: true
            {{#hasIas}}HTML5.IASDependencyName: {{appName}}-ias-api{{/hasIas}}
    {{/hasWorkzoneStandard}}

  {{#apps}}
  - name: {{strippedAppName}}{{strippedApp}}
    type: html5
    path: {{& appPath}}{{app}}
    build-parameters:
      build-result: dist
      builder: custom
      commands:
        - npm ci
        - npm run build
      supported-platforms: []
  {{/apps}}

resources:
  - name: {{appName}}-html5-runtime
    type: org.cloudfoundry.managed-service
    parameters:
      service: html5-apps-repo
      service-plan: app-runtime

  - name: {{appName}}-html5-repo-host
    type: org.cloudfoundry.managed-service
    parameters:
      service: html5-apps-repo
      service-plan: app-host
