diff --git a/email.proto b/email.proto index 4397283..95fc76a 100644 --- a/email.proto +++ b/email.proto @@ -2,26 +2,43 @@ syntax = "proto3"; package email; +//Сервис для подтверждения аккаунта через эл. почту (email) +//Сервис связан с user-сервисом, а именно регитсрацией, подтверждением и входом в аккаунт +// +//rpc для Email сервиса service EmailService { + //Отправка электронного письма пользователю на почту rpc SendEmail(SendEmailRequest) returns (SendEmailResponse); } +//Шаблон письма enum EmailTemplate { + //Шаблон неопределен EMAIL_TEMPLATE_UNSPECIFIED = 0; + //Шаблон кода подтверждения EMAIL_TEMPLATE_VERIFICATION_CODE = 1; } +//Плейслхолдеры для шаблона электронного письма message EmailTemplateVar { + //Ключ из шаблона string key = 1; + //Его значение для подстановки string value = 2; } +//Запрос отправки email'a message SendEmailRequest { + //Email пользователя string destination_email = 1; + //Шаблон письма EmailTemplate template = 2; + //Переменные для подстановки repeated EmailTemplateVar vars = 3; } +//Результат отправки письма message SendEmailResponse { + //Если письмо отправлено успешно, то возращается true bool success = 1; } diff --git a/user.proto b/user.proto index a175138..15951a7 100644 --- a/user.proto +++ b/user.proto @@ -4,37 +4,62 @@ package user; option go_package = "github.com/esclient/user-service"; +// Сервис для управления пользователями: регистрация, аутентификация и верификация +// +// Этот сервис предоставляет функциональность для работы с пользователями, +// Включая регистрацию новых аккаунтов, аутентификацию и подтверждение email. service UserService { + // Аутентификация пользователя в системе rpc LoginUser(LoginUserRequest) returns (LoginUserResponse); + // Регистрация нового пользователя rpc RegisterUser(RegisterUserRequest) returns (RegisterUserResponse); + // Подтверждение после регистрации пользователя rpc VerifyUser(VerifyUserRequest) returns (VerifyUserResponse); } +// Запрос для аутентификации пользователя message LoginUserRequest { + // Логин или email пользователя string username_or_email = 1; + // Пароль пользователя string password = 2; } +// Запрос для регистрации нового пользователя message RegisterUserRequest { + // Уникальный логин пользователя. Должен содержать только буквы, цифры и подчеркивания string login = 1; + // Email пользователя. Должен быть валидным email адресом (однако доп. валидация будет проведена внутри сервиса) string email = 2; + // Пароль пользователя. должен содержать цифры и буквы string password = 3; + // Подтверждение пароля. Должно совпадать с полем password + // Валидация и сравнение проводится внутри сервиса string confirm_password = 4; } +// Запрос для подтверждения email пользователя message VerifyUserRequest { + // ID пользователя, которого нужно верифицировать. На данном этапе это число (int64) int64 user_id = 1; + // Код подтверждения, отправленный на email пользователя. Валидация производится внутри сервиса string confirmation_code = 2; } +// Ответ после успешной аутентификации message LoginUserResponse { + // ID аутентифицированного пользователя int64 user_id = 1; } +// Ответ после успешной регистрации message RegisterUserResponse { + // ID зарегистрированного пользователя int64 user_id = 1; } +// Ответ с результатом верификации message VerifyUserResponse { + // Флаг успешной верификации пользователя bool is_verified = 1; }