-->
-<IDL xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:idl="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+<IDL xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:idl="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:sr="http://open-ils.org/spec/opensrf/IDL/simple-reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<!-- Virtual classes -->
+
+ <class id="oaib" controller="open-ils.cstore" oils_obj:fieldmapper="oai::biblio"
+ oils_persist:readonly="true" reporter:core="false" reporter:label="OAI2 record list"
+ oils_persist:tablename="oai.biblio">
+ <fields oils_persist:primary="rec_id">
+ <field reporter:label="Record ID\OAI identifier postfix" name="rec_id" reporter:datatype="id"/>
+ <field reporter:label="Last edit date\OAI datestamp" name="datestamp" reporter:datatype="timestamp"/>
+ <field reporter:label="Is Deleted?" name="deleted" reporter:datatype="bool"/>
+ <field reporter:label="Setspec" name="set_spec" oils_persist:virtual="true"/>
+ </fields>
+ </class>
+ <class id="oaia" controller="open-ils.cstore" oils_obj:fieldmapper="oai::authority"
+ oils_persist:readonly="true" reporter:core="false" reporter:label="OAI2 record list"
+ oils_persist:tablename="oai.authority">
+ <fields oils_persist:primary="rec_id">
+ <field reporter:label="Record ID\OAI identifier postfix" name="rec_id" reporter:datatype="id"/>
+ <field reporter:label="Last edit date\OAI datestamp" name="datestamp" reporter:datatype="timestamp"/>
+ <field reporter:label="Is Deleted?" name="deleted" reporter:datatype="bool"/>
+ <field reporter:label="Setspec" name="set_spec" oils_persist:virtual="true"/>
+ </fields>
+ </class>
+
<class id="mups" controller="open-ils.cstore" oils_obj:fieldmapper="money::user_payment_summary" oils_persist:virtual="true" reporter:label="User Payment Summary">
<fields>
<field name="usr" oils_persist:virtual="true" />
parent table.
-->
<field reporter:label="Source Queue" name="queue" reporter:datatype="int"/>
- <field reporter:label="Create Time" name="create_time" reporter:datatype="timestsamp"/>
- <field reporter:label="Update Time" name="update_time" reporter:datatype="timestsamp"/>
+ <field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Update Time" name="update_time" reporter:datatype="timestamp"/>
<field reporter:label="State" name="state" reporter:datatype="text"/>
<field reporter:label="Action Type" name="action_type" reporter:datatype="text"/>
<field reporter:label="Total Actions" name="total_actions" reporter:datatype="int"/>
</permacrud>
</class>
- <class id="cmrcsubfld" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc_subfield" oils_persist:tablename="config.marc_subfield" reporter:label="MARC Subfields" oils_persist:subfield_safe="true">
+ <class id="cmrcsubfld" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::marc_subfield" oils_persist:tablename="config.marc_subfield" reporter:label="MARC Subfields" oils_persist:field_safe="true">
<fields oils_persist:primary="id" oils_persist:sequence="config.marc_subfield_id_seq">
<field reporter:label="ID" name="id" reporter:datatype="id"/>
<field reporter:label="MARC Format" name="marc_format" reporter:datatype="link" oils_obj:required="true"/>
<field reporter:label="Is Error" name="is_error" reporter:datatype="bool"/>
<field reporter:label="Events" name="events" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Error Events" name="error_events" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Output Locale" name="locale" reporter:datatype="text"/>
</fields>
<links>
<link field="events" reltype="has_many" key="template_output" map="" class="atev"/>
</permacrud>
</class>
+ <class id="atevalt" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::alternate_template" oils_persist:tablename="action_trigger.alternate_template" reporter:label="Alternate Action Trigger Templates">
+ <fields oils_persist:primary="id" oils_persist:sequence="action_trigger.alternate_template_id_seq">
+ <field reporter:label="Alternate Template ID" name="id" reporter:datatype="id"/>
+ <field reporter:label="Enabled" name="active" reporter:datatype="bool"/>
+ <field reporter:label="Template" name="template" reporter:datatype="text"/>
+ <field reporter:label="Template Locale" name="locale" reporter:datatype="link" oils_obj:required="true"/>
+ <field reporter:label="Message Title" name="message_title" reporter:datatype="text"/>
+ <field reporter:label="Message Template" name="message_template" reporter:datatype="text"/>
+ <field reporter:label="Event Definition" name="event_def" reporter:datatype="link"/>
+ </fields>
+ <links>
+ <link field="event_def" reltype="has_a" key="id" map="" class="atevdef"/>
+ <link field="locale" relteype="has_a" key="code" map="" class="i18n_l"/>
+ </links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="ADMIN_TRIGGER_EVENT_DEF CREATE_TRIGGER_EVENT_DEF">
+ <context link="event_def" field="owner"/>
+ </create>
+ <retrieve permission="ADMIN_TRIGGER_EVENT_DEF VIEW_TRIGGER_EVENT_DEF">
+ <context link="event_def" field="owner"/>
+ </retrieve>
+ <update permission="ADMIN_TRIGGER_EVENT_DEF UPDATE_TRIGGER_EVENT_DEF">
+ <context link="event_def" field="owner"/>
+ </update>
+ <delete permission="ADMIN_TRIGGER_EVENT_DEF DELETE_TRIGGER_EVENT_DEF">
+ <context link="event_def" field="owner"/>
+ </delete>
+ </actions>
+ </permacrud>
+ </class>
+
+
<class id="atevdefg" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="action_trigger::event_def_group" oils_persist:tablename="action_trigger.event_def_group" reporter:label="Trigger Event Definition Group" oils_persist:restrict_primary="100">
<fields oils_persist:primary="id" oils_persist:sequence="action_trigger.event_def_group_id_seq">
<field reporter:label="Group ID" name="id" reporter:datatype="id"/>
</class>
<class id="ccbi" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="container::copy_bucket_item" oils_persist:tablename="container.copy_bucket_item" reporter:label="Copy Bucket Item">
<fields oils_persist:primary="id" oils_persist:sequence="container.copy_bucket_item_id_seq">
- <field name="bucket" />
+ <field name="bucket" reporter:datatype="link"/>
<field name="id" reporter:datatype="id" />
<field name="target_copy" reporter:datatype="link"/>
<field name="create_time" reporter:datatype="timestamp" />
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve permission="ADMIN_COPY_BUCKET">
- <context link="bucket" owning_lib="owning_lib"/>
+ <context link="bucket" field="owning_lib"/>
</retrieve>
</actions>
</permacrud>
<field reporter:label="Reservations" name="reservations" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="User Activity Entries" name="usr_activity" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="User/Working Location Map" name="usr_work_ou_map" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Patron Preferred Language" name="locale" reporter:datatype="link"/>
</fields>
<links>
<link field="demographic" reltype="might_have" key="id" map="" class="rud"/>
<link field="reservations" reltype="has_many" key="usr" map="" class="bresv"/>
<link field="usr_activity" reltype="has_many" key="usr" map="" class="auact"/>
<link field="usr_work_ou_map" reltype="has_many" key="usr" map="" class="puwoum"/>
+ <link field="locale" reltype="has_a" key="code" map="" class="i18n_l"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
+ <create permission="ADMIN_TOOLBAR" context_field="org" />
<retrieve permission="ADMIN_TOOLBAR STAFF_LOGIN" context_field="org">
<context link="usr" field="home_ou" />
<context link="ws" field="owning_lib" />
</retrieve>
- <create permission="ADMIN_TOOLBAR" context_field="org">
- <context link="usr" field="home_ou" />
- <context link="ws" field="owning_lib" />
- </create>
- <update permission="ADMIN_TOOLBAR" context_field="org">
- <context link="usr" field="home_ou" />
- <context link="ws" field="owning_lib" />
- </update>
- <delete permission="ADMIN_TOOLBAR" context_field="org">
- <context link="usr" field="home_ou" />
- <context link="ws" field="owning_lib" />
- </delete>
+ <update permission="ADMIN_TOOLBAR" context_field="org"/>
+ <delete permission="ADMIN_TOOLBAR" context_field="org"/>
</actions>
</permacrud>
</class>
<links>
<link field="master_record" reltype="has_a" key="id" map="" class="bre"/>
<link field="source_records" reltype="has_many" key="metarecord" map="source" class="mmrsm"/>
- <link field="source_maps" reltype="has_many" key="metarecord" class="mmrsm"/>
+ <link field="source_maps" reltype="has_many" key="metarecord" map="" class="mmrsm"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <retrieve/>
<create permission="CREATE_METABIB_FIELD" global_required="true"/>
+ <retrieve/>
<update permission="UPDATE_METABIB_FIELD" global_required="true"/>
<delete permission="DELETE_METABIB_FIELD" global_required="true"/>
</actions>
<link field="payment" reltype="might_have" key="id" map="" class="mp"/>
<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
- <link field="billing" reltype="might_have" key="id" class="mb"/>
+ <link field="billing" reltype="might_have" key="id" map="" class="mb"/>
</links>
</class>
<class id="mrd" controller="open-ils.cstore" oils_obj:fieldmapper="metabib::record_descriptor" oils_persist:tablename="metabib.rec_descriptor" reporter:label="Basic Record Descriptor">
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve permission="ADMIN_CALLNUMBER_BUCKET">
- <context link="bucket" owning_lib="owning_lib"/>
+ <context link="bucket" field="owning_lib"/>
</retrieve>
</actions>
</permacrud>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context="owning_lib" owning_user="owner"/>
- <retrieve permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context="owning_lib" owning_user="owner"/>
- <update permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context="owning_lib" owning_user="owner"/>
- <delete permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context="owning_lib" owning_user="owner"/>
+ <create permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <retrieve permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <update permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <delete permission="CREATE_BIB_BUCKET ADMIN_BIB_BUCKET" context_field="owning_lib" owning_user="owner"/>
</actions>
</permacrud>
</class>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context="owning_lib" owning_user="owner"/>
- <retrieve permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context="owning_lib" owning_user="owner"/>
- <update permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context="owning_lib" owning_user="owner"/>
- <delete permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context="owning_lib" owning_user="owner"/>
+ <create permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <retrieve permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <update permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <delete permission="CREATE_CALLNUMBER_BUCKET ADMIN_CALLNUMBER_BUCKET" context_field="owning_lib" owning_user="owner"/>
</actions>
</permacrud>
</class>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context="owning_lib" owning_user="owner"/>
- <retrieve permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context="owning_lib" owning_user="owner"/>
- <update permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context="owning_lib" owning_user="owner"/>
- <delete permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context="owning_lib" owning_user="owner"/>
+ <create permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <retrieve permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <update permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <delete permission="CREATE_USER_BUCKET ADMIN_USER_BUCKET" context_field="owning_lib" owning_user="owner"/>
</actions>
</permacrud>
</class>
<field reporter:label="Accepting Staff Member" name="accepting_usr" reporter:datatype="link"/>
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Amount Collected" name="amount_collected" reporter:datatype="money" />
- <field reporter:label="Pyament ID" name="id" reporter:datatype="id" />
+ <field reporter:label="Payment ID" name="id" reporter:datatype="id" />
<field reporter:label="Payment Note" name="note" reporter:datatype="text"/>
<field reporter:label="Payment Timestamp" name="payment_ts" reporter:datatype="timestamp"/>
<field reporter:label="Transaction" name="xact" reporter:datatype="link"/>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve permission="ADMIN_USER_BUCKET">
- <context link="bucket" owning_lib="owning_lib"/>
+ <context link="bucket" field="owning_lib"/>
</retrieve>
</actions>
</permacrud>
<field reporter:label="Peer Records" name="peer_records" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Last Captured Hold" name="last_captured_hold" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Latest Inventory" name="latest_inventory" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Copy Inventory" name="copy_inventory" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Has Holds" name="holds_count" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Copy Tags" name="tags" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Copy Alerts" name="copy_alerts" oils_persist:virtual="true" reporter:datatype="link"/>
<link field="peer_records" reltype="has_many" key="target_copy" map="peer_record" class="bpbcm"/>
<link field="last_captured_hold" reltype="has_a" key="current_copy" map="" class="alhr"/>
<link field="latest_inventory" reltype="might_have" key="copy" map="" class="alci"/>
+ <link field="copy_inventory" reltype="might_have" key="copy" map="" class="aci"/>
<link field="floating" reltype="has_a" key="id" map="" class="cfg"/>
<link field="holds_count" reltype="might_have" key="id" map="" class="hasholdscount"/>
<link field="tags" reltype="has_many" key="copy" map="" class="acptcm"/>
</permacrud>
</class>
- <class id="alci" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::latest_inventory" oils_persist:tablename="asset.latest_inventory" reporter:core="true" reporter:label="Latest Inventory">
- <fields oils_persist:primary="id" oils_persist:sequence="asset.latest_inventory_id_seq">
+ <class id="aci" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::copy_inventory" oils_persist:tablename="asset.copy_inventory" reporter:core="true" reporter:label="Copy Inventory">
+ <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_inventory_id_seq">
+ <field reporter:label="Copy Inventory ID" name="id" reporter:datatype="id"/>
+ <field reporter:label="Copy Inventory Date" name="inventory_date" reporter:datatype="timestamp"/>
+ <field reporter:label="Copy Inventory Workstation" name="inventory_workstation" reporter:datatype="link"/>
+ <field reporter:label="Copy" name="copy" reporter:datatype="link"/>
+ </fields>
+ <links>
+ <link field="inventory_workstation" reltype="has_a" key="id" map="" class="aws"/>
+ <link field="copy" reltype="has_a" key="id" map="" class="acp"/>
+ </links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="STAFF_LOGIN"/>
+ <retrieve/>
+ <update permission="STAFF_LOGIN"/>
+ <delete permission="STAFF_LOGIN"/>
+ </actions>
+ </permacrud>
+ </class>
+
+ <class id="alci" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="asset::latest_inventory" oils_persist:tablename="asset.latest_inventory" reporter:core="true" reporter:label="Latest Inventory" oils_persist:readonly="true">
+ <fields oils_persist:primary="id" oils_persist:sequence="asset.copy_inventory_id_seq">
<field reporter:label="Latest Inventory ID" name="id" reporter:datatype="id"/>
<field reporter:label="Latest Inventory Date" name="inventory_date" reporter:datatype="timestamp"/>
<field reporter:label="Latest Inventory Workstation" name="inventory_workstation" reporter:datatype="link"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create/>
<retrieve/>
- <update/>
- <delete/>
</actions>
</permacrud>
</class>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context="owning_lib" owning_user="owner"/>
- <retrieve permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context="owning_lib" owning_user="owner"/>
- <update permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context="owning_lib" owning_user="owner"/>
- <delete permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context="owning_lib" owning_user="owner"/>
+ <create permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <retrieve permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <update permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context_field="owning_lib" owning_user="owner"/>
+ <delete permission="CREATE_COPY_BUCKET ADMIN_COPY_BUCKET" context_field="owning_lib" owning_user="owner"/>
</actions>
</permacrud>
</class>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
- <link field="billing" reltype="has_a" key="id" class="mab"/>
+ <link field="billing" reltype="has_a" key="id" map="" class="mab"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<class id="mallp" controller="open-ils.cstore"
oils_obj:fieldmapper="money::all_payments"
oils_persist:tablename="money.all_payments"
- oils_persist="readonly" reporter:core="true"
+ oils_persist:readonly="true" reporter:core="true"
reporter:label="Payments: All">
<fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
<link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
<link field="cash_drawer" reltype="has_a" key="id" map="" class="aws"/>
- <link field="billing" reltype="has_a" key="id" class="mallb"/>
+ <link field="billing" reltype="has_a" key="id" map="" class="mallb"/>
</links>
</class>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<retrieve permission="ADMIN_COPY_BUCKET">
- <context link="bucket" owning_lib="owning_lib"/>
+ <context link="bucket" field="owning_lib"/>
</retrieve>
</actions>
</permacrud>
<class id="mallb" controller="open-ils.cstore"
oils_obj:fieldmapper="money::all_billings"
oils_persist:tablename="money.all_billings"
- oils_persist="readonly" reporter:label="All Billing Line Items">
+ oils_persist:readonly="true" reporter:label="All Billing Line Items">
<fields oils_persist:primary="id" oils_persist:sequence="">
<field reporter:label="Amount" name="amount" reporter:datatype="money" />
<field reporter:label="Create Date" name="create_date" reporter:datatype="timestamp"/>
</class>
<class id="fdoc" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::idl_field_doc" oils_persist:tablename="config.idl_field_doc" oils_persist:field_safe="true" reporter:label="IDL Field Doc">
<fields oils_persist:primary="id" oils_persist:sequence="config.idl_field_doc_id_seq">
- <field name="id" reporter:datatype="id" />
- <field name="fm_class" reporter:datatype="text"/>
- <field name="field" reporter:datatype="text"/>
- <field name="owner" reporter:datatype="org_unit"/>
- <field name="string" reporter:datatype="text" oils_persist:i18n="true"/>
+ <field name="id" reporter:label="ID" reporter:datatype="id" />
+ <field name="fm_class" reporter:label="Class" reporter:datatype="text" oils_obj:required="true"/>
+ <field name="field" reporter:label="Field" reporter:datatype="text" oils_obj:required="true"/>
+ <field name="owner" reporter:label="Field Documentation Owner" reporter:datatype="org_unit" oils_obj:required="true"/>
+ <field name="string" reporter:label="Field Documentation" reporter:datatype="text" oils_persist:i18n="true" oils_obj:required="true"/>
</fields>
<links>
<link field="owner" reltype="has_a" key="id" map="" class="aou"/>
</permacrud>
</class>
- <class id="aurs" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::user_request_status" reporter:label="User Purchase Request with Status" oils_persist="readonly">
+ <class id="aurs" controller="open-ils.cstore open-ils.reporter-store open-ils.pcrud" oils_obj:fieldmapper="acq::user_request_status" reporter:label="User Purchase Request with Status" oils_persist:readonly="true">
<oils_persist:source_definition><![CDATA[
SELECT r.*, CASE
WHEN r.cancel_reason IS NOT NULL THEN 7 -- Canceled
</class>
- <class id="rof" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::output_folder" oils_persist:tablename="reporter.output_folder" reporter:label="Output Folder">
+ <class id="rof" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::output_folder" oils_persist:tablename="reporter.output_folder" reporter:label="Output Folder">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.output_folder_id_seq">
<field name="id" reporter:datatype="id" />
<field name="parent" reporter:datatype="link"/>
<field name="name" reporter:datatype="text"/>
<field name="shared" reporter:datatype="bool"/>
<field name="share_with" reporter:datatype="link"/>
+ <field name="simple_reporter" reporter:datatype="bool"/>
<field name="children" oils_persist:virtual="true" reporter:datatype="link"/>
<field name="outputs" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
<link field="outputs" reltype="has_many" key="folder" map="" class="rs"/>
</links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </delete>
+ </actions>
+ </permacrud>
</class>
- <class id="rtf" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::template_folder" oils_persist:tablename="reporter.template_folder" reporter:label="Template Folder">
+ <class id="rtf" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::template_folder" oils_persist:tablename="reporter.template_folder" reporter:label="Template Folder">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.template_folder_id_seq">
<field name="id" reporter:datatype="id" />
<field name="parent" reporter:datatype="link"/>
<field name="name" reporter:datatype="text"/>
<field name="shared" reporter:datatype="bool"/>
<field name="share_with" reporter:datatype="link"/>
+ <field name="simple_reporter" reporter:datatype="bool"/>
<field name="children" oils_persist:virtual="true" reporter:datatype="link"/>
<field name="templates" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
<link field="templates" reltype="has_many" key="folder" map="" class="rt"/>
</links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </delete>
+ </actions>
+ </permacrud>
</class>
- <class id="rrf" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::report_folder" oils_persist:tablename="reporter.report_folder" reporter:label="Report Folder">
+ <class id="rrf" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::report_folder" oils_persist:tablename="reporter.report_folder" reporter:label="Report Folder">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.report_folder_id_seq">
<field name="id" reporter:datatype="id" />
<field name="parent" reporter:datatype="link"/>
<field name="name" reporter:datatype="text"/>
<field name="shared" reporter:datatype="bool"/>
<field name="share_with" reporter:datatype="link"/>
+ <field name="simple_reporter" reporter:datatype="bool"/>
<field name="children" oils_persist:virtual="true" reporter:datatype="link"/>
<field name="reports" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<link field="share_with" reltype="has_a" key="id" map="" class="aou"/>
<link field="reports" reltype="has_many" key="folder" map="" class="rr"/>
</links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </delete>
+ </actions>
+ </permacrud>
</class>
<class id="rt" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::template" oils_persist:tablename="reporter.template" reporter:label="Template">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.template_id_seq">
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
- <create permission="RUN_REPORTS" owning_user="owner" global_required="true"/>
- <retrieve permission="RUN_REPORTS" owning_user="owner" global_required="true"/>
- <update permission="RUN_REPORTS" owning_user="owner" global_required="true"/>
- <delete permission="RUN_REPORTS" owning_user="owner" global_required="true"/>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </delete>
</actions>
</permacrud>
</class>
- <class id="rr" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::report" oils_persist:tablename="reporter.report" reporter:label="Report">
+ <class id="rr" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::report" oils_persist:tablename="reporter.report" reporter:label="Report">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.report_id_seq">
<field name="id" reporter:datatype="id" />
<field name="owner" reporter:datatype="link"/>
<link field="folder" reltype="has_a" key="id" map="" class="rrf"/>
<link field="runs" reltype="has_many" key="report" map="" class="rs"/>
</links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="owner" field="home_ou"/>
+ </delete>
+ </actions>
+ </permacrud>
</class>
- <class id="rs" controller="open-ils.reporter-store" oils_obj:fieldmapper="reporter::schedule" oils_persist:tablename="reporter.schedule" reporter:label="Schedule">
+ <class id="rs" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::schedule" oils_persist:tablename="reporter.schedule" reporter:label="Schedule">
<fields oils_persist:primary="id" oils_persist:sequence="reporter.schedule_id_seq">
- <field name="id" reporter:datatype="id" />
- <field name="runner" reporter:datatype="link"/>
- <field name="start_time" reporter:datatype="timestamp"/>
- <field name="complete_time" reporter:datatype="timestamp"/>
- <field name="run_time" reporter:datatype="timestamp"/>
- <field name="email" reporter:datatype="text"/>
- <field name="excel_format" reporter:datatype="bool"/>
- <field name="csv_format" reporter:datatype="bool"/>
- <field name="html_format" reporter:datatype="bool"/>
- <field name="error_code" reporter:datatype="int"/>
- <field name="error_text" reporter:datatype="text"/>
- <field name="report" reporter:datatype="link"/>
- <field name="folder" reporter:datatype="link"/>
- <field name="chart_pie" reporter:datatype="bool"/>
- <field name="chart_bar" reporter:datatype="bool"/>
- <field name="chart_line" reporter:datatype="bool"/>
+ <field reporter:label="Id" name="id" reporter:datatype="id" />
+ <field reporter:label="Runner" name="runner" reporter:datatype="link"/>
+ <field reporter:label="Start Time" name="start_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Finish Time" name="complete_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Run Time" name="run_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Email" name="email" reporter:datatype="text"/>
+ <field reporter:label="Excel" name="excel_format" reporter:datatype="bool"/>
+ <field reporter:label="CSV" name="csv_format" reporter:datatype="bool"/>
+ <field reporter:label="HTML" name="html_format" reporter:datatype="bool"/>
+ <field reporter:label="Error Code" name="error_code" reporter:datatype="int"/>
+ <field reporter:label="Error Text" name="error_text" reporter:datatype="text"/>
+ <field reporter:label="Report" name="report" reporter:datatype="link"/>
+ <field reporter:label="Folder" name="folder" reporter:datatype="link"/>
+ <field reporter:label="Pie Chart" name="chart_pie" reporter:datatype="bool"/>
+ <field reporter:label="Bar Chart" name="chart_bar" reporter:datatype="bool"/>
+ <field reporter:label="Line Chart" name="chart_line" reporter:datatype="bool"/>
</fields>
<links>
<link field="runner" reltype="has_a" key="id" map="" class="au"/>
<link field="report" reltype="has_a" key="id" map="" class="rr"/>
<link field="folder" reltype="has_a" key="id" map="" class="rof"/>
</links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="runner" field="home_ou"/>
+ </create>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="runner" field="home_ou"/>
+ </retrieve>
+ <update permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="runner" field="home_ou"/>
+ </update>
+ <delete permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="runner" field="home_ou"/>
+ </delete>
+ </actions>
+ </permacrud>
</class>
+ <class id="rcr" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud"
+ oils_obj:fieldmapper="reporter::completed_reports" oils_persist:tablename="reporter.completed_reports"
+ reporter:label="Completed Report Runs" oils_persist:readonly="true">
+ <fields oils_persist:primary="run">
+ <field reporter:label="Run" name="run" reporter:datatype="link"/>
+ <field reporter:label="Report" name="report" reporter:datatype="link"/>
+ <field reporter:label="Template" name="template" reporter:datatype="link"/>
+ <field reporter:label="Template Owner" name="template_owner" reporter:datatype="link"/>
+ <field reporter:label="Report Owner" name="report_owner" reporter:datatype="link"/>
+ <field reporter:label="Runner" name="runner" reporter:datatype="link"/>
+ <field reporter:label="Template Folder" name="template_folder" reporter:datatype="link"/>
+ <field reporter:label="Report Folder" name="report_folder" reporter:datatype="link"/>
+ <field reporter:label="Output Folder" name="output_folder" reporter:datatype="link"/>
+ <field reporter:label="Report Name" name="report_name" reporter:datatype="text"/>
+ <field reporter:label="Template Name" name="template_name" reporter:datatype="text"/>
+ <field reporter:label="Start Time" name="start_time" reporter:datatype="text"/>
+ <field reporter:label="Run Time" name="run_time" reporter:datatype="text"/>
+ <field reporter:label="Finish Time" name="complete_time" reporter:datatype="text"/>
+ <field reporter:label="Error Code" name="error_code" reporter:datatype="text"/>
+ <field reporter:label="Error Text" name="error_text" reporter:datatype="text"/>
+ </fields>
+ <links>
+ <link field="run" reltype="has_a" key="id" map="" class="rs"/>
+ <link field="report" reltype="has_a" key="id" map="" class="rr"/>
+ <link field="template" reltype="has_a" key="id" map="" class="rt"/>
+ <link field="template_owner" reltype="has_a" key="id" map="" class="au"/>
+ <link field="report_owner" reltype="has_a" key="id" map="" class="au"/>
+ <link field="runner" reltype="has_a" key="id" map="" class="au"/>
+ <link field="template_folder" reltype="has_a" key="id" map="" class="rtf"/>
+ <link field="report_folder" reltype="has_a" key="id" map="" class="rrf"/>
+ <link field="output_folder" reltype="has_a" key="id" map="" class="rof"/>
+ </links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <retrieve permission="RUN_REPORTS RUN_SIMPLE_REPORTS">
+ <context link="runner" field="home_ou"/>
+ </retrieve>
+ </actions>
+ </permacrud>
+ </class>
<class id="rmsr" controller="open-ils.reporter-store open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="reporter::materialized_simple_record" oils_persist:tablename="reporter.materialized_simple_record" reporter:label="Fast Simple Record Extracts">
<fields oils_persist:primary="id">
<field reporter:label="Record ID" name="id" reporter:datatype="id" />
<field reporter:label="Group Members" name="members" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<links>
- <link field="members" reltype="has_many" key="floating_group" class="cfgm"/>
+ <link field="members" reltype="has_many" key="floating_group" map="" class="cfgm"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<field reporter:label="Exclude" name="exclude" reporter:datatype="bool" oils_obj:required="true"/>
</fields>
<links>
- <link field="floating_group" reltype="has_a" key="id" class="cfg"/>
- <link field="org_unit" reltype="has_a" key="id" class="aou"/>
+ <link field="floating_group" reltype="has_a" key="id" map="" class="cfg"/>
+ <link field="org_unit" reltype="has_a" key="id" map="" class="aou"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
reporter:label="Carousel Types">
<fields oils_persist:primary="id" oils_persist:sequence="config.carousel_type_id_seq">
<field reporter:label="Carousel Type ID" reporter:selector="name" name="id" reporter:datatype="id" />
- <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" oils_obj:i18n="true"/>
+ <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" oils_persist:i18n="true"/>
<field reporter:label="Automatically Managed?" name="automatic" reporter:datatype="bool"/>
<field reporter:label="Filter By Age?" name="filter_by_age" reporter:datatype="bool"/>
<field reporter:label="Filter By Item Owning Library?" name="filter_by_copy_owning_lib" reporter:datatype="bool"/>
<field reporter:label="Carousel ID" name="id" reporter:datatype="id" reporter:selector="name"/>
<field reporter:label="Carousel Type" name="type" reporter:datatype="link" oils_obj:required="true"/>
<field reporter:label="Owner" name="owner" reporter:datatype="link" oils_obj:required="true"/>
- <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" oils_obj:i18n="true"/>
+ <field reporter:label="Name" name="name" reporter:datatype="text" oils_obj:required="true" oils_persist:i18n="true"/>
<field reporter:label="Bucket" name="bucket" reporter:datatype="link"/>
<field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
<field reporter:label="Editing User" name="editor" reporter:datatype="link"/>
<field reporter:label="API Key" name="api_key" reporter:datatype="text"/>
</fields>
<links>
- <link field="owner" reltype="has_a" key="id" class="aou"/>
+ <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
</permacrud>
</class>
+ <class id="cusppet" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::ui_staff_portal_page_entry_type" oils_persist:tablename="config.ui_staff_portal_page_entry_type" reporter:label="Portal Page Entry Type">
+ <fields oils_persist:primary="code">
+ <field name="code" reporter:label="Entry Type Code" reporter:datatype="text" reporter:selector="label" oils_obj:required="true"/>
+ <field name="label" reporter:label="Entry Type Label" reporter:datatype="text" oils_obj:required="true"/>
+ </fields>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <retrieve/>
+ </actions>
+ </permacrud>
+ </class>
+
+ <class id="cusppe" controller="open-ils.cstore open-ils.pcrud" oils_obj:fieldmapper="config::ui_staff_portal_page_entry" oils_persist:tablename="config.ui_staff_portal_page_entry" reporter:label="Portal Page Entry">
+ <fields oils_persist:primary="id" oils_persist:sequence="config.ui_staff_portal_page_entry_id_seq">
+ <field name="id" reporter:label="ID" reporter:datatype="id" reporter:selector="label"/>
+ <field name="page_col" reporter:label="Page Column" reporter:datatype="int" oils_obj:required="true"/>
+ <field name="col_pos" reporter:label="Column Position" reporter:datatype="int" oils_obj:required="true"/>
+ <field name="entry_type" reporter:label="Entry Type" reporter:datatype="link" oils_obj:required="true"/>
+ <field name="label" reporter:label="Entry Label" reporter:datatype="text"/>
+ <field name="image_url" reporter:label="Entry Image URL" reporter:datatype="text"/>
+ <field name="target_url" reporter:label="Entry Target URL" reporter:datatype="text"/>
+ <field name="entry_text" reporter:label="Entry Text" reporter:datatype="text"/>
+ <field name="owner" reporter:label="Owner" reporter:datatype="link" oils_obj:required="true"/>
+ </fields>
+ <links>
+ <link field="entry_type" reltype="has_a" key="code" map="" class="cusppet"/>
+ <link field="owner" reltype="has_a" key="id" map="" class="aou"/>
+ </links>
+ <permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+ <actions>
+ <create permission="ADMIN_STAFF_PORTAL_PAGE" context_field="owner"/>
+ <retrieve permission="STAFF_LOGIN" context_field="owner"/>
+ <update permission="ADMIN_STAFF_PORTAL_PAGE" context_field="owner"/>
+ <delete permission="ADMIN_STAFF_PORTAL_PAGE" context_field="owner"/>
+ </actions>
+ </permacrud>
+ </class>
+
+ <!-- Simple Reporter classes are currently used only by the SR UI -->
+ <class id="srcirc" controller="simple-reporter.ui" oils_persist:virtual="true" reporter:label="Simple Reporter Circulation">
+ <oils_persist:source_definition><![CDATA[
+ SELECT
+ -- Circ id; just for counting
+ combcirc.id AS circ_id,
+
+ -- User info, currently limiting to what's available from action.all_circulation
+ combcirc.usr_post_code AS usr_post_code,
+ combcirc.usr_birth_year AS usr_bith_year,
+ combcirc.usr_profile AS usr_profile_id,
+ pgtu.name AS usr_profile,
+ combcirc.usr_home_ou AS usr_home_ou_id,
+ aouuh.shortname AS usr_home_ou_shortname,
+ aouuh.name AS usr_home_ou_name,
+ (actor.org_unit_ancestor_at_depth(combcirc.usr_home_ou, 1)).id AS usr_sys_id,
+ aouus.shortname AS usr_sys_shortname,
+ aouus.name AS usr_sys_name,
+
+ -- Circ info
+ -- Checkout
+ combcirc.xact_start AS xact_start,
+ CAST(TO_CHAR(combcirc.xact_start, 'YYYY') AS INTEGER) AS xact_start_year,
+ TO_CHAR(combcirc.xact_start, 'YYYY-MM') AS xact_start_year_mon,
+ TO_CHAR(combcirc.xact_start, 'YYYY-MM-DD') AS xact_start_date,
+ combcirc.circ_lib AS circ_lib_id,
+ aouco.shortname AS circ_lib_shortname,
+ aouco.name AS circ_lib_name,
+ (actor.org_unit_ancestor_at_depth(combcirc.circ_lib, 1)).id AS circ_sys_id,
+ aoucos.shortname AS circ_sys_shortname,
+ aoucos.name AS circ_sys_name,
+ auco.usrname AS circ_staff,
+ awso.name AS checkout_workstation,
+
+ combcirc.due_date AS due_date,
+ CAST(TO_CHAR(combcirc.due_date, 'YYYY') AS INTEGER) AS due_date_year,
+ TO_CHAR(combcirc.due_date, 'YYYY-MM') AS due_date_year_mon,
+ TO_CHAR(combcirc.due_date, 'YYYY-MM-DD') AS due_date_date,
+
+ -- Checkin
+ combcirc.xact_finish AS xact_finish,
+ CAST(TO_CHAR(combcirc.xact_finish, 'YYYY') AS INTEGER) AS xact_finish_year,
+ TO_CHAR(combcirc.xact_finish, 'YYYY-MM') AS xact_finish_year_mon,
+ TO_CHAR(combcirc.xact_finish, 'YYYY-MM-DD') AS xact_finish_date,
+ aouci.shortname AS checkin_lib_shortname,
+ aouci.name AS checkin_lib_name,
+ auci.usrname AS checkin_staff,
+ awsi.name AS checkin_workstation,
+ aoucis.shortname AS checkin_sys_shortname,
+ aoucis.name AS checkin_sys_name,
+
+ combcirc.checkin_time AS checkin_time,
+
+ -- Misc circ info
+ combcirc.renewal_remaining AS renewal_remaining,
+ combcirc.auto_renewal_remaining AS auto_renewal_remaining,
+ combcirc.grace_period AS grace_period,
+
+ combcirc.stop_fines AS stop_fines,
+ combcirc.stop_fines_time AS stop_fines_time,
+
+ combcirc.duration AS duration,
+ combcirc.fine_interval AS fine_interval,
+ combcirc.recurring_fine AS recurring_fine,
+ combcirc.max_fine AS max_fine,
+ combcirc.duration_rule AS duration_rule,
+ combcirc.recurring_fine_rule AS recurring_fine_rule,
+ combcirc.max_fine_rule AS max_fine_rule,
+ CASE WHEN combcirc.parent_circ IS NULL THEN 'circ' ELSE 'renew' END AS circ_renew,
+ CASE WHEN phone_renewal THEN 'phone' WHEN desk_renewal THEN 'desk' WHEN opac_renewal THEN 'opac' WHEN auto_renewal THEN 'auto' ELSE null END AS renewal_type,
+ CASE WHEN COALESCE(combcirc.checkin_time, now()) > combcirc.due_date THEN true ELSE false END AS is_overdue,
+
+ -- Copy info
+ acp.barcode AS copy_barcode,
+ acp.circ_modifier AS copy_circ_modifier_code,
+ ccm.name AS copy_circ_modifier_name,
+ acp.circ_lib AS copy_circ_lib_id,
+ acp.location AS location_id,
+ acpl.name AS location_name,
+ aoucp.shortname AS copy_circ_lib_shortname,
+ aoucp.name AS copy_circ_lib_name,
+ (actor.org_unit_ancestor_at_depth(copy_circ_lib, 1)).id AS copy_sys_id,
+ aoucps.shortname AS copy_sys_shortname,
+ aoucps.name AS copy_sys_name,
+ combcirc.copy_owning_lib AS copy_owning_lib_id,
+ aoucpo.shortname AS copy_owning_lib_shortname,
+ aoucpo.name AS copy_owning_lib_name,
+ TRIM(BOTH ' ' FROM concat_ws(' ', acnp.label, acn.label, acns.label)) AS copy_call_number_full,
+ acnp.label AS copy_call_number_prefix,
+ acn.label AS copy_call_number_label,
+ acns.label AS copy_call_number_suffix,
+ TRIM(BOTH ' ' FROM concat_ws(' ', acnp.label_sortkey, acn.label_sortkey, acns.label_sortkey)) AS copy_call_number_sortkey_full,
+ acnp.label_sortkey AS copy_call_number_prefix_sortkey,
+ acn.label_sortkey AS copy_call_number_label_sortkey,
+ acns.label_sortkey AS copy_call_number_suffix_sortkey,
+ COALESCE(rmsr.title, acp.dummy_title) AS title,
+ COALESCE(rmsr.author, acp.dummy_author) AS author,
+ rmsr.publisher AS publisher,
+ public.approximate_date(rmsr.pubdate, '0') AS pubdate,
+ array_to_string(rmsr.isbn, ', ') AS isbn,
+ array_to_string(rmsr.issn, ', ') AS issn,
+ part.label AS part_label,
+ part.label_sortkey AS part_label_sortkey,
+ acn.record AS bib_id,
+ rmsr.tcn_value AS tcn_value
+
+ FROM
+ action.all_circulation combcirc
+
+ -- User
+ INNER JOIN actor.org_unit aouuh ON (combcirc.usr_home_ou = aouuh.id)
+ LEFT JOIN actor.org_unit aouus ON ((actor.org_unit_ancestor_at_depth(combcirc.usr_home_ou, 1)).id = aouus.id)
+ LEFT JOIN permission.grp_tree pgtu ON (combcirc.usr_profile = pgtu.id)
+
+ -- Circ
+ LEFT JOIN actor.workstation awso ON (combcirc.workstation = awso.id)
+ LEFT JOIN actor.workstation awsi ON (combcirc.checkin_workstation = awsi.id)
+ INNER JOIN actor.org_unit aouco ON (combcirc.circ_lib = aouco.id)
+ LEFT JOIN actor.org_unit aouci ON (combcirc.checkin_lib = aouci.id)
+ LEFT JOIN actor.org_unit aoucos ON ((actor.org_unit_ancestor_at_depth(combcirc.circ_lib, 1)).id = aoucos.id)
+ LEFT JOIN actor.org_unit aoucis ON ((actor.org_unit_ancestor_at_depth(combcirc.checkin_lib, 1)).id = aouci.id)
+ LEFT JOIN actor.usr auco ON (combcirc.circ_staff = auco.id)
+ LEFT JOIN actor.usr auci ON (combcirc.checkin_staff = auci.id)
+
+ -- Copy / call / title
+ INNER JOIN asset.copy acp ON (combcirc.target_copy = acp.id)
+ INNER JOIN asset.copy_location acpl ON (acp.location = acpl.id)
+ INNER JOIN actor.org_unit aoucp ON (acp.circ_lib = aoucp.id)
+ LEFT JOIN actor.org_unit aoucps ON ((actor.org_unit_ancestor_at_depth(combcirc.copy_circ_lib, 1)).id = aoucps.id)
+ LEFT JOIN actor.org_unit aoucpo ON (combcirc.copy_owning_lib = aoucpo.id)
+ LEFT JOIN actor.org_unit aoucpos ON ((actor.org_unit_ancestor_at_depth(combcirc.copy_owning_lib, 1)).id = aoucpos.id)
+ LEFT JOIN config.circ_modifier ccm ON (acp.circ_modifier = ccm.code)
+ INNER JOIN asset.call_number acn ON (acp.call_number = acn.id)
+ INNER JOIN asset.call_number_prefix acnp ON (acn.prefix = acnp.id)
+ INNER JOIN asset.call_number_suffix acns ON (acn.suffix = acns.id)
+ LEFT JOIN reporter.materialized_simple_record rmsr ON (acn.record = rmsr.id)
+ LEFT JOIN (
+ SELECT bmp.record, bmp.label, bmp.label_sortkey, acmp.target_copy
+ FROM biblio.monograph_part bmp
+ INNER JOIN asset.copy_part_map acmp ON (acmp.part = bmp.id)
+ WHERE NOT bmp.deleted
+ ) part ON (part.record = acn.record AND part.target_copy = acp.id)
+ ]]></oils_persist:source_definition>
+ <field_groups>
+ <group name="common" reporter:label="Common Fields"/>
+ <group name="item" reporter:label="Item Fields"/>
+ <group name="user" reporter:label="Patron Fields"/>
+ <group name="title" reporter:label="Call Number and Title Fields"/>
+ <group name="org" reporter:label="Libraries"/>
+ </field_groups>
+ <fields oils_persist:primary="circ_id">
+ <field reporter:label="Circulation ID" name="circ_id" reporter:datatype="int" sr:suggest_transform="count_distinct" field_groups="common"/>
+ <field reporter:label="Patron Post Code" name="usr_post_code" reporter:datatype="text" field_groups="user"/>
+ <field reporter:label="Patron Birth Year" name="usr_bith_year" reporter:datatype="int" field_groups="user"/>
+ <field reporter:label="Patron Profile Group" name="usr_profile_id" sr:hide_from="display" reporter:datatype="link" field_groups="user,common" sr:suggest_filter="true"/>
+ <field reporter:label="Patron Profile Group" name="usr_profile" sr:hide_from="filter" reporter:datatype="text" field_groups="user,common"/>
+ <field reporter:label="Patron Home Library" name="usr_home_ou_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,user,common" sr:suggest_filter="true"/>
+ <field reporter:label="Patron Home Library Short (Policy) Name" sr:hide_from="filter" name="usr_home_ou_shortname" reporter:datatype="text" field_groups="org,user,common"/>
+ <field reporter:label="Patron Home Library Name" name="usr_home_ou_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,user,common"/>
+ <field reporter:label="Patron System Library" name="usr_sys_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,user,common" sr:suggest_filter="true"/>
+ <field reporter:label="Patron System Library Short (Policy) Name" name="usr_sys_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org,user"/>
+ <field reporter:label="Patron System Library Name" name="usr_sys_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,user"/>
+ <field reporter:label="Circulation Start Date/Time" name="xact_start" reporter:datatype="timestamp" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Start Year" name="xact_start_year" reporter:datatype="int"/>
+ <field reporter:label="Circulation Start Year and Month" name="xact_start_year_mon" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Circulation Start Date" name="xact_start_date" reporter:datatype="timestamp"/>
+ <field reporter:label="Checkout Library" name="circ_lib_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,common" sr:suggest_filter="true"/>
+ <field reporter:label="Checkout Library Short (Policy) Name" name="circ_lib_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org,common"/>
+ <field reporter:label="Checkout Library Name" name="circ_lib_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,common"/>
+ <field reporter:label="Checkout System" name="circ_sys_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org" sr:suggest_filter="true"/>
+ <field reporter:label="Checkout System Short (Policy) Name" name="circ_sys_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkout System Name" name="circ_sys_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkout Staff" name="circ_staff" reporter:datatype="text"/>
+ <field reporter:label="Checkout Workstation" name="checkout_workstation" reporter:datatype="text"/>
+ <field reporter:label="Due Date/Time" name="due_date" reporter:datatype="timestamp" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Due Date Year" name="due_date_year" reporter:datatype="int"/>
+ <field reporter:label="Due Date Year and Month" name="due_date_year_mon" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Due Date" name="due_date_date" reporter:datatype="text"/>
+ <field reporter:label="Circulation Finish Date/Time" name="xact_finish" reporter:datatype="timestamp"/>
+ <field reporter:label="Circulation Finish Year" name="xact_finish_year" reporter:datatype="int"/>
+ <field reporter:label="Circulation Finish Year and Month" name="xact_finish_year_mon" reporter:datatype="text"/>
+ <field reporter:label="Circulation Finish Date" name="xact_finish_date" reporter:datatype="text"/>
+ <field reporter:label="Checkin Library Short (Policy) Name" name="checkin_lib_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkin Library Name" name="checkin_lib_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkin Staff" name="checkin_staff" reporter:datatype="text"/>
+ <field reporter:label="Checkin Workstation" name="checkin_workstation" reporter:datatype="text"/>
+ <field reporter:label="Checkin System Short (Policy) Name" name="checkin_sys_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkin System Name" name="checkin_sys_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org"/>
+ <field reporter:label="Checkin Date/Time" name="checkin_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Remaining Renewals" name="renewal_remaining" reporter:datatype="int" sr:suggest_transform="sum" field_groups="common"/>
+ <field reporter:label="Remaining Autorenewals" name="auto_renewal_remaining" reporter:datatype="int" sr:suggest_transform="sum"/>
+ <field reporter:label="Grace Period" name="grace_period" reporter:datatype="interval"/>
+ <field reporter:label="Stop Fines Reason" name="stop_fines" reporter:datatype="text"/>
+ <field reporter:label="Stop Fines Date/Time" name="stop_fines_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Circulation Duration" name="duration" reporter:datatype="interval"/>
+ <field reporter:label="Fine Interval" name="fine_interval" reporter:datatype="interval"/>
+ <field reporter:label="Recurring Fine Amount" name="recurring_fine" reporter:datatype="money"/>
+ <field reporter:label="Max Fine Amount" name="max_fine" reporter:datatype="money"/>
+ <field reporter:label="Circulation Duration Rule" name="duration_rule" reporter:datatype="text"/>
+ <field reporter:label="Recurring Fine Rule" name="recurring_fine_rule" reporter:datatype="text"/>
+ <field reporter:label="Max Fine Rule" name="max_fine_rule" reporter:datatype="text"/>
+ <field reporter:label="Circulation or Renewal" name="circ_renew" reporter:datatype="text" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Renewal Type" name="renewal_type" reporter:datatype="text" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Overdue?" name="is_overdue" reporter:datatype="bool" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Item Barcode" name="copy_barcode" reporter:datatype="text" field_groups="item"/>
+ <field reporter:label="Shelving Location" name="location_id" sr:hide_from="display" reporter:datatype="link" field_groups="item,common" sr:suggest_filter="true"/>
+ <field reporter:label="Shelving Location" name="location_name" sr:hide_from="filter" reporter:datatype="text" field_groups="item,common"/>
+ <field reporter:label="Item Circulation Modifier Code" name="copy_circ_modifier_code" reporter:datatype="link" field_groups="item,common" sr:suggest_filter="true"/>
+ <field reporter:label="Item Circulation Modifier Name" name="copy_circ_modifier_name" reporter:datatype="text" field_groups="item"/>
+ <field reporter:label="Item Circulating Library" name="copy_circ_lib_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,item"/>
+ <field reporter:label="Item Circulating Library Short (Policy) Name" name="copy_circ_lib_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item"/>
+ <field reporter:label="Item Circulation Library Name" name="copy_circ_lib_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item"/>
+ <field reporter:label="Item System Library" name="copy_sys_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,item"/>
+ <field reporter:label="Item System Short (Policy) Name" name="copy_sys_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item"/>
+ <field reporter:label="Item System Name" name="copy_sys_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item"/>
+ <field reporter:label="Item Owning Library" name="copy_owning_lib_id" sr:hide_from="display" reporter:datatype="org_unit" field_groups="org,item" sr:suggest_filter="true"/>
+ <field reporter:label="Item Owning Library Short (Policy) Name" name="copy_owning_lib_shortname" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item,common"/>
+ <field reporter:label="Item Owning Library Name" name="copy_owning_lib_name" sr:hide_from="filter" reporter:datatype="text" field_groups="org,item,common"/>
+ <field reporter:label="Full Call Number" name="copy_call_number_full" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Prefix" name="copy_call_number_prefix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Label" name="copy_call_number_label" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Suffix" name="copy_call_number_suffix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Full Call Number Sortkey" name="copy_call_number_sortkey_full" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Prefix Sortkey" name="copy_call_number_prefix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Label Sortkey" name="copy_call_number_label_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Suffix Sortkey" name="copy_call_number_suffix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Dewey" name="copy_call_number_dewey" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Dewey Block Tens" name="copy_call_number_dewey_block_tens" reporter:datatype="text" field_groups="title,common" sr:suggest_filter="true"/>
+ <field reporter:label="Call Number Dewey Block Hundreds" name="copy_call_number_dewey_block_hundreds" reporter:datatype="text" field_groups="title,common" sr:suggest_filter="true"/>
+ <field reporter:label="Call Number Dewey Range Tens" name="copy_call_number_dewey_range_tens" reporter:datatype="text" field_groups="title,common" sr:suggest_filter="true"/>
+ <field reporter:label="Call Number Dewey Range Hundreds" name="copy_call_number_dewey_range_hundreds" reporter:datatype="text" field_groups="title,common" sr:suggest_filter="true"/>
+ <field reporter:label="Monographic Part" name="part_label" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Monographic Part Sortkey" name="part_label_sortkey" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Bibliographic Record ID" name="bib_id" reporter:datatype="int" field_groups="title"/>
+ <field reporter:label="TCN" name="tcn_value" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Title" name="title" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Author" name="author" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Publisher" name="publisher" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Publication Date" name="pubdate" reporter:datatype="int" field_groups="title"/>
+ <field reporter:label="ISBN" name="isbn" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="ISSN" name="issn" reporter:datatype="text" field_groups="title"/>
+ </fields>
+ <links>
+ <link field="usr_profile_id" reltype="has_a" key="id" map="" class="pgt"/>
+ <link sr:org_filter_field="owning_lib" field="location_id" reltype="has_a" key="id" map="" class="acpl"/>
+ <link field="copy_circ_modifier_code" reltype="might_have" key="code" map="" class="ccm"/>
+ </links>
+ </class>
+
+ <class id="srusr" controller="simple-reporter.ui" oils_persist:virtual="true" reporter:label="Simple Reporter Patrons">
+ <oils_persist:source_definition><![CDATA[
+ SELECT
+ au.home_ou AS home_ou_filter,
+ au.id AS user_id,
+ cardp.barcode AS barcode_primary,
+ au.usrname AS usrname,
+ au.email AS email,
+ CONCAT_WS(' ', au.prefix, au.first_given_name, au.second_given_name, au.family_name, au.suffix) AS full_name,
+ au.prefix AS prefix,
+ au.first_given_name AS first_given_name,
+ au.second_given_name AS second_given_name,
+ au.family_name AS family_name,
+ au.suffix AS suffix,
+ CONCAT_WS(' ', COALESCE(au.pref_prefix, au.prefix), COALESCE(au.pref_first_given_name, au.first_given_name),
+ COALESCE(au.pref_second_given_name, au.second_given_name), COALESCE(au.pref_family_name, au.family_name),
+ COALESCE(au.pref_suffix, au.suffix)) AS pref_full_name,
+ COALESCE(au.pref_prefix, au.prefix) AS pref_prefix,
+ COALESCE(au.pref_first_given_name, au.first_given_name) AS pref_first_given_name,
+ COALESCE(au.pref_second_given_name, au.second_given_name) AS pref_second_given_name,
+ COALESCE(au.pref_family_name, au.family_name) AS pref_family_name,
+ COALESCE(au.pref_suffix, au.suffix) AS pref_suffix,
+ au.profile AS profile_id,
+ pgt.name AS profile,
+ au.alias AS alias,
+ CONCAT_WS(', ', au.day_phone, au.evening_phone, au.other_phone) AS all_phone,
+ au.day_phone AS day_phone,
+ au.evening_phone AS evening_phone,
+ au.other_phone AS other_phone,
+ au.dob AS dob,
+ CAST(TO_CHAR(au.dob, 'YYYY') AS INTEGER) AS dob_year,
+ TO_CHAR(au.dob, 'YYYY-MM') AS dob_year_month,
+ EXTRACT('year' FROM DATE_TRUNC('year', AGE(au.dob))) AS dob_age_years,
+ au.active AS active,
+ au.barred AS barred,
+ au.deleted AS deleted,
+ au.juvenile AS juvenile,
+ au.claims_returned_count AS claims_returned_count,
+ au.credit_forward_balance AS credit_forward_balance,
+ au.create_date AS create_date,
+ CAST(TO_CHAR(au.create_date, 'YYYY') AS INTEGER) AS create_date_year,
+ TO_CHAR(au.create_date, 'YYYY-MM') AS create_date_year_mon,
+ TO_CHAR(au.create_date, 'YYYY-MM-DD') AS create_date_date,
+ au.expire_date AS expire_date,
+ CAST(TO_CHAR(au.expire_date, 'YYYY') AS INTEGER) AS expire_date_year,
+ TO_CHAR(au.expire_date, 'YYYY-MM') AS expire_date_year_mon,
+ TO_CHAR(au.expire_date, 'YYYY-MM-DD') AS expire_date_date,
+ au.claims_never_checked_out_count AS claims_never_checked_out_count,
+ au.last_update_time AS last_update_time,
+ au.home_ou AS home_ou_id,
+ aouh.shortname AS home_ou_shortname,
+ aouh.name AS home_ou_name,
+ (actor.org_unit_ancestor_at_depth(au.home_ou, 1)).id AS home_sys_id,
+ aous.shortname AS home_sys_shortname,
+ aous.name AS home_sys_name,
+ auam.valid AS mailing_valid,
+ auam.address_type AS mailing_address_type,
+ auam.street1 AS mailing_street1,
+ auam.street2 AS mailing_street2,
+ auam.city AS mailing_city,
+ auam.state AS mailing_state,
+ auam.country AS mailing_country,
+ auam.post_code AS mailing_post_code,
+ auam.county AS mailing_county,
+ auam.within_city_limits AS mailing_within_city_limits,
+ auam.pending AS mailing_pending,
+ CONCAT_WS(' ', CONCAT_WS(', ', auam.street1, auam.street2), CONCAT_WS(', ', auam.city, auam.state), auam.post_code) AS mailing_full,
+ auap.valid AS physical_valid,
+ auap.address_type AS physical_address_type,
+ auap.street1 AS physical_street1,
+ auap.street2 AS physical_street2,
+ auap.city AS physical_city,
+ auap.state AS physical_state,
+ auap.country AS physical_country,
+ auap.post_code AS physical_post_code,
+ auap.county AS physical_county,
+ auap.within_city_limits AS physical_within_city_limits,
+ auap.pending AS physical_pending,
+ CONCAT_WS(' ', CONCAT_WS(', ', auap.street1, auap.street2), CONCAT_WS(', ', auap.city, auap.state), auap.post_code) AS physical_full,
+ CASE WHEN aus_hold.value ~ 'phone' THEN TRUE ELSE FALSE END AS phone_notify,
+ CASE WHEN aus_hold.value ~ 'sms' THEN TRUE ELSE FALSE END AS sms_notify,
+ CASE WHEN aus_hold.value ~ 'email' THEN TRUE ELSE FALSE END AS email_notify,
+ CASE WHEN aus_coll.value ILIKE 'true' THEN TRUE ELSE FALSE END AS collections_exempt,
+ CASE WHEN aus_noti.value ILIKE 'true' THEN TRUE ELSE FALSE END AS notice_optin,
+ asceum1.stat_cat_entry AS legacy_stat_cat1,
+ asceum2.stat_cat_entry AS legacy_stat_cat2,
+
+ -- Pile up aggregates at the bottom to make the GROUP BY more manageable.
+ STRING_AGG(DISTINCT carda.barcode, ', ') AS barcode_active,
+ STRING_AGG(DISTINCT cards.barcode, ', ') AS barcode_all,
+ STRING_AGG(DISTINCT pgts.name, ', ') AS secondary_groups,
+ COUNT(DISTINCT CASE WHEN circ.checkin_time IS NULL AND circ.xact_finish IS NULL AND now() > circ.due_date THEN circ.id ELSE NULL END) AS circs_overdue,
+ COUNT(DISTINCT CASE WHEN circ.checkin_time IS NULL AND circ.xact_finish IS NULL THEN circ.id ELSE NULL END) AS circs_open
+
+ FROM
+ actor.usr au
+ INNER JOIN actor.org_unit aouh ON (au.home_ou = aouh.id)
+ INNER JOIN actor.org_unit aous ON ((actor.org_unit_ancestor_at_depth(au.home_ou, 1)).id = aous.id)
+ LEFT JOIN actor.card cardp ON (au.card = cardp.id)
+ LEFT JOIN actor.card carda ON (au.id = carda.usr AND carda.active)
+ LEFT JOIN actor.card cards ON (au.id = cards.usr)
+ INNER JOIN permission.grp_tree pgt ON (au.profile = pgt.id)
+ LEFT JOIN permission.usr_grp_map pugm ON (au.id = pugm.usr)
+ LEFT JOIN permission.grp_tree pgts ON (pugm.grp = pgts.id)
+ LEFT JOIN actor.usr_address auam ON (au.mailing_address = auam.id)
+ LEFT JOIN actor.usr_address auap ON (au.billing_address = auap.id)
+ LEFT JOIN action.circulation circ ON (au.id = circ.usr)
+ LEFT JOIN actor.usr_setting aus_hold ON (au.id = aus_hold.usr AND aus_hold.name = 'opac.hold_notify')
+ LEFT JOIN actor.usr_setting aus_coll ON (au.id = aus_coll.usr AND aus_coll.name = 'circ.collections.exempt')
+ LEFT JOIN actor.usr_setting aus_noti ON (au.id = aus_noti.usr AND aus_noti.name = 'circ.default_overdue_notices_enabled')
+ LEFT JOIN actor.stat_cat_entry_usr_map asceum1 ON (au.id = asceum1.target_usr AND asceum1.stat_cat = 1)
+ LEFT JOIN actor.stat_cat_entry_usr_map asceum2 ON (au.id = asceum2.target_usr AND asceum2.stat_cat = 2)
+
+ GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,
+ 76,77,78,79,80,81
+ ]]></oils_persist:source_definition>
+ <field_groups>
+ <group name="common" reporter:label="Common Fields"/>
+ <group name="name" reporter:label="Name Fields"/>
+ <group name="contact" reporter:label="Contact Fields"/>
+ <group name="address" reporter:label="Address Related Fields"/>
+ <group name="org" reporter:label="Libraries"/>
+ </field_groups>
+ <fields oils_persist:primary="user_id">
+ <field reporter:label="VIEW_USER Permission Verification" name="home_ou_filter" reporter:datatype="int"
+ sr:hide_from="display,filter" sr:force_transform="reporter.intersect_user_perm_ou,SR__USER_ID,VIEW_USER" sr:force_filter="true" sr:force_filtervalues="t"/>
+ <field reporter:label="User ID" name="user_id" reporter:datatype="int" sr:suggest_transform="count_distinct" field_groups="common"/>
+ <field reporter:label="Primary Barcode" name="barcode_primary" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="OPAC/Staff Client User Name" name="usrname" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Email" name="email" reporter:datatype="text" field_groups="contact,common"/>
+ <field reporter:label="Full Name" name="full_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Prefix" name="prefix" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="First Name" name="first_given_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Middle Name" name="second_given_name" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="Last Name" name="family_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Suffix" name="suffix" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="Full Preferred Name" name="pref_full_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Preferred Prefix" name="pref_prefix" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="Preferred First Name" name="pref_first_given_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Preferred Middle Name" name="pref_second_given_name" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="Preferred Last Name" name="pref_family_name" reporter:datatype="text" field_groups="name,common"/>
+ <field reporter:label="Preferred Suffix" name="pref_suffix" reporter:datatype="text" field_groups="name"/>
+ <field reporter:label="Main (Profile) Permission Group" name="profile_id" reporter:datatype="link" sr:hide_from="display" sr:suggest_filter="true"/>
+ <field reporter:label="Main (Profile) Permission Group" name="profile" reporter:datatype="text" sr:hide_from="filter" field_groups="common"/>
+ <field reporter:label="OPAC/Staff Client Holds Alias" name="alias" reporter:datatype="text" field_groups="common,name"/>
+ <field reporter:label="All Phone Numbers" name="all_phone" reporter:datatype="text" field_groups="contact"/>
+ <field reporter:label="Daytime Phone" name="day_phone" reporter:datatype="text" field_groups="contact,common"/>
+ <field reporter:label="Evening Phone" name="evening_phone" reporter:datatype="text" field_groups="contact"/>
+ <field reporter:label="Other Phone" name="other_phone" reporter:datatype="text" field_groups="contact"/>
+ <field reporter:label="Date of Birth" name="dob" reporter:datatype="timestamp"/>
+ <field reporter:label="Birth Year" name="dob_year" reporter:datatype="int"/>
+ <field reporter:label="Birth Year and Month" name="dob_year_month" reporter:datatype="text"/>
+ <field reporter:label="Age" name="dob_age_years" reporter:datatype="int"/>
+ <field reporter:label="Active?" name="active" reporter:datatype="bool" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Barred?" name="barred" reporter:datatype="bool" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Deleted?" name="deleted" reporter:datatype="bool" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Juvenile?" name="juvenile" reporter:datatype="bool" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Claims-returned Count" name="claims_returned_count" reporter:datatype="int" sr:suggest_transform="sum"/>
+ <field reporter:label="User Credit Balance" name="credit_forward_balance" reporter:datatype="money"/>
+ <field reporter:label="Record Creation Date/Time" name="create_date" reporter:datatype="timestamp"/>
+ <field reporter:label="Record Creation Year" name="create_date_year" reporter:datatype="int"/>
+ <field reporter:label="Record Creation Year and Month" name="create_date_year_mon" reporter:datatype="text"/>
+ <field reporter:label="Record Creation Date" name="create_date_date" reporter:datatype="text"/>
+ <field reporter:label="Privilege Expiration Date/Time" name="expire_date" reporter:datatype="timestamp" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Privilege Expiration Year" name="expire_date_year" reporter:datatype="int"/>
+ <field reporter:label="Privilege Expiration Year and Month" name="expire_date_year_mon" sr:suggest_filter="true" reporter:datatype="text"/>
+ <field reporter:label="Privilege Expiration Date" name="expire_date_date" reporter:datatype="text"/>
+ <field reporter:label="Claims Never Checked Out Count" name="claims_never_checked_out_count" reporter:datatype="int" sr:suggest_transform="sum"/>
+ <field reporter:label="Record Last Update Time" name="last_update_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Home Library" name="home_ou_id" reporter:datatype="org_unit" sr:suggest_filter="true" sr:hide_from="display" field_groups="org,common"/>
+ <field reporter:label="Home Library Short (Policy) Name" name="home_ou_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Home Library Name" name="home_ou_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Home System" name="home_sys_id" reporter:datatype="org_unit" sr:suggest_filter="true" sr:hide_from="display" field_groups="org,common"/>
+ <field reporter:label="Home System Short (Policy) Name" name="home_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Home System Name" name="home_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Mailing Address Valid?" name="mailing_valid" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Mailing Address Type" name="mailing_address_type" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address Street1" name="mailing_street1" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address Street2" name="mailing_street2" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address City" name="mailing_city" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address State" name="mailing_state" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address Country" name="mailing_country" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address Postal Code" name="mailing_post_code" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address County" name="mailing_county" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Mailing Address Within City Limits?" name="mailing_within_city_limits" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Mailing Address Pending?" name="mailing_pending" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Full Mailing Address" name="mailing_full" reporter:datatype="text" field_groups="address,common"/>
+ <field reporter:label="Physical Address Valid?" name="physical_valid" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Physical Address Type" name="physical_address_type" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Street1" name="physical_street1" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Street2" name="physical_street2" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address City" name="physical_city" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address State" name="physical_state" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Country" name="physical_country" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Postal Code" name="physical_post_code" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Country" name="physical_county" reporter:datatype="text" field_groups="address"/>
+ <field reporter:label="Physical Address Within City Limits?" name="physical_within_city_limits" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Physical Address Pending?" name="physical_pending" reporter:datatype="bool" field_groups="address"/>
+ <field reporter:label="Full Physical Address" name="physical_full" reporter:datatype="text" field_groups="address,common"/>
+ <field reporter:label="Hold Notifications: Phone?" name="phone_notify" reporter:datatype="bool" field_groups="contact"/>
+ <field reporter:label="Hold Notifications: SMS?" name="sms_notify" reporter:datatype="bool" field_groups="contact"/>
+ <field reporter:label="Hold Notifications: Email?" name="email_notify" reporter:datatype="bool" field_groups="contact"/>
+ <field reporter:label="Collections Exempt?" name="collections_exempt" reporter:datatype="bool"/>
+ <field reporter:label="Email Notice Opt-in?" name="notice_optin" reporter:datatype="bool"/>
+ <field reporter:label="Legacy Stat Cat 1" name="legacy_stat_cat1" reporter:datatype="text"/>
+ <field reporter:label="Legacy Stat Cat 2" name="legacy_stat_cat2" reporter:datatype="text"/>
+ <field reporter:label="All Active Barcodes" name="barcode_active" reporter:datatype="text" sr:suggest_operator="contains"/>
+ <field reporter:label="All Barcodes" name="barcode_all" reporter:datatype="text" sr:suggest_operator="contains"/>
+ <field reporter:label="Secondary Permission Groups" name="secondary_groups" reporter:datatype="text" sr:suggest_operator="contains"/>
+ <field reporter:label="Overdue Circulations" name="circs_overdue" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Open Circulations" name="circs_open" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ </fields>
+ <links>
+ <link field="profile_id" reltype="has_a" key="id" map="" class="pgt"/>
+ </links>
+ </class>
+
+ <class id="srcp" controller="simple-reporter.ui" oils_persist:virtual="true" reporter:label="Simple Reporter Collections">
+ <oils_persist:source_definition><![CDATA[
+ SELECT
+ -- ids
+ acp.id AS copy_id,
+ acp.floating AS floating_id,
+ acn.id AS acn_id,
+ acp.circ_lib AS circ_lib_id,
+ acp.status AS status_id,
+ acp.location AS location_id,
+ acp.age_protect AS age_protect_id,
+ aous.id AS circ_sys_id,
+ acn.owning_lib AS owning_lib_id,
+ aouos.id AS owning_sys_id,
+ awsi.id AS inv_workstation_id,
+
+ -- OUs
+ aou.shortname AS circ_lib_shortname,
+ aou.name AS circ_lib_name,
+ aous.shortname AS circ_sys_shortname,
+ aous.name AS circ_sys_name,
+ aouo.shortname AS owning_lib_shortname,
+ aouo.name AS owning_lib_name,
+ aouos.shortname AS owning_sys_shortname,
+ aouos.name AS owning_sys_name,
+
+ -- dates
+ acp.create_date AS create_date_time,
+ CAST(TO_CHAR(acp.create_date, 'YYYY') AS INTEGER) AS create_date_year,
+ TO_CHAR(acp.create_date, 'YYYY-MM') AS create_date_year_mon,
+ TO_CHAR(acp.create_date, 'YYYY-MM-DD') AS create_date_date,
+ acp.active_date AS active_date_time,
+ CAST(TO_CHAR(acp.active_date, 'YYYY') AS INTEGER) AS active_date_year,
+ TO_CHAR(acp.active_date, 'YYYY-MM') AS active_date_year_mon,
+ TO_CHAR(acp.active_date, 'YYYY-MM-DD') AS active_date_date,
+ acp.edit_date AS edit_date_time,
+ CAST(TO_CHAR(acp.edit_date, 'YYYY') AS INTEGER) AS edit_date_year,
+ TO_CHAR(acp.edit_date, 'YYYY-MM') AS edit_date_year_mon,
+ TO_CHAR(acp.edit_date, 'YYYY-MM-DD') AS edit_date_date,
+ acp.status_changed_time AS status_changed_time_time,
+ CAST(TO_CHAR(acp.status_changed_time, 'YYYY') AS INTEGER) AS status_changed_year,
+ TO_CHAR(acp.status_changed_time, 'YYYY-MM') AS status_changed_year_mon,
+ TO_CHAR(acp.status_changed_time, 'YYYY-MM-DD') AS status_changed_date,
+ ali.inventory_date AS latest_inv_date,
+ CAST(TO_CHAR(ali.inventory_date, 'YYYY') AS INTEGER) AS latest_inv_date_year,
+ TO_CHAR(ali.inventory_date, 'YYYY-MM') AS latest_inv_date_year_mon,
+ TO_CHAR(ali.inventory_date, 'YYYY-MM-DD') AS latest_inv_date_date,
+
+ -- acp
+ acp.barcode AS barcode,
+ ccs.name AS status,
+ acpl.name AS location_name,
+ acp.circ_modifier AS copy_circ_modifier_code,
+ ccm.name AS copy_circ_modifier_name,
+ acp.price AS price,
+ acp.cost AS acq_price,
+ acp.deleted AS copy_deleted,
+ acp.ref AS reference,
+ acp.circulate AS copy_circulate,
+ (acp.circulate AND acpl.circulate) AS circulate,
+ acp.holdable AS copy_holdable,
+ acp.deposit AS deposit,
+ acp.deposit_amount AS deposit_amount,
+ acp.alert_message AS alert_message,
+ acp.opac_visible AS copy_opac_visible,
+ (acp.opac_visible AND ccs.opac_visible) AS opac_visible,
+ crahp.name AS age_protect,
+ CASE WHEN acp.age_protect IS NULL THEN FALSE ELSE (now() - crahp.age) < acp.active_date END AS under_age_protection,
+ (acp.holdable AND ccs.holdable AND acpl.holdable) AS holdable,
+ acp.copy_number AS copy_number,
+ acp.circ_as_type AS circ_as_type,
+ acp.loan_duration AS loan_duration_int,
+ CASE acp.loan_duration WHEN 1 THEN 'short' WHEN 2 THEN 'medium' ELSE 'long' END AS loan_duration,
+ acp.fine_level AS fine_level_int,
+ CASE acp.fine_level WHEN 1 THEN 'low' WHEN 2 THEN 'medium' ELSE 'high' END AS fine_level,
+
+ -- Call Number
+ TRIM(BOTH ' ' FROM CONCAT_WS(' ', acnp.label, acn.label, acns.label)) AS copy_call_number_full,
+ acnp.label AS copy_call_number_prefix,
+ acn.label AS copy_call_number_label,
+ acns.label AS copy_call_number_suffix,
+ TRIM(BOTH ' ' FROM concat_ws(' ', acnp.label_sortkey, acn.label_sortkey, acns.label_sortkey)) AS copy_call_number_sortkey_full,
+ acnp.label_sortkey AS copy_call_number_prefix_sortkey,
+ acn.label_sortkey AS copy_call_number_label_sortkey,
+ acns.label_sortkey AS copy_call_number_suffix_sortkey,
+ racnd.dewey AS call_number_dewey,
+ racnd.dewey_block_tens AS call_number_dewey_block_tens,
+ racnd.dewey_block_hundreds AS call_number_dewey_block_hundreds,
+ racnd.dewey_range_tens AS call_number_dewey_range_tens,
+ racnd.dewey_range_hundreds AS call_number_dewey_range_hundreds,
+
+ -- Misc
+ COALESCE(rmsr.title, acp.dummy_title) AS title,
+ COALESCE(rmsr.author, acp.dummy_author) AS author,
+ rmsr.publisher AS publisher,
+ public.approximate_date(rmsr.pubdate, '0') AS pubdate,
+ COALESCE(array_to_string(rmsr.isbn, ', '), acp.dummy_isbn) AS isbn,
+ array_to_string(rmsr.issn, ', ') AS issn,
+ part.label AS part_label,
+ part.label_sortkey AS part_label_sortkey,
+ acn.record AS bib_id,
+ rmsr.tcn_value AS tcn_value,
+ acn.deleted AS call_deleted,
+ bre.deleted AS bib_deleted,
+ ccs.holdable AS status_holdable,
+ acpl.holdable AS location_holdable,
+ acp.circulate AS location_circulate,
+ awsi.name AS inventory_workstation,
+ aucr.usrname AS creating_user,
+ aued.usrname AS editing_user,
+
+ -- Aggregates
+ -- may decide these price games aren't worth it, but estimated collection value is useful and missing prices are not.
+ COALESCE(acp.cost, acp.price, (select first(value::numeric(8,2)) from actor.org_unit_ancestor_setting('cat.default_item_price', acp.circ_lib)), 5.00) AS est_price,
+ COUNT(DISTINCT combcirc.id) AS circ_total,
+ STRING_AGG(mfde_subj.value, ', ') AS bib_subjects
+
+ FROM
+ asset.copy acp
+ LEFT JOIN config.circ_modifier ccm ON (acp.circ_modifier = ccm.code)
+ INNER JOIN asset.call_number acn ON (acp.call_number = acn.id)
+ LEFT JOIN reporter.asset_call_number_dewey racnd ON (acn.id = racnd.call_number)
+ INNER JOIN config.copy_status ccs ON (acp.status = ccs.id)
+ LEFT JOIN config.rule_age_hold_protect crahp ON (acp.age_protect = crahp.id)
+ INNER JOIN asset.copy_location acpl ON (acp.location = acpl.id)
+ INNER JOIN asset.call_number_prefix acnp ON (acn.prefix = acnp.id)
+ INNER JOIN asset.call_number_suffix acns ON (acn.suffix = acns.id)
+ LEFT JOIN asset.latest_inventory ali ON (acp.id = ali.copy)
+ LEFT JOIN actor.workstation awsi ON (ali.inventory_workstation = awsi.id)
+ LEFT JOIN reporter.materialized_simple_record rmsr ON (acn.record = rmsr.id)
+ INNER JOIN actor.org_unit aou ON (acp.circ_lib = aou.id)
+ LEFT JOIN actor.org_unit aous ON ((actor.org_unit_ancestor_at_depth(acp.circ_lib, 1)).id = aous.id)
+ INNER JOIN actor.org_unit aouo ON (acn.owning_lib = aouo.id)
+ LEFT JOIN actor.org_unit aouos ON ((actor.org_unit_ancestor_at_depth(acn.owning_lib, 1)).id = aouos.id)
+ INNER JOIN biblio.record_entry bre ON (acn.record = bre.id)
+ LEFT JOIN metabib.flat_display_entry mfde_subj ON (acn.record = mfde_subj.source AND mfde_subj.name = 'subject')
+ LEFT JOIN action.all_circulation combcirc ON (acp.id = combcirc.target_copy)
+ INNER JOIN actor.usr aucr ON (acp.creator = aucr.id)
+ INNER JOIN actor.usr aued ON (acp.editor = aued.id)
+ LEFT JOIN (
+ SELECT bmp.record, bmp.label, bmp.label_sortkey, acmp.target_copy
+ FROM biblio.monograph_part bmp
+ INNER JOIN asset.copy_part_map acmp ON (acmp.part = bmp.id)
+ WHERE NOT bmp.deleted
+ ) part ON (part.record = acn.record AND part.target_copy = acp.id)
+
+ GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,
+ 76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+ 91,92,93,94,95,96
+
+ ]]></oils_persist:source_definition>
+ <field_groups>
+ <group name="common" reporter:label="Common Fields"/>
+ <group name="dates" reporter:label="Date Fields"/>
+ <group name="title" reporter:label="Call Number and Title Fields"/>
+ <group name="org" reporter:label="Libraries"/>
+ </field_groups>
+ <fields oils_persist:primary="copy_id">
+ <field reporter:label="Item ID" name="copy_id" reporter:datatype="int" sr:suggest_transform="count_distinct"/>
+ <field reporter:label="Floating Group" name="floating_id" reporter:datatype="link" sr:hide_from="display"/>
+ <field reporter:label="Call Number" name="acn_id" reporter:datatype="int" sr:hide_from="display"/>
+ <field reporter:label="Circulating Library" name="circ_lib_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org" sr:suggest_filter="true"/>
+ <field reporter:label="Item Status" name="status_id" reporter:datatype="link" sr:hide_from="display" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Shelving Location" name="location_id" reporter:datatype="link" sr:hide_from="display" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Age Protection" name="age_protect_id" reporter:datatype="link" sr:hide_from="display"/>
+ <field reporter:label="Circulating System" name="circ_sys_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org"/>
+ <field reporter:label="Owning Library" name="owning_lib_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common" sr:suggest_filter="true"/>
+ <field reporter:label="Owning System" name="owning_sys_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common" sr:suggest_filter="true"/>
+ <field reporter:label="Inventory Workstation" name="inv_workstation_id" reporter:datatype="link" sr:hide_from="display"/>
+ <field reporter:label="Circulating Library Short (Policy) Name" name="circ_lib_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Circulating Library Name" name="circ_lib_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Circulating System Short (Policy) Name" name="circ_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Circulating System Name" name="circ_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Owning Library Short (Policy) Name" name="owning_lib_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Owning Library Name" name="owning_lib_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Owning System Short (Policy) Name" name="owning_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Owning System Name" name="owning_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Item Create Date/Time" name="create_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Create Year" name="create_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Create Year and Month" name="create_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Create Date" name="create_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Active Date/Time" name="active_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Active Year" name="active_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Active Year and Month" name="active_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Active Date" name="active_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Edit Date/Time" name="edit_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Edit Year" name="edit_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Edit Year and Month" name="edit_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Edit Date" name="edit_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Date/Time" name="status_changed_time_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Year" name="status_changed_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Year and Month" name="status_changed_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Date" name="status_changed_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Latest Inventory Date/Time" name="latest_inv_date" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Latest Inventory Year" name="latest_inv_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Latest Inventory Year and Month" name="latest_inv_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Latest Inventory Date" name="latest_inv_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Barcode" name="barcode" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Item Status" name="status" reporter:datatype="text" sr:hide_from="filter" field_groups="common"/>
+ <field reporter:label="Shelving Location" name="location_name" reporter:datatype="text" sr:hide_from="filter" field_groups="common"/>
+ <field reporter:label="Circulation Modifier Code" name="copy_circ_modifier_code" reporter:datatype="link" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Circulation Modifier Name" name="copy_circ_modifier_name" reporter:datatype="text" sr:hide_from="filter" field_groups="common"/>
+ <field reporter:label="Price" name="price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Acquisition Cost" name="acq_price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Item Deleted?" name="copy_deleted" reporter:datatype="bool" sr:suggest_filter="true"/>
+ <field reporter:label="Reference?" name="reference" reporter:datatype="bool"/>
+ <field reporter:label="Item Circulate?" name="copy_circulate" reporter:datatype="bool"/>
+ <field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
+ <field reporter:label="Item Holdable?" name="copy_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Deposit?" name="deposit" reporter:datatype="bool"/>
+ <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Alert Message" name="alert_message" reporter:datatype="text"/>
+ <field reporter:label="Item OPAC Visible?" name="copy_opac_visible" reporter:datatype="bool"/>
+ <field reporter:label="OPAC Visible?" name="opac_visible" reporter:datatype="bool"/>
+ <field reporter:label="Age Protection" name="age_protect" reporter:datatype="text" sr:hide_from="filter"/>
+ <field reporter:label="Currently Age Protected?" name="under_age_protection" reporter:datatype="bool" field_groups="common"/>
+ <field reporter:label="Holdable?" name="holdable" reporter:datatype="bool" field_groups="common"/>
+ <field reporter:label="Item Number" name="copy_number" reporter:datatype="int"/>
+ <field reporter:label="Circ as Type" name="circ_as_type" reporter:datatype="text"/>
+ <field reporter:label="Loan Duration Value" name="loan_duration_int" reporter:datatype="int"/>
+ <field reporter:label="Loan Duration" name="loan_duration" reporter:datatype="text"/>
+ <field reporter:label="Fine Level Value" name="fine_level_int" reporter:datatype="int"/>
+ <field reporter:label="Fine Level" name="fine_level" reporter:datatype="text"/>
+ <field reporter:label="Creating User" name="creating_user" reporter:datatype="text"/>
+ <field reporter:label="Editing User" name="editing_user" reporter:datatype="text"/>
+ <field reporter:label="Full Call Number" name="copy_call_number_full" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Prefix" name="copy_call_number_prefix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Label" name="copy_call_number_label" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Suffix" name="copy_call_number_suffix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Full Call Number Sortkey" name="copy_call_number_sortkey_full" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Prefix Sortkey" name="copy_call_number_prefix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Label Sortkey" name="copy_call_number_label_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Suffix Sortkey" name="copy_call_number_suffix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Title" name="title" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Author" name="author" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Publisher" name="publisher" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Publication Year" name="pubdate" reporter:datatype="int" field_groups="title"/>
+ <field reporter:label="ISBN" name="isbn" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="ISSN" name="issn" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Monographic Part" name="part_label" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Monographic Part Sortkey" name="part_label_sortkey" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Bibliographic Record ID" name="bib_id" reporter:datatype="int" field_groups="title,common"/>
+ <field reporter:label="TCN" name="tcn_value" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Deleted?" name="call_deleted" reporter:datatype="bool" sr:suggest_filter="true"/>
+ <field reporter:label="Bibliographic Record Deleted?" name="bib_deleted" reporter:datatype="bool" sr:suggest_filter="true"/>
+ <field reporter:label="Item Status Holdable?" name="status_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Shelving Location Holdable?" name="location_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Shelving Location Circulate?" name="location_circulate" reporter:datatype="bool"/>
+ <field reporter:label="Latest Inventory Workstation" name="inventory_workstation" reporter:datatype="text"/>
+ <field reporter:label="Estimated Price" name="est_price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Total Circulations" name="circ_total" reporter:datatype="int" sr:suggest_transform="sum" field_groups="common"/>
+ <field reporter:label="All Bibliographic Record Subjects" name="bib_subjects" reporter:datatype="text" sr:suggest_operator="contains"/>
+ </fields>
+ <links>
+ <link field="floating_id" reltype="might_have" key="id" map="" class="cfg"/>
+ <link field="status_id" reltype="has_a" key="id" map="" class="ccs"/>
+ <link sr:org_filter_field="owning_lib" field="location_id" reltype="has_a" key="id" map="" class="acpl"/>
+ <link field="copy_circ_modifier_code" reltype="might_have" key="code" map="" class="ccm"/>
+ <link field="age_protect_id" reltype="might_have" key="id" map="" class="crahp"/>
+ <link field="inv_workstation_id" reltype="might_have" key="id" map="" class="aws"/>
+ </links>
+ </class>
+
+ <class id="srwd" controller="simple-reporter.ui" oils_persist:virtual="true" reporter:label="Simple Reporter Weeding">
+ <oils_persist:source_definition><![CDATA[
+
+ SELECT
+ -- ids
+ acp.id AS copy_id,
+ acn.id AS acn_id,
+ acp.circ_lib AS circ_lib_id,
+ acp.status AS status_id,
+ acp.location AS location_id,
+ acp.age_protect AS age_protect_id,
+ aous.id AS circ_sys_id,
+ acn.owning_lib AS owning_lib_id,
+ aouos.id AS owning_sys_id,
+ awsi.id AS inv_workstation_id,
+
+ -- OUs
+ aou.shortname AS circ_lib_shortname,
+ aou.name AS circ_lib_name,
+ aous.shortname AS circ_sys_shortname,
+ aous.name AS circ_sys_name,
+ aouo.shortname AS owning_lib_shortname,
+ aouo.name AS owning_lib_name,
+ aouos.shortname AS owning_sys_shortname,
+ aouos.name AS owning_sys_name,
+
+ -- dates
+ acp.create_date AS create_date_time,
+ (EXTRACT(EPOCH FROM AGE(acp.create_date)) / 86400) AS item_age_days,
+ (EXTRACT(YEAR FROM AGE(acp.create_date)) * 12) + EXTRACT(MONTH FROM AGE(acp.create_date)) AS item_age_months,
+ EXTRACT(YEAR FROM AGE(acp.create_date)) AS item_age_years,
+ CAST(TO_CHAR(acp.create_date, 'YYYY') AS INTEGER) AS create_date_year,
+ TO_CHAR(acp.create_date, 'YYYY-MM') AS create_date_year_mon,
+ TO_CHAR(acp.create_date, 'YYYY-MM-DD') AS create_date_date,
+ acp.active_date AS active_date_time,
+ (EXTRACT(EPOCH FROM AGE(acp.active_date)) / 86400) AS item_active_days,
+ EXTRACT(YEAR FROM AGE(acp.active_date)) * 12 + EXTRACT(MONTH FROM AGE(acp.active_date)) AS item_active_months,
+ EXTRACT(YEAR FROM AGE(acp.active_date)) AS item_active_years,
+ CAST(TO_CHAR(acp.active_date, 'YYYY') AS INTEGER) AS active_date_year,
+ TO_CHAR(acp.active_date, 'YYYY-MM') AS active_date_year_mon,
+ TO_CHAR(acp.active_date, 'YYYY-MM-DD') AS active_date_date,
+ acp.edit_date AS edit_date_time,
+ (EXTRACT(EPOCH FROM AGE(acp.edit_date)) / 86400) AS item_edit_age_days,
+ (EXTRACT(YEAR FROM AGE(acp.edit_date)) * 12) + EXTRACT(MONTH FROM AGE(acp.edit_date)) AS item_edit_age_months,
+ EXTRACT(YEAR FROM AGE(acp.edit_date)) AS item_edit_age_years,
+ CAST(TO_CHAR(acp.edit_date, 'YYYY') AS INTEGER) AS edit_date_year,
+ TO_CHAR(acp.edit_date, 'YYYY-MM') AS edit_date_year_mon,
+ TO_CHAR(acp.edit_date, 'YYYY-MM-DD') AS edit_date_date,
+ acp.status_changed_time AS status_changed_time_time,
+ CAST(TO_CHAR(acp.status_changed_time, 'YYYY') AS INTEGER) AS status_changed_year,
+ TO_CHAR(acp.status_changed_time, 'YYYY-MM') AS status_changed_year_mon,
+ TO_CHAR(acp.status_changed_time, 'YYYY-MM-DD') AS status_changed_date,
+ ali.inventory_date AS latest_inv_date,
+ (EXTRACT(EPOCH FROM AGE(ali.inventory_date)) / 86400) AS inventory_age_days,
+ EXTRACT(YEAR FROM AGE(ali.inventory_date)) * 12 + EXTRACT(MONTH FROM AGE(ali.inventory_date)) AS inventory_age_months,
+ EXTRACT(YEAR FROM AGE(ali.inventory_date)) AS inventory_age_years,
+ CAST(TO_CHAR(ali.inventory_date, 'YYYY') AS INTEGER) AS inv_date_year,
+ TO_CHAR(ali.inventory_date, 'YYYY-MM') AS inv_date_year_mon,
+ TO_CHAR(ali.inventory_date, 'YYYY-MM-DD') AS inv_date_date,
+
+ -- acp
+ acp.barcode AS barcode,
+ ccs.name AS status,
+ acpl.name AS location_name,
+ acp.circ_modifier AS circ_modifier_code,
+ ccm.name AS circ_modifier_name,
+ acp.price AS price,
+ acp.cost AS acq_price,
+ acp.deleted AS copy_deleted,
+ acp.ref AS reference,
+ acp.circulate AS copy_circulate,
+ (acp.circulate AND acpl.circulate) AS circulate,
+ acp.holdable AS copy_holdable,
+ acp.deposit AS deposit,
+ acp.deposit_amount AS deposit_amount,
+ acp.alert_message AS alert_message,
+ acp.opac_visible AS copy_opac_visible,
+ (acp.opac_visible AND ccs.opac_visible) AS opac_visible,
+ crahp.name AS age_protect,
+ CASE WHEN acp.age_protect IS NULL THEN FALSE ELSE (now() - crahp.age) < acp.active_date END AS under_age_protection,
+ (acp.holdable AND ccs.holdable AND acpl.holdable) AS holdable,
+ acp.copy_number AS copy_number,
+ acp.circ_as_type AS circ_as_type,
+ acp.loan_duration AS loan_duration_int,
+ CASE acp.loan_duration WHEN 1 THEN 'short' WHEN 2 THEN 'medium' ELSE 'long' END AS loan_duration,
+ acp.fine_level AS fine_level_int,
+ CASE acp.fine_level WHEN 1 THEN 'low' WHEN 2 THEN 'medium' ELSE 'high' END AS fine_level,
+
+ -- Call Number
+ TRIM(BOTH ' ' FROM CONCAT_WS(' ', acnp.label, acn.label, acns.label)) AS copy_call_number_full,
+ acnp.label AS copy_call_number_prefix,
+ acn.label AS copy_call_number_label,
+ acns.label AS copy_call_number_suffix,
+ TRIM(BOTH ' ' FROM concat_ws(' ', acnp.label_sortkey, acn.label_sortkey, acns.label_sortkey)) AS copy_call_number_sortkey_full,
+ acnp.label_sortkey AS copy_call_number_prefix_sortkey,
+ acn.label_sortkey AS copy_call_number_label_sortkey,
+ acns.label_sortkey AS copy_call_number_suffix_sortkey,
+ racnd.dewey AS call_number_dewey,
+ racnd.dewey_block_tens AS call_number_dewey_block_tens,
+ racnd.dewey_block_hundreds AS call_number_dewey_block_hundreds,
+ racnd.dewey_range_tens AS call_number_dewey_range_tens,
+ racnd.dewey_range_hundreds AS call_number_dewey_range_hundreds,
+
+ -- Misc
+ COALESCE(rmsr.title, acp.dummy_title) AS title,
+ COALESCE(rmsr.author, acp.dummy_author) AS author,
+ rmsr.publisher AS publisher,
+ public.approximate_date(rmsr.pubdate, '0') AS pubdate,
+ COALESCE(array_to_string(rmsr.isbn, ', '), acp.dummy_isbn) AS isbn,
+ array_to_string(rmsr.issn, ', ') AS issn,
+ part.label AS part_label,
+ part.label_sortkey AS part_label_sortkey,
+ acn.record AS bib_id,
+ rmsr.tcn_value AS tcn_value,
+ acn.deleted AS call_deleted,
+ bre.deleted AS bib_deleted,
+ ccs.holdable AS status_holdable,
+ acpl.holdable AS location_holdable,
+ acp.circulate AS location_circulate,
+ awsi.name AS inventory_workstation,
+
+ -- Aggregates
+ -- may decide these price games aren't worth it, but estimated collection value is useful
+ COALESCE(acp.cost, acp.price, (select first(value::numeric(8,2)) from actor.org_unit_ancestor_setting('cat.default_item_price', acp.circ_lib)), 5.00) AS est_price,
+ STRING_AGG(mfde_subj.value, ', ') AS bib_subjects,
+ MAX(combcirc.xact_start) AS last_circ_datetime,
+ (EXTRACT(EPOCH FROM AGE(MAX(combcirc.xact_start))) / 86400) AS last_circ_age_days,
+ (EXTRACT(YEAR FROM AGE(MAX(combcirc.xact_start))) * 12) + EXTRACT(MONTH FROM AGE(MAX(combcirc.xact_start))) AS last_circ_age_months,
+ EXTRACT(YEAR FROM AGE(MAX(combcirc.xact_start))) AS last_circ_age_years,
+ CAST(TO_CHAR(MAX(combcirc.xact_start), 'YYYY') AS INTEGER) AS last_circ_year,
+ TO_CHAR(MAX(combcirc.xact_start), 'YYYY-MM') AS last_circ_year_mon,
+ TO_CHAR(MAX(combcirc.xact_start), 'YYYY-MM-DD') AS last_circ_date,
+ COALESCE(MAX(combcirc.xact_start), acp.create_date) AS last_circ_create_datetime,
+ (EXTRACT(EPOCH FROM AGE(COALESCE(MAX(combcirc.xact_start), acp.create_date))) / 86400) AS last_circ_create_age_days,
+ (EXTRACT(YEAR FROM AGE(COALESCE(MAX(combcirc.xact_start), acp.create_date))) * 12) + EXTRACT(MONTH FROM AGE(COALESCE(MAX(combcirc.xact_start), acp.create_date))) AS last_circ_create_age_months,
+ EXTRACT(YEAR FROM AGE(COALESCE(MAX(combcirc.xact_start), acp.create_date))) AS last_circ_create_age_years,
+ CAST(TO_CHAR(COALESCE(MAX(combcirc.xact_start), acp.create_date), 'YYYY') AS INTEGER) AS last_circ_create_year,
+ TO_CHAR(COALESCE(MAX(combcirc.xact_start), acp.create_date), 'YYYY-MM') AS last_circ_create_year_mon,
+ TO_CHAR(COALESCE(MAX(combcirc.xact_start), acp.create_date), 'YYYY-MM-DD') AS last_circ_create_date,
+ COUNT(DISTINCT combcirc.id) AS circ_total, -- good for finding low performers to lose or ragged copies to replace
+ COUNT(DISTINCT CASE WHEN date_part('year', now()) = date_part('year', combcirc.xact_start) THEN combcirc.id ELSE NULL END) AS circ_ytd,
+ COUNT(DISTINCT CASE WHEN date_part('year', now() - '1 year'::interval) = date_part('year', combcirc.xact_start) THEN combcirc.id ELSE NULL END) AS circ_last_year,
+ COUNT(DISTINCT CASE WHEN date_part('year', now() - '2 year'::interval) = date_part('year', combcirc.xact_start) THEN combcirc.id ELSE NULL END) AS circ_two_years_ago,
+ COUNT(DISTINCT CASE WHEN date_part('year', now() - '3 year'::interval) = date_part('year', combcirc.xact_start) THEN combcirc.id ELSE NULL END) AS circ_three_years_ago,
+ COUNT(DISTINCT CASE WHEN date_part('year', now() - '5 year'::interval) <= date_part('year', combcirc.xact_start) THEN combcirc.id ELSE NULL END) AS circ_last_five_years
+
+ FROM
+ asset.copy acp
+ LEFT JOIN config.circ_modifier ccm ON (acp.circ_modifier = ccm.code)
+ INNER JOIN asset.call_number acn ON (acp.call_number = acn.id)
+ LEFT JOIN reporter.asset_call_number_dewey racnd ON (acn.id = racnd.call_number)
+ INNER JOIN config.copy_status ccs ON (acp.status = ccs.id)
+ LEFT JOIN config.rule_age_hold_protect crahp ON (acp.age_protect = crahp.id)
+ INNER JOIN asset.copy_location acpl ON (acp.location = acpl.id)
+ INNER JOIN asset.call_number_prefix acnp ON (acn.prefix = acnp.id)
+ INNER JOIN asset.call_number_suffix acns ON (acn.suffix = acns.id)
+ LEFT JOIN asset.latest_inventory ali ON (acp.id = ali.copy)
+ LEFT JOIN actor.workstation awsi ON (ali.inventory_workstation = awsi.id)
+ LEFT JOIN reporter.materialized_simple_record rmsr ON (acn.record = rmsr.id)
+ INNER JOIN actor.org_unit aou ON (acp.circ_lib = aou.id)
+ LEFT JOIN actor.org_unit aous ON ((actor.org_unit_ancestor_at_depth(acp.circ_lib, 1)).id = aous.id)
+ INNER JOIN actor.org_unit aouo ON (acn.owning_lib = aouo.id)
+ LEFT JOIN actor.org_unit aouos ON ((actor.org_unit_ancestor_at_depth(acn.owning_lib, 1)).id = aouos.id)
+ INNER JOIN biblio.record_entry bre ON (acn.record = bre.id)
+ LEFT JOIN metabib.flat_display_entry mfde_subj ON (acn.record = mfde_subj.source AND mfde_subj.name = 'subject')
+ LEFT JOIN action.all_circulation combcirc ON (acp.id = combcirc.target_copy)
+ LEFT JOIN (
+ SELECT bmp.record, bmp.label, bmp.label_sortkey, acmp.target_copy
+ FROM biblio.monograph_part bmp
+ INNER JOIN asset.copy_part_map acmp ON (acmp.part = bmp.id)
+ WHERE NOT bmp.deleted
+ ) part ON (part.record = acn.record AND part.target_copy = acp.id)
+
+ GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
+ 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
+ 31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
+ 46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
+ 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,
+ 76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
+ 91,92,93,94,95,96,97,98,99,100,101,102,103,104,105
+
+ ]]></oils_persist:source_definition>
+ <field_groups>
+ <group name="common" reporter:label="Common Fields"/>
+ <group name="dates" reporter:label="Date Fields"/>
+ <group name="inv" reporter:label="Inventory Fields"/>
+ <group name="title" reporter:label="Call Number and Title Fields"/>
+ <group name="org" reporter:label="Libraries"/>
+ </field_groups>
+ <fields oils_persist:primary="copy_id">
+ <field reporter:label="Item ID" name="copy_id" reporter:datatype="int" sr:suggest_transform="count_distinct" field_groups="common"/>
+ <field reporter:label="Call Number ID" name="acn_id" reporter:datatype="int" sr:hide_from="display"/>
+ <field reporter:label="Circulating Library" name="circ_lib_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common" sr:suggest_filter="true"/>
+ <field reporter:label="Item Status" name="status_id" reporter:datatype="link" sr:hide_from="display" sr:suggest_filter="true"/>
+ <field reporter:label="Shelving Location" name="location_id" reporter:datatype="link" sr:hide_from="display" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Age Protection" name="age_protect_id" reporter:datatype="link" sr:hide_from="display"/>
+ <field reporter:label="Circulating System" name="circ_sys_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common"/>
+ <field reporter:label="Owning Library" name="owning_lib_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common" sr:suggest_filter="true"/>
+ <field reporter:label="Owning System" name="owning_sys_id" reporter:datatype="org_unit" sr:hide_from="display" field_groups="org,common"/>
+ <field reporter:label="Last Inventory Workstation" name="inv_workstation_id" reporter:datatype="link" sr:hide_from="display" field_groups="inv"/>
+ <field reporter:label="Circulating Library Short (Policy) Name" name="circ_lib_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Circulating Library Name" name="circ_lib_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Circulating System Short (Policy) Name" name="circ_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Circulating System Name" name="circ_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Owning Library Short (Policy) Name" name="owning_lib_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Owning Library Name" name="owning_lib_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Owning System Short (Policy) Name" name="owning_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Owning System Name" name="owning_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Last Circulated Date / Time" name="last_circ_datetime" reporter:datatype="timestamp" field_groups="dates,common" sr:suggest_filter="true"/>
+ <field reporter:label="Last Circulated Days Ago" name="last_circ_age_days" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circluated Months Ago" name="last_circ_age_months" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated Years Ago" name="last_circ_age_years" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated Year" name="last_circ_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated Year and Month" name="last_circ_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Circulated Date" name="last_circ_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Date / Time" name="last_circ_create_datetime" reporter:datatype="timestamp" field_groups="dates,common" sr:suggest_filter="true"/>
+ <field reporter:label="Last Circulated or Item Created Days Ago" name="last_circ_create_age_days" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Months Ago" name="last_circ_create_age_months" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Years Ago" name="last_circ_create_age_years" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Year" name="last_circ_create_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Year and Month" name="last_circ_create_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Circulated or Item Created Date" name="last_circ_create_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Create Date / Time" name="create_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Age (Days)" name="item_age_days" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Age (Months)" name="item_age_months" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Age (Years)" name="item_age_years" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Create Date Year" name="create_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Create Date Year and Month" name="create_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Create Date" name="create_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Active Date / Time" name="active_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Active For (Days)" name="item_active_days" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Active For (Months)" name="item_active_months" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Active For (Years)" name="item_active_years" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Active Date Year" name="active_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Active Date Year and Month" name="active_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Active Date" name="active_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Edit Date / Time" name="edit_date_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Last Edited Days Ago" name="item_edit_age_days" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Edited Months Ago" name="item_edit_age_months" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Edited Years Ago" name="item_edit_age_years" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Edit Date Year" name="edit_date_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Last Edit Date Year and Month" name="edit_date_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Edit Date" name="edit_date_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Date / Time" name="status_changed_time_time" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Year" name="status_changed_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Year and Month" name="status_changed_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Item Status Changed Date" name="status_changed_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Last Inventoried Date / Time" name="latest_inv_date" reporter:datatype="timestamp" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Days Ago" name="inventory_age_days" reporter:datatype="int" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Months Ago" name="inventory_age_months" reporter:datatype="int" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Years Ago" name="inventory_age_years" reporter:datatype="int" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Year" name="inv_date_year" reporter:datatype="int" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Year and Month" name="inv_date_year_mon" reporter:datatype="text" field_groups="inv,dates"/>
+ <field reporter:label="Last Inventoried Date" name="inv_date_date" reporter:datatype="text" field_groups="inv,dates"/>
+ <field reporter:label="Barcode" name="barcode" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Item Status" name="status" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Shelving Location" name="location_name" reporter:datatype="text" field_groups="common"/>
+ <field reporter:label="Circulation Modifier Code" name="circ_modifier_code" reporter:datatype="text" field_groups="common" sr:suggest_filter="true"/>
+ <field reporter:label="Circulation Modifier Name" name="circ_modifier_name" reporter:datatype="text" sr:hide_from="filter" field_groups="common"/>
+ <field reporter:label="Price" name="price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Acquisition Cost" name="acq_price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Item Deleted?" name="copy_deleted" reporter:datatype="bool" sr:suggest_filter="true"/>
+ <field reporter:label="Reference?" name="reference" reporter:datatype="bool"/>
+ <field reporter:label="Item Circulate?" name="copy_circulate" reporter:datatype="bool"/>
+ <field reporter:label="Circulate?" name="circulate" reporter:datatype="bool"/>
+ <field reporter:label="Item Holdable?" name="copy_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Deposit?" name="deposit" reporter:datatype="bool"/>
+ <field reporter:label="Deposit Amount" name="deposit_amount" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="Alert Messge" name="alert_message" reporter:datatype="text"/>
+ <field reporter:label="Item OPAC Visible?" name="copy_opac_visible" reporter:datatype="bool"/>
+ <field reporter:label="OPAC Visible?" name="opac_visible" reporter:datatype="bool"/>
+ <field reporter:label="Age Protection Rule" name="age_protect" reporter:datatype="text" sr:hide_from="filter"/>
+ <field reporter:label="Under Age Protection?" name="under_age_protection" reporter:datatype="bool"/>
+ <field reporter:label="Holdable?" name="holdable" reporter:datatype="bool"/>
+ <field reporter:label="Item Number" name="copy_number" reporter:datatype="int"/>
+ <field reporter:label="Item Circ As Type" name="circ_as_type" reporter:datatype="text"/>
+ <field reporter:label="Loan Duration (Int)" name="loan_duration_int" reporter:datatype="int"/>
+ <field reporter:label="Loan Duration" name="loan_duration" reporter:datatype="text"/>
+ <field reporter:label="Fine Level (Int)" name="fine_level_int" reporter:datatype="int"/>
+ <field reporter:label="Fine Level" name="fine_level" reporter:datatype="text"/>
+ <field reporter:label="Full Call Number" name="copy_call_number_full" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Prefix" name="copy_call_number_prefix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Label" name="copy_call_number_label" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Suffix" name="copy_call_number_suffix" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Dewey" name="call_number_dewey" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Full Call Number Sortkey" name="copy_call_number_sortkey_full" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Prefix Sortkey" name="copy_call_number_prefix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Label Sortkey" name="copy_call_number_label_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Suffix Sortkey" name="copy_call_number_suffix_sortkey" reporter:datatype="text"/>
+ <field reporter:label="Call Number Dewey Block Tens" name="call_number_dewey_block_tens" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Dewey Block Hundreds" name="call_number_dewey_block_hundreds" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Dewey Range Tens" name="call_number_dewey_range_tens" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Call Number Dewey Range Hundreds" name="call_number_dewey_range_hundreds" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Title" name="title" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Author" name="author" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Publisher" name="publisher" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Publication Year" name="pubdate" reporter:datatype="int" field_groups="title"/>
+ <field reporter:label="ISBN" name="isbn" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="ISSN" name="issn" reporter:datatype="text" field_groups="title"/>
+ <field reporter:label="Monographic Part" name="part_label" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Monographic Part Sortkey" name="part_label_sortkey" reporter:datatype="text" field_groups="item,title"/>
+ <field reporter:label="Bibliographic Record ID" name="bib_id" reporter:datatype="int" field_groups="title,common"/>
+ <field reporter:label="TCN" name="tcn_value" reporter:datatype="text" field_groups="title,common"/>
+ <field reporter:label="Call Number Deleted?" name="call_deleted" reporter:datatype="bool"/>
+ <field reporter:label="Bibliographic Record Deleted?" name="bib_deleted" reporter:datatype="bool"/>
+ <field reporter:label="Item Status Holdable?" name="status_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Shelving Location Holdable?" name="location_holdable" reporter:datatype="bool"/>
+ <field reporter:label="Shelving Location Circulate?" name="location_circulate" reporter:datatype="bool"/>
+ <field reporter:label="Latest Inventory Workstation" name="inventory_workstation" reporter:datatype="text" field_groups="inv"/>
+ <field reporter:label="Estimated Price" name="est_price" reporter:datatype="money" sr:suggest_transform="sum"/>
+ <field reporter:label="All Subjects" name="bib_subjects" reporter:datatype="text" sr:suggest_operator="contains"/>
+ <field reporter:label="Circulation Total" name="circ_total" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Year To Date" name="circ_ytd" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Last Year" name="circ_last_year" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Two Years Ago" name="circ_two_years_ago" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Three Years Ago" name="circ_three_years_ago" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Circulation Total Last Five Years" name="circ_last_five_years" reporter:datatype="int" sr:suggest_transform="sum" sr:suggest_filter="true" field_groups="common"/>
+ </fields>
+ <links>
+ <link field="status_id" reltype="has_a" key="id" map="" class="ccs"/>
+ <link sr:org_filter_field="owning_lib" field="location_id" reltype="has_a" key="id" map="" class="acpl"/>
+ <link field="circ_modifier_code" reltype="might_have" key="code" map="" class="ccm"/>
+ <link field="age_protect_id" reltype="might_have" key="id" map="" class="crahp"/>
+ <link field="inv_workstation_id" reltype="might_have" key="id" map="" class="aws"/>
+ </links>
+ </class>
+
+ <class id="srbps" controller="simple-reporter.ui" oils_persist:virtual="true" reporter:label="Simple Reporter Billing and Payments Transaction Summary">
+ <oils_persist:source_definition><![CDATA[
+
+ SELECT
+ -- ids
+ xact.id AS xact_id,
+ COALESCE(circ.circ_lib, mg.billing_location) AS billing_lib_id,
+ COALESCE(aoubs.id, aougbs.id) AS billing_sys_id,
+
+ -- OUs
+ COALESCE(aoub.shortname, aougb.shortname) AS billing_lib_shortname,
+ COALESCE(aoub.name, aougb.shortname) AS billing_lib_name,
+ COALESCE(aoubs.shortname, aougbs.shortname) AS billing_sys_shortname,
+ COALESCE(aoubs.name, aougbs.name) AS billing_sys_name,
+
+ -- billings
+ billings.total_amount AS billing_grand_total,
+ billings.total_unvoided_amount AS billing_total,
+
+ billings.voided_billing_count AS billing_voided_count,
+ billings.all_billing_types AS all_billing_types,
+ billings.billing_types AS billing_types,
+
+ billings.total_voided_amount AS billing_total_voided,
+ billings.total_overdue_amount AS billing_overdue_amount,
+ billings.total_lost_amount AS billing_lost_amount,
+ billings.total_long_od_amount AS billing_long_od_amount,
+ billings.total_damaged_amount AS billing_damaged_amount,
+ billings.total_deposit_amount AS billing_deposit_amount,
+ billings.total_rental_amount AS billing_rental_amount,
+
+ -- payments
+ payments.total_amount AS payment_grand_total,
+ payments.total_unvoided_amount AS payment_total,
+
+ payments.voided_payment_count AS payment_voided_count,
+ payments.all_payment_types AS all_payment_types,
+ payments.payment_types AS payment_types,
+
+ payments.total_voided_amount AS payment_total_voided,
+ payments.total_account_adjustment AS payment_account_adjustment_amount,
+ payments.total_cash_payment AS payment_cash_amount,
+ payments.total_check_payment AS payment_check_amount,
+ payments.total_credit_card_payment AS payment_credit_card_amount,
+ payments.total_debit_card_payment AS payment_debit_card_amount,
+ payments.total_credit_payment AS payment_credit_amount,
+ payments.total_forgive_payment AS payment_forgive_amount,
+ payments.total_work_payment AS payment_work_amount,
+ payments.total_goods_payment AS payment_goods_amount,
+ payments.total_currency_payment AS payment_currency_amount,
+ payments.total_non_currency_payment AS payment_non_currency_amount,
+
+ -- dates
+ xact.xact_start AS xact_start,
+ CAST(TO_CHAR(xact.xact_start, 'YYYY') AS INTEGER) AS xact_start_year,
+ TO_CHAR(xact.xact_start, 'YYYY-MM') AS xact_start_year_mon,
+ TO_CHAR(xact.xact_start, 'YYYY-MM-DD') AS xact_start_date,
+ xact.xact_finish AS xact_finish,
+ CAST(TO_CHAR(xact.xact_finish, 'YYYY') AS INTEGER) AS xact_finish_year,
+ TO_CHAR(xact.xact_finish, 'YYYY-MM') AS xact_finish_year_mon,
+ TO_CHAR(xact.xact_finish, 'YYYY-MM-DD') AS xact_finish_date,
+ billings.earliest_billing_ts AS earliest_billing_ts,
+ CAST(TO_CHAR(billings.earliest_billing_ts, 'YYYY') AS INTEGER) AS earliest_billing_year,
+ TO_CHAR(billings.earliest_billing_ts, 'YYYY-MM') AS earliest_billing_year_mon,
+ TO_CHAR(billings.earliest_billing_ts, 'YYYY-MM-DD') AS earliest_billing_date,
+ billings.latest_billing_ts AS latest_billing_ts,
+ CAST(TO_CHAR(billings.latest_billing_ts, 'YYYY') AS INTEGER) AS latest_billing_year,
+ TO_CHAR(billings.latest_billing_ts, 'YYYY-MM') AS latest_billing_year_mon,
+ TO_CHAR(billings.latest_billing_ts, 'YYYY-MM-DD') AS latest_billing_date,
+ payments.earliest_payment_ts AS earliest_payment_ts,
+ CAST(TO_CHAR(payments.earliest_payment_ts, 'YYYY') AS INTEGER) AS earliest_payment_year,
+ TO_CHAR(payments.earliest_payment_ts, 'YYYY-MM') AS earliest_payment_year_mon,
+ TO_CHAR(payments.earliest_payment_ts, 'YYYY-MM-DD') AS earliest_payment_date,
+ payments.latest_payment_ts AS latest_payment_ts,
+ CAST(TO_CHAR(payments.latest_payment_ts, 'YYYY') AS INTEGER) AS latest_payment_year,
+ TO_CHAR(payments.latest_payment_ts, 'YYYY-MM') AS latest_payment_year_mon,
+ TO_CHAR(payments.latest_payment_ts, 'YYYY-MM-DD') AS latest_payment_date,
+
+ -- Misc
+ CASE WHEN circ.id IS NOT NULL THEN 'circulation' WHEN mg.id IS NOT NULL THEN 'grocery' ELSE 'aged' END AS xact_type,
+ (xact.xact_finish IS NOT NULL) AS xact_closed
+
+ FROM
+ money.billable_xact xact
+ LEFT JOIN action.circulation circ ON (xact.id = circ.id)
+ LEFT JOIN money.grocery mg ON (xact.id = mg.id)
+ LEFT JOIN actor.org_unit aoub ON (circ.circ_lib = aoub.id)
+ LEFT JOIN actor.org_unit aougb ON (mg.billing_location = aougb.id)
+ LEFT JOIN actor.org_unit aoubs ON ((actor.org_unit_ancestor_at_depth(circ.circ_lib, 1)).id = aoubs.id)
+ LEFT JOIN actor.org_unit aougbs ON ((actor.org_unit_ancestor_at_depth(mg.billing_location, 1)).id = aougbs.id)
+
+ -- oohh nooo.... If not done this way you encounter situations
+ -- like multiplying billing totals x number of payments and
+ -- payment totals x number of billings and other fabulous fiduciary fantasies.
+ LEFT JOIN (
+ SELECT
+ xact,
+ MIN(billing_ts) AS earliest_billing_ts,
+ MAX(billing_ts) AS latest_billing_ts,
+
+ STRING_AGG(DISTINCT billing_type, ', ') AS all_billing_types,
+ STRING_AGG(DISTINCT CASE WHEN NOT voided THEN billing_type ELSE NULL END, ', ') AS billing_types,
+ COUNT(DISTINCT CASE WHEN voided THEN id ELSE NULL END) AS voided_billing_count,
+
+ SUM(amount) AS total_amount,
+ SUM(CASE WHEN NOT voided THEN amount ELSE NULL END) AS total_unvoided_amount,
+ SUM(CASE WHEN voided THEN amount ELSE NULL END) AS total_voided_amount,
+ SUM(CASE WHEN NOT voided AND btype = 1 THEN amount ELSE NULL END) AS total_overdue_amount,
+ SUM(CASE WHEN NOT voided AND btype IN (3,4) THEN amount ELSE NULL END) AS total_lost_amount,
+ SUM(CASE WHEN NOT voided AND btype IN (10,11) THEN amount ELSE NULL END) AS total_long_od_amount,
+ SUM(CASE WHEN NOT voided AND btype IN (7,8) THEN amount ELSE NULL END) AS total_damaged_amount, -- Likely incomplete because damaged billing interface is whack.
+ SUM(CASE WHEN NOT voided AND btype = 5 THEN amount ELSE NULL END) AS total_deposit_amount,
+ SUM(CASE WHEN NOT voided AND btype = 6 THEN amount ELSE NULL END) AS total_rental_amount
+
+ FROM
+ money.all_billings
+ GROUP BY 1
+ ) billings ON (xact.id = billings.xact)
+ -- Can't include accepting user or cash_drawer because that will "duplicate"
+ -- rows if multiple staff accept payments on a single xact...
+ LEFT JOIN (
+ SELECT
+ xact,
+ MIN(payment_ts) AS earliest_payment_ts,
+ MAX(payment_ts) AS latest_payment_ts,
+
+ STRING_AGG(DISTINCT payment_type, ', ') AS all_payment_types,
+ STRING_AGG(DISTINCT CASE WHEN NOT voided THEN payment_type ELSE NULL END, ', ') AS payment_types,
+ COUNT(DISTINCT CASE WHEN voided THEN id ELSE NULL END) AS voided_payment_count,
+
+ SUM(amount) AS total_amount,
+ SUM(CASE WHEN NOT voided THEN amount ELSE NULL END) AS total_unvoided_amount,
+ SUM(CASE WHEN voided THEN amount ELSE NULL END) AS total_voided_amount, -- almost certainly 0 in every database, but...
+ SUM(CASE WHEN NOT voided AND payment_type = 'account_adjustment' THEN amount ELSE NULL END) AS total_account_adjustment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'cash_payment' THEN amount ELSE NULL END) AS total_cash_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'check_payment' THEN amount ELSE NULL END) AS total_check_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'credit_card_payment' THEN amount ELSE NULL END) AS total_credit_card_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'debit_card_payment' THEN amount ELSE NULL END) AS total_debit_card_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'credit_payment_payment' THEN amount ELSE NULL END) AS total_credit_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'forgive_payment' THEN amount ELSE NULL END) AS total_forgive_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'work_payment' THEN amount ELSE NULL END) AS total_work_payment,
+ SUM(CASE WHEN NOT voided AND payment_type = 'goods_payment' THEN amount ELSE NULL END) AS total_goods_payment,
+ SUM(CASE WHEN NOT voided AND payment_type IN ('cash_payment', 'check_payment', 'credit_card_payment', 'debit_card_payment', 'credit_payment') THEN amount ELSE NULL END) AS total_currency_payment,
+ SUM(CASE WHEN NOT voided AND payment_type NOT IN ('cash_payment', 'check_payment', 'credit_card_payment', 'debit_card_payment', 'credit_payment') THEN amount ELSE NULL END) AS total_non_currency_payment
+
+ FROM
+ money.all_payments
+ GROUP BY 1
+ ) payments ON (xact.id = payments.xact)
+
+ ]]></oils_persist:source_definition>
+ <field_groups>
+ <group name="common" reporter:label="Common Fields"/>
+ <group name="bill" reporter:label="Billing Fields"/>
+ <group name="pay" reporter:label="Payment Fields"/>
+ <group name="dates" reporter:label="Date Fields"/>
+ <group name="org" reporter:label="Libraries"/>
+ </field_groups>
+ <fields oils_persist:primary="xact_id">
+ <field reporter:label="Transaction ID" name="xact_id" reporter:datatype="text" sr:suggest_transform="count_distinct" field_groups="common"/>
+ <field reporter:label="Billing Library" name="billing_lib_id" reporter:datatype="org_unit" sr:hide_from="display" sr:suggest_filter="true" field_groups="org,common"/>
+ <field reporter:label="Billing System" name="billing_sys_id" reporter:datatype="org_unit" sr:hide_from="display" sr:suggest_filter="true" field_groups="org,common"/>
+ <field reporter:label="Billing Library Short (Policy) Name" name="billing_lib_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Billing Library Name" name="billing_lib_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Billing System Short (Policy) Name" name="billing_sys_shortname" reporter:datatype="text" sr:hide_from="filter" field_groups="org,common"/>
+ <field reporter:label="Billing System Name" name="billing_sys_name" reporter:datatype="text" sr:hide_from="filter" field_groups="org"/>
+ <field reporter:label="Billing Grand Total (Includes Voids)" name="billing_grand_total" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total" name="billing_total" reporter:datatype="money" sr:suggest_filter="true" field_groups="bill,common" sr:suggest_transform="sum"/>
+ <field reporter:label="Voided Billings" name="billing_voided_count" reporter:datatype="text" field_groups="bill,common"/>
+ <field reporter:label="Billing Types (Include Voids)" name="all_billing_types" reporter:datatype="text" field_groups="bill" sr:suggest_operator="contains"/>
+ <field reporter:label="Billing Types" name="billing_types" reporter:datatype="text" field_groups="bill,common" sr:suggest_operator="contains"/>
+ <field reporter:label="Billing Amount Voided" name="billing_total_voided" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Overdue)" name="billing_overdue_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Lost)" name="billing_lost_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Long Overdue)" name="billing_long_od_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Damaged)" name="billing_damaged_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Deposit)" name="billing_deposit_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Billing Total (Rental)" name="billing_rental_amount" reporter:datatype="money" field_groups="bill" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Grand Total (Includes Voids)" name="payment_grand_total" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total" name="payment_total" reporter:datatype="money" field_groups="pay,common" sr:suggest_transform="sum"/>
+ <field reporter:label="Voided Payments" name="payment_voided_count" reporter:datatype="text" field_groups="pay,common"/>
+ <field reporter:label="All Payment Types (Includes Voids)" name="all_payment_types" reporter:datatype="text" field_groups="pay" sr:suggest_operator="contains"/>
+ <field reporter:label="Payment Types" name="payment_types" reporter:datatype="text" field_groups="pay,common" sr:suggest_operator="contains"/>
+ <field reporter:label="Payment Amount Voided" name="payment_total_voided" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Account Adjustment)" name="payment_account_adjustment_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Cash)" name="payment_cash_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Check)" name="payment_check_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Credit Card)" name="payment_credit_card_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Debit Card)" name="payment_debit_card_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Patron Credit)" name="payment_credit_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Forgiven)" name="payment_forgive_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Work)" name="payment_work_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Goods)" name="payment_goods_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Payment Total (Currency)" name="payment_currency_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Paymnt Total (Non-Currency)" name="payment_non_currency_amount" reporter:datatype="money" field_groups="pay" sr:suggest_transform="sum"/>
+ <field reporter:label="Transaction Start Date / Time" name="xact_start" reporter:datatype="timestamp" sr:suggest_filter="true" field_groups="dates,common"/>
+ <field reporter:label="Transaction Start Year" name="xact_start_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Transaction Start Year and Month" name="xact_start_year_mon" reporter:datatype="text" field_groups="dates,common"/>
+ <field reporter:label="Transaction Start Date" name="xact_start_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Transaction Finish Date / Time" name="xact_finish" reporter:datatype="timestamp" field_groups="dates"/>
+ <field reporter:label="Transaction Finish Year" name="xact_finish_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="Transaction Finish Year and Month" name="xact_finish_year_mon" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="Transaction Finish Date" name="xact_finish_date" reporter:datatype="text" field_groups="dates"/>
+ <field reporter:label="First Billing Date / Time" name="earliest_billing_ts" reporter:datatype="timestamp" sr:suggest_filter="true" field_groups="bill,dates,common"/>
+ <field reporter:label="First Billing Year" name="earliest_billing_year" reporter:datatype="int" field_groups="bill,dates"/>
+ <field reporter:label="First Billing Year and Month" name="earliest_billing_year_mon" reporter:datatype="text" field_groups="bill,dates"/>
+ <field reporter:label="First Billing Date" name="earliest_billing_date" reporter:datatype="text" field_groups="bill,dates"/>
+ <field reporter:label="Last Billing Date / Time" name="latest_billing_ts" reporter:datatype="timestamp" field_groups="bill,dates,common"/>
+ <field reporter:label="Last Billing Year" name="latest_billing_year" reporter:datatype="int" field_groups="bill,dates"/>
+ <field reporter:label="Last Billing Year and Month" name="latest_billing_year_mon" reporter:datatype="text" field_groups="bill,dates"/>
+ <field reporter:label="Last Billing Date" name="latest_billing_date" reporter:datatype="text" field_groups="bill,dates"/>
+ <field reporter:label="First Payment Date / Time" name="earliest_payment_ts" reporter:datatype="timestamp" sr:suggest_filter="true" field_groups="pay,dates,common"/>
+ <field reporter:label="First Payment Year" name="earliest_payment_year" reporter:datatype="int" field_groups="dates"/>
+ <field reporter:label="First Payment Year and Month" name="earliest_payment_year_mon" reporter:datatype="text" field_groups="pay,dates,common"/>
+ <field reporter:label="First Payment Date" name="earliest_payment_date" reporter:datatype="text" field_groups="pay,dates"/>
+ <field reporter:label="Last Payment Date / Time" name="latest_payment_ts" reporter:datatype="timestamp" field_groups="pay,dates,common"/>
+ <field reporter:label="Last Payment Year" name="latest_payment_year" reporter:datatype="int" field_groups="pay,dates"/>
+ <field reporter:label="Last Payment Year and Month" name="latest_payment_year_mon" reporter:datatype="text" field_groups="pay,dates,common"/>
+ <field reporter:label="Last Payment Date" name="latest_payment_date" reporter:datatype="text" field_groups="pay,dates"/>
+ <field reporter:label="Transaction Type" name="xact_type" reporter:datatype="text" sr:suggest_filter="true" field_groups="common"/>
+ <field reporter:label="Transaction Closed?" name="xact_closed" sr:suggest_filter="true" reporter:datatype="bool"/>
+ </fields>
+ </class>
+
<!-- ********************************************************************************************************************* -->
</IDL>
}
},
"@angular-devkit/architect": {
- "version": "0.1202.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.11.tgz",
- "integrity": "sha512-9veul0Hse+4yGxfQW6AfeWYhxE6CM/EtrvGkv4JCrYJVVkfGW64EVG1p2nJt4yVk69iA2f+On3c4t1uXKtLy/Q==",
+ "version": "0.1202.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.17.tgz",
+ "integrity": "sha512-uUQcHcLbPvr9adALQSLU1MTDduVUR2kZAHi2e7SmL9ioel84pPVXBoD0WpSBeUMKwPiDs3TQDaxDB49hl0nBSQ==",
"dev": true,
"requires": {
- "@angular-devkit/core": "12.2.11",
+ "@angular-devkit/core": "12.2.17",
"rxjs": "6.6.7"
}
},
"@angular-devkit/build-angular": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.11.tgz",
- "integrity": "sha512-chMVR0ZEw0sRlny5eXZQ83dK0KNOzBJaa6ERwIubuQLB555DWpkn9L0E2EnRb7qwe2k+Uggx9GiZD2Nq9z+88A==",
+ "version": "12.2.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.17.tgz",
+ "integrity": "sha512-uc3HGHVQyatqQ/M53oxYBvhz0jx0hgdc7WT+L56GLHvgz7Ct2VEbpWaMfwHkFfE1F1iHkIgnTKHKWacJl1yQIg==",
"dev": true,
"requires": {
"@ampproject/remapping": "1.0.1",
- "@angular-devkit/architect": "0.1202.11",
- "@angular-devkit/build-optimizer": "0.1202.11",
- "@angular-devkit/build-webpack": "0.1202.11",
- "@angular-devkit/core": "12.2.11",
+ "@angular-devkit/architect": "0.1202.17",
+ "@angular-devkit/build-optimizer": "0.1202.17",
+ "@angular-devkit/build-webpack": "0.1202.17",
+ "@angular-devkit/core": "12.2.17",
"@babel/core": "7.14.8",
"@babel/generator": "7.14.8",
"@babel/helper-annotate-as-pure": "7.14.5",
"@babel/template": "7.14.5",
"@discoveryjs/json-ext": "0.5.3",
"@jsdevtools/coverage-istanbul-loader": "3.0.5",
- "@ngtools/webpack": "12.2.11",
+ "@ngtools/webpack": "12.2.17",
"ansi-colors": "4.1.1",
"babel-loader": "8.2.2",
"browserslist": "^4.9.1",
"circular-dependency-plugin": "5.2.2",
"copy-webpack-plugin": "9.0.1",
"core-js": "3.16.0",
- "critters": "0.0.11",
+ "critters": "0.0.12",
"css-loader": "6.2.0",
"css-minimizer-webpack-plugin": "3.0.2",
"esbuild": "0.13.8",
"tslib": "2.3.0",
"webpack": "5.50.0",
"webpack-dev-middleware": "5.0.0",
- "webpack-dev-server": "3.11.2",
+ "webpack-dev-server": "3.11.3",
"webpack-merge": "5.8.0",
"webpack-subresource-integrity": "1.5.2"
},
"@babel/types": "^7.14.5"
}
},
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"core-js": {
"version": "3.16.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz",
"integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==",
"dev": true
},
- "critters": {
- "version": "0.0.11",
- "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.11.tgz",
- "integrity": "sha512-E1XlhQTmf0Y2Q6hYVrXKxibxps2LNarpZaDCRNaxA1LA5LxlgoIPN0rcOzFVlwRD47iNYhVtD4DmGtgr2edrlQ==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.0",
- "css-select": "^1.2.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "postcss": "^8.3.7",
- "pretty-bytes": "^5.3.0"
- },
- "dependencies": {
- "postcss": {
- "version": "8.3.11",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz",
- "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==",
- "dev": true,
- "requires": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^0.6.2"
- }
- }
- }
- },
"esbuild": {
"version": "0.13.8",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz",
"esbuild-windows-arm64": "0.13.8"
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dev": true,
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "postcss": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
+ "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
+ "dev": true,
+ "requires": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.23",
+ "source-map-js": "^0.6.2"
+ }
},
"semver": {
"version": "7.3.5",
"lru-cache": "^6.0.0"
}
},
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
+ "source-map-js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
+ "dev": true
},
"tslib": {
"version": "2.3.0",
}
},
"@angular-devkit/build-optimizer": {
- "version": "0.1202.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.11.tgz",
- "integrity": "sha512-3iU2q8QYrF7bSxffcrvYrvs9BQrLGHLe3MFyNfU3ps38c6CmnMsnR3RODmDZZgkgk9jN45y+WGmkF46ydiOHtA==",
+ "version": "0.1202.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz",
+ "integrity": "sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==",
"dev": true,
"requires": {
"source-map": "0.7.3",
}
},
"@angular-devkit/build-webpack": {
- "version": "0.1202.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.11.tgz",
- "integrity": "sha512-xex0/8G2o9v0gr+oVAc3QdRyPKTBWmmhOR3K3fj4a7gvhpnE9ByHxemzflZcDwpE8K7YkMX8kTlFjkog/dSXNw==",
+ "version": "0.1202.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.17.tgz",
+ "integrity": "sha512-z7FW43DJ4p8UZwbFRmMrh2ohqhI2Wtdg3+FZiTnl4opb3zYheGiNxPlTuiyKjG21JUkGCdthkkBLCNfaUU0U/Q==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.1202.11",
+ "@angular-devkit/architect": "0.1202.17",
"rxjs": "6.6.7"
}
},
"@angular-devkit/core": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.11.tgz",
- "integrity": "sha512-JgOKDr6zQu/uVZ5le5shgCeIoq3zQvybZGwxjkdWZdoO8rc5oggoiB2PZrPStolhIjFkQ2/mUvhtqnn7D+w8UA==",
+ "version": "12.2.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz",
+ "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==",
"dev": true,
"requires": {
"ajv": "8.6.2",
}
},
"@angular-devkit/schematics": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.11.tgz",
- "integrity": "sha512-7ucnRGGRGsWqXhvFuK7oAgXMkWO58jmA9CQzXTWCNT5EFCUeyBj2eNNndI4NlWE/LgeKYn7UhUNREzdBrcDiKw==",
+ "version": "12.2.17",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.17.tgz",
+ "integrity": "sha512-c0eNu/nx1Mnu7KcZgYTYHP736H4Y9pSyLBSmLAHYZv3t3m0dIPbhifRcLQX7hHQ8fGT2ZFxmOpaQG5/DcIghSw==",
"dev": true,
"requires": {
- "@angular-devkit/core": "12.2.11",
+ "@angular-devkit/core": "12.2.17",
"ora": "5.4.1",
"rxjs": "6.6.7"
}
},
"@angular/animations": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.11.tgz",
- "integrity": "sha512-J6tXNCEgI3SYPfFy9F0QDQNx0g4F8gfJA05iaf6scpZvqziQ80g0vwrBQdV6JqkFvSPQqLJDxyIxDQJSrCt8YA==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.16.tgz",
+ "integrity": "sha512-Kf6C7Ta+fCMq5DvT9JNVhBkcECrqFa3wumiC6ssGo5sNaEzXz+tlep9ZgEbqfxSn7gAN7L1DgsbS9u0O6tbUkg==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/cli": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.11.tgz",
- "integrity": "sha512-zstz/oH0BBWC1n1a6oSFLSaSCDUCoaawG8a83E61MN65wYaCuwIW+Z7Lz3FiF7P4Ce16T56ZwJPIA5SjS7KBhg==",
+ "version": "12.2.17",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.17.tgz",
+ "integrity": "sha512-mubRPp5hRIK/q0J8q6kVAqbYYuBUKMMBljUCqT4fHsl+qXYD27rgG3EqNzycKBMHUIlykotrDSdy47voD+atOg==",
"dev": true,
"requires": {
- "@angular-devkit/architect": "0.1202.11",
- "@angular-devkit/core": "12.2.11",
- "@angular-devkit/schematics": "12.2.11",
- "@schematics/angular": "12.2.11",
+ "@angular-devkit/architect": "0.1202.17",
+ "@angular-devkit/core": "12.2.17",
+ "@angular-devkit/schematics": "12.2.17",
+ "@schematics/angular": "12.2.17",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.1",
"debug": "4.3.2",
"npm-pick-manifest": "6.1.1",
"open": "8.2.1",
"ora": "5.4.1",
- "pacote": "11.3.5",
+ "pacote": "12.0.2",
"resolve": "1.20.0",
"semver": "7.3.5",
"symbol-observable": "4.0.0",
"uuid": "8.3.2"
},
"dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
"requires": {
"lru-cache": "^6.0.0"
}
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true
}
}
},
"@angular/common": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.11.tgz",
- "integrity": "sha512-/3QS5YaHfm2taJYUVes076ZMpL2GRYVW3HDbHXiRNjoC9EMqQ7ahRD9RPFC8XUk709JuqzonE3bB+N5Ld3mzIA==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.16.tgz",
+ "integrity": "sha512-FEqTXTEsnbDInqV1yFlm97Tz1OFqZS5t0TUkm8gzXRgpIce/F/jLwAg0u1VQkgOsno6cNm0xTWPoZgu85NI4ug==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/compiler": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.11.tgz",
- "integrity": "sha512-78b5Uf+79gOKEyF/ixFAGJANNHnhueofSxgToBmJkTTpqTX6Xzdfzw8W+ehpJADp52eBjmZ+rv7b9sgBsiJ1tg==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.16.tgz",
+ "integrity": "sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/compiler-cli": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.11.tgz",
- "integrity": "sha512-mOEyAQQS28omIGOw71jXnAI+GLxLVHhsa5vcS9Cy+HLfgJzysTngwdKNO7iJvalsyAsb9EjJ3R82XRKKJspV0g==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.16.tgz",
+ "integrity": "sha512-tlalh8SJvdCWbUPRUR5GamaP+wSc/GuCsoUZpSbcczGKgSlbaEVXUYtVXm8/wuT6Slk2sSEbRs7tXGF2i7qxVw==",
"dev": true,
"requires": {
"@babel/core": "^7.8.6",
"yargs": "^17.0.0"
},
"dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
+ "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/trace-mapping": "^0.3.0"
+ }
+ },
"@babel/core": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz",
- "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.15.8",
- "@babel/generator": "^7.15.8",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.8",
- "@babel/helpers": "^7.15.4",
- "@babel/parser": "^7.15.8",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz",
+ "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-compilation-targets": "^7.17.7",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helpers": "^7.17.9",
+ "@babel/parser": "^7.17.9",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
},
"dependencies": {
"semver": {
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
}
}
},
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"@angular/core": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.11.tgz",
- "integrity": "sha512-wzCFtVFdQlXJlzWpWNz3w8cDzhYzuO1qDqey15Wd4zPR8c8pDx3/XCZXSziskaUzA+fVzgHHSwQnOi9XSFFjzA==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.16.tgz",
+ "integrity": "sha512-jsmvaRdAfng99z2a9mAmkfcsCE1wm+tBYVDxnc5JquSXznwtncjzcoc2X0J0dzrkCDvzFfpTsZ9vehylytBc+A==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/forms": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.11.tgz",
- "integrity": "sha512-mylti7rtz2FcM3hwPSj2JnX8y8BrXmzrjEWjcLlXmwoMzv/M3vY5HlgKzOmPN03bVgxC7b7EFfGMXfJ3YoPWpg==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.16.tgz",
+ "integrity": "sha512-sb+gpNun5aN7CZfHXS6X7vJcd/0A1P/gRBZpYtQTzBYnqEFCOFIvR62eb05aHQ4JhgKaSPpIXrbz/bAwY/njZw==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/language-service": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.11.tgz",
- "integrity": "sha512-ag0YlWvVmNQWKGB14SFgaPcWuYQJpr8OrD2JoY91P+WWpv6oawemHRVF1rvFjmPf9byXv4mnPK1h36qI7EJSpw==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.16.tgz",
+ "integrity": "sha512-eDOd46Lu+4Nc/UA9q4G1xUTeIT2JXDdpedSRCk1fM+trYUZm7Xy2FZasP3pUSdtz04wt0kV9Mi5i3oCxfqU2Wg==",
"dev": true
},
"@angular/localize": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-12.2.11.tgz",
- "integrity": "sha512-ZT4Jt80vTCPHhR4a9DP5+/CA1QYerMRwoIcWQUzTDS/PP3fL3pDIVBUNNqefANplAL39y52HYc8qnpEa8mbd8A==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-12.2.16.tgz",
+ "integrity": "sha512-peWauKtqy7XG5OiG9L4uLg/yIMw0b/ipKOiovzpuj+DCghmeuYzle5kjCLvWydFeQqBoIdf2kcJYeskrYCAHfQ==",
"requires": {
"@babel/core": "7.8.3",
"glob": "7.1.7",
}
},
"@angular/platform-browser": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.11.tgz",
- "integrity": "sha512-uJEnVOK3M1SrCWJoW2jFx5F8pUCbSISai7dbTBVc+/Gx6e9ZuNzBVOooLvSzV96DurhTV7xGSXR5Ry75UNZ48A==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.16.tgz",
+ "integrity": "sha512-T855ppLeQO6hRHi7lGf5fwPoUVt+c0h2rgkV5jHElc3ylaGnhecmZc6fnWLX4pw82TMJUgUV88CY8JCFabJWwg==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/platform-browser-dynamic": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.11.tgz",
- "integrity": "sha512-TF80norTsBbJiUsqo6IUNALV2W1YkEa5QAB6RkTrb1K/V6oGcWcGfqSyCMbjRHPEZTwiAzz4cYEmip5kFtE+oQ==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.16.tgz",
+ "integrity": "sha512-XGxoACAMW/bc3atiVRpaiYwU4LkobYwVzwlxTT/BxOfsdt8ILb5wU8Fx1TMKNECOQHSGdK0qqhch4pTBZ3cb2g==",
"requires": {
"tslib": "^2.2.0"
}
},
"@angular/router": {
- "version": "12.2.11",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.11.tgz",
- "integrity": "sha512-iqQujHKLDpE+xJwXqRY1U83xfDnmb7LIQ0UL6ORSw6mqDTxIeMXfVKRqux1dIlWX+ysU0uTHuug49R8T9q0fhg==",
+ "version": "12.2.16",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.16.tgz",
+ "integrity": "sha512-LuFXSMIvX/VrB4jbYhigG2Y2pGQ9ULsSBUwDWwQCf4kr0eVI37LBJ2Vr74GBEznjgQ0UmWE89E+XYI80UhERTw==",
"requires": {
"tslib": "^2.2.0"
}
"dev": true
},
"@babel/code-frame": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz",
- "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"requires": {
- "@babel/highlight": "^7.14.5"
+ "@babel/highlight": "^7.16.7"
}
},
"@babel/compat-data": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
- "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz",
+ "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==",
"dev": true
},
"@babel/core": {
}
},
"@babel/generator": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz",
- "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz",
+ "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==",
"requires": {
- "@babel/types": "^7.15.6",
+ "@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz",
- "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
+ "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/helper-explode-assignable-expression": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
- "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz",
+ "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.16.6",
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-validator-option": "^7.16.7",
+ "browserslist": "^4.17.5",
"semver": "^6.3.0"
},
"dependencies": {
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz",
- "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz",
+ "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.17.9",
+ "@babel/helper-member-expression-to-functions": "^7.17.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7"
},
"dependencies": {
"@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
- "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
}
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz",
- "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz",
+ "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.14.5",
- "regexpu-core": "^4.7.1"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "regexpu-core": "^5.0.1"
+ },
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ }
}
},
"@babel/helper-define-polyfill-provider": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz",
- "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==",
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz",
+ "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==",
"dev": true,
"requires": {
"@babel/helper-compilation-targets": "^7.13.0",
}
}
},
- "@babel/helper-explode-assignable-expression": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz",
- "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==",
- "dev": true,
+ "@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
- "@babel/helper-function-name": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
- "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
+ "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
+ "dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
- "@babel/helper-get-function-arity": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
- "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
+ "@babel/helper-function-name": {
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
+ "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
- "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
+ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
- "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz",
+ "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-module-imports": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
- "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-transforms": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz",
- "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
+ "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.15.4",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-simple-access": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.6"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
- "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
+ "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==",
"dev": true
},
"@babel/helper-remap-async-to-generator": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz",
- "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
+ "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-wrap-function": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-wrap-function": "^7.16.8",
+ "@babel/types": "^7.16.8"
},
"dependencies": {
"@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
- "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
}
}
},
"@babel/helper-replace-supers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
- "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
+ "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-member-expression-to-functions": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/traverse": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-simple-access": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
- "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
+ "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.17.0"
}
},
"@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz",
- "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==",
+ "version": "7.16.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
+ "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.0"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
- "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
+ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w=="
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
},
"@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
+ "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
"dev": true
},
"@babel/helper-wrap-function": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz",
- "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
+ "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.15.4",
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.16.8",
+ "@babel/types": "^7.16.8"
}
},
"@babel/helpers": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
- "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
+ "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
"requires": {
- "@babel/template": "^7.15.4",
- "@babel/traverse": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0"
}
},
"@babel/highlight": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
- "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
+ "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
"requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz",
- "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA=="
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz",
+ "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg=="
},
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz",
- "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
+ "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4",
- "@babel/plugin-proposal-optional-chaining": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.16.7"
}
},
"@babel/plugin-proposal-async-generator-functions": {
}
},
"@babel/plugin-proposal-class-properties": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz",
- "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
+ "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-proposal-class-static-block": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz",
- "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==",
+ "version": "7.17.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz",
+ "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-create-class-features-plugin": "^7.17.6",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-class-static-block": "^7.14.5"
}
},
"@babel/plugin-proposal-dynamic-import": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz",
- "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
+ "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
},
"@babel/plugin-proposal-export-namespace-from": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz",
- "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
+ "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
"@babel/plugin-proposal-json-strings": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz",
- "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
+ "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-json-strings": "^7.8.3"
}
},
"@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz",
- "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
+ "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz",
- "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
+ "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
}
},
"@babel/plugin-proposal-numeric-separator": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz",
- "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
+ "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
"@babel/plugin-proposal-object-rest-spread": {
- "version": "7.15.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz",
- "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==",
+ "version": "7.17.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
+ "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/compat-data": "^7.17.0",
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.15.4"
+ "@babel/plugin-transform-parameters": "^7.16.7"
}
},
"@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz",
- "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
+ "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
}
},
"@babel/plugin-proposal-optional-chaining": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz",
- "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
+ "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
}
},
"@babel/plugin-proposal-private-methods": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz",
- "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==",
+ "version": "7.16.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
+ "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-class-features-plugin": "^7.16.10",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-proposal-private-property-in-object": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz",
- "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
+ "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-create-class-features-plugin": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-create-class-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"dependencies": {
"@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
- "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
}
}
},
"@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz",
- "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
+ "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-regexp-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-syntax-async-generators": {
}
},
"@babel/plugin-transform-arrow-functions": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz",
- "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
+ "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-async-to-generator": {
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz",
- "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
+ "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz",
- "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
+ "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz",
- "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-optimise-call-expression": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
+ "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.16.7",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-optimise-call-expression": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
"globals": "^11.1.0"
},
"dependencies": {
"@babel/helper-annotate-as-pure": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
- "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.4"
+ "@babel/types": "^7.16.7"
}
}
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz",
- "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
+ "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz",
- "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==",
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz",
+ "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz",
- "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
+ "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-regexp-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz",
- "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
+ "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz",
- "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
+ "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz",
- "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
+ "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz",
- "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
+ "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
"dev": true,
"requires": {
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-compilation-targets": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz",
- "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
+ "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz",
- "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
+ "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz",
- "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
+ "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz",
- "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz",
+ "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-simple-access": "^7.15.4",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz",
- "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==",
+ "version": "7.17.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz",
+ "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-module-transforms": "^7.15.4",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
"babel-plugin-dynamic-import-node": "^2.3.3"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz",
- "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
+ "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-module-transforms": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.14.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz",
- "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz",
+ "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5"
+ "@babel/helper-create-regexp-features-plugin": "^7.16.7"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz",
- "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
+ "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz",
- "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
+ "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-replace-supers": "^7.16.7"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz",
- "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
+ "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz",
- "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
+ "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz",
- "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
+ "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==",
"dev": true,
"requires": {
- "regenerator-transform": "^0.14.2"
+ "regenerator-transform": "^0.15.0"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz",
- "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
+ "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-runtime": {
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz",
- "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
+ "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.15.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz",
- "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
+ "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4"
+ "@babel/helper-plugin-utils": "^7.16.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz",
- "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
+ "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz",
- "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
+ "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz",
- "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
+ "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-unicode-escapes": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz",
- "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
+ "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz",
- "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
+ "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.14.5",
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-create-regexp-features-plugin": "^7.16.7",
+ "@babel/helper-plugin-utils": "^7.16.7"
}
},
"@babel/preset-env": {
}
},
"@babel/preset-modules": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz",
- "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==",
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
+ "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
}
},
"@babel/template": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
- "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
+ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
"requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4"
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
}
},
"@babel/traverse": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
- "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
- "requires": {
- "@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.4",
- "@babel/helper-function-name": "^7.15.4",
- "@babel/helper-hoist-variables": "^7.15.4",
- "@babel/helper-split-export-declaration": "^7.15.4",
- "@babel/parser": "^7.15.4",
- "@babel/types": "^7.15.4",
+ "version": "7.17.9",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz",
+ "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==",
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.17.9",
+ "@babel/helper-hoist-variables":&nbs