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

getPassports

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;
}

getPassportByUniqueId

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

postPassport

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;
}

patchPassportByUniqueId

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

deletePassport

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;
}

postPassportSignupEmail

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;
}

getWorkspacePublicjoinkeys

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;
}

postWorkspacePublicjoinkey

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;
}

getWorkspacePublicjoinkeyByUniqueId

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

getWorkspacePublicJoinKeyInfoByUniqueId

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

deleteWorkspacePublicjoinkey

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;
}

patchWorkspacePublicjoinkey

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;
}

postPassportSigninEmail

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;
}

postPassportAuthorizeOs

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;
}

getWorkspacesInviteByUniqueId

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

postPassportSignupPhoneNumber

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;
}

postPassportSignupPhoneNumberConfirm

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;
}

postPassportSigninPhoneNumber

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;
}

postConfirmEmailByUniqueId

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

postPassportRequestResetMailPassword

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;
}

postPassportAuthorize2

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;
}

postPassportResetMailPasswordByUniqueId

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

getPassportRequestResetMailPassword

passport/request-reset-mail-password

Response Dto/Entity: *core.OkayResponse

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

getPassportResetMailPasswordInfoByUniqueId

passport/reset-mail-password-info/:uniqueId

Response Dto/Entity: *core.OkayResponse

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

Params: :uniqueId