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

patchUser

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

postUser

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

deleteUser

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

getUsers

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

getUserByUniqueId

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

getExchangeKeyByUniqueId

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

postAuthorization

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

getprofile

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

postprofile

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

deleteAuthRevoke

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

postPreferences

preferences

Response Dto/Entity: map[string]interface

Request Dto/Entity: map[string]interface

getPreferences

preferences

Response Dto/Entity: map[string]interface