<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
  -->

<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
    <description>Content Component Data Services</description>
    <vendor>OFBiz</vendor>

    <!-- DataResource services -->
    <service name="createDataResource" default-entity-name="DataResource" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createDataResource" auth="true">
        <description>Create a DataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="dataResourceId" type="String" mode="INOUT" optional="true"/>
        <attribute name="targetOperationList" type="List" mode="IN" optional="true"/>
        <attribute name="contentPurposeList" type="List" mode="IN" optional="true"/>
        <attribute name="skipPermissionCheck" type="String" mode="IN" optional="true"/>
        <attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
        <attribute name="partyId" type="String" mode="IN" optional="true"/>
        <attribute name="dataResourceId" type="String" mode="OUT" optional="false"/>
        <attribute name="dataResource" type="org.ofbiz.entity.GenericValue" mode="OUT" optional="true"/>
        <attribute name="uploadedFile" type="java.nio.ByteBuffer" mode="IN" optional="true"/>
        <override name="objectInfo" allow-html="any"/>
        <override name="dataResourceName" allow-html="any"/>
    </service>
    <service name="createDataResourceAndAssocToContent" default-entity-name="DataResource" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createDataResourceAndAssocToContent" auth="true">
        <description>Create a DataResource and link this data to the content present</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <implements service="createDataResource" optional="true"/>
        <attribute name="contentId" type="String" mode="INOUT" optional="false"/>
        <attribute name="templateDataResource" type="String" mode="IN" optional="true"/>
    </service>
    <service name="updateDataResource" engine="simple" default-entity-name="DataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateDataResource">
        <description>Update a DataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="dataResourceId" type="String" mode="IN" optional="false"/>
        <attribute name="targetOperationList" type="List" mode="IN" optional="true"/>
        <attribute name="contentPurposeList" type="List" mode="IN" optional="true"/>
        <attribute name="skipPermissionCheck" type="String" mode="IN" optional="true"/>
        <attribute name="dataResourceId" type="String" mode="OUT" optional="false"/>
        <attribute name="dataResource" type="org.ofbiz.entity.GenericValue" mode="OUT" optional="true"/>
        <override name="objectInfo" allow-html="any"/>
        <override name="dataResourceName" allow-html="any"/>
    </service>
    <service name="removeDataResource" engine="simple" default-entity-name="DataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="deleteDataResource">
        <description>Remove DataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <attribute name="targetOperationList" type="List" mode="IN" optional="true"/>
        <attribute name="contentPurposeList" type="List" mode="IN" optional="true"/>
        <attribute name="skipPermissionCheck" type="String" mode="IN" optional="true"/>
    </service>

    <!-- generic create data text service; looks at the type id to determine if ELECTRONIC_TEXT is necessary -->
    <service name="createDataText" engine="route" auth="true">
        <description>Uses ECA to decide if we should call createElectronicText or just createDataResource (SHORT_TEXT)</description>
        <implements service="createDataResource"/>
        <implements service="createElectronicText"/>
    </service>
    <service name="updateDataText" engine="route" auth="true">
        <description>Uses ECA to decide if we should call updateElectronicText or just updateDataResource (SHORT_TEXT)</description>
        <implements service="updateDataResource"/>
        <implements service="updateElectronicText"/>
    </service>

    <!-- these should be deprecated in favor of the ECA style triggers on the base service -->
    <service name="createDataResourceAndText" engine="java" default-entity-name="DataResource" auth="true"
            location="org.ofbiz.content.data.DataServices" invoke="createDataResourceAndText">
        <description>Create a DataResource and, possibly, ElectronicText or ImageDataResource</description>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="textData" mode="IN" optional="true" type="String" allow-html="any"/>
        <attribute name="targetOperationList" type="List" mode="IN" optional="true"/>
        <attribute name="contentPurposeList" type="List" mode="IN" optional="true"/>
        <attribute name="skipPermissionCheck" type="String" mode="IN" optional="true"/>
    </service>
    <service name="updateDataResourceAndText" engine="java" default-entity-name="DataResource" auth="true"
            location="org.ofbiz.content.data.DataServices" invoke="updateDataResourceAndText">
        <description>Create a DataResource and, possibly, ElectronicText or ImageDataResource</description>
        <auto-attributes include="pk" mode="IN" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="textData" mode="IN" type="String" optional="true"  allow-html="any"/>
        <attribute name="targetOperationList" type="List" mode="IN" optional="true"/>
        <attribute name="contentPurposeList" type="List" mode="IN" optional="true"/>
        <attribute name="skipPermissionCheck" type="String" mode="IN" optional="true"/>
    </service>

    <!-- ElectronicText services -->
    <service name="createElectronicText" default-entity-name="ElectronicText" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createElectronicText" auth="true">
        <description>Create a ElectronicText</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <implements service="createDataResource"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="dataResourceTypeId" default-value="ELECTRONIC_TEXT"/>
        <override name="textData" allow-html="any"/>
    </service>
    <service name="updateElectronicText" default-entity-name="ElectronicText" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateElectronicText" auth="true">
        <description>Update a ElectronicText</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="contentId" mode="INOUT" optional="true" type="String"/><!-- to optionaly know where this text is belonging to -->
        <override name="textData" allow-html="any"/>
    </service>
    <service name="removeElectronicText" default-entity-name="ElectronicText" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeElectronicText" auth="true">
        <description>Remove ElectronicText</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="getElectronicText" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="getElectronicText" default-entity-name="ElectronicText" auth="false" >
        <description>Get a ElectronicText: Can pass either content value object or contentId</description>
        <attribute mode="IN" name="contentId" optional="true" type="String"/>
        <attribute mode="IN" name="content" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="OUT" name="dataResourceId" optional="true" type="String"/>
        <attribute mode="OUT" name="textData" optional="false" type="String"/>
    </service>

    <!-- Image Data Resource services -->
    <service name="createImageDataResource" engine="simple" default-entity-name="ImageDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createImageDataResource">
        <description>Create an ImageDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateImageDataResource" engine="simple" default-entity-name="ImageDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateImageDataResource">
        <description>Update an ImageDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeImageDataResource" engine="simple" default-entity-name="ImageDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeImageDataResource">
        <description>Remove an ImageDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- Video Data Resource services -->
    <service name="createVideoDataResource" engine="simple" default-entity-name="VideoDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createVideoDataResource">
        <description>Create a VideoDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateVideoDataResource" engine="simple" default-entity-name="VideoDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateVideoDataResource">
        <description>Update an VideoDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeVideoDataResource" engine="simple" default-entity-name="VideoDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeVideoDataResource">
        <description>Remove an VideoDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- Audio Data Resource services -->
    <service name="createAudioDataResource" engine="simple" default-entity-name="AudioDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createAudioDataResource">
        <description>Create an AudioDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateAudioDataResource" engine="simple" default-entity-name="AudioDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateAudioDataResource">
        <description>Update an AudioDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeAudioDataResource" engine="simple" default-entity-name="AudioDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeAudioDataResource">
        <description>Remove an AudioDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- Other Data Resource services -->
    <service name="createOtherDataResource" engine="simple" default-entity-name="OtherDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="createOtherDataResource">
        <description>Create an OtherDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="INOUT" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateOtherDataResource" engine="simple" default-entity-name="OtherDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="updateOtherDataResource">
        <description>Update an OtherDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeOtherDataResource" engine="simple" default-entity-name="OtherDataResource" auth="true"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeOtherDataResource">
        <description>Remove an OtherDataResource</description>
        <permission-service service-name="genericDataResourcePermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- File services -->
    <service name="createFile" engine="java"
            location="org.ofbiz.content.data.DataServices" invoke="createFile" auth="true">
        <description>Create a File</description>
        <implements service="createDataResource"/>
        <attribute mode="IN" name="dataResource" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="binData" optional="true" type="java.nio.ByteBuffer"/>
        <attribute mode="IN" name="textData" optional="true" type="String"/>
        <attribute mode="IN" name="rootDir" optional="true" type="String"/>
        <attribute mode="IN" name="dataResourceTypeId" optional="true" type="String"/>
        <attribute mode="IN" name="objectInfo" optional="true" type="String"/>
    </service>
    <service name="createAnonFile" engine="java"
            location="org.ofbiz.content.data.DataServices" invoke="createFileNoPerm" auth="false">
        <description>Create a File No Permission Required</description>
        <implements service="createFile"/>
    </service>
    <service name="updateFile" engine="java"
            location="org.ofbiz.content.data.DataServices" invoke="updateFile" auth="true">
        <description>Update a File</description>
        <attribute mode="IN" name="dataResource" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="binData" optional="true" type="java.nio.ByteBuffer"/>
        <attribute mode="IN" name="textData" optional="true" type="String"/>
        <attribute mode="IN" name="rootDir" optional="true" type="String"/>
        <attribute mode="IN" name="dataResourceTypeId" optional="true" type="String"/>
        <attribute mode="IN" name="objectInfo" optional="true" type="String"/>
    </service>
    <!-- TO BE REMOVED
    <service name="removeFile" engine="simple"
            location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="removeFile" auth="true">
        <description>Remove File</description>
        <attribute mode="IN" name="rootDir" optional="true" type="String"/>
    </service>
    -->

    <!-- Cleared associated DataResource rendered cache from UtilCache. -->
    <service name="clearAssociatedRenderCache" engine="java" auth="true" default-entity-name="DataResource"
            location="org.ofbiz.content.data.DataServices" invoke="clearAssociatedRenderCache">
        <auto-attributes include="pk" mode="IN" />
    </service>

</services>
