first commit
This commit is contained in:
218
shared/proto/security.proto
Normal file
218
shared/proto/security.proto
Normal file
@@ -0,0 +1,218 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package security;
|
||||
|
||||
service SecurityService {
|
||||
rpc ListActiveDevices (UserSecurityRequest) returns (ListDevicesResponse);
|
||||
rpc ListActiveSessions (UserSecurityRequest) returns (ListSessionsResponse);
|
||||
rpc ListSignInHistory (UserSecurityRequest) returns (ListSignInHistoryResponse);
|
||||
rpc LockSession (SessionActionRequest) returns (Session);
|
||||
rpc RevokeSession (SessionActionRequest) returns (Session);
|
||||
rpc RevokeDevice (DeviceActionRequest) returns (RevokeSessionsResponse);
|
||||
rpc RevokeAllSessions (UserSecurityRequest) returns (RevokeSessionsResponse);
|
||||
rpc SetupPin (PinRequest) returns (PinStatusResponse);
|
||||
rpc UpdatePin (PinRequest) returns (PinStatusResponse);
|
||||
rpc RequestPinDeletion (PinRequest) returns (PinDeletionScheduleResponse);
|
||||
rpc CancelPinDeletion (UserSecurityRequest) returns (PinDeletionCancelResponse);
|
||||
rpc VerifyPinCode (VerifyPinCodeRequest) returns (PinVerificationResponse);
|
||||
rpc ConnectLinkedAccount (ConnectLinkedAccountRequest) returns (LinkedAccount);
|
||||
rpc DisconnectLinkedAccount (DisconnectLinkedAccountRequest) returns (MutationCountResponse);
|
||||
rpc ListLinkedAccounts (UserSecurityRequest) returns (ListLinkedAccountsResponse);
|
||||
}
|
||||
|
||||
service SettingsService {
|
||||
rpc ListSettings (Empty) returns (ListSettingsResponse);
|
||||
rpc ListPublicSettings (Empty) returns (ListPublicSettingsResponse);
|
||||
rpc GetSetting (SettingKeyRequest) returns (SystemSetting);
|
||||
rpc UpsertSetting (UpsertSettingRequest) returns (SystemSetting);
|
||||
rpc DeleteSetting (SettingKeyRequest) returns (MutationCountResponse);
|
||||
rpc ListSocialProviders (Empty) returns (ListSocialProvidersResponse);
|
||||
rpc UpsertSocialProvider (UpsertSocialProviderRequest) returns (SocialProvider);
|
||||
rpc DeleteSocialProvider (ProviderNameRequest) returns (MutationCountResponse);
|
||||
}
|
||||
|
||||
message Empty {}
|
||||
|
||||
message UserSecurityRequest {
|
||||
string userId = 1;
|
||||
}
|
||||
|
||||
message Device {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string type = 3;
|
||||
optional string lastIp = 4;
|
||||
string lastSeenAt = 5;
|
||||
bool trusted = 6;
|
||||
}
|
||||
|
||||
message SignInEvent {
|
||||
string id = 1;
|
||||
bool success = 2;
|
||||
optional string reason = 3;
|
||||
optional string ipAddress = 4;
|
||||
optional string userAgent = 5;
|
||||
string createdAt = 6;
|
||||
}
|
||||
|
||||
message Session {
|
||||
string id = 1;
|
||||
string userId = 2;
|
||||
optional string deviceId = 3;
|
||||
bool pinVerified = 4;
|
||||
string status = 5;
|
||||
optional string ipAddress = 6;
|
||||
optional string userAgent = 7;
|
||||
string expiresAt = 8;
|
||||
string createdAt = 9;
|
||||
string updatedAt = 10;
|
||||
}
|
||||
|
||||
message SessionActionRequest {
|
||||
string userId = 1;
|
||||
string sessionId = 2;
|
||||
}
|
||||
|
||||
message DeviceActionRequest {
|
||||
string userId = 1;
|
||||
string deviceId = 2;
|
||||
}
|
||||
|
||||
message PinRequest {
|
||||
string userId = 1;
|
||||
string pin = 2;
|
||||
}
|
||||
|
||||
message VerifyPinCodeRequest {
|
||||
string sessionId = 1;
|
||||
string pin = 2;
|
||||
}
|
||||
|
||||
message PinStatusResponse {
|
||||
string userId = 1;
|
||||
bool isEnabled = 2;
|
||||
}
|
||||
|
||||
message PinVerificationResponse {
|
||||
string accessToken = 1;
|
||||
bool pinVerified = 2;
|
||||
}
|
||||
|
||||
message SystemSetting {
|
||||
string id = 1;
|
||||
string key = 2;
|
||||
string value = 3;
|
||||
optional string description = 4;
|
||||
bool isSecret = 5;
|
||||
}
|
||||
|
||||
message UpsertSettingRequest {
|
||||
string key = 1;
|
||||
string value = 2;
|
||||
optional string description = 3;
|
||||
optional bool isSecret = 4;
|
||||
}
|
||||
|
||||
message SettingKeyRequest {
|
||||
string key = 1;
|
||||
}
|
||||
|
||||
message LinkedAccount {
|
||||
string id = 1;
|
||||
string userId = 2;
|
||||
string providerName = 3;
|
||||
string providerId = 4;
|
||||
optional string email = 5;
|
||||
optional string displayName = 6;
|
||||
optional string avatarUrl = 7;
|
||||
string createdAt = 8;
|
||||
string updatedAt = 9;
|
||||
}
|
||||
|
||||
message ConnectLinkedAccountRequest {
|
||||
string userId = 1;
|
||||
string providerName = 2;
|
||||
string providerId = 3;
|
||||
optional string email = 4;
|
||||
optional string displayName = 5;
|
||||
optional string avatarUrl = 6;
|
||||
}
|
||||
|
||||
message DisconnectLinkedAccountRequest {
|
||||
string userId = 1;
|
||||
string providerName = 2;
|
||||
}
|
||||
|
||||
message SocialProvider {
|
||||
string id = 1;
|
||||
string providerName = 2;
|
||||
string clientId = 3;
|
||||
optional string clientSecret = 4;
|
||||
bool isEnabled = 5;
|
||||
string createdAt = 6;
|
||||
string updatedAt = 7;
|
||||
}
|
||||
|
||||
message UpsertSocialProviderRequest {
|
||||
string providerName = 1;
|
||||
string clientId = 2;
|
||||
optional string clientSecret = 3;
|
||||
bool isEnabled = 4;
|
||||
}
|
||||
|
||||
message ProviderNameRequest {
|
||||
string providerName = 1;
|
||||
}
|
||||
|
||||
message ListDevicesResponse {
|
||||
repeated Device devices = 1;
|
||||
}
|
||||
|
||||
message ListSignInHistoryResponse {
|
||||
repeated SignInEvent events = 1;
|
||||
}
|
||||
|
||||
message ListSessionsResponse {
|
||||
repeated Session sessions = 1;
|
||||
}
|
||||
|
||||
message RevokeSessionsResponse {
|
||||
int32 count = 1;
|
||||
}
|
||||
|
||||
message ListSettingsResponse {
|
||||
repeated SystemSetting settings = 1;
|
||||
}
|
||||
|
||||
message ListLinkedAccountsResponse {
|
||||
repeated LinkedAccount accounts = 1;
|
||||
}
|
||||
|
||||
message ListSocialProvidersResponse {
|
||||
repeated SocialProvider providers = 1;
|
||||
}
|
||||
|
||||
message PinDeletionScheduleResponse {
|
||||
string userId = 1;
|
||||
string deletionRequestedAt = 2;
|
||||
string effectiveAt = 3;
|
||||
int32 graceMinutes = 4;
|
||||
}
|
||||
|
||||
message PinDeletionCancelResponse {
|
||||
string userId = 1;
|
||||
bool cancelled = 2;
|
||||
}
|
||||
|
||||
message PublicSetting {
|
||||
string key = 1;
|
||||
string value = 2;
|
||||
}
|
||||
|
||||
message ListPublicSettingsResponse {
|
||||
repeated PublicSetting settings = 1;
|
||||
}
|
||||
|
||||
message MutationCountResponse {
|
||||
int32 count = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user