Workspace 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.

postWorkspaceInvite

workspace/invite

Response Dto/Entity: *workspaces.WorkspaceInviteEntity

message WorkspaceInviteEntity {

	string passportMode = 13;
	string coverLetter       = 12;
	string targetUserLocale  = 2;
	string email             = 3;
	string phoneNumber       = 4;

	WorkspaceEntity workspace = 5; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 6;  // @tag(gorm:"size:100;")
	string uniqueId  = 7; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")

	RoleEntity role = 8; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
	optional string roleId = 9; // @tag(gorm:"size:100;" validate:"required")

	string firstName = 10; // @tag(validate:"required")
	string lastName = 11; // @tag(validate:"required")

	string inviteeUserId = 14;
	bool used = 15;
	optional string visibility = 16; // @tag(yaml:"visibility")

	int64 updated = 18; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceInviteEntity {
  passportMode: string;
  coverLetter: string;
  targetUserLocale: string;
  email: string;
  phoneNumber: string;
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
  role: RoleEntity | undefined;
  /** @tag(gorm:"size:100;" validate:"required") */
  roleId?: string | undefined;
  /** @tag(validate:"required") */
  firstName: string;
  /** @tag(validate:"required") */
  lastName: string;
  inviteeUserId: string;
  used: boolean;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.WorkspaceInviteEntity

message WorkspaceInviteEntity {

	string passportMode = 13;
	string coverLetter       = 12;
	string targetUserLocale  = 2;
	string email             = 3;
	string phoneNumber       = 4;

	WorkspaceEntity workspace = 5; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 6;  // @tag(gorm:"size:100;")
	string uniqueId  = 7; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")

	RoleEntity role = 8; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
	optional string roleId = 9; // @tag(gorm:"size:100;" validate:"required")

	string firstName = 10; // @tag(validate:"required")
	string lastName = 11; // @tag(validate:"required")

	string inviteeUserId = 14;
	bool used = 15;
	optional string visibility = 16; // @tag(yaml:"visibility")

	int64 updated = 18; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceInviteEntity {
  passportMode: string;
  coverLetter: string;
  targetUserLocale: string;
  email: string;
  phoneNumber: string;
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
  role: RoleEntity | undefined;
  /** @tag(gorm:"size:100;" validate:"required") */
  roleId?: string | undefined;
  /** @tag(validate:"required") */
  firstName: string;
  /** @tag(validate:"required") */
  lastName: string;
  inviteeUserId: string;
  used: boolean;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getWorkspaceByUniqueId

workspace/:uniqueId

Response Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Params: :uniqueId

patchWorkspace

workspace

Response Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

patchWorkspaceInvite

workspace/invite

Response Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

postWorkspaceAcceptInvite

workspace/acceptInvite

Response Dto/Entity: *core.OkayResponse

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

getWorkspaces

workspaces

Response Dto/Entity: *[]workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getUserRoleWorkspaces

userRoleWorkspaces

Response Dto/Entity: *[]workspaces.UserRoleWorkspace

message UserRoleWorkspace {
	WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId")
	optional string workspaceId = 2;  // @tag(gorm:"size:100;")

	RoleEntity role = 3;  // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
	optional string roleId = 4; // @tag(gorm:"size:100;")

	UserEntity user = 5; // @tag(gorm:"foreignKey:UserId;references:UniqueId")
	optional string userId = 6; // @tag(gorm:"size:100;")

	string uniqueId  = 7; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	optional string visibility = 8; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserRoleWorkspace {
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
  role: RoleEntity | undefined;
  /** @tag(gorm:"size:100;") */
  roleId?: string | undefined;
  /** @tag(gorm:"foreignKey:UserId;references:UniqueId") */
  user: UserEntity | undefined;
  /** @tag(gorm:"size:100;") */
  userId?: string | undefined;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

postWorkspace

workspace

Response Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

patchWorkspaceConfig

workspace/config

Response Dto/Entity: *workspaces.WorkspaceConfigEntity

message WorkspaceConfigEntity {
	WorkspaceEntity workspace = 2; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId")
	optional string workspaceId = 3;  // @tag(gorm:"size:100;")

	optional string zoomClientId = 4;
	optional string zoomClientSecret = 5;

	optional bool allowPublicToJoinTheWorkspace = 6;
	optional string visibility = 7; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceConfigEntity {
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  zoomClientId?: string | undefined;
  zoomClientSecret?: string | undefined;
  allowPublicToJoinTheWorkspace?: boolean | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

Request Dto/Entity: *workspaces.WorkspaceConfigEntity

message WorkspaceConfigEntity {
	WorkspaceEntity workspace = 2; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId")
	optional string workspaceId = 3;  // @tag(gorm:"size:100;")

	optional string zoomClientId = 4;
	optional string zoomClientSecret = 5;

	optional bool allowPublicToJoinTheWorkspace = 6;
	optional string visibility = 7; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceConfigEntity {
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  zoomClientId?: string | undefined;
  zoomClientSecret?: string | undefined;
  allowPublicToJoinTheWorkspace?: boolean | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getWorkspaceConfig

workspace/config

Response Dto/Entity: *workspaces.WorkspaceConfigEntity

message WorkspaceConfigEntity {
	WorkspaceEntity workspace = 2; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId")
	optional string workspaceId = 3;  // @tag(gorm:"size:100;")

	optional string zoomClientId = 4;
	optional string zoomClientSecret = 5;

	optional bool allowPublicToJoinTheWorkspace = 6;
	optional string visibility = 7; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceConfigEntity {
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  zoomClientId?: string | undefined;
  zoomClientSecret?: string | undefined;
  allowPublicToJoinTheWorkspace?: boolean | undefined;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

deleteWorkspace

workspace

Request Dto/Entity: *core.DeleteRequest

Target Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

deleteWorkspaceInvite

workspace/invite

Request Dto/Entity: *core.DeleteRequest

Target Entity: *workspaces.WorkspaceEntity

message WorkspaceEntity {
	string name = 1;
	string description = 2;
	string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
	string parentId = 4;
	optional string visibility = 5; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceEntity {
  name: string;
  description: string;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  parentId: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getWorkspaceInvites

workspace/invites

Response Dto/Entity: *[]workspaces.WorkspaceInviteEntity

message WorkspaceInviteEntity {

	string passportMode = 13;
	string coverLetter       = 12;
	string targetUserLocale  = 2;
	string email             = 3;
	string phoneNumber       = 4;

	WorkspaceEntity workspace = 5; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
	optional string workspaceId = 6;  // @tag(gorm:"size:100;")
	string uniqueId  = 7; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")

	RoleEntity role = 8; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
	optional string roleId = 9; // @tag(gorm:"size:100;" validate:"required")

	string firstName = 10; // @tag(validate:"required")
	string lastName = 11; // @tag(validate:"required")

	string inviteeUserId = 14;
	bool used = 15;
	optional string visibility = 16; // @tag(yaml:"visibility")

	int64 updated = 18; // @tag(gorm:"autoUpdateTime:nano")
	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface WorkspaceInviteEntity {
  passportMode: string;
  coverLetter: string;
  targetUserLocale: string;
  email: string;
  phoneNumber: string;
  /** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
  workspace: WorkspaceEntity | undefined;
  /** @tag(gorm:"size:100;") */
  workspaceId?: string | undefined;
  /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;") */
  uniqueId: string;
  /** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
  role: RoleEntity | undefined;
  /** @tag(gorm:"size:100;" validate:"required") */
  roleId?: string | undefined;
  /** @tag(validate:"required") */
  firstName: string;
  /** @tag(validate:"required") */
  lastName: string;
  inviteeUserId: string;
  used: boolean;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}

getUserInvites

user/invites

Response Dto/Entity: *[]workspaces.PendingWorkspaceInvite

message PendingWorkspaceInvite {
	string uniqueId = 8;
	string value = 1;
	string type = 2;
	string coverLetter = 3;
	string workspaceId = 4;
	string workspaceName = 5;
	int64 roleId = 6;
	string roleName = 7;
	optional string visibility = 9; // @tag(yaml:"visibility")
	int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
  	int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PendingWorkspaceInvite {
  uniqueId: string;
  value: string;
  type: string;
  coverLetter: string;
  workspaceId: string;
  workspaceName: string;
  roleId: number;
  roleName: string;
  /** @tag(yaml:"visibility") */
  visibility?: string | undefined;
  /** @tag(gorm:"autoUpdateTime:nano") */
  updated: number;
  /** @tag(gorm:"autoUpdateTime:nano") */
  created: number;
}