@coko/server
Version:
Reusable server for use by Coko's projects
48 lines • 2.57 kB
TypeScript
import { PartialModelObject, Pojo, RelationMappings } from 'objection';
import BaseModel, { TrxOption, TrxAndRelatedOptions } from '../base.model';
import Identity from '../identity/identity.model';
import Team from '../team/team.model';
declare class User extends BaseModel {
agreedTc: boolean;
givenNames: string;
invitationToken: string;
invitationTokenTimestamp: Date;
isActive: boolean;
password: string;
passwordHash: string;
passwordResetTimestamp: Date;
passwordResetToken: string;
surname: string;
titlePost: string;
titlePre: string;
username: string;
defaultIdentity: Identity;
identities: Identity[];
teams: Team[];
constructor();
static get tableName(): string;
static get schema(): object;
static get relationMappings(): RelationMappings;
patch(data: PartialModelObject<this>, options?: TrxOption): Promise<this>;
static patchAndFetchById<T extends BaseModel>(this: new () => T, id: string, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>;
update(data: PartialModelObject<this>, options?: TrxOption): Promise<this>;
static updateAndFetchById<T extends BaseModel>(this: new () => T, id: string, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>;
static hasGlobalRole(userId: string, role: string, options?: TrxOption): Promise<boolean>;
hasGlobalRole(role: string, options?: TrxOption): Promise<boolean>;
static hasRoleOnObject(userId: string, role: string, objectId: string, options?: TrxOption): Promise<boolean>;
hasRoleOnObject(role: string, objectId: string, options?: TrxOption): Promise<boolean>;
static getTeams(userId: string, options?: TrxOption): Promise<Team[]>;
getTeams(): Promise<Team[]>;
static updatePassword(userId: string, currentPassword: string, newPassword: string, passwordResetToken?: string, options?: TrxOption): Promise<User>;
updatePassword(currentPassword: string, newPassword: string, passwordResetToken: string, options?: TrxOption): Promise<User>;
$formatJson(json: Pojo): Pojo;
static hashPassword(plaintext: string): Promise<string>;
hashPassword(plaintext: string): Promise<void>;
$beforeInsert(): Promise<void>;
$beforeUpdate(): Promise<void>;
isPasswordValid(plaintext: string): Promise<boolean>;
static activateUsers(ids: string[], options?: TrxOption): Promise<User[]>;
static deactivateUsers(ids: string[], options?: TrxOption): Promise<User[]>;
}
export default User;
//# sourceMappingURL=user.model.d.ts.map