summaryrefslogtreecommitdiff
path: root/src/mailman/rest/addresses.py
Commit message (Collapse)AuthorAgeFilesLines
* Sort the addresses for predictable results.Barry Warsaw2017-02-021-1/+2
|
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* Clean up REST bits.Barry Warsaw2016-05-141-14/+12
|
* Allow merging users from the REST interfaceAurélien Bompard2016-05-041-6/+20
|
* API consistency.Barry Warsaw2016-04-031-5/+5
|
* Clean up the rest directory.Barry Warsaw2016-03-251-12/+5
|
* Refactor API differences into a separate class.Barry Warsaw2016-01-131-4/+5
| | | | | | | | | | | 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.
* Refactor API contexts.Barry Warsaw2016-01-131-2/+1
| | | | | | 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.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Cleanups, corner case fixes, and coverage.Barry Warsaw2015-12-311-8/+4
|
* Major push for completing issue #121. Now in API 3.1, all UUIDs must be theBarry Warsaw2015-12-301-5/+6
| | | | | | | | | 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).
* Merge branch 'maxking/mailman-add-alternate' into mr30Barry Warsaw2015-07-311-2/+11
|\ | | | | | | | | By POSTing to a user resource with an existing unlinked address, you can link the address to the user. Given by Abhilash Raj.
| * Add an unlinked address to a user via RESTAbhilash Raj2015-07-301-1/+9
|/ | | | | When adding an existing address through REST API, a 400 error was raised even if the address was not linked to any user. Fix that.
* * REST API version 3.1 introduced. Mostly backward compatible with versionBarry Warsaw2015-07-181-6/+7
| | | | | | 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.
* * You can now DELETE an address. If the address is linked to a user, theBarry Warsaw2015-02-051-0/+7
| | | | user is not delete, it is just unlinked.
* We don't need the 'six' package any more.Barry Warsaw2015-01-041-4/+2
|
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-6/+2
|
* Trunk merge.Barry Warsaw2014-12-221-0/+12
|\
| * * The address resource now has an additional '/user' sub-resource which canBarry Warsaw2014-12-081-0/+11
| |\ | | | | | | | | | | | | | | | | | | | | | be used to GET the address's linked user if there is one. This sub-resource also supports POST to link an unlinked address (with an optional 'auto_create' flag), and PUT to link the address to a different user. It also supports DELETE to unlink the address. (LP: #1312884) Given by Aurélien Bompard based on work by nicolask.
| | * REST feature: create a user from an existing addressAurélien Bompard2014-12-081-0/+10
| |/ | | | | | | Fixes LP bug #1312884
* / Checkpointing.Barry Warsaw2014-11-301-2/+4
|/ | | | | | | | | | 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.
* Minor cleanups.Barry Warsaw2014-08-151-2/+2
|
* Refactor so that most modules don't need to import falcon, and so fewerBarry Warsaw2014-08-141-24/+13
| | | | | unnecessary changes are needed for upstream falcon to support restish-ish traversal.
* Complete the conversion from restish to falcon, modulo a clean up pass. AllBarry Warsaw2014-08-141-4/+3
| | | | REST tests pass. This requires an as yet unmerged internal change to falcon.
* Make preferences work.Barry Warsaw2014-08-131-1/+1
|
* test_addresses and test_root are both passing now.Barry Warsaw2014-08-121-8/+11
|
* Get addresses.rst, i.e. /<api>/addresses working.Barry Warsaw2014-08-121-29/+37
|
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-281-1/+1
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* * Addresses can be added to existing users, including display names, via theBarry Warsaw2014-04-141-1/+30
|\ | | | | | | | | | | | | | | REST API. [Florian Fuchs] Also, email addresses are validated when they are added via the IUserManager interface. They are still also validated when subscribing to a mailing list, but that is redundant.
| * Add an email address to an existing user via the REST API.Barry Warsaw2014-04-141-0/+29
|/|
| * Posting an invalid email address string to the user/addresses endpoint Florian Fuchs2014-04-141-2/+5
| | | | | | | | now returns a 400 status code
| * * Added an API endpoint to POST new email addresses to a user resource.Florian Fuchs2014-04-131-0/+18
|/ | | | * Updated docs.
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* Switch to PEP 435 enums from flufl.enums.Barry Warsaw2013-06-181-1/+1
|
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* * You can now verify and unverify an email address through the REST API.Barry Warsaw2012-09-221-1/+40
| | | | | | | 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)
* * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-041-1/+1
| | | | | | | | | | | | | | | 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)
* Schema change. After discussion at Pycon, we decided to change "real_name" toBarry Warsaw2012-03-151-2/+2
| | | | | | | | | | | "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)
* copybumpBarry Warsaw2012-01-011-1/+1
|
* Sort the address memberships, first by mailing list fqdn, then by emailBarry Warsaw2011-10-231-2/+8
| | | | address, then by the integer value of the role enum.
* * Preferences for addresses, users, and members can be accessed, changed, andBarry Warsaw2011-09-231-0/+13
| | | | | | deleted through the REST interface. Hierarchical, combined preferences for members, and system preferences can be read through the REST interface. (LP: #821438)
* * Getting the memberships for a non-existent address did not give a 404 errorBarry Warsaw2011-09-131-0/+2
| | | | (LP: #848103). Given by Stephen A. Goss.
* Complete the ability to change a subscription address, both internally and viaBarry Warsaw2011-04-251-0/+33
| | | | | | | | | | | | | | 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.
* Add REST API for addresses, and change the user REST API to use it whereBarry Warsaw2011-04-191-0/+113
appropriate. Also: * When an Address instance is created, set its registered_on attribute. * Users may not have a password or real_name, so only include those attributes in the REST API for Users if they are set.