User-flow built for you.
user
Response Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
Request Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
user
Response Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
Request Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
user
Request Dto/Entity: *core.DeleteRequest
Target Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
users
Response Dto/Entity: *[]workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
user/:uniqueId
Response Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
Params: :uniqueId
exchangeKey/:uniqueId
Response Dto/Entity: *workspaces.ExchangeKeyInformationDto
message ExchangeKeyInformationDto {
string key = 1;
optional string visibility = 2; // @tag(yaml:"visibility")
}
export interface ExchangeKeyInformationDto {
key: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
}
Params: :uniqueId
authorization
Response Dto/Entity: *workspaces.AuthResult
message AuthResult {
string workspaceId = 1; // @tag(json:"workspaceId")
string internalSql = 2; // @tag(json:"internalSql")
string userId = 3; // @tag(json:"userId")
UserEntity user = 4; // @tag(json:"user")
optional UserAccessLevel accessLevel = 5; // @tag(json:"accessLevel")
repeated string userHas = 6; // @tag(json:"userHas")
}
export interface AuthResult {
auth: {
workspaceId: string;
internalSql: string;
userId: string;
user: User;
accessLevel: AccessLevel;
}
Request Dto/Entity: *core.EmptyRequest
message EmptyRequest {
}
export interface EmptyRequest {}
profile
Response Dto/Entity: *workspaces.UserEntity
message UserEntity {
string firstName = 1;
string lastName = 2;
string photo = 3;
string uniqueId = 4; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;")
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserEntity {
firstName: string;
lastName: string;
photo: string;
/** @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;
}
profile
Response Dto/Entity: *workspaces.UserProfileEntity
message UserProfileEntity {
optional string firstName = 1;
optional string lastName = 2;
optional string visibility = 3; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserProfileEntity {
firstName?: string | undefined;
lastName?: string | undefined;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
Request Dto/Entity: *workspaces.UserProfileEntity
message UserProfileEntity {
optional string firstName = 1;
optional string lastName = 2;
optional string visibility = 3; // @tag(yaml:"visibility")
int64 updated = 16; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 17; // @tag(gorm:"autoUpdateTime:nano")
}
export interface UserProfileEntity {
firstName?: string | undefined;
lastName?: string | undefined;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
auth/revoke
Request Dto/Entity: *core.DeleteRequest
Target Entity: *workspaces.Token
message Token {
UserEntity user = 1 ; // @tag(gorm:"foreignKey:UserID;references:UniqueId")
optional string userID = 2;
string validUntil = 3;
string uniqueId = 4;
optional string visibility = 5; // @tag(yaml:"visibility")
int64 updated = 6; // @tag(gorm:"autoUpdateTime:nano")
int64 created = 7; // @tag(gorm:"autoUpdateTime:nano")
}
export interface Token {
/** @tag(gorm:"foreignKey:UserID;references:UniqueId") */
user: UserEntity | undefined;
userID?: string | undefined;
validUntil: string;
uniqueId: string;
/** @tag(yaml:"visibility") */
visibility?: string | undefined;
/** @tag(gorm:"autoUpdateTime:nano") */
updated: number;
/** @tag(gorm:"autoUpdateTime:nano") */
created: number;
}
preferences
Response Dto/Entity: map[string]interface
Request Dto/Entity: map[string]interface
preferences
Response Dto/Entity: map[string]interface