diff options
Diffstat (limited to 'gentoobrowse-api/service/notifications/notifications.ice')
-rw-r--r-- | gentoobrowse-api/service/notifications/notifications.ice | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gentoobrowse-api/service/notifications/notifications.ice b/gentoobrowse-api/service/notifications/notifications.ice new file mode 100644 index 0000000..a60fa28 --- /dev/null +++ b/gentoobrowse-api/service/notifications/notifications.ice @@ -0,0 +1,49 @@ +#ifndef GENTOO_NOTIFICATIONS +#define GENTOO_NOTIFICATIONS + +#include <user-models.ice> +#include <portage-models.ice> + +module Gentoo { + class MimePart { + string mimetype; + string payload; + }; + + sequence<MimePart> MimeParts; + + struct Address { + string name; + string address; + }; + + class Email { + Address to; + Address from; + string subject; + MimeParts body; + }; + + ["cpp:ice_print"] + exception SendEmailFailed { + string message; + }; + + struct NewsContent { + Categories categories; + Packages packages; + Ebuilds ebuilds; + }; + + interface Notifications { + Email getSignup(NewUser user); + Email getNews(User user, NewsContent nc); + }; + + interface MailServer { + idempotent void sendEmail(Email msg) throws SendEmailFailed; + }; +}; + +#endif + |