ilscipio/scipio-erp

View on GitHub
applications/content/servicedef/services_commevent.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->

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

    <!--
        This service must do two things:

        First, call persistContentAndAssoc service to create the Content, DataResource and ImageDataResource/ElectronicText/??? entities.
            Note that it will not create a ContentAssoc entity, which persistContentAndAssoc can do.
            It should be able to auto populate the service parameters for persistContentAndAssoc from this service's input parameters
            using ModelService.makeValid (or the simple method equivalent).
            persistContentAndAssoc will return contentId.
            
        Second, it must create a CommEventContentAssoc record.
            The fromData should be defaulted if not passed in.
    -->
    <service name="createCommContentDataResource" engine="simple"
                location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createCommContentDataResource" auth="true">
        <description>Create CommunicationEvent and Content</description>
        <implements service="persistContentAndAssoc"/>
        <attribute name="communicationEventId" type="String" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingCommunicationEventId"/>
            </type-validate>
        </attribute>
        <attribute name="contentId" type="String" mode="IN" optional="true">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingContentId"/>
            </type-validate>
        </attribute>
        <attribute name="fromDate" type="java.sql.Timestamp" mode="OUT" optional="false"/>
    </service>

    <service name="updateCommContentDataResource" engine="simple"
                location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="updateCommContentDataResource" auth="true">
        <description>Update CommunicationEvent and Content</description>
        <implements service="persistContentAndAssoc"/>
        <attribute name="communicationEventId" type="String" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingCommunicationEventId"/>
            </type-validate>
        </attribute>
        <attribute name="fromDate" type="java.sql.Timestamp" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingFromDate"/>
            </type-validate>
        </attribute>
    </service>

    <service name="createCommEventContentAssoc" engine="simple"
                location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="createCommEventContentAssoc" auth="true">
        <description>Create CommEventContentAssoc</description>
        <attribute name="communicationEventId" type="String" mode="IN" optional="false"/>
        <attribute name="contentId" type="String" mode="IN" optional="false"/>
        <attribute name="fromDate" type="java.sql.Timestamp" mode="INOUT" optional="true"/>
        <attribute name="thruDate" type="java.sql.Timestamp" mode="IN" optional="true"/>
         <attribute name="sequenceNum" type="Long" mode="IN" optional="true"/>
    </service>

    <service name="updateCommEventContentAssoc" engine="simple"
                location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="updateCommEventContentAssoc" auth="true">
        <description>Update CommEventContentAssoc</description>
        <attribute name="communicationEventId" type="String" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingCommunicationEventId"/>
            </type-validate>
        </attribute>
        <attribute name="contentId" type="String" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingContentId"/>
            </type-validate>
        </attribute>
        <attribute name="fromDate" type="java.sql.Timestamp" mode="IN" optional="false">
            <type-validate>
                <fail-property resource="ContentErrorUiLabels" property="ContentRequiredFieldMissingFromDate"/>
            </type-validate>
        </attribute>
        <attribute name="thruDate" type="java.sql.Timestamp" mode="IN" optional="true"/>
         <attribute name="sequenceNum" type="Long" mode="IN" optional="true"/>
    </service>

    <service name="expireCommEventContentAssoc" default-entity-name="CommEventContentAssoc" engine="entity-auto" invoke="expire" auth="true">
        <description>Expire CommEventContentAssoc</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>
    <!-- SCIPIO: 2018-09-10: NOTE: this was effectively removed upstream in favor of expireCommEventContentAssoc,
        but currently unclear if it's really what we want (used mainly to remove attachments to comm events - remove seems logical) -->
    <service name="removeCommEventContentAssoc" engine="simple"
                location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="removeCommEventContentAssoc" auth="true">
        <description>Remove CommEventContentAssoc</description>
        <attribute name="communicationEventId" type="String" mode="IN" optional="false"/>
        <attribute name="contentId" type="String" mode="IN" optional="false"/>
        <attribute name="fromDate" type="java.sql.Timestamp" mode="IN" optional="false"/>
    </service>

    <service name="createCommContentAssocType" default-entity-name="CommContentAssocType" engine="entity-auto" invoke="create" auth="true">
        <description>Create a new Comm Content Assoc Type Record</description>
        <auto-attributes mode="INOUT" include="pk" optional="true"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <service name="updateCommContentAssocType" default-entity-name="CommContentAssocType" engine="entity-auto" invoke="update" auth="true">
        <description>Update a Comm Content Assoc Type</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteCommContentAssocType" default-entity-name="CommContentAssocType" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete an existing Comm Content Assoc Type Record</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

</services>