User-flow built for you.
passports
Response Dto/Entity: *[]passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
passport/:uniqueId
Response Dto/Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Params: :uniqueId
passport
Response Dto/Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Request Dto/Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
passport/:uniqueId
Response Dto/Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Request Dto/Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Params: :uniqueId
passport
Request Dto/Entity: *core.DeleteRequest
Target Entity: *passports.PassportEntity
message PassportEntity {
string type = 1; // @tag(json:"type" validate:"required")
string value = 2; // @tag(json:"value" gorm:"unique" validate:"required")
string password = 3; // @tag(json:"-")
bool confirmed = 4; // @tag(json:"confirmed")
string accessToken = 5; // @tag(json:"accessToken")
string userId = 6; // @tag(json:"userId" validate:"required")
string uniqueId = 7; // @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PassportEntity {
/** @tag(json:"type" validate:"required") */
type: string;
/** @tag(json:"value" gorm:"unique" validate:"required") */
value: string;
/** @tag(json:"-") */
password: string;
/** @tag(json:"confirmed") */
confirmed: boolean;
/** @tag(json:"accessToken") */
accessToken: string;
/** @tag(json:"userId" validate:"required") */
userId: string;
/** @tag(json:"uniqueId" gorm:"primarykey;uniqueId;unique;not null;size:100;") */
uniqueId: string;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
passport/signup/email
Response Dto/Entity: *passports.UserSessionDto
message UserSessionDto {
PassportEntity passport = 1;
string token = 2;
string exchangeKey = 3;
repeated UserRoleWorkspace userRoleWorkspaces = 4;// @tag(json:"userRoleWorkspaces")
UserEntity user = 5;
}
export interface UserSessionDto {
passport: PassportEntity | undefined;
token: string;
exchangeKey: string;
/** @tag(json:"userRoleWorkspaces") */
userRoleWorkspaces: UserRoleWorkspace[];
user: UserEntity | undefined;
}
Request Dto/Entity: *passports.ClassicAuthDto
message ClassicAuthDto {
string email = 1; // @tag(validate:"required")
string password = 2; // @tag(validate:"required")
string firstName = 3; // @tag(validate:"required")
string lastName = 4; // @tag(validate:"required")
string inviteId = 5;
string publicJoinKeyId = 6;
}
export interface ClassicAuthDto {
/** @tag(validate:"required") */
email: string;
/** @tag(validate:"required") */
password: string;
/** @tag(validate:"required") */
firstName: string;
/** @tag(validate:"required") */
lastName: string;
inviteId: string;
publicJoinKeyId: string;
}
workspace/publicjoinkeys
Response Dto/Entity: *[]passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
workspace/publicjoinkey
Response Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Request Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
workspace/publicjoinkey/:uniqueId
Response Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Params: :uniqueId
workspace/publicJoinKeyInfo/:uniqueId
Response Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Params: :uniqueId
workspace/publicjoinkey
Request Dto/Entity: *core.DeleteRequest
Target Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
workspace/publicjoinkey
Response Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Request Dto/Entity: *passports.PublicJoinKey
message PublicJoinKey {
WorkspaceEntity workspace = 1; // @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-")
optional string workspaceId = 2; // @tag(json:"workspaceId" gorm:"size:100;")
RoleEntity role = 3; // @tag(gorm:"foreignKey:RoleId;references:UniqueId")
optional string roleId = 4; // @tag(gorm:"size:100;")
string uniqueId = 5; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
optional string visibility = 6; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface PublicJoinKey {
/** @tag(gorm:"foreignKey:WorkspaceId;references:UniqueId" json:"-") */
workspace: WorkspaceEntity | undefined;
/** @tag(json:"workspaceId" gorm:"size:100;") */
workspaceId?: string | undefined;
/** @tag(gorm:"foreignKey:RoleId;references:UniqueId") */
role: RoleEntity | undefined;
/** @tag(gorm:"size:100;") */
roleId?: string | undefined;
/** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
passport/signin/email
Response Dto/Entity: *passports.UserSessionDto
message UserSessionDto {
PassportEntity passport = 1;
string token = 2;
string exchangeKey = 3;
repeated UserRoleWorkspace userRoleWorkspaces = 4;// @tag(json:"userRoleWorkspaces")
UserEntity user = 5;
}
export interface UserSessionDto {
passport: PassportEntity | undefined;
token: string;
exchangeKey: string;
/** @tag(json:"userRoleWorkspaces") */
userRoleWorkspaces: UserRoleWorkspace[];
user: UserEntity | undefined;
}
Request Dto/Entity: *passports.EmailAccountSigninDto
message EmailAccountSigninDto {
string email = 1; // @tag(validate:"required")
string password = 2; // @tag(validate:"required")
}
export interface EmailAccountSigninDto {
/** @tag(validate:"required") */
email: string;
/** @tag(validate:"required") */
password: string;
}
passport/authorizeOs
Response Dto/Entity: *passports.UserSessionDto
message UserSessionDto {
PassportEntity passport = 1;
string token = 2;
string exchangeKey = 3;
repeated UserRoleWorkspace userRoleWorkspaces = 4;// @tag(json:"userRoleWorkspaces")
UserEntity user = 5;
}
export interface UserSessionDto {
passport: PassportEntity | undefined;
token: string;
exchangeKey: string;
/** @tag(json:"userRoleWorkspaces") */
userRoleWorkspaces: UserRoleWorkspace[];
user: UserEntity | undefined;
}
Request Dto/Entity: *passports.EmailAccountSigninDto
message EmailAccountSigninDto {
string email = 1; // @tag(validate:"required")
string password = 2; // @tag(validate:"required")
}
export interface EmailAccountSigninDto {
/** @tag(validate:"required") */
email: string;
/** @tag(validate:"required") */
password: string;
}
workspaces/invite/:uniqueId
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;
}
Params: :uniqueId
passport/signup/phoneNumber
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
Request Dto/Entity: *passports.PhoneNumberAccountCreationDto
message PhoneNumberAccountCreationDto {
string phoneNumber = 1; // @tag(validate:"required")
}
export interface PhoneNumberAccountCreationDto {
/** @tag(validate:"required") */
phoneNumber: string;
}
passport/signup/phoneNumberConfirm
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
Request Dto/Entity: *passports.PhoneNumberAccountCreationDto
message PhoneNumberAccountCreationDto {
string phoneNumber = 1; // @tag(validate:"required")
}
export interface PhoneNumberAccountCreationDto {
/** @tag(validate:"required") */
phoneNumber: string;
}
passport/signin/phoneNumber
Response Dto/Entity: *passports.UserSessionDto
message UserSessionDto {
PassportEntity passport = 1;
string token = 2;
string exchangeKey = 3;
repeated UserRoleWorkspace userRoleWorkspaces = 4;// @tag(json:"userRoleWorkspaces")
UserEntity user = 5;
}
export interface UserSessionDto {
passport: PassportEntity | undefined;
token: string;
exchangeKey: string;
/** @tag(json:"userRoleWorkspaces") */
userRoleWorkspaces: UserRoleWorkspace[];
user: UserEntity | undefined;
}
Request Dto/Entity: *passports.PhoneNumberAccountCreationDto
message PhoneNumberAccountCreationDto {
string phoneNumber = 1; // @tag(validate:"required")
}
export interface PhoneNumberAccountCreationDto {
/** @tag(validate:"required") */
phoneNumber: string;
}
confirm/email/:uniqueId
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
Request Dto/Entity: *core.EmptyRequest
message EmptyRequest {
}
export interface EmptyRequest {}
Params: :uniqueId
passport/request-reset-mail-password
Response Dto/Entity: *passports.EmailOtpResponse
message EmailOtpResponse {
ForgetPasswordEntity request = 1;
UserSessionDto userSession = 2;
}
export interface EmailOtpResponse {
request: ForgetPasswordEntity | undefined;
userSession: UserSessionDto | undefined;
}
Request Dto/Entity: *passports.OtpAuthenticateDto
message OtpAuthenticateDto {
string value = 1; // @tag(validate:"required")
string otp = 2;
string type = 3; // @tag(validate:"required")
}
export interface OtpAuthenticateDto {
/** @tag(validate:"required") */
value: string;
otp: string;
/** @tag(validate:"required") */
type: string;
}
passport/authorize2
Response Dto/Entity: *passports.EmailOtpResponse
message EmailOtpResponse {
ForgetPasswordEntity request = 1;
UserSessionDto userSession = 2;
}
export interface EmailOtpResponse {
request: ForgetPasswordEntity | undefined;
userSession: UserSessionDto | undefined;
}
Request Dto/Entity: *passports.OtpAuthenticateDto
message OtpAuthenticateDto {
string value = 1; // @tag(validate:"required")
string otp = 2;
string type = 3; // @tag(validate:"required")
}
export interface OtpAuthenticateDto {
/** @tag(validate:"required") */
value: string;
otp: string;
/** @tag(validate:"required") */
type: string;
}
passport/reset-mail-password/:uniqueId
Response Dto/Entity: *passports.UserSessionDto
message UserSessionDto {
PassportEntity passport = 1;
string token = 2;
string exchangeKey = 3;
repeated UserRoleWorkspace userRoleWorkspaces = 4;// @tag(json:"userRoleWorkspaces")
UserEntity user = 5;
}
export interface UserSessionDto {
passport: PassportEntity | undefined;
token: string;
exchangeKey: string;
/** @tag(json:"userRoleWorkspaces") */
userRoleWorkspaces: UserRoleWorkspace[];
user: UserEntity | undefined;
}
Request Dto/Entity: *passports.ResetEmailDto
message ResetEmailDto {
string password = 1;
}
export interface ResetEmailDto {
password: string;
}
Params: :uniqueId
passport/request-reset-mail-password
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
passport/reset-mail-password-info/:uniqueId
Response Dto/Entity: *core.OkayResponse
message OkayResponse {
OkayResponseData data = 1;
}
export interface OkayResponse {
data: OkayResponseData | undefined;
}
Params: :uniqueId