How to use the @typegoose/typegoose.prop function in @typegoose/typegoose

To help you get started, we’ve selected a few @typegoose/typegoose examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github L-Leite / cso2-users-service / src / entities / usersession.ts View on Github external
// 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
github L-Leite / cso2-users-service / src / entities / sessionnetworkinfo.ts View on Github external
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
}
github L-Leite / cso2-users-service / src / entities / uservars.ts View on Github external
* @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)
github L-Leite / cso2-users-service / src / entities / user.ts View on Github external
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 })

@typegoose/typegoose

Define Mongoose models using TypeScript classes

MIT
Latest version published 10 days ago

Package Health Score

89 / 100
Full package analysis