Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/im/v2/lib/promo/dist/ |
Upload File : |
{"version":3,"file":"promo.bundle.js","sources":["../src/classes/promo.js","../src/classes/promo-service.js","../src/promo.js"],"sourcesContent":["import { PromoId } from 'im.v2.const';\n\nimport type { PromoParams, RawPromoData } from 'im.v2.provider.pull';\n\nexport class Promo\n{\n\tid: $Values<typeof PromoId>;\n\tparams: PromoParams;\n\n\tconstructor(id: $Values<typeof PromoId>, params: PromoParams)\n\t{\n\t\tthis.id = id;\n\t\tthis.params = params;\n\t}\n\n\tstatic createFromRawPromoData(data: RawPromoData): Promo\n\t{\n\t\treturn new Promo(data.id, data.params);\n\t}\n\n\tisEmptyParams(): boolean\n\t{\n\t\treturn Object.keys(this.params).length === 0;\n\t}\n\n\tisEqual(promo: Promo): boolean\n\t{\n\t\treturn (this.id === promo.id) && this.#isParamsEqual(promo.params);\n\t}\n\n\t#isParamsEqual(params: PromoParams): boolean\n\t{\n\t\treturn Number(this.params.chatId ?? null) === Number(params.chatId ?? null);\n\t}\n}\n","import { RestMethod } from 'im.v2.const';\nimport { Logger } from 'im.v2.lib.logger';\nimport { runAction } from 'im.v2.lib.rest';\n\nimport { Promo } from './promo';\n\nexport class PromoService\n{\n\tstatic markAsWatched(promo: Promo): Promise\n\t{\n\t\tLogger.warn('PromoService: markAsWatched:', promo);\n\n\t\tconst payload = {\n\t\t\tdata: {\n\t\t\t\tid: promo.id,\n\t\t\t\tparams: promo.params,\n\t\t\t},\n\t\t};\n\n\t\trunAction(RestMethod.imV2PromotionRead, payload)\n\t\t\t.catch(([error]) => {\n\t\t\t\tconsole.error('PromoService: markAsWatched error:', error);\n\t\t\t});\n\t}\n}\n","import { Core } from 'im.v2.application.core';\nimport { Logger } from 'im.v2.lib.logger';\nimport { PromoId } from 'im.v2.const';\n\nimport { PromoService } from './classes/promo-service';\nimport { Promo } from './classes/promo';\n\nimport type { PromotionUpdatedParams, PromoParams, RawPromoData } from 'im.v2.provider.pull';\n\nexport class PromoManager\n{\n\tstatic #instance: PromoManager;\n\n\t#promoList: Promo[];\n\n\tstatic getInstance(): PromoManager\n\t{\n\t\tif (!this.#instance)\n\t\t{\n\t\t\tthis.#instance = new this();\n\t\t}\n\n\t\treturn this.#instance;\n\t}\n\n\tstatic init()\n\t{\n\t\tPromoManager.getInstance();\n\t}\n\n\tconstructor()\n\t{\n\t\tconst { promoList } = Core.getApplicationData();\n\t\tLogger.warn('PromoManager: promoList', promoList);\n\t\tthis.#init(promoList);\n\t}\n\n\tneedToShow(promoId: $Values<typeof PromoId>, promoParams: PromoParams = {}): boolean\n\t{\n\t\tconst promo: Promo = new Promo(promoId, promoParams);\n\n\t\treturn Boolean(this.#get(promo));\n\t}\n\n\tasync markAsWatched(promoId: $Values<typeof PromoId>, promoParams: PromoParams = {}): Promise<void>\n\t{\n\t\tconst promo: Promo = new Promo(promoId, promoParams);\n\n\t\tif (this.#get(promo))\n\t\t{\n\t\t\tawait PromoService.markAsWatched(promo);\n\t\t\tthis.#remove(promo);\n\t\t}\n\t}\n\n\tonPromotionUpdated(params: PromotionUpdatedParams): void\n\t{\n\t\tconst deletedPromotions: Promo[] = params.deletedPromotions.map(\n\t\t\t(promoData: RawPromoData) => Promo.createFromRawPromoData(promoData),\n\t\t);\n\n\t\tthis.#removeByPromotionList(deletedPromotions);\n\n\t\tconst addedPromotions: Promo[] = params.addedPromotions.map(\n\t\t\t(promoData: RawPromoData) => Promo.createFromRawPromoData(promoData),\n\t\t);\n\n\t\tthis.#promoList = [...this.#promoList, ...addedPromotions];\n\t}\n\n\t#init(promoList: RawPromoData[]): void\n\t{\n\t\tthis.#promoList = promoList.map((promoData: RawPromoData) => Promo.createFromRawPromoData(promoData));\n\t}\n\n\t#get(promo: Promo): ?Promo\n\t{\n\t\treturn this.#promoList.find((item: Promo) => item.isEqual(promo));\n\t}\n\n\t#remove(promo: Promo): void\n\t{\n\t\tthis.#promoList = this.#promoList.filter((item: Promo) => !item.isEqual(promo));\n\t}\n\n\t#removeByPromotionList(promoList: Promo[]): void\n\t{\n\t\tthis.#promoList = this.#promoList.filter((promo: Promo) => {\n\t\t\tconst deletedPromo = promoList.find((deleted: Promo) => deleted.id === promo.id);\n\t\t\tif (!deletedPromo)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (deletedPromo.isEmptyParams())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !promo.isEqual(deletedPromo);\n\t\t});\n\t}\n}\n"],"names":["Promo","constructor","id","params","createFromRawPromoData","data","isEmptyParams","Object","keys","length","isEqual","promo","Number","chatId","PromoService","markAsWatched","Logger","warn","payload","runAction","RestMethod","imV2PromotionRead","catch","error","console","PromoManager","getInstance","init","promoList","Core","getApplicationData","needToShow","promoId","promoParams","Boolean","onPromotionUpdated","deletedPromotions","map","promoData","addedPromotions","find","item","filter","deletedPromo","deleted"],"mappings":"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"}