UNPKG

3.41 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/models/BotsTelegramUserModel.js"],"names":["BotsTelegramUserModel","state","value","key","markModified","data","refUserLink","refLink","telegramLocale","locale","Model","schema","id","type","Number","is_bot","Boolean","first_name","String","last_name","username","language_code","meta","Object","options","model","collection","timestamps"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;IACqBA,qB;;;;;;;;;;;;WAsCnB,oBAAqB;AAAA;;AAAA,UAAZC,KAAY,uEAAJ,EAAI;AACnB,+BAAQA,KAAR,EAAe,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAC7B,6BAAI,KAAJ,EAAUA,GAAV,EAAeD,KAAf,EAD6B,CAE7B;;AACA,QAAA,KAAI,CAACE,YAAL,CAAkBD,GAAlB;AACD,OAJD;AAKD;;;WAED,gBAAOE,IAAP,EAAa;AACX,UAAMC,WAAW,GAAG,qBAAI,IAAJ,EAAU,gBAAV,CAApB;AACA,UAAMC,OAAO,GAAG,qBAAIF,IAAJ,EAAU,KAAV,CAAhB;AAEA,UAAIC,WAAW,IAAI,CAACC,OAApB,EAA6B;AAC7B,2BAAI,IAAJ,EAAU,gBAAV,EAA4BA,OAA5B;AAEA,WAAKH,YAAL,CAAkB,MAAlB;AACD;;;WAED,iBAAQC,IAAR,EAAcG,cAAd,EAA8B;AAC5B,UAAMC,MAAM,GAAG,qBAAIJ,IAAJ,EAAU,QAAV,EAAoBG,cAApB,CAAf;AACA,2BAAI,IAAJ,EAAU,aAAV,EAAyBC,MAAzB;AAEA,WAAKL,YAAL,CAAkB,MAAlB;AACD;;;EA7DgDM,kB;;;AAA9BV,qB,CACZW,M,GAAS;AACd;AACAC,EAAAA,EAAE,EAAE;AACFC,IAAAA,IAAI,EAAEC;AADJ,GAFU;;AAKd;AACAC,EAAAA,MAAM,EAAE;AACNF,IAAAA,IAAI,EAAEG;AADA,GANM;;AASd;AACAC,EAAAA,UAAU,EAAE;AACVJ,IAAAA,IAAI,EAAEK;AADI,GAVE;;AAad;AACAC,EAAAA,SAAS,EAAE;AACTN,IAAAA,IAAI,EAAEK;AADG,GAdG;;AAiBd;AACAE,EAAAA,QAAQ,EAAE;AACRP,IAAAA,IAAI,EAAEK;AADE,GAlBI;;AAqBd;AACAG,EAAAA,aAAa,EAAE;AACbR,IAAAA,IAAI,EAAEK;AADO,GAtBD;AA0Bd;AACAI,EAAAA,IAAI,EAAE;AACJT,IAAAA,IAAI,EAAEU;AADF;AA3BQ,C;AADGvB,qB,CAgCZwB,O,GAAU;AACfC,EAAAA,KAAK,EAAE,uBADQ;AAEfC,EAAAA,UAAU,EAAE,oBAFG;AAGfC,EAAAA,UAAU,EAAE;AAHG,C","sourcesContent":["// ts-ignore\nimport Model from '@lskjs/db/Model';\nimport forEach from 'lodash/forEach';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\n// https://raw.githubusercontent.com/KnorpelSenf/typegram/master/types.d.ts\nexport default class BotsTelegramUserModel extends Model {\n static schema = {\n /** Unique identifier for this user or bot */\n id: {\n type: Number,\n },\n /** True, if this user is a bot */\n is_bot: {\n type: Boolean,\n },\n /** User's or bot's first name */\n first_name: {\n type: String,\n },\n /** User's or bot's last name */\n last_name: {\n type: String,\n },\n /** User's or bot's username */\n username: {\n type: String,\n },\n /** IETF language tag of the user's language */\n language_code: {\n type: String,\n },\n\n // Объект, в котрый можно складировать мета-информацию\n meta: {\n type: Object,\n },\n };\n static options = {\n model: 'BotsTelegramUserModel',\n collection: 'bots_telegram_user',\n timestamps: true,\n };\n\n setState(state = {}) {\n forEach(state, (value, key) => {\n set(this, key, value);\n // ts-ignore\n this.markModified(key);\n });\n }\n\n setRef(data) {\n const refUserLink = get(this, 'meta.start.ref');\n const refLink = get(data, 'ref');\n\n if (refUserLink || !refLink) return;\n set(this, 'meta.start.ref', refLink);\n\n this.markModified('meta');\n }\n\n setLang(data, telegramLocale) {\n const locale = get(data, 'locale', telegramLocale);\n set(this, 'meta.locale', locale);\n\n this.markModified('meta');\n }\n}\n"],"file":"BotsTelegramUserModel.js"}
\No newline at end of file