| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Closes #335
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| |
|
|
|
|
|
|
|
| |
* Add a version_info field which is a better way to do ordered
comparisions of the API version.
* All subresources now get their .api attribute set automatically, if
they are passed back through the ObjectRouter. No more fiddling with
context['api'] (unless of course, they don't make a roundtrip through
the main ObjectRouter loop.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Update tests to check for return values
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
We now have an IAPI interface which defines methods to convert to/from
UUIDs to their REST representations, and to calculate the API-homed full
URL path to a resource. Add implementations API30 and API31 to handle
the two different implementations so far. This also simplifies the
various path_to() calls.
Also: Add support for diff_cover to tox.ini to check that all
differences against the master branch have full test coverage.
|
| |
|
|
|
|
| |
Rather than sprinkle API version string tests all over the place, create
an IAPI interface which encapsulates the differences between API 3.0 and
3.1, and arrange for this to be used to convert to and from UUIDs.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
hex representations of a UUID, not the int representation.
Also:
* Some general code cleanup.
* Fix issue 185 (REST server crash when subscribing a user without a
preferred address).
|
| | |
|
| | |
|
| |
|
|
|
|
| |
3.0 except that UUIDs are represented as hex strings instead of 128-bit
integers, since the latter are not compatible with all versions of
JavaScript.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
allowing a client to cull all orphaned UIDs via ``DELETE`` on
``<api>/reserved/uids/orphans``. Note that *no guarantees* of API
stability will ever be made for resources under ``reserved``.
(LP: #1420083)
Also:
- Allow @dbconnection methods to be @staticmethods taking only one argument,
the store to perform the query on.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
file's ``[paths.*]`` sections. A new ``[paths.here]`` section is added,
which puts the ``var_dir`` in ``$cwd``. It is made the default layout.
* You can now view the contents of, inject messages into, and delete messages
from the various queue directories via the ``<api>/queues`` resource.
Also:
inject_message() and inject_text() now return the filebase of the file
injected into the queue directory.
|
| |
|
|
|
|
|
|
|
| |
``/3.0/system/configuration/<section>``. This returns a dictionary with
the keys being the section's variables and the values being their value
from ``mailman.cfg`` as verbatim strings. You can get a list of all
section names via ``/3.0/system/configuration`` which returns a dictionary
containing the ``http_etag`` and the section names as a sorted list under
the ``sections`` key. The system configuration resource is read-only.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
unnecessary changes are needed for upstream falcon to support restish-ish
traversal.
|
| |
|
|
| |
REST tests pass. This requires an as yet unmerged internal change to falcon.
|
| | |
|
| | |
|
| |
|
|
|
| |
Currently, only /<api>/system and its subpaths work, but basic auth does work
too. Requires a refactoring modification to falcon.
|
| |
|
|
|
|
|
|
| |
reflect this.
Also, mock out sys.stderr on some tests so that their nose2 output is quieter.
A few other minor coding style consistencies.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
styles (by name) via `.../lists/styles`. Create a list in a specific style
by using POST data `style_name=<style>`. (LP: #975692)
Also:
* Rewrite list.rst and some of configuration.rst to be more readable as
documentation. Bad-path tests are moved to unittests.
* Some improvements to printing lists as part of REST responses. This
eliminates the ugly u''-prefixes on strings.
|
| |
|
|
|
|
|
|
| |
Bergman).
* The canonical resource for a mailing list (and thus its self_link) is now
the URL with the list-id. To reference a mailing list, the list-id url is
preferred, but for backward compatibility, the posting address is still
accepted.
|
| |
|
|
|
|
| |
is now used when search for all template overrides, site, domain, or
mailing list. The in-tree English templates are used only as a last
fallback.
|
| | |
|
| |
|
|
|
|
| |
deleted through the REST interface. Hierarchical, combined preferences for
members, and system preferences can be read through the REST interface.
(LP: #821438)
|
| |\
| |
| |
| |
| | |
all the mailing lists in a specific domain (LP: #829765). Given by
Stephen A. Goss.
|
| |/ |
|
| |
|
|
|
|
| |
member records. Arguments are `subscriber` (email address to search for -
required), `fqdn_listname` (optional), and `role` (i.e. MemberRole -
optional). (LP: #799612)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
the REST API. (LP: #643949)
* New resource path in REST API: /addresses/<email>/memberships gets all the
memberships for a given email address.
* In the REST API, PUTting or PATCHing a list configuration now returns a 204
(No Content) success code instead of a 200 success code with an empty body.
* When a user is subscribed with their preferred address, changing the
preferred address also changes all subscriptions.
* When a user is subscribed with a specific address, their subscription can be
changed to any verified address they control.
* Use a new naming scheme for doctests with multiple mailing lists.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
path at the root of the resource tree (i.e. /members/X) and because when
members can be subscribed by their IUser record (for preferred address), their
canonical location cannot contain the address they are subscribed with. When
their preferred address changes (without otherwise touching their membership),
this address will change and that's not good for a canonical location.
Other changes:
* Added IMember.member_id attribute
* Added ISubscriptionService.get_member() so member records can be retrieve by
member id.
* We can now get individual members by id via the REST API.
* Extend the UniqueIDFactory so that it can take a 'context' (defaulting to
None). The context is only used in the testing infrastructure so that
separate files can be used for user ids and member ids. Otherwise, we'd
have gaps in those sequences.
* When *not* in testing mode, ensure that UIDs cannot be reused by keeping a
table of all UIDs ever handed out. We *should* never get collisions, but
this ensures it.
* Clean up mailman.sql
|