syntax = "proto3";
package fortanix;

service Consumer{
    rpc CreateAccount(AccountToCreate) returns (Response);
    rpc CreateAccountRole(RoleToCreate) returns (Response);
    rpc CreateUser(UserToCreate) returns (Response);
    rpc CreateGroup(GroupToCreate) returns (Response);
    rpc CreateGroupRole(RoleToCreate) returns (Response);
    rpc GetApps(AppsByGroup) returns (Response);
    rpc DeleteApp(App) returns (Response);
}

message RoleToCreate{
    string role_name = 1;
    string role_desc = 2;
    string acct_id = 3;
}

message AccountToCreate{
    string acct_name = 1;
}

message UserToCreate{
    string mail = 1;
    string group_id = 2;
    string group_role = 3;
    string acct_id = 4;
    string acct_role = 5;
}

message GroupToCreate{
    string group_name = 1;
    string group_desc = 2;
    string acct_id = 3;
}

message AppsByGroup{
    string acct_id = 1;
    string group_id = 2;
}

message App{
    string app_id = 1;
    string acct_id = 2;
}

message Resource{
    string msg = 1;
    optional string id = 2;
    optional string name = 3;
    optional string created_at = 4;
    string type_of_resource = 5; 
}

message Response{
    repeated Resource res = 1;
}