ApiKey.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { Constraints, Field, FieldType, IEntity } from "../DbConnector/Query";
  2. const TABLE_NAME = "apiKey";
  3. export default class ApiKeyModel implements IEntity {
  4. public FromDb(dbObj: Map<string, string>): ApiKeyModel {
  5. this.mUserId = parseInt(dbObj.get(ApiKeyModel.USERID.mName) || "0", 10) || ApiKeyModel.USERID.mDefault;
  6. this.mKey = dbObj.get(ApiKeyModel.KEY.mName) || ApiKeyModel.KEY.mDefault;
  7. this.mComment = dbObj.get(ApiKeyModel.COMMENT.mName) || ApiKeyModel.COMMENT.mDefault;
  8. return this;
  9. }
  10. public ToDb(): Map<string, string> {
  11. let result = new Map();
  12. result.set(ApiKeyModel.USERID.mName, this.mUserId);
  13. result.set(ApiKeyModel.KEY.mName, this.mKey);
  14. result.set(ApiKeyModel.COMMENT.mName, this.mComment);
  15. return result;
  16. }
  17. public GetUserId(): number {
  18. return this.mUserId;
  19. }
  20. public GetTableName() {
  21. return TABLE_NAME;
  22. }
  23. public GetTableFields() {
  24. return [ApiKeyModel.USERID, ApiKeyModel.KEY, ApiKeyModel.COMMENT];
  25. }
  26. public GetTableConstraints() {
  27. let result = new Constraints();
  28. result.mPrimaryKeys = [ApiKeyModel.KEY];
  29. result.pushUniqueFields([ApiKeyModel.USERID, ApiKeyModel.COMMENT]);
  30. return result;
  31. }
  32. private mUserId: number =0;
  33. private mKey: string = "";
  34. private mComment: string = "";
  35. public static readonly USERID: Field<number> = new Field<number>(TABLE_NAME, "userid", FieldType.eNumber, 0, false, 16);
  36. public static readonly KEY: Field<string> = new Field<string>(TABLE_NAME, "key", FieldType.eString, "", false, 256);
  37. public static readonly COMMENT: Field<string> = new Field<string>(TABLE_NAME, "comment", FieldType.eString, "", false, 256);
  38. }