Role http reference

Fireback accelerates backend and mobile app development, offering powerful code generation tools and standardized architecture. With seamless backend integration and streamlined workflows, Fireback expedites the creation of robust and scalable apps.

postWorkspaceRoleAssign

workspace/role/assign

Response Dto/Entity: *core.OkayResponse

message OkayResponse {
    OkayResponseData data = 1;
}
export interface OkayResponse {
  data: OkayResponseData | undefined;
}

Request Dto/Entity: *workspaces.AssignRoleDto

message AssignRoleDto {
	string roleId = 1; // @tag(validate:"required")
	string userId = 2; // @tag(validate:"required")
	optional string visibility = 3; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface AssignRoleDto {
  /** @tag(validate:"required") */
  roleId: string;
  /** @tag(validate:"required") */
  userId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

postWorkspaceRole

workspace/role

Response Dto/Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

patchWorkspaceRole

workspace/role

Response Dto/Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getWorkspaceRoles

workspace/roles

Response Dto/Entity: *[]workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getWorkspaceRoleByUniqueId

workspace/role/:uniqueId

Response Dto/Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Params: :uniqueId

deleteWorkspaceRole

workspace/role

Request Dto/Entity: *core.DeleteRequest

Target Entity: *workspaces.RoleEntity

message RoleEntity {
	string uniqueId  = 1; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string name      = 2; // @tag(polyglot:"name")

	optional string parentRoleId = 3;
	RoleEntity parentRole = 4;

	repeated string capabilitiesListId = 5;  // @tag(gorm:"-" sql:"-")
	repeated CapabilityEntity capabilities  = 6;  // @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities")

	WorkspaceEntity workspace = 7;  // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 8;           // @tag(json:"workspaceId" gorm:"size:100;")
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")

}
export interface RoleEntity {
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(polyglot:"name") */
  name: string;
  parentRoleId?: string | undefined;
  parentRole: RoleEntity | undefined;
  /** @tag(gorm:"-" sql:"-") */
  capabilitiesListId: string[];
  /** @tag(gorm:"many2many:role_capability;foreignKey:UniqueId;references:UniqueId" json:"capabilities") */
  capabilities: CapabilityEntity[];
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(json:"workspaceId" gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}