User-flow built for you.
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;
}
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
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;
}
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;
}
workspace/acceptInvite
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}