<!--
  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 Content Services</description>
    <vendor>OFBiz</vendor>

    <!-- create content services -->
    <service name="createContent" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createContent">
        <description>Create a Content</description>
        <permission-service service-name="genericContentPermission" main-action="CREATE"/>
        <auto-attributes entity-name="Content" include="nonpk" mode="IN" optional="true"/>
        <!-- TODO: the following fields are deprecated; but will not be removed until all services and callers are updated -->
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="targetOperationString" optional="true" type="String"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeString" optional="true" type="String"/>
        <attribute mode="IN" name="skipPermissionCheck" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <!-- end of deprecated fields -->
        <attribute name="contentPurposeTypeId" type="String" mode="IN" optional="true"/>
        <attribute name="contentAssocTypeId" type="String" mode="IN" optional="true"/>
        <attribute name="contentIdFrom" type="String" mode="IN" optional="true"/>
        <attribute name="contentIdTo" 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="mapKey" type="String" mode="IN" optional="true"/>
        <attribute name="contentId" type="String" mode="INOUT" optional="true"/>
        <attribute name="fromDate" type="Timestamp" mode="IN" optional="true"/>
        <attribute name="sequenceNum" type="Long" mode="IN" optional="true"/>
        <override name="contentTypeId" default-value="DOCUMENT"/>
    </service>

    <service name="createTextAndUploadedContent" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createTextAndUploadedContent">
        <description>Creates text content and optional uploaded sub-content</description>
        <implements service="createTextContent"/>
        <implements service="uploadFileInterface" optional="true"/>
        <implements service="createContentFromUploadedFile" optional="true"/>
    </service>

    <service name="createTextContent" engine="group" auth="true">
        <description>Creates a Text Document DataResource and Content Records</description>
        <!-- uses createContent internally; additonal permission(s) not necessary -->
        <group>
            <invoke name="createDataText" result-to-context="true"/>
            <invoke name="createContent" result-to-context="true"/>
        </group>
    </service>

    <service name="createContentFromDataResource" engine="simple"
             location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createContentFromDataResource">
        <description>Creates content record from data resource and allows all content fields to be set</description>
        <!-- uses createContent internally; additonal permission(s) not necessary -->
        <implements service="createContent" optional="true"/>
        <attribute name="dataResourceId" type="String" mode="IN" optional="false"/>
        <attribute name="contentId" type="String" mode="OUT" optional="false"/>
    </service>

    <service name="attachUploadToDataResource" engine="simple" transaction-timeout="300"
             location="component://content/script/org/ofbiz/content/data/DataServices.xml" invoke="attachUploadToDataResource">
        <description>Accepts uploaded content and attaches to an existing data resource</description>
        <!-- uses createContent internally; additonal permission(s) not necessary -->
        <implements service="uploadFileInterface"/>
        <attribute name="dataResourceId" type="String" mode="INOUT" optional="false"/>
        <attribute name="dataResourceTypeId" type="String" mode="IN" optional="true"/>
        <!-- mimetype is set from the uploaded file (contentType) when empty -->
        <attribute name="mimeTypeId" type="String" mode="INOUT" optional="true"/>
    </service>

    <service name="createContentFromUploadedFile" engine="group" transaction-timeout="300">
        <description>Accepts file upload, creates DataResource and Content records.</description>
        <!-- uses createContent internally; additonal permission(s) not necessary -->
        <group>
            <invoke name="createDataResource" parameters="preserve" result-to-context="true"/>
            <invoke name="attachUploadToDataResource" parameters="preserve" result-to-context="true"/>
            <invoke name="createContentFromDataResource"/>
        </group>
    </service>

    <service name="updateContentAndUploadedFile" engine="group" transaction-timeout="300">
        <description>Accepts file upload, updates DataResource and Content records.</description>
        <group>
            <invoke name="updateDataResource" parameters="preserve" result-to-context="true"/>
            <invoke name="attachUploadToDataResource" parameters="preserve" result-to-context="true"/>
            <invoke name="updateContent"/>
        </group>
    </service>

    <service name="copyContentAndElectronicTextandAssoc" default-entity-name="Content" engine="simple"
        location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="copyContentAndElectronicTextandAssoc" auth="true" >
        <description>Copy a Content, e;ectronic text and assocs</description>
        <!-- uses createContent internally; additonal permission(s) not necessary -->
        <auto-attributes include="pk" mode="INOUT" optional="false"/>
    </service>

    <!-- update content services -->
    <service name="updateContent" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="updateContent">
        <description>Update a Content</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <implements service="updateContentAssoc" optional="true"/>
        <auto-attributes entity-name="Content" include="pk" mode="INOUT" optional="false"/>
        <auto-attributes entity-name="Content" include="nonpk" mode="IN" optional="true"/>
        <attribute name="contentPurposeTypeId" type="String" mode="IN" optional="true"/>
        <!-- TODO: the following fields are depricated; but will not be removed until all services and callers are updated -->
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="skipPermissionCheck" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <!-- end of depricated fields -->
    </service>

    <service name="updateTextContent" engine="group" auth="true">
        <description>Updates a Text Document DataResource and Content Records</description>
        <!-- uses updateContent internally; additonal permission(s) not necessary -->
        <group>
            <invoke name="updateDataText" result-to-context="true"/>
            <invoke name="updateContent" result-to-context="true"/>
        </group>
    </service>

    <service name="removeContent" default-entity-name="Content" engine="simple"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="removeContent" auth="true">
        <description>Remove Content</description>
        <permission-service service-name="genericContentPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeTypeId" optional="true" type="String"/>
        <attribute mode="IN" name="userLogin" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
    </service>

    <!-- TODO: old permission service; being replaced with genericContentPermission -->
    <service name="checkContentPermission"
        transaction-timeout="7200"
        auth="false" engine="java" invoke="checkContentPermission"
        location="org.ofbiz.content.content.ContentPermissionServices">
        <description>Check for permission to perform operation on Content</description>
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <!-- it was a mistake to pass in List objects because it makes it difficult to use
             the service in a request event, so I added new ones without removing lists -->
        <attribute mode="IN" name="targetOperationString" optional="true" type="String"/>
        <attribute mode="IN" name="contentPurposeString" optional="true" type="String"/>
        <attribute mode="IN" name="roleTypeString" optional="true" type="String"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="IN" name="currentContent" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="fromDate" optional="true" type="String"/>
        <attribute mode="IN" name="thruDate" optional="true" type="String"/>
        <!-- NOTE: entityOperation should be "_VIEW", "_ADMIN", etc. -->
        <attribute mode="IN" name="entityOperation" optional="true" type="String"/>
        <attribute mode="IN" name="statusId" optional="true" type="String"/>
        <attribute mode="IN" name="privilegeEnumId" optional="true" type="String"/>
        <attribute mode="IN" name="quickCheckContentId" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="IN" name="displayPassCond" optional="true" type="Boolean"/>
        <attribute mode="IN" name="partyId" optional="true" type="String"/>
        <attribute mode="IN" name="userLoginId" optional="true" type="String"/>
        <attribute mode="OUT" name="permissionStatus" optional="true" type="String"/>
        <attribute mode="OUT" name="permissionRecorder" optional="true" type="org.ofbiz.content.content.PermissionRecorder"/>
    </service>

    <service name="findRelatedContent" default-entity-name="Content" engine="java"
            location="org.ofbiz.content.content.ContentServices" invoke="findRelatedContent" auth="true">
        <description>Create a Content</description>
        <attribute mode="IN" name="currentContent" optional="false" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="toFrom" optional="true" type="String"/>
        <attribute mode="IN" name="fromDate" optional="true" type="String"/>
        <attribute mode="IN" name="thruDate" optional="true" type="String"/>
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="userLogin" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="contentAssocTypeList" optional="true" type="List"/>
        <attribute mode="IN" name="contentTypeList" optional="true" type="List"/>
        <attribute mode="IN" name="entityOperation" optional="true" type="String"/>
        <attribute mode="OUT" name="contentList" optional="false" type="List"/>
    </service>

    <!--Content Assoc services.-->
    <!-- TODO: old permission service; being replaced with genericContentPermission -->
    <service name="checkAssocPermission" engine="java" transaction-timeout="7200" auth="true"
            location="org.ofbiz.content.content.ContentPermissionServices" invoke="checkAssocPermission">
        <description>Check for permission to perform operation on Content</description>
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="IN" name="userLogin" optional="true" type="GenericValue"/>
        <attribute mode="IN" name="contentIdTo" optional="true" type="String"/>
        <attribute mode="IN" name="contentIdFrom" optional="true" type="String"/>
        <attribute mode="IN" name="fromDate" optional="true" type="String"/>
        <attribute mode="IN" name="thruDate" optional="true" type="String"/>
        <attribute mode="IN" name="statusId" optional="true" type="String"/>
        <attribute mode="IN" name="privilegeEnumId" optional="true" type="String"/>
        <attribute mode="IN" name="entityOperation" optional="true" type="String"/>
        <attribute mode="IN" name="contentAssocTypeId" optional="true" type="String"/>
        <attribute mode="IN" name="contentAssocPredicateId" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="OUT" name="permissionStatus" optional="true" type="String"/>
        <attribute mode="OUT" name="permissionRecorderTo" optional="true" type="org.ofbiz.content.content.PermissionRecorder"/>
        <attribute mode="OUT" name="permissionRecorder" optional="true" type="org.ofbiz.content.content.PermissionRecorder"/>
    </service>

    <service name="assocContent" engine="simple" default-entity-name="ContentAssoc"  auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="assocContent">
        <description>Check for permission to perform operation on Content</description>
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="IN" name="userLogin" optional="true" type="org.ofbiz.entity.GenericValue"/>
        <attribute mode="IN" name="contentIdTo" optional="true" type="String"/>
        <attribute mode="IN" name="contentIdFrom" optional="true" type="String"/>
        <attribute mode="IN" name="statusId" optional="true" type="String"/>
        <attribute mode="IN" name="fromDate" optional="true" type="String"/>
        <attribute mode="IN" name="thruDate" optional="true" type="String"/>
        <attribute mode="IN" name="entityOperation" optional="true" type="String"/>
        <attribute mode="IN" name="contentAssocTypeId" optional="false" type="String"/>
    </service>

    <service name="createContentAssoc" default-entity-name="ContentAssoc" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createContentAssoc">
        <description>Create a ContentAssoc</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <auto-attributes include="all" mode="IN" optional="true"/>
        <!-- deprecated fields to be removed -->
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="targetOperationString" optional="true" type="String"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeString" optional="true" type="String"/>
        <attribute mode="IN" name="deactivateExisting" optional="true" type="String"/>
        <attribute mode="IN" name="skipPermissionCheck" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="INOUT" name="contentIdFrom" optional="true" type="String"/>
        <override name="fromDate" mode="INOUT"/>
        <!-- end of deprecated fields -->
    </service>
    <service name="updateContentAssoc" default-entity-name="ContentAssoc" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="updateContentAssoc">
        <description>Update a ContentAssoc</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <!-- deprecated fields to be removed -->
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="IN" name="skipPermissionCheck" optional="true" type="String"/>
        <attribute mode="IN" name="deactivateExisting" optional="true" type="String"/>
        <attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="INOUT" name="contentIdFrom" optional="true" type="String"/>
        <!-- end of deprecated fields -->
    </service>
    <service name="removeContentAssoc" default-entity-name="ContentAssoc" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="removeContentAssoc">
        <description>Remove ContentAssoc</description>
        <permission-service service-name="genericContentPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <!-- deprecated fields to be removed -->
        <attribute mode="IN" name="targetOperationList" optional="true" type="List"/>
        <attribute mode="IN" name="contentPurposeList" optional="true" type="List"/>
        <attribute mode="IN" name="skipPermissionCheck" optional="true" type="String"/>
        <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
        <attribute mode="INOUT" name="contentIdFrom" optional="true" type="String"/>
        <!-- end of deprecated fields -->
    </service>

    <!-- content status services -->
    <service name="setContentStatus" engine="simple" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="setContentStatus">
        <description>Set the Content Status</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <attribute name="contentId" type="String" mode="IN" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="false"/>
        <attribute name="oldStatusId" type="String" mode="OUT" optional="true"/>
    </service>

    <!-- ContentRole services -->
    <service name="createContentRole" engine="simple" default-entity-name="ContentRole" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createContentRole">
        <description>Create a ContentRole</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true"/>
    </service>
    <service name="updateContentRole" engine="simple" default-entity-name="ContentRole" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="updateContentRole">
        <description>Update a ContentRole</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deactivateAllContentRoles" engine="simple" default-entity-name="ContentRole" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="deactivateAllContentRoles">
        <description>Deactivate all ContentRoles</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <attribute mode="IN" name="contentId" optional="false" type="String"/>
        <attribute mode="IN" name="roleTypeId" optional="false" type="String"/>
        <attribute mode="IN" name="partyId" optional="false" type="String"/>
    </service>
    <service name="removeContentRole" engine="simple"  default-entity-name="ContentRole" auth="true"
            location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="removeContentRole">
        <description>Remove ContentRole</description>
        <permission-service service-name="genericContentPermission" main-action="UPDATE"/>
        <auto-attributes entity-name="ContentRole" include="pk" mode="IN" optional="false"/>
    </service>
</services>
