Mercurial > p > roundup > code
view detectors/newissuecopy.py @ 5632:a29a8dae2095
Initial implementation of function to return data for / and /data
endpoints under /rest/.
/rest/ returns:
1) default_version of the interface and supported_version array
2) list of links with rel and uri properties that indicate
what assets are available under /rest. E.g. /rest/data
/data returns:
a list of possible assets (e.g. issue, user, keyword, status)
and links for accessing those assets.
E.G.
{
"data": {
"keyword": {
"link": "https://example.net/demo/rest/data/keyword"
},
"user": {
"link": "https://example.net/demo/rest/data/user"
}, ...
}
}
Both of these are currently hand coded. Others will be doing more
development on the rest interface. These two examples are meant to
spark discussion on what the payloads returned by the rest interface
should look like and give some ideas around HATEOAS.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 01 Mar 2019 23:24:40 -0500 |
| parents | 198b6e810c67 |
| children |
line wrap: on
line source
# copied from nosyreaction from roundup import roundupdb def newissuecopy(db, cl, nodeid, oldvalues): ''' Copy a message about new issues to a team address. ''' # get relevant crypto settings encrypt = db.config.PGP_ENABLE and db.config.PGP_ENCRYPT # so use all the messages in the create change_note = cl.generateCreateNote(nodeid) # send a copy to the nosy list for msgid in cl.get(nodeid, 'messages'): try: # note: fourth arg must be a list cl.send_message(nodeid, msgid, change_note, ['team@team.host'], crypt=encrypt) except roundupdb.MessageSendError as message: raise roundupdb.DetectorError(message) def init(db): db.issue.react('create', newissuecopy) # vim: set filetype=python ts=4 sw=4 et si
