Util 
====

.. _SortOrder:

SortOrder
---------

Sort orders we use.

Unsorted/Don't Care == UNSPECIFIED

.. code-block:: json

 enum SortOrder {
  SORT_ORDER_UNSPECIFIED = 0;
  SORT_ORDER_NAME = 1;
  SORT_ORDER_SIZE = 2;
  SORT_ORDER_CREATION_DATE = 3;
  SORT_ORDER_MODIFICATION_DATE = 4;
  SORT_ORDER_LASTLOGIN_DATE = 5;
  SORT_ORDER_LOGINCOUNT = 6;
  SORT_ORDER_EMAIL = 7;
  SORT_ORDER_SCORE = 8;
  // ActivityLog
  SORT_ORDER_DATE = 9;
  SORT_ORDER_USER = 10;
  SORT_ORDER_TYPE = 11;
  SORT_ORDER_OBJECT = 12;
  SORT_ORDER_ACTIVITY = 13;
  SORT_ORDER_LOGINS = 14;
  SORT_ORDER_DOCUMENT_VIEWS = 15;
  SORT_ORDER_DOCUMENT_DOWNLOADS = 16;
  SORT_ORDER_GROUP = 17;
  SORT_ORDER_INVOICE_FROM = 18;
  SORT_ORDER_INVOICE_UNTIL = 19;
  SORT_ORDER_INVOICE_DATE = 20;
  SORT_ORDER_INVOICE_AMOUNT = 21;
  SORT_ORDER_INVOICE_AMOUNT_OPEN = 22;
  SORT_ORDER_INVOICE_AMOUNT_PAID = 23;
  // Login Activity
  SORT_ORDER_IP_ADDRESS = 24;
  SORT_ORDER_LOCATION = 25;
  SORT_ORDER_ACCESS_FROM_DATE = 26;
  SORT_ORDER_ACCESS_TO_DATE = 27;
 }

+------------------------------------+--------+---------------------------------------------------------------------------------+
| Value                              | Tag    | Description                                                                     |
+====================================+========+=================================================================================+
| ``SORT_ORDER_UNSPECIFIED``         | ``0``  | Sorts items in the order they were created.                                     |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_NAME``                | ``1``  | Sorts items in their title's alfabetical order.                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_SIZE``                | ``2``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_CREATION_DATE``       | ``3``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_MODIFICATION_DATE``   | ``4``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_LASTLOGIN_DATE``      | ``5``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_LOGINCOUNT``          | ``6``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_EMAIL``               | ``7``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_SCORE``               | ``8``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| **ActivityLog**                    |        |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_DATE``                | ``9``  |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_USER``                | ``10`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_TYPE``                | ``11`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_OBJECT``              | ``12`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_ACTIVITY``            | ``13`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_LOGINS``              | ``14`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_DOCUMENT_VIEWS``      | ``15`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_DOCUMENT_DOWNLOADS``  | ``16`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_GROUP``               | ``17`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_FROM``        | ``18`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_UNTIL``       | ``19`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_DATE``        | ``20`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_AMOUNT``      | ``21`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_AMOUNT_OPEN`` | ``22`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_INVOICE_AMOUNT_PAID`` | ``23`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| **Login Activity**                 |        |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_IP_ADDRESS``          | ``24`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_LOCATION``            | ``25`` |                                                                                 |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_ACCESS_FROM_DATE``    | ``26`` | Sorts items according to the date and time that they can be accessed.           |
+------------------------------------+--------+---------------------------------------------------------------------------------+
| ``SORT_ORDER_ACCESS_TO_DATE``      | ``27`` | Sorts items according to the date and time that they can no longer be accessed. |
+------------------------------------+--------+---------------------------------------------------------------------------------+

.. _SortDirection:

SortDirection
-------------

Sort direction

.. code-block:: json

 enum SortDirection {
  SORT_DIRECTION_UNSPECIFIED = 0;
  SORT_DIRECTION_ASCENDING = 1;
  SORT_DIRECTION_DESCENDING = 2;
 }

+--------------------------------+-------+---------------------------------------------+
| Value                          | Tag   | Description                                 |
+--------------------------------+-------+---------------------------------------------+
| ``SORT_DIRECTION_UNSPECIFIED`` | ``0`` | Sorts items in the order they were created. |
+--------------------------------+-------+---------------------------------------------+
| ``SORT_DIRECTION_ASCENDING``   | ``1`` | Sorts items from smallest to biggest.       |
+--------------------------------+-------+---------------------------------------------+
| ``SORT_DIRECTION_DESCENDING``  | ``2`` | Sorts items from biggest to smallest.       |
+--------------------------------+-------+---------------------------------------------+

.. _SearchPeriod:

SearchPeriod
------------

When doing a search, you can specify fixed date-periods

These are used for new/modified

.. code-block:: json

 enum SearchPeriod {
  SEARCH_PERIOD_UNSPECIFIED = 0;
  SEARCH_PERIOD_SINCE_LASTLOGIN = 1;
  SEARCH_PERIOD_SINCE_1DAY = 2;
  SEARCH_PERIOD_SINCE_2DAYS = 3;
  SEARCH_PERIOD_SINCE_3DAYS = 4;
  SEARCH_PERIOD_SINCE_7DAYS = 5;
  SEARCH_PERIOD_SINCE_14DAYS = 6;
  SEARCH_PERIOD_SINCE_21DAYS = 7;
  SEARCH_PERIOD_SINCE_31DAYS = 8;
  SEARCH_PERIOD_SINCE_92DAYS = 9;
  SEARCH_PERIOD_SINCE_183DAYS = 10;
  SEARCH_PERIOD_SINCE_366DAYS = 11;
  SEARCH_PERIOD_MORETHAN_366DAYS = 12;
 }

+------------------------------------+--------+-------------+
| Value                              | Tag    | Description |
+====================================+========+=============+
| ``SEARCH_PERIOD_UNSPECIFIED``      | ``0``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_LASTLOGIN``  | ``1``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_1DAY``       | ``2``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_2DAYS``      | ``3``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_3DAYS``      | ``4``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_7DAYS``      | ``5``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_14DAYS``     | ``6``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_21DAYS``     | ``7``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_31DAYS``     | ``8``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_92DAYS``     | ``9``  |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_183DAYS``    | ``10`` |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_SINCE_366DAYS``    | ``11`` |             |
+------------------------------------+--------+-------------+
| ``SEARCH_PERIOD_MORETHAN_366DAYS`` | ``12`` |             |
+------------------------------------+--------+-------------+

.. _SearchScope:

SearchScope
-----------

Scope of the search itself

.. code-block:: json

 enum SearchScope {
  SEARCH_SCOPE_UNSPECIFIED = 0;
  SEARCH_SCOPE_DOCUMENTS_ONLY = 1;
  SEARCH_SCOPE_COLLECTIONS_ONLY = 2;
  SEARCH_SCOPE_DOCUMENTS_COLLECTIONS = 3;
 }

+----------------------------------------+-------+-------------+
| Value                                  | Tag   | Description |
+========================================+=======+=============+
| ``SEARCH_SCOPE_UNSPECIFIED``           | ``0`` |             |
+----------------------------------------+-------+-------------+
| ``SEARCH_SCOPE_DOCUMENTS_ONLY``        | ``1`` |             |
+----------------------------------------+-------+-------------+
| ``SEARCH_SCOPE_COLLECTIONS_ONLY``      | ``2`` |             |
+----------------------------------------+-------+-------------+
| ``SEARCH_SCOPE_DOCUMENTS_COLLECTIONS`` | ``3`` |             |
+----------------------------------------+-------+-------------+

.. _SearchType:

SearchType
----------

The search type that is requested

.. code-block:: json

 enum SearchType {
  SEARCH_TYPE_UNSPECIFIED = 0;
  SEARCH_TYPE_ATTRIBUTES_ONLY = 1;
  SEARCH_TYPE_FULLTEXT  = 2;
  SEARCH_TYPE_TITLE = 3;
 }

+---------------------------------+-------+-------------+
| Value                           | Tag   | Description |
+=================================+=======+=============+
| ``SEARCH_TYPE_UNSPECIFIED``     | ``0`` |             |
+---------------------------------+-------+-------------+
| ``SEARCH_TYPE_ATTRIBUTES_ONLY`` | ``1`` |             |
+---------------------------------+-------+-------------+
| ``SEARCH_TYPE_FULLTEXT``        | ``2`` |             |
+---------------------------------+-------+-------------+
| ``SEARCH_TYPE_TITLE``           | ``3`` |             |
+---------------------------------+-------+-------------+