syntax = "proto3"; package user; import "public_messages.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/wrappers.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; option csharp_namespace = "CMSMicroservice.Protobuf.Protos.User"; service UserContract { rpc CreateNewUser(CreateNewUserRequest) returns (CreateNewUserResponse){ option (google.api.http) = { post: "/CreateNewUser" body: "*" }; }; rpc UpdateUser(UpdateUserRequest) returns (google.protobuf.Empty){ option (google.api.http) = { put: "/UpdateUser" body: "*" }; }; rpc DeleteUser(DeleteUserRequest) returns (google.protobuf.Empty){ option (google.api.http) = { delete: "/DeleteUser" body: "*" }; }; rpc GetUser(GetUserRequest) returns (GetUserResponse){ option (google.api.http) = { get: "/GetUser" }; }; rpc GetAllUserByFilter(GetAllUserByFilterRequest) returns (GetAllUserByFilterResponse){ option (google.api.http) = { get: "/GetAllUserByFilter" }; }; rpc GetJwtToken(GetJwtTokenRequest) returns (GetJwtTokenResponse){ option (google.api.http) = { get: "/GetJwtToken" }; }; rpc AdminGetJwtToken(AdminGetJwtTokenRequest) returns (AdminGetJwtTokenResponse){ option (google.api.http) = { get: "/AdminGetJwtToken" }; }; rpc SetPasswordForUser(SetPasswordForUserRequest) returns (google.protobuf.Empty){ option (google.api.http) = { post: "/SetPasswordForUser" body: "*" }; }; } message CreateNewUserRequest { google.protobuf.StringValue first_name = 1; google.protobuf.StringValue last_name = 2; string mobile = 3; google.protobuf.StringValue email = 4; google.protobuf.StringValue national_code = 5; google.protobuf.StringValue avatar_path = 6; google.protobuf.Int64Value parent_id = 7; bool email_notifications = 8; bool sms_notifications = 9; bool push_notifications = 10; google.protobuf.Timestamp birth_date = 11; } message CreateNewUserResponse { int64 id = 1; } message UpdateUserRequest { int64 id = 1; google.protobuf.StringValue first_name = 2; google.protobuf.StringValue last_name = 3; google.protobuf.StringValue email = 4; google.protobuf.StringValue national_code = 5; google.protobuf.StringValue avatar_path = 6; bool is_rules_accepted = 7; google.protobuf.Timestamp rules_accepted_at = 8; bool email_notifications = 9; bool sms_notifications = 10; bool push_notifications = 11; google.protobuf.Timestamp birth_date = 12; } message DeleteUserRequest { int64 id = 1; } message GetUserRequest { int64 id = 1; } message GetUserResponse { int64 id = 1; google.protobuf.StringValue first_name = 2; google.protobuf.StringValue last_name = 3; string mobile = 4; google.protobuf.StringValue email = 5; google.protobuf.StringValue national_code = 6; google.protobuf.StringValue avatar_path = 7; google.protobuf.Int64Value parent_id = 8; string referral_code = 9; bool is_mobile_verified = 10; google.protobuf.Timestamp mobile_verified_at = 11; bool email_notifications = 12; bool sms_notifications = 13; bool push_notifications = 14; google.protobuf.Timestamp birth_date = 15; } message GetAllUserByFilterRequest { messages.PaginationState pagination_state = 1; google.protobuf.StringValue sort_by = 2; GetAllUserByFilterFilter filter = 3; } message GetAllUserByFilterFilter { google.protobuf.StringValue search_text = 1; google.protobuf.Int64Value id = 2; google.protobuf.StringValue first_name = 3; google.protobuf.StringValue last_name = 4; google.protobuf.StringValue mobile = 5; google.protobuf.StringValue national_code = 6; google.protobuf.StringValue avatar_path = 7; google.protobuf.Int64Value parent_id = 8; google.protobuf.StringValue referral_code = 9; google.protobuf.BoolValue is_mobile_verified = 10; google.protobuf.Timestamp mobile_verified_at = 11; google.protobuf.BoolValue email_notifications = 12; google.protobuf.BoolValue sms_notifications = 13; google.protobuf.BoolValue push_notifications = 14; google.protobuf.Timestamp birth_date = 15; } message GetAllUserByFilterResponse { messages.MetaData meta_data = 1; repeated GetAllUserByFilterResponseModel models = 2; } message GetAllUserByFilterResponseModel { int64 id = 1; google.protobuf.StringValue first_name = 2; google.protobuf.StringValue last_name = 3; string mobile = 4; google.protobuf.StringValue national_code = 5; google.protobuf.StringValue avatar_path = 6; google.protobuf.Int64Value parent_id = 7; string referral_code = 8; bool is_mobile_verified = 9; google.protobuf.Timestamp mobile_verified_at = 10; bool email_notifications = 11; bool sms_notifications = 12; bool push_notifications = 13; google.protobuf.Timestamp birth_date = 14; } message GetJwtTokenRequest { int64 id = 1; } message GetJwtTokenResponse { string token = 1; } message AdminGetJwtTokenRequest { string username = 1; string password = 2; } message AdminGetJwtTokenResponse { string token = 1; } message SetPasswordForUserRequest { int64 user_id = 1; google.protobuf.StringValue current_password = 2; string new_password = 3; string confirm_password = 4; }