Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
// return true if deleted only one document (val.n) with success (val.ok)
return res.ok === 1 && res.n === 1
}
/**
* delete every session saved in the database
* @returns true if deleted successfully, false if not
*/
public static async deleteAll(): Promise {
const res: { ok?: number; } = await UserSessionModel.deleteMany({})
.exec()
return res.ok === 1
}
@typegoose.prop({ required: true })
public sessionId: string
@typegoose.prop({ min: 1, required: true })
public userId: number
@typegoose.prop({ default: new SessionNetworkInfo(), required: true })
public externalNet: SessionNetworkInfo
@typegoose.prop({ default: new SessionNetworkInfo(), required: true })
public internalNet: SessionNetworkInfo
@typegoose.prop({ default: 0, required: true })
public currentChannelServerIndex: number
@typegoose.prop({ default: 0, required: true })
public currentChannelIndex: number
@typegoose.prop({ default: 0, required: true })
public currentRoomId: number
import * as typegoose from '@typegoose/typegoose'
/**
* an user's session network information
*/
export class SessionNetworkInfo {
@typegoose.prop({ default: '0.0.0.0', required: true })
public ipAddress: string
@typegoose.prop({ default: 0, min: 0, max: 65535, required: true })
public clientPort: number
@typegoose.prop({ default: 0, min: 0, max: 65535, required: true })
public serverPort: number
@typegoose.prop({ default: 0, min: 0, max: 65535, required: true })
public tvPort: number
}
* @returns the uservars document
*/
private static async getInstance(): Promise {
return UserVarsModel.findOne({})
.exec()
}
/**
* create a new document
*/
private static async createDoc(): Promise {
const newInfo = new UserVarsModel({ nextUserId: DEFAULT_NEXTUSERID_VALUE })
await newInfo.save()
}
@typegoose.prop()
public nextUserId?: number
}
const UserVarsModel = typegoose.getModelForClass(UserVars)
return 0
}
const targetHash: HashContainer = await HashContainer.from(user.password)
const inputHash: HashContainer = await targetHash.cloneSettings(password)
if (targetHash.compare(inputHash) === false) {
return 0
}
return user.userId
}
@typegoose.prop({ index: true, required: true, unique: true })
public userId: number
@typegoose.prop({ lowercase: true, required: true, unique: true })
public userName: string
@typegoose.prop({ index: true, required: true, unique: true })
public playerName: string
@typegoose.prop({ required: true })
public password: string
@typegoose.prop({ default: 1, max: USER_MAX_LEVEL, required: true })
public level: number
@typegoose.prop({ default: 1005, required: true })
public avatar: number
@typegoose.prop({ default: 0, required: true })
public curExp: number
@typegoose.prop({ default: 1000, required: true })
public maxExp: number
@typegoose.prop({ default: 0, required: true })
public rank: number
@typegoose.prop({ default: 1, required: true })