summaryrefslogtreecommitdiff
path: root/src/mailman/rest/docs (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | Checkpointing.Barry Warsaw2014-11-301-2/+3
|/ | | | | | | | | | By using `six` I think I have most of the imports squared away. There's probably still uses of `unicode` built-ins that need fixing. The idea is to first get the test suite running (which it doesn't yet), and then to fix tests. There's a bug in lazr.config which requires us to patch it for now.
* s/restish/falcon/Barry Warsaw2014-11-155-103/+61
|\
| * When we switch to tox, we'll get hash randomization, which breaks many tests.Barry Warsaw2014-11-062-3/+3
| | | | | | | | | | | | | | | | While I'm shipping a tox.ini, do not yet use tox to run the tests, unless you want to help fix the randomizations. In the meantime, I'm also adding a few randomization fixes, and updating to the latest falcon git trunk.
| * Port to current Falcon git head.Barry Warsaw2014-11-021-12/+18
| |
| * Trunk merge.Barry Warsaw2014-11-021-17/+15
| |\
| * | Complete the conversion from restish to falcon, modulo a clean up pass. AllBarry Warsaw2014-08-142-21/+20
| | | | | | | | | | | | REST tests pass. This requires an as yet unmerged internal change to falcon.
| * | Domains are ported to falcon.Barry Warsaw2014-08-131-7/+0
| | |
| * | Make preferences work.Barry Warsaw2014-08-131-19/+1
| | |
| * | First pass at converting to falcon for the REST API layer.Barry Warsaw2014-08-121-46/+24
| | | | | | | | | | | | | | | Currently, only /<api>/system and its subpaths work, but basic auth does work too. Requires a refactoring modification to falcon.
* | | Tox-ify the test suite. Now you don't have to create a virtualenv separately.Barry Warsaw2014-11-072-3/+3
| |/ |/| | | | | | | | | | | | | | | | | | | To do this, we have to handle random test ordering, since tox explicitly sets PYTHONHASHSEED. That's a good thing for the future Python 3 port. Removed `mailman conf -t/--sort`; now the output is always sorted. RFC 2369 headers are now sorted before being added. etag repr dicts are sorted using pprint.pformat().
* | Merge abompard's fixes to the Postgres test suite.Barry Warsaw2014-10-301-17/+15
|/
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-287-24/+24
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* * Fixed a crash in the REST server when searching for nonmembers viaBarry Warsaw2014-04-152-51/+102
| | | | | | | | ``/find`` which we've never seen before, because those members only have an address record, not a user record. This requires a small change in the API where the JSON response's ``address`` key now contains the URL to the address resource, the new ``email`` key contains the email address as a string, and the ``user`` key is optional.
* Add an email address to an existing user via the REST API.Barry Warsaw2014-04-141-0/+53
|\
| * * Added an API endpoint to POST new email addresses to a user resource.Florian Fuchs2014-04-131-0/+34
| | | | | | | | * Updated docs.
* | Trunk mergeBarry Warsaw2014-04-143-1/+60
|\|
| * Bump copyright years.Barry Warsaw2014-01-011-1/+1
| |
| * Fix a couple of intermittent test problems.Barry Warsaw2013-12-011-0/+1
| |
| * Add lists/<list-id>/archivers as the resource end-point.Barry Warsaw2013-11-271-0/+58
| | | | | | | | | | | | We won't set archivers in the list's configuration. Add doctests and unittests for archivers.
* | Aurélien Bompard's import-from-2.1 branch, with cleanup and fixes.Barry Warsaw2014-04-141-1/+1
|/
* * Expose ``hide_address`` to the ``.../preferences`` REST API. ContributedBarry Warsaw2013-08-281-0/+3
| | | | by Sneha Priscilla.
* Tweaks and fixes by Barry.Barry Warsaw2013-03-213-7/+14
|
* Florian's branch for LP: #1156529Barry Warsaw2013-03-213-0/+109
|\
| * REST API: Added pagination functionality to list, member and user collections.Florian Fuchs2013-03-203-0/+109
| | | | | | | | This is related to LP: #1156529.
* | * Add ``reply_to_address`` and ``first_strip_reply_to`` as writableBarry Warsaw2013-03-201-178/+8
|/ | | | | | | | attributes of a mailing list's configuration. (LP: #1157881) Also: - template.py should only include 2013 for new copyright years. - Move some bad-path tests in configuration.rst to test_configuration.py
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* * List styles are supported through the REST API. Get the list of availableBarry Warsaw2012-12-302-102/+100
| | | | | | | | | | | 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.
* * A user's password can be verified by POSTing to .../user/<id>/login. TheBarry Warsaw2012-12-261-0/+42
| | | | | | data must contain a single parameter `cleartext_password` and if this matches, a 204 (No Content) will be returned, otherwise a 403 (Forbidden) is returned. (LP: #1065447)
* * Finish rewrite of users.rst doctest.Barry Warsaw2012-12-261-130/+125
| | | | | | | * Migrate non-doctests to the test_users.py unittest. * Add more corner cases to the unittest. * Be sure to return a 404 when trying to get the address records of a non-existant user.
* initial refactoringBarry Warsaw2012-12-251-13/+12
|
* * Expose a REST API for membership change (subscriptions and unsubscriptions)Barry Warsaw2012-12-171-35/+218
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | moderation. (LP: #1090753) * Fixed `send_goodbye_message()`. (LP: #1091321) Also: * Rewrite and refactor request.rst into better documentation, moving non-good-path tests into unittests. This doctest now only describes the IRequests API, while the bulk of the moderation documentation now lives in moderator.rst. * When a subscription request is pended, the `delivery_mode` key is now just the enum item's name, instead of the str() of the enum (which would include the class name). We know it's always going to be a DeliveryMode enum. * Refactor out the welcome_message calculation from the welcome_message_uri, since the same algorithm can apply to goodbye_message_uri. * When a _Request is retrieved, include the RequestType enum name in the data dictionary (if there is one) under the `_request_type` key. Some APIs find this useful, but it's not directly returned otherwise. * For held messages via the REST API, flatten the `data` key into the top-level JSON representation, exposing some of the _mod_* keys under their non-_mod_* equivalent. Ignore _mod_* keys we don't care about. This is an API change.
| * Complete the exposure of subscription request moderation via REST (still needsBarry Warsaw2012-12-161-37/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a clean up pass and thorough unit testing). * Insert the RequestType enum name into the data dictionary returned by get_request(). Otherwise, there's really no good way to get that information, which several APIs need. * Flatten the data dictionary returned by held message JSON representations, into the JSON dictionary itself. Do a filtering and rename pass on the keys. - rename 'id' to 'request_id' - remove the redundant 'key' * Refactor some common stuff into _ModerationBase, although more refactoring is coming.
| * Expose held subscription/unsubscription requests via the API.Barry Warsaw2012-12-151-4/+90
| | | | | | | | | | | | * hold_subscription(): Don't str(mode) to get a string representation, just mode.name since we know it is a DeliveryMode. This means we don't need to split the value later in handle_subscription().
* | * Allow the getting/setting of IMailingList.subject_prefix via the REST APIBarry Warsaw2012-12-171-0/+8
|\ \ | |/ |/| | | (given by Terri Oda). (LP: #1062893)
| * Adding subject_prefix to the api (and updating the docs to include it)Terri Oda2012-12-151-0/+8
|/
* * Deleting a user through the REST API also deletes all the user's linkedBarry Warsaw2012-11-051-0/+7
| | | | | | addresses and memberships. (LP: #1074374) Also: Clean up pyflakes warning by removing an obsolete __all__ entry.
* * You can now verify and unverify an email address through the REST API.Barry Warsaw2012-09-221-1/+41
| | | | | | | POST to .../addresses/<email>/verify and .../addresses/<email>/unverify respectively. The POST data is ignored. It is not an error to verify or unverify an address more than once, but verifying an already verified address does not change its `.verified_on` date. (LP: #1054730)
* * You can now PUT and PATCH on user resources to change the user's displayBarry Warsaw2012-09-222-4/+101
| | | | | | | | | | | | | | name or password. For passwords, you pass in the clear text password and Mailman will hash it before storing. Also: * Major refactoring of validators for PUT and PATCH. Pull the common logic out of configuration.py and put it in a PatchValidator class in helpers.py. Also move GetterSetter to helpers.py * Add new exception classes RESTError, UnknownPATCHRequestError, ReadOnlyPATCHRequestError. These are used in the PatchValidator. * Added Validator.update() which works nicely for PATCH and PUT.
* * Add list_id to JSON representation for a mailing list (given by JimmyBarry Warsaw2012-09-221-11/+44
|\ | | | | | | | | | | | | | | 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.
| * Add list_id to the REST API list representationJimmy Bergman2012-09-201-0/+3
|/
* * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-042-59/+59
| | | | | | | | | | | | | | | now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting address). This is because while the posting address can change if the mailing list is moved to a new server, the list id is fixed. (LP: #1024509) + IListManager.get_by_list_id() added. + IListManager.list_ids added. + IMailingList.list_id added. + Several internal APIs that accepted fqdn list names now require list ids, e.g. ISubscriptionService.join() and .find_members(). + IMember.list_id attribute added; .mailing_list is now an alias that retrieves and returns the IMailingList. - list_id added (LP: #1024509)
* * Expose `archive_policy` in the REST API. Contributed by AlexanderBarry Warsaw2012-08-201-0/+6
| | | | Sulfrian. (LP: #1039129)
* * Removed obsolete `IMailingList` attribute `generic_nonmember_action.Barry Warsaw2012-08-191-3/+0
| | | | (LP: #975696)
* Working for SQLite:Barry Warsaw2012-07-251-8/+8
| | | | | | include_list_post_header -> allow_list_posts Also add a bunch more migration tests.
* Replace flufl.password with passlib, albeit with a wrapper.Barry Warsaw2012-06-271-7/+7
|
* * Mailing list resources now have a `member_count` attribute which gives theBarry Warsaw2012-03-152-0/+8
|\ | | | | | | number of subscribed members. Given by Toshio Kuratomi.
| * Fix up doctests for the addition of volume and member_count to the rest api ↵toshio2012-03-152-1/+7
| | | | | | | | lists
* | Schema change. After discussion at Pycon, we decided to change "real_name" toBarry Warsaw2012-03-156-30/+31
|/ | | | | | | | | | | "display_name" across the board. * `IMailingList.real_name` -> `IMailingList.display_name` * `IUser.real_name` -> `IUser.display_name` * `IAddress.real_name` -> `IAddress.display_name` * Schema changes: - real_name -> display_name (mailinglist, user, address)
* * Mailing lists get multiple chains and pipelines. For example, normalBarry Warsaw2012-03-071-10/+9
| | | | | | | | | | | postings go through the `posting_chain` while messages to owners to through `owners_chain`. The default `built-in` chain is renamed to `default-posting-chain` while the `built-in` pipeline is renamed `default-posting-pipeline`. * Schema changes: - start_chain -> posting_chain - pipeline -> posting_pipeline
* * A welcome message is sent when the user confirms their subscription viaBarry Warsaw2012-03-041-1/+1
| | | | | | | | | | email. Also: - The user's Full Name is included on the To line of a welcome message. - Clean up some tests. - The welcome_message_uri for lists using the default style is set to mailman:///welcome.txt so a welcome message is sent by default.