| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { Constraints, Field, FieldType, IEntity } from "../DbConnector/Query";
- const TABLE_NAME = "users";
- export default class UserModel implements IEntity {
- public FromDb(dbObj: Map<string, string>): UserModel {
- this.mUsername = dbObj.get(UserModel.USERNAME.mName) || UserModel.USERNAME.mDefault;
- this.mUserId = parseInt(dbObj.get(UserModel.USERID.mName) || "0", 10) || UserModel.USERID.mDefault;
- this.mAuthAttr = dbObj.get(UserModel.AUTHATTR.mName) || UserModel.AUTHATTR.mDefault;
- return this;
- }
- public ToDb(): Map<string, string> {
- let result = new Map();
- result.set(UserModel.USERNAME.mName, this.mUsername);
- result.set(UserModel.USERID.mName, this.mUserId || undefined);
- result.set(UserModel.AUTHATTR.mName, this.mAuthAttr);
- return result;
- }
- public GetTableName() {
- return TABLE_NAME;
- }
- public static GetTableName() {
- return TABLE_NAME;
- }
- public GetTableFields() {
- return [UserModel.USERID, UserModel.USERNAME, UserModel.AUTHATTR];
- }
- public GetUsername(): string {
- return this.mUsername;
- }
- public SetUsername(username: string): UserModel {
- this.mUsername = username;
- return this;
- }
- public SetAuth(auth: string): UserModel {
- this.mAuthAttr = auth;
- return this;
- }
- public GetTableConstraints(): Constraints {
- let result = new Constraints();
- result.mPrimaryKeys = [UserModel.USERID];
- result.pushUniqueField(UserModel.USERNAME);
- result.mIncrements.push(UserModel.USERID);
- return result;
- }
- private mUserId: number = 0;
- private mUsername: string = "";
- private mAuthAttr: string = "";
- public static readonly USERID: Field<number> = new Field<number>(TABLE_NAME, "userId", FieldType.eNumber, 0, false, 16);
- public static readonly USERNAME: Field<string> = new Field<string>(TABLE_NAME, "username", FieldType.eString, "", false, 16);
- public static readonly AUTHATTR: Field<string> = new Field<string>(TABLE_NAME, "auth", FieldType.eString, "", false, 256);
- }
|