summaryrefslogtreecommitdiff
path: root/src/mailman/rest/docs/membership.txt
Commit message (Collapse)AuthorAgeFilesLines
* * New REST resource http://.../members/find can be POSTed to in order to findBarry Warsaw2011-08-131-523/+0
| | | | | | member records. Arguments are `subscriber` (email address to search for - required), `fqdn_listname` (optional), and `role` (i.e. MemberRole - optional). (LP: #799612)
* Complete the ability to change a subscription address, both internally and viaBarry Warsaw2011-04-251-47/+161
| | | | | | | | | | | | | | 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.
* Allow users to subscribe to mailing lists through the REST API.Barry Warsaw2011-04-241-7/+67
| | | | | | | | * ISubscriptionService.join(): address -> subscriber. This is not backward compatible with the previous API! * Add get_user_by_id() to the IUserManager interface. It was already implemented, but the interface was missing the definition. * MissingUserError: new exception, purely for the REST API.
* Give IMembers a unique member id. We have to do this in order to give them aBarry Warsaw2011-04-221-31/+85
| | | | | | | | | | | | | | | | | | | | | | | 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
* * Move members.txt corner cases to unittests.Barry Warsaw2011-04-201-78/+0
| | | | | | | * Fix a case in a list's /members API where the listname is bogus. * Catch NotAMemberError form delete_member() and return not_found. * Refactor REST helpers so that call_api() can be used in unittests without doing any prints to stdout.
* * Give users a unique, random, immutable user id.Barry Warsaw2011-03-181-1/+1
| | | | | * Find users by user_id via the user manager. * Extend the repr of users to include the user id.
* In the REST API, include the fqdn_listname and email address in the member'sBarry Warsaw2010-12-261-0/+42
| | | | JSON representation.
* Insulate the test environment from the running environment. Sadly, the testBarry Warsaw2010-12-221-43/+43
| | | | | | ports are still hard coded. Also, 'bin/mailman info' dumps the REST root url and credentials.
* More documentation fixes.Barry Warsaw2010-09-151-1/+9
|
* Refactor the list configuration code via the REST interface, and flesh it outBarry Warsaw2010-08-231-6/+6
| | | | considerably.
* * Fix the bin/test -e/--stderr option to work with the currentBarry Warsaw2010-06-181-11/+15
| | | | | | | | | | | | | zope.testrunner. Actually, divorce it from the latter and handle the sys.argv sequence ourselves. * Added IMailingList.get_roster() which returns the named roster (from a MemberRole enum). * The start of an IMailingList doctest. This needs much more detail. * Move the subscribe() function from membership.txt into the mailman.testing.helpers. * Added new REST interface for getting all the members of a roster for a specific mailing list: .../lists/<list>/roster/<role>. Note that <role> is the plural form of the MemberRole enum.
* Ensure that email addresses with slashes in them can be registered.Barry Warsaw2010-06-171-0/+14
|
* Subscribing an already subscribed member via REST now returns a 409 errorBarry Warsaw2010-06-151-1/+1
| | | | (LP: #552917).
* Refactoring for common collection code.Barry Warsaw2010-02-251-2/+2
|
* Refactor both the mailing lists and membership REST wrappers.Barry Warsaw2010-02-251-26/+7
|
* Complete the conversion to restish. All the tests pass and we're now actuallyBarry Warsaw2010-02-241-36/+28
| | | | | | RESTful. We have to use httplib2 to get DELETE and PUT. This is a prototype and could still use much cleanup.
* More tests.Barry Warsaw2009-12-281-0/+61
|
* Some corner case tests.Barry Warsaw2009-12-281-1/+41
|
* * Leave a mailing list via the REST API.Barry Warsaw2009-12-281-4/+31
| | | | | | * delete_member(): If the address is not associated with a member, raise NotAMemberError. * NotAMemberError -> interfaces/member.py
* * Add REST interface for joining a mailing list.Barry Warsaw2009-12-281-0/+33
| | | | | | * add_member() now returns the newly created IMember. * Reorganized several exceptions and exposed them to the REST API. * Added NoSuchListError.
* Show owners and moderators.Barry Warsaw2009-12-281-0/+44
|
* * Move the canonical url for subscriptions to under the mailing list.Barry Warsaw2009-12-281-9/+84
| | | | * Add some additional doctests.
* Show test for MemberRole.member.Barry Warsaw2009-12-271-2/+29
|
* Add REST API for subscription services.Barry Warsaw2009-12-271-0/+25