bx-rest 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/request/user/user.mjs +17 -1
- package/fesm2015/bx-rest.mjs +1129 -10
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +1127 -10
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/request/user/user.d.ts +3 -0
package/fesm2020/bx-rest.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bx-rest.mjs","sources":["../../../projects/bx-rest/src/consts/time.ts","../../../projects/bx-rest/src/services/base.ts","../../../projects/bx-rest/src/store/users.ts","../../../projects/bx-rest/src/consts/part-name-metods.ts","../../../projects/bx-rest/src/request/user/user.ts","../../../projects/bx-rest/src/public-api.ts","../../../projects/bx-rest/src/bx-rest.ts"],"sourcesContent":["export const time = {\r\n oneDayMilliseconds: 1000 * 60 * 60 * 24\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { time } from '../consts/time'\r\n// import { environment } from 'bx-rest/environments/environment'\r\nimport { DateTime } from 'luxon'\r\nimport { DateTimeOptions } from 'luxon/src/datetime'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseServices {\r\n\r\n toStr(val: any): string {\r\n return (val) ? String(val) : ''\r\n }\r\n\r\n toNumber(val: any): number {\r\n return (val && Number(val)) ? Number(val) : 0\r\n }\r\n\r\n toDate(val: number | string | Date, format?: string, opt?: DateTimeOptions): Date {\r\n if (val instanceof Date) {\r\n return val\r\n } else if (typeof val == 'string') {\r\n if (format) {\r\n if (opt) {\r\n return DateTime.fromFormat(val, format, opt).toJSDate()\r\n }\r\n return DateTime.fromFormat(val, format).toJSDate()\r\n } else {\r\n return new Date(val)\r\n }\r\n } else if (typeof val == 'number') {\r\n return new Date(val)\r\n }\r\n console.error('Wrong date format', val, format)\r\n throw 'Wrong date format'\r\n }\r\n\r\n getBXStrTime(date: Date): string {\r\n return this.toISOStringWithTimezone(date)\r\n }\r\n\r\n toISOStringWithTimezone(date: Date): string {\r\n const tzOffset = -date.getTimezoneOffset()\r\n const diff = tzOffset >= 0 ? '+' : '-'\r\n const pad = (n: number) => `${Math.floor(Math.abs(n))}`.padStart(2, '0')\r\n return date.getFullYear() +\r\n '-' + pad(date.getMonth() + 1) +\r\n '-' + pad(date.getDate()) +\r\n 'T' + pad(date.getHours()) +\r\n ':' + pad(date.getMinutes()) +\r\n ':' + pad(date.getSeconds()) +\r\n diff + pad(tzOffset / 60) +\r\n ':' + pad(tzOffset % 60)\r\n };\r\n\r\n toBool(val: any) {\r\n switch (typeof val) {\r\n case 'string':\r\n val = val.toLowerCase()\r\n if (val === 'n' || val === 'y') { // битриксовые понятия о bool\r\n return val === 'y'\r\n } else if (val === 'true' || val === 'false') { // битриксовые понятия о bool\r\n return val === 'true'\r\n } else {\r\n return false\r\n }\r\n default:\r\n return Boolean(val)\r\n }\r\n }\r\n\r\n toBXYorN(val: boolean) {\r\n return (val) ? 'Y' : 'N'\r\n }\r\n\r\n typeof(val: any) {\r\n return typeof val\r\n }\r\n\r\n typeDefClass(val: object): undefined | null | 'date' {\r\n if (val) {\r\n if (val instanceof Date) {\r\n return 'date'\r\n }\r\n return undefined\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n toJSON(val: object) {\r\n return JSON.stringify(val)\r\n }\r\n\r\n fromJSON<T>(val: string): T | undefined {\r\n return JSON.parse(val)\r\n }\r\n\r\n prepareBaseAddress(url: string, add: string = '') {\r\n if (url.search('https://') !== 0 && url.search('http://')) {\r\n url = 'https://' + url\r\n }\r\n\r\n if (url.lastIndexOf('/') !== (url.length - 1)) {\r\n url = url + '/'\r\n }\r\n\r\n url = url + add\r\n\r\n return url\r\n }\r\n\r\n getHomeAddress() {\r\n // return this.prepareBaseAddress(environment.urls.home)\r\n return this.prepareBaseAddress('b24.trace-studio.com')\r\n }\r\n\r\n dateDiff(a: Date, b: Date) {\r\n return new Date(a.valueOf() - b.valueOf())\r\n }\r\n\r\n dateDiffInDays(a: Date, b: Date) {\r\n return Math.floor(this.dateDiff(a, b).valueOf() / time.oneDayMilliseconds);\r\n }\r\n\r\n getBase64File(file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = error => reject(error)\r\n })\r\n }\r\n\r\n async getBase64FileLikeStr(file: File): Promise<{ header: string, val: string } | undefined> {\r\n let result = await this.getBase64File(file)\r\n if (typeof result === 'string') {\r\n let split = result.split(',')\r\n return {\r\n header: split[0],\r\n val: split[1]\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n sumArray(numbers: number[]) {\r\n return numbers.reduce((a, b) => {\r\n return a + b;\r\n })\r\n }\r\n\r\n isItTheSameDate(date1: Date, date2: Date) {\r\n return date1.getDate() === date2.getDate()\r\n && date1.getMonth() === date2.getMonth()\r\n && date1.getFullYear() === date2.getFullYear()\r\n }\r\n\r\n toUnix(date: Date) {\r\n return Math.floor(date.valueOf() / 1000)\r\n }\r\n\r\n arrSum(x: number[]) {\r\n let s = 0;\r\n for (let i = 0; i < x.length; i++) {\r\n s += x[i]\r\n }\r\n return s\r\n }\r\n\r\n getBaseUrlHttps(url: string, component = false) {\r\n if (component) {\r\n return encodeURI(this.cropUrl(url) + '/');\r\n } else {\r\n return encodeURI('https://' + this.cropUrl(url) + '/');\r\n }\r\n }\r\n\r\n cropUrl(url: string) {\r\n url = (url) ? url.replace('https://', '') : ''\r\n url = (url) ? url.replace('http://', '') : ''\r\n url = (url) ? url.replace('https:', '') : ''\r\n url = (url) ? url.replace('http:', '') : ''\r\n return url\r\n }\r\n}\r\n","import { Action, createReducer, on, props } from '@ngrx/store'\nimport { createAction } from '@ngrx/store'\nimport clone from 'just-clone'\nimport { iBXRestUser } from '../typification/rest/user/user'\n\nexport interface storeUsers {\n load: {\n all: boolean,\n department: number[]\n }\n self: iBXRestUser | undefined\n data: iBXRestUser []\n}\n\nexport const save = createAction('[Users Component] Save', props<iBXRestUser >())\nexport const saveArr = createAction('[Users Component] Save Arr', props<{ arr: iBXRestUser [] }>())\nexport const update = createAction('[Users Component] Update', props<iBXRestUser >())\nexport const loadAll = createAction('[Users Component] loadAll', props<{ load: true }>())\nexport const saveSelf = createAction('[Users Component] saveSelf', props<{ self: iBXRestUser }>())\nexport const saveIDLoadedDepartment = createAction('[Users Component] saveIDLoadedDepartment', props<{id: number[]}>())\n\nexport const initialState: storeUsers = {\n load: {\n all: false,\n department: []\n },\n self: undefined,\n data: []\n}\n\nconst _usersReducer = createReducer(\n initialState,\n on(saveIDLoadedDepartment, (s, data) => {\n let copy = clone(s)\n copy.load.department = [...copy.load.department, ...data.id]\n return copy\n }),\n on(save, (s, data) => {\n const find = s.data.find(v => v.ID === data.ID)\n if (!find) {\n const copy = clone(s)\n copy.data.push(data)\n return copy\n }\n return s\n }),\n on(saveArr, (s, data) => {\n const copy = clone(s)\n if(copy.data && copy.data.length) {\n for (const user of data.arr) {\n const find = copy.data.find(v => v.ID === user.ID)\n if (!find) {\n copy.data.push(user)\n }\n }\n } else {\n copy.data = [...data.arr]\n }\n return copy\n }),\n on(update, (s, data) => {\n const copy = clone(s)\n let find = copy.data.findIndex(v => v.ID === data.ID)\n if (find !== -1) {\n const copy = clone(s)\n copy.data.splice(find, 1, data);\n // copy.data.push(data)\n return copy\n }\n return s\n }),\n on(loadAll, (s, data) => {\n if (data.load !== s.load.all) {\n const copy = clone(s)\n copy.load.all = data.load\n return copy\n }\n return s\n }),\n on(saveSelf, (s, data) => {\n return { ...s, self: data.self}\n })\n)\n\n\nexport function usersReducer(state = initialState, action: Action) {\n return _usersReducer(state, action)\n}\n","export const $get = 'get'\r\nexport const $add = 'add'\r\nexport const $set = 'set'\r\nexport const $event = 'event'\r\nexport const $update = 'update'\r\nexport const $user = 'user'\r\nexport const $task = 'task'\r\nexport const $calendar = 'calendar'\r\nexport const $meeting = 'meeting'\r\nexport const $list = 'list'\r\nexport const $search = 'search'\r\n","import { Observable, of, take } from 'rxjs'\nimport { first, map, mergeMap, tap } from 'rxjs/operators'\nimport clone from 'just-clone'\nimport compare from 'just-compare'\nimport { iBXGetParam } from '../../typification/rest/user/get'\nimport HttpBXServices from '../../services/http/HttpBX'\nimport UserFilterSearch from '../../typification/rest/user/UserFilterSearch'\n// import ImgServices from 'bx-rest/services/api/bitrix/custom/img'\nimport { Store } from '@ngrx/store'\nimport { loadAll, saveArr, saveIDLoadedDepartment, saveSelf, storeUsers } from '../../store/users'\nimport { iCustomUserFieldInfo } from '../../typification/rest/user/CustomUserFieldInfo'\nimport { DatePipe } from '@angular/common'\nimport { BitrixApiUserMapServices } from '../../services/map/rest/user'\n// import DateTrace from 'bx-rest/services/api/trace/metods/date'\nimport SnackBarService from '../../services/snack-bar/snack-bar.service'\nimport iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX'\nimport { iBXRestUser, iBXRestUserHttp, iBXRestUserHttpField } from '../../typification/rest/user/user'\nimport { $get, $list, $search, $update, $user } from '../../consts/part-name-metods'\nimport { UserFilter } from '../../typification/rest/user/userFilter'\n\nexport class BXRestUser {\n url = {\n admin: [$user, 'admin'],\n get: [$user, $get],\n self: [$user, 'current'],\n update: [$user, $update],\n search: [$user, $search],\n access: [$user, 'access'], // U1 - пользователь с id =1\n // AU - все авторизованные пользователи\n // D1 - подразделение с id=1\n // G1 - группа с id=1\n fields: [$user, 'fields'],\n userfield: {\n list: [$user, 'userfield', $list]\n }\n }\n\n def: { params: { ACTIVE: 1, start: 0 } } = {\n params: {ACTIVE: 1, start: 0}\n }\n\n user$: Observable<storeUsers>\n\n constructor(\n private http: HttpBXServices,\n private snackBar: SnackBarService,\n // private img: ImgServices,\n //private dateTrace: DateTrace,\n private store: Store<{ users: storeUsers }>,\n private userMap: BitrixApiUserMapServices,\n private datePipe: DatePipe\n ) {\n this.user$ = this.store.select('users')\n }\n\n get(params: iBXGetParam = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n let copyParams = clone(params)\n this.setDefParam(copyParams)\n return this.http.post<iHttpAnswerBX<iBXRestUserHttp[]> | undefined>\n (this.url.get, copyParams, 'Не удалось получить пользователей')\n .pipe(\n tap(v => {\n if (v && v.result) {\n this.saveArrUser(v.result)\n }\n })\n )\n }\n\n getOnePage(page: number = 1) {\n return this.get({start: (page - 1) * 50}).pipe(\n map(v => {\n let res = this.http.mapResult(v)\n return (res) ? res.map(r => this.userMap.HttpToBX(r)) : undefined\n })\n )\n }\n\n getByID(id: number, reload = true): Observable<iBXRestUser | undefined> {\n return this.getByIDs([id], reload).pipe(map(v => (v && v.length) ? v[0] : undefined))\n }\n\n getByIDs(ids: number[], reload = true): Observable<iBXRestUser[] | undefined> {\n ids = Array.from(new Set(ids))\n return this.user$.pipe(\n take(1),\n mergeMap(v => {\n if (!reload) {\n let find = v.data.filter(i => ids.includes(i.ID))\n if (find && find.length === ids.length) {\n return of(find)\n }\n }\n return this.getAll({ID: ids, ACTIVE: 2}).pipe(map(v => (v && v.length) ? v : undefined))\n })\n )\n }\n\n getSelf(update = false) {\n if (update) {\n return this.getSelfHttp()\n } else {\n return this.user$.pipe(\n mergeMap(v => {\n if (v && v.self) {\n return of(v.self)\n } else {\n return this.getSelfHttp()\n }\n }),\n first()\n )\n }\n }\n\n getSelfHttp() {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp>>\n (this.url.self, {}, 'Не удалось получить пользователя')\n .pipe(\n map(v => {\n if (v && v.result) {\n return this.userMap.HttpToBX(v.result)\n }\n return undefined\n }),\n tap(v => {\n if (v) {\n this.store.dispatch(saveSelf({self: v}))\n }\n }),\n )\n }\n\n access(access: string[], textError = 'Не удалось получить права') {\n return this.http.get<iHttpAnswerBX<boolean> | undefined>(this.url.access, {ACCESS: access}, textError).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n getByDepartment(id: number[] | number): Observable<iBXRestUser [] | undefined> {\n const ids: number[] = (typeof id === 'number') ? [id] : id\n return this.user$.pipe(\n first(),\n mergeMap(\n v => {\n if (v.load.all) {\n return of(clone(v.data.filter(i => ids.find(id => i.UF_DEPARTMENT.includes(id)))))\n }\n if (ids.every(i => v.load.department.includes(i))) {\n return of(clone(v.data.filter(i => ids.find(id => i.UF_DEPARTMENT.includes(id)))))\n }\n return this.getAll({UF_DEPARTMENT: ids}).pipe(tap(_ => {\n this.store.dispatch(saveIDLoadedDepartment({id: ids}))\n }))\n })\n )\n }\n\n getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {\n if (!Object.keys(params).length) {\n params = clone(this.def.params)\n }\n\n const saveAllUser = compare(params, this.def.params)\n return this.user$.pipe(\n take(1),\n mergeMap(v => {\n if (v.load.all) {\n if (compare(this.def.params, params)) {\n return of(clone(v.data))\n }\n }\n\n return this.getEndArray(params).pipe(\n take(1),\n map(v => {\n if (v && v.result) {\n let cl = clone(v.result)\n return this.saveArrUser(cl)\n }\n return undefined\n }),\n )\n }),\n tap(v => {\n if (v && v.length && saveAllUser) {\n this.store.dispatch(loadAll({load: true}))\n }\n params.start = this.def.params.start\n })\n )\n }\n\n getAllByPersonalBirthday(day: number | undefined = undefined, month: number | undefined = undefined, checkWeekend = false) {\n return this.http.timeNowOnServer().pipe(\n mergeMap(date => {\n if (date) {\n let daySent = (day) ? day : date.getDate()\n let start = date.getFullYear() + 1\n let monthSent = (month) ? month : date.getMonth() + 1\n let arr: string[] = Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n // TODO: Упростить\n if (checkWeekend && date.getDay() === 1) {\n start = date.getFullYear() + 1\n arr.push(\n ...Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent - 1), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n )\n start = date.getFullYear() + 1\n arr.push(\n ...Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent - 2), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n )\n }\n return this.getAll({PERSONAL_BIRTHDAY: arr})\n }\n this.snackBar.warning('Не удалось получить время сервера')\n return of(undefined)\n })\n )\n }\n\n saveArrUser(users: iBXRestUserHttp[]) {\n let result: iBXRestUser [] = []\n for (const user of users) {\n result.push(this.userMap.HttpToBX(user))\n }\n this.store.dispatch(saveArr({arr: result}))\n\n return result\n }\n\n search(params: string | UserFilterSearch): Observable<iBXRestUser [] | undefined> {\n if (typeof params === 'string') {\n params = {FIND: params}\n }\n if (typeof params.ACTIVE !== 'boolean') {\n params.ACTIVE = true\n }\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp[]>>(this.url.search, params, 'Сервер не отвечает на запрос поиска')\n .pipe(\n map(v => {\n if (v && v.result) {\n const mapResult = this.http.mapResult(v)\n if (mapResult) {\n return this.saveArrUser(mapResult)\n }\n }\n return undefined\n })\n )\n }\n\n fields(): Observable<iBXRestUserHttpField | undefined> {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttpField>>(this.url.fields).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n update(user: iBXRestUser, fieldUpdate: string[]): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n if (fieldUpdate && fieldUpdate.length) {\n let sendData: any = {\n ID: user.ID,\n }\n const userBX = this.userMap.BXtoHttp(user)\n for (const field of fieldUpdate) {\n if (userBX[field]) {\n sendData[field] = userBX[field]\n } else {\n this.snackBar.error('Одно из указанных полей отправлено не верно')\n }\n }\n return this.http.post(this.url.update, sendData, 'Не удалось обновить пользователя с ID' + user.ID)\n } else {\n this.snackBar.error('Не указано ни одно поле для редактирования пользователя')\n return of({})\n }\n }\n\n getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n return this.get(params).pipe(\n mergeMap(items => {\n if (items && items.result && typeof items.result === 'object') {\n if (items.next) {\n params.start = items.next\n return this.getEndArray(params).pipe(map(vEnd => {\n if (vEnd && items.result && vEnd.result) {\n return {result: [...items.result, ...vEnd.result]}\n }\n return (items) ? items : undefined\n }))\n }\n return of(items)\n } else {\n return of(undefined)\n }\n }),\n )\n }\n\n // getUrlCompressedImage(url: string, width: number, height: number) {\n // return this.img.getUrlCompressed(url, width, height)\n // }\n\n setDefParam(params: iBXGetParam) {\n if (!params.hasOwnProperty('ACTIVE')) {\n params.ACTIVE = this.def.params.ACTIVE\n }\n if (params.ACTIVE && params.ACTIVE === 2) {\n delete params.ACTIVE\n }\n if (!params.hasOwnProperty('start')) {\n params.start = this.def.params.start\n }\n\n if (params.UF_DEPARTMENT && !params.UF_DEPARTMENT.length) {\n delete params.UF_DEPARTMENT\n }\n }\n\n getInfoAboutCustomFieldsBX() {\n return this.http.get<iHttpAnswerBX<iCustomUserFieldInfo[]>>(this.url.userfield.list).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n itIsAdmin() {\n return this.http.get<iHttpAnswerBX<boolean>>(this.url.admin).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n}\n","/*\n * Public API Surface of bx-rest\n */\n\n// export * from './request/bx-rest.module'\nexport * from './services/base'\nexport * from './request/user/user'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAAO,MAAM,IAAI,GAAG;AAClB,IAAA,kBAAkB,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CACxC;;MCOY,YAAY,CAAA;AAErB,IAAA,KAAK,CAAC,GAAQ,EAAA;AACV,QAAA,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;KAClC;AAED,IAAA,QAAQ,CAAC,GAAQ,EAAA;AACb,QAAA,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,MAAM,CAAC,GAA2B,EAAE,MAAe,EAAE,GAAqB,EAAA;QACtE,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,YAAA,OAAO,GAAG,CAAA;AACb,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE;AAC/B,YAAA,IAAI,MAAM,EAAE;AACR,gBAAA,IAAI,GAAG,EAAE;AACL,oBAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC1D,iBAAA;gBACD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;AACrD,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE;AAC/B,YAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;AACvB,SAAA;QACD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;AAC/C,QAAA,MAAM,mBAAmB,CAAA;KAC5B;AAED,IAAA,YAAY,CAAC,IAAU,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;KAC5C;AAED,IAAA,uBAAuB,CAAC,IAAU,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;AAC1C,QAAA,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAA;QACtC,MAAM,GAAG,GAAG,CAAC,CAAS,KAAK,CAAG,EAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACxE,OAAO,IAAI,CAAC,WAAW,EAAE;YACrB,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC9B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5B,YAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC5B,YAAA,IAAI,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;AACzB,YAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;KAC/B;;AAED,IAAA,MAAM,CAAC,GAAQ,EAAA;QACX,QAAQ,OAAO,GAAG;AACd,YAAA,KAAK,QAAQ;AACT,gBAAA,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;gBACvB,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE;oBAC5B,OAAO,GAAG,KAAK,GAAG,CAAA;AACrB,iBAAA;qBAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;oBAC1C,OAAO,GAAG,KAAK,MAAM,CAAA;AACxB,iBAAA;AAAM,qBAAA;AACH,oBAAA,OAAO,KAAK,CAAA;AACf,iBAAA;AACL,YAAA;AACI,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AAC1B,SAAA;KACJ;AAED,IAAA,QAAQ,CAAC,GAAY,EAAA;QACjB,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAA;KAC3B;AAED,IAAA,MAAM,CAAC,GAAQ,EAAA;QACX,OAAO,OAAO,GAAG,CAAA;KACpB;AAED,IAAA,YAAY,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,GAAG,EAAE;YACL,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,gBAAA,OAAO,MAAM,CAAA;AAChB,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;AACnB,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,IAAI,CAAA;AACd,SAAA;KACJ;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAC7B;AAED,IAAA,QAAQ,CAAI,GAAW,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACzB;AAED,IAAA,kBAAkB,CAAC,GAAW,EAAE,GAAA,GAAc,EAAE,EAAA;AAC5C,QAAA,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AACvD,YAAA,GAAG,GAAG,UAAU,GAAG,GAAG,CAAA;AACzB,SAAA;AAED,QAAA,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;AAC3C,YAAA,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAClB,SAAA;AAED,QAAA,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAEf,QAAA,OAAO,GAAG,CAAA;KACb;IAED,cAAc,GAAA;;AAEV,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;KACzD;IAED,QAAQ,CAAC,CAAO,EAAE,CAAO,EAAA;AACrB,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;KAC7C;IAED,cAAc,CAAC,CAAO,EAAE,CAAO,EAAA;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC9E;AAED,IAAA,aAAa,CAAC,IAAU,EAAA;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC/B,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAC1B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3C,SAAC,CAAC,CAAA;KACL;IAED,MAAM,oBAAoB,CAAC,IAAU,EAAA;QACjC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAC3C,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO;AACH,gBAAA,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAChB,gBAAA,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAA;AACJ,SAAA;AACD,QAAA,OAAO,SAAS,CAAA;KACnB;AAED,IAAA,QAAQ,CAAC,OAAiB,EAAA;QACtB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,SAAC,CAAC,CAAA;KACL;IAED,eAAe,CAAC,KAAW,EAAE,KAAW,EAAA;QACpC,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;AACnC,eAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;eACrC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAA;KACrD;AAED,IAAA,MAAM,CAAC,IAAU,EAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;KAC3C;AAED,IAAA,MAAM,CAAC,CAAW,EAAA;QACd,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,YAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,CAAC,CAAA;KACX;AAED,IAAA,eAAe,CAAC,GAAW,EAAE,SAAS,GAAG,KAAK,EAAA;AAC1C,QAAA,IAAI,SAAS,EAAE;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC1D,SAAA;KACJ;AAED,IAAA,OAAO,CAAC,GAAW,EAAA;AACf,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC9C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC7C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC5C,QAAA,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;AAC3C,QAAA,OAAO,GAAG,CAAA;KACb;;yGAhLQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFT,MAAM,EAAA,CAAA,CAAA;2FAET,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;ACMM,MAAM,IAAI,GAAG,YAAY,CAAC,wBAAwB,EAAE,KAAK,EAAgB,CAAC,CAAA;AAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,4BAA4B,EAAE,KAAK,EAA2B,CAAC,CAAA;AAC5F,MAAM,MAAM,GAAG,YAAY,CAAC,0BAA0B,EAAE,KAAK,EAAgB,CAAC,CAAA;AAC9E,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,EAAE,KAAK,EAAkB,CAAC,CAAA;AAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,4BAA4B,EAAE,KAAK,EAA0B,CAAC,CAAA;AAC5F,MAAM,sBAAsB,GAAG,YAAY,CAAC,0CAA0C,EAAE,KAAK,EAAkB,CAAC,CAAA;AAEhH,MAAM,YAAY,GAAe;AACtC,IAAA,IAAI,EAAE;AACJ,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,UAAU,EAAE,EAAE;AACf,KAAA;AACD,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,EAAE;CACT,CAAA;AAED,MAAM,aAAa,GAAG,aAAa,CACjC,YAAY,EACZ,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACrC,IAAA,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AACnB,IAAA,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5D,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,EACF,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACtB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,IAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChC,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrB,aAAA;AACF,SAAA;AACF,KAAA;AAAM,SAAA;QACL,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,KAAA;AACD,IAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,EACF,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;AACrB,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;AACrD,IAAA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACf,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;;AAEhC,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACtB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;AAC5B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;AACzB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AACD,IAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAC,EACF,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,KAAI;IACvB,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAA;AACjC,CAAC,CAAC,CACH,CAAA;SAGe,YAAY,CAAC,KAAK,GAAG,YAAY,EAAE,MAAc,EAAA;AAC/D,IAAA,OAAO,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACrC;;ACvFO,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,IAAI,GAAG,KAAK,CAAA;AAClB,MAAM,MAAM,GAAG,OAAO,CAAA;AACtB,MAAM,OAAO,GAAG,QAAQ,CAAA;AACxB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,QAAQ,GAAG,SAAS,CAAA;AAC1B,MAAM,KAAK,GAAG,MAAM,CAAA;AACpB,MAAM,OAAO,GAAG,QAAQ;;MCUlB,UAAU,CAAA;IAuBnB,WACY,CAAA,IAAoB,EACpB,QAAyB;;;IAGzB,KAAmC,EACnC,OAAiC,EACjC,QAAkB,EAAA;QANlB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgB;QACpB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAGzB,IAAK,CAAA,KAAA,GAAL,KAAK,CAA8B;QACnC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;QACjC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AA7B9B,QAAA,IAAA,CAAA,GAAG,GAAG;AACF,YAAA,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACvB,YAAA,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;AAClB,YAAA,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;AAIzB,YAAA,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AACzB,YAAA,SAAS,EAAE;AACP,gBAAA,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC;AACpC,aAAA;SACJ,CAAA;AAED,QAAA,IAAA,CAAA,GAAG,GAAwC;YACvC,MAAM,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC;SAChC,CAAA;QAaG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC1C;IAED,GAAG,CAAC,SAAsB,EAAE,EAAA;AACxB,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,mCAAmC,CAAC;AAC1D,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7B,aAAA;SACJ,CAAC,CACL,CAAA;KACR;IAED,UAAU,CAAC,OAAe,CAAC,EAAA;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,IAAI,CAC1C,GAAG,CAAC,CAAC,IAAG;YACJ,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;SACpE,CAAC,CACL,CAAA;KACJ;AAED,IAAA,OAAO,CAAC,EAAU,EAAE,MAAM,GAAG,IAAI,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;KACxF;AAED,IAAA,QAAQ,CAAC,GAAa,EAAE,MAAM,GAAG,IAAI,EAAA;QACjC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAClB,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,CAAC,IAAG;YACT,IAAI,CAAC,MAAM,EAAE;gBACT,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACjD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AACpC,oBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;AAClB,iBAAA;AACJ,aAAA;AACD,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;SAC3F,CAAC,CACL,CAAA;KACJ;IAED,OAAO,CAAC,MAAM,GAAG,KAAK,EAAA;AAClB,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC5B,SAAA;AAAM,aAAA;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAClB,QAAQ,CAAC,CAAC,IAAG;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACb,oBAAA,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACpB,iBAAA;AAAM,qBAAA;AACH,oBAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC5B,iBAAA;AACL,aAAC,CAAC,EACF,KAAK,EAAE,CACV,CAAA;AACJ,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CACnB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,kCAAkC,CAAC;AAClD,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACzC,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;AACpB,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,EAAE;AACH,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;AAC3C,aAAA;SACJ,CAAC,CACL,CAAA;KACR;AAED,IAAA,MAAM,CAAC,MAAgB,EAAE,SAAS,GAAG,2BAA2B,EAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CACvG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;KACJ;AAED,IAAA,eAAe,CAAC,EAAqB,EAAA;AACjC,QAAA,MAAM,GAAG,GAAa,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAClB,KAAK,EAAE,EACP,QAAQ,CACJ,CAAC,IAAG;AACA,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;AACZ,gBAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrF,aAAA;AACD,YAAA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/C,gBAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrF,aAAA;AACD,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,aAAa,EAAE,GAAG,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAG;AAClD,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAC,EAAE,EAAE,GAAG,EAAC,CAAC,CAAC,CAAA;aACzD,CAAC,CAAC,CAAA;SACN,CAAC,CACT,CAAA;KACJ;IAED,MAAM,CAAC,SAAsB,EAAE,EAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;YAC7B,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAClC,SAAA;AAED,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACpD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAClB,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,CAAC,IAAG;AACT,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACZ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;oBAClC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3B,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAChC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,IAAG;AACJ,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACf,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AACxB,oBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;AAC9B,iBAAA;AACD,gBAAA,OAAO,SAAS,CAAA;aACnB,CAAC,CACL,CAAA;AACL,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,EAAE;AAC9B,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;AAC7C,aAAA;YACD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAA;SACvC,CAAC,CACL,CAAA;KACJ;IAED,wBAAwB,CAAC,MAA0B,SAAS,EAAE,QAA4B,SAAS,EAAE,YAAY,GAAG,KAAK,EAAA;AACrH,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CACnC,QAAQ,CAAC,IAAI,IAAG;AACZ,YAAA,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAClC,gBAAA,IAAI,SAAS,GAAG,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACrD,gBAAA,IAAI,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACtD,oBAAA,KAAK,EAAE,CAAA;oBACP,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;oBACxF,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;AAC3B,iBAAC,CAAC,CAAA;;gBAEF,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;AACrC,oBAAA,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;oBAC9B,GAAG,CAAC,IAAI,CACJ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACrC,wBAAA,KAAK,EAAE,CAAA;wBACP,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;wBAC5F,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;qBAC1B,CAAC,CACL,CAAA;AACD,oBAAA,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;oBAC9B,GAAG,CAAC,IAAI,CACJ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG;AACrC,wBAAA,KAAK,EAAE,CAAA;wBACP,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;wBAC5F,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;qBAC1B,CAAC,CACL,CAAA;AACJ,iBAAA;gBACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,iBAAiB,EAAE,GAAG,EAAC,CAAC,CAAA;AAC/C,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAA;AAC1D,YAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;SACvB,CAAC,CACL,CAAA;KACJ;AAED,IAAA,WAAW,CAAC,KAAwB,EAAA;QAChC,IAAI,MAAM,GAAmB,EAAE,CAAA;AAC/B,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3C,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,CAAC,CAAC,CAAA;AAE3C,QAAA,OAAO,MAAM,CAAA;KAChB;AAED,IAAA,MAAM,CAAC,MAAiC,EAAA;AACpC,QAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC5B,YAAA,MAAM,GAAG,EAAC,IAAI,EAAE,MAAM,EAAC,CAAA;AAC1B,SAAA;AACD,QAAA,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACpC,YAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;AACvB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,qCAAqC,CAAC;AACjH,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAG;AACJ,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;gBACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AACxC,gBAAA,IAAI,SAAS,EAAE;AACX,oBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AACrC,iBAAA;AACJ,aAAA;AACD,YAAA,OAAO,SAAS,CAAA;SACnB,CAAC,CACL,CAAA;KACR;IAED,MAAM,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3E,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;KACJ;IAED,MAAM,CAAC,IAAiB,EAAE,WAAqB,EAAA;AAC3C,QAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;AACnC,YAAA,IAAI,QAAQ,GAAQ;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;aACd,CAAA;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC1C,YAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;AAC7B,gBAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;oBACf,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;AAClC,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;AACrE,iBAAA;AACJ,aAAA;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,uCAAuC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;AACtG,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAA;AAC9E,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;AAChB,SAAA;KACJ;IAED,WAAW,CAAC,SAAqB,EAAE,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CACxB,QAAQ,CAAC,KAAK,IAAG;AACb,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;gBAC3D,IAAI,KAAK,CAAC,IAAI,EAAE;AACZ,oBAAA,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAA;AACzB,oBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAG;wBAC5C,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACrC,4BAAA,OAAO,EAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAC,CAAA;AACrD,yBAAA;wBACD,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,SAAS,CAAA;qBACrC,CAAC,CAAC,CAAA;AACN,iBAAA;AACD,gBAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;AACnB,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;AACvB,aAAA;SACJ,CAAC,CACL,CAAA;KACJ;;;;AAMD,IAAA,WAAW,CAAC,MAAmB,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAA;AACzC,SAAA;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,MAAM,CAAC,MAAM,CAAA;AACvB,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAA;AACvC,SAAA;QAED,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;YACtD,OAAO,MAAM,CAAC,aAAa,CAAA;AAC9B,SAAA;KACJ;IAED,0BAA0B,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;KACJ;IAED,SAAS,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAyB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7D,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;KACJ;AACJ;;ACrVD;;AAEG;AAEH;;ACJA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"bx-rest.mjs","sources":["../../../projects/bx-rest/src/consts/time.ts","../../../projects/bx-rest/src/services/base.ts","../../../projects/bx-rest/src/request/bx-rest.module.ts","../../../projects/bx-rest/src/services/snack-bar/toast-message/toast-message.component.ts","../../../projects/bx-rest/src/services/snack-bar/toast-message/toast-message.component.html","../../../projects/bx-rest/src/services/snack-bar/snack-bar.service.ts","../../../projects/bx-rest/src/functions/serializeJavascript.ts","../../../projects/bx-rest/src/services/vanilla/JSON.ts","../../../projects/bx-rest/src/services/vanilla/сookies.ts","../../../projects/bx-rest/src/store/auth.ts","../../../projects/bx-rest/src/services/vanilla/localStorage.ts","../../../projects/bx-rest/src/typification/rest/api-lib.ts","../../../projects/bx-rest/src/services/http/sessionKey.ts","../../../projects/bx-rest/src/services/http/HttpData.ts","../../../projects/bx-rest/src/services/http/base/base.ts","../../../projects/bx-rest/src/services/http/base/http.ts","../../../projects/bx-rest/src/services/http/http.ts","../../../projects/bx-rest/src/services/http/HttpBX.ts","../../../projects/bx-rest/src/store/users.ts","../../../projects/bx-rest/src/consts/part-name-metods.ts","../../../projects/bx-rest/src/services/map/base.ts","../../../projects/bx-rest/src/services/map/rest/user.ts","../../../projects/bx-rest/src/request/user/user.ts","../../../projects/bx-rest/src/public-api.ts","../../../projects/bx-rest/src/bx-rest.ts"],"sourcesContent":["export const time = {\r\n oneDayMilliseconds: 1000 * 60 * 60 * 24\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { time } from '../consts/time'\r\n// import { environment } from 'bx-rest/environments/environment'\r\nimport { DateTime } from 'luxon'\r\nimport { DateTimeOptions } from 'luxon/src/datetime'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseServices {\r\n\r\n toStr(val: any): string {\r\n return (val) ? String(val) : ''\r\n }\r\n\r\n toNumber(val: any): number {\r\n return (val && Number(val)) ? Number(val) : 0\r\n }\r\n\r\n toDate(val: number | string | Date, format?: string, opt?: DateTimeOptions): Date {\r\n if (val instanceof Date) {\r\n return val\r\n } else if (typeof val == 'string') {\r\n if (format) {\r\n if (opt) {\r\n return DateTime.fromFormat(val, format, opt).toJSDate()\r\n }\r\n return DateTime.fromFormat(val, format).toJSDate()\r\n } else {\r\n return new Date(val)\r\n }\r\n } else if (typeof val == 'number') {\r\n return new Date(val)\r\n }\r\n console.error('Wrong date format', val, format)\r\n throw 'Wrong date format'\r\n }\r\n\r\n getBXStrTime(date: Date): string {\r\n return this.toISOStringWithTimezone(date)\r\n }\r\n\r\n toISOStringWithTimezone(date: Date): string {\r\n const tzOffset = -date.getTimezoneOffset()\r\n const diff = tzOffset >= 0 ? '+' : '-'\r\n const pad = (n: number) => `${Math.floor(Math.abs(n))}`.padStart(2, '0')\r\n return date.getFullYear() +\r\n '-' + pad(date.getMonth() + 1) +\r\n '-' + pad(date.getDate()) +\r\n 'T' + pad(date.getHours()) +\r\n ':' + pad(date.getMinutes()) +\r\n ':' + pad(date.getSeconds()) +\r\n diff + pad(tzOffset / 60) +\r\n ':' + pad(tzOffset % 60)\r\n };\r\n\r\n toBool(val: any) {\r\n switch (typeof val) {\r\n case 'string':\r\n val = val.toLowerCase()\r\n if (val === 'n' || val === 'y') { // битриксовые понятия о bool\r\n return val === 'y'\r\n } else if (val === 'true' || val === 'false') { // битриксовые понятия о bool\r\n return val === 'true'\r\n } else {\r\n return false\r\n }\r\n default:\r\n return Boolean(val)\r\n }\r\n }\r\n\r\n toBXYorN(val: boolean) {\r\n return (val) ? 'Y' : 'N'\r\n }\r\n\r\n typeof(val: any) {\r\n return typeof val\r\n }\r\n\r\n typeDefClass(val: object): undefined | null | 'date' {\r\n if (val) {\r\n if (val instanceof Date) {\r\n return 'date'\r\n }\r\n return undefined\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n toJSON(val: object) {\r\n return JSON.stringify(val)\r\n }\r\n\r\n fromJSON<T>(val: string): T | undefined {\r\n return JSON.parse(val)\r\n }\r\n\r\n prepareBaseAddress(url: string, add: string = '') {\r\n if (url.search('https://') !== 0 && url.search('http://')) {\r\n url = 'https://' + url\r\n }\r\n\r\n if (url.lastIndexOf('/') !== (url.length - 1)) {\r\n url = url + '/'\r\n }\r\n\r\n url = url + add\r\n\r\n return url\r\n }\r\n\r\n getHomeAddress() {\r\n // return this.prepareBaseAddress(environment.urls.home)\r\n return this.prepareBaseAddress('b24.trace-studio.com')\r\n }\r\n\r\n dateDiff(a: Date, b: Date) {\r\n return new Date(a.valueOf() - b.valueOf())\r\n }\r\n\r\n dateDiffInDays(a: Date, b: Date) {\r\n return Math.floor(this.dateDiff(a, b).valueOf() / time.oneDayMilliseconds);\r\n }\r\n\r\n getBase64File(file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = error => reject(error)\r\n })\r\n }\r\n\r\n async getBase64FileLikeStr(file: File): Promise<{ header: string, val: string } | undefined> {\r\n let result = await this.getBase64File(file)\r\n if (typeof result === 'string') {\r\n let split = result.split(',')\r\n return {\r\n header: split[0],\r\n val: split[1]\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n sumArray(numbers: number[]) {\r\n return numbers.reduce((a, b) => {\r\n return a + b;\r\n })\r\n }\r\n\r\n isItTheSameDate(date1: Date, date2: Date) {\r\n return date1.getDate() === date2.getDate()\r\n && date1.getMonth() === date2.getMonth()\r\n && date1.getFullYear() === date2.getFullYear()\r\n }\r\n\r\n toUnix(date: Date) {\r\n return Math.floor(date.valueOf() / 1000)\r\n }\r\n\r\n arrSum(x: number[]) {\r\n let s = 0;\r\n for (let i = 0; i < x.length; i++) {\r\n s += x[i]\r\n }\r\n return s\r\n }\r\n\r\n getBaseUrlHttps(url: string, component = false) {\r\n if (component) {\r\n return encodeURI(this.cropUrl(url) + '/');\r\n } else {\r\n return encodeURI('https://' + this.cropUrl(url) + '/');\r\n }\r\n }\r\n\r\n cropUrl(url: string) {\r\n url = (url) ? url.replace('https://', '') : ''\r\n url = (url) ? url.replace('http://', '') : ''\r\n url = (url) ? url.replace('https:', '') : ''\r\n url = (url) ? url.replace('http:', '') : ''\r\n return url\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatButtonModule } from '@angular/material/button'\n\n@NgModule({\n declarations: [\n ],\n imports: [\n MatIconModule,\n MatButtonModule\n ],\n exports: [\n MatButtonModule,\n MatIconModule\n ]\n})\nexport class BxRestModule { }\n","import { Component, inject, Inject, ViewEncapsulation } from '@angular/core'\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar'\nimport { BxRestModule } from '../../../request/bx-rest.module'\n\n@Component({\n selector: 'app-view',\n templateUrl: './toast-message.component.html',\n styleUrls: ['./toast-message.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [BxRestModule],\n})\nexport class ToastMessageComponent {\n\n snackBarRef = inject(MatSnackBarRef)\n\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: { message: string, type: 'error' | 'warning' | 'success' }) {\n }\n\n getClass():string{\n switch (this.data.type){\n case 'error':\n case 'warning':\n case 'success':\n return this.data.type + '-message';\n }\n return '';\n }\n}\n","<div class=\"w-100 d-flex\">\n <span matSnackBarLabel [class]=\"getClass()\">\n {{ data.message }}\n</span>\n <span matSnackBarActions [class]=\"getClass()\">\n <button mat-button matSnackBarAction (click)=\"snackBarRef.dismissWithAction()\">\n <mat-icon>\n close\n </mat-icon>\n </button>\n</span>\n</div>\n\n","/**\n * Сервис для вывода сообщений пользователю\n * TODO: логирование\n */\nimport { Injectable } from '@angular/core'\nimport { ToastMessageComponent } from '../../services/snack-bar/toast-message/toast-message.component'\nimport { MatSnackBar } from '@angular/material/snack-bar'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class SnackBarService {\n\n constructor(private snackBar: MatSnackBar) {\n }\n\n error(message: string, sec = 12): void {\n this.standardMessage(message, sec, 'error')\n }\n\n warning(message: string, sec = 7): void {\n this.standardMessage(message, sec, 'warning');\n }\n\n success(message: string, sec = 7): void {\n this.standardMessage(message, sec, 'success');\n }\n\n standardMessage(message: string, sec = 5, name = 'error'): void{\n this.snackBar.open(message);\n this.snackBar.openFromComponent(ToastMessageComponent, {\n duration: sec * 1000,\n data: {\n message: message,\n type: name\n },\n panelClass: name + '-box'\n });\n }\n}\n","// Generate an internal UID to make the regexp pattern harder to guess.\nconst UID_LENGTH = 16;\nconst UID = generateUID();\nconst PLACE_HOLDER_REGEXP = new RegExp('(\\\\\\\\)?\"@__(F|R|D|M|S|A|U|I|B|L)-' + UID + '-(\\\\d+)__@\"', 'g');\n\nconst IS_NATIVE_CODE_REGEXP = /\\{\\s*\\[native code]\\s*}/g;\nconst IS_PURE_FUNCTION = /function.*?\\(/;\nconst IS_ARROW_FUNCTION = /.*?=>.*?/;\nconst UNSAFE_CHARS_REGEXP = /[<>\\/\\u2028\\u2029]/g;\n\nconst RESERVED_SYMBOLS = ['*', 'async'];\n\n// Mapping of unsafe HTML and invalid JavaScript line terminator chars to their\n// Unicode char counterparts which are safe to use in JavaScript strings.\nconst ESCAPED_CHARS: {[key: string]: string} = {\n '<': '\\\\u003C',\n '>': '\\\\u003E',\n '/': '\\\\u002F',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029'\n};\n\nfunction escapeUnsafeChars(unsafeChar: string): string {\n return (ESCAPED_CHARS.hasOwnProperty(unsafeChar)) ? ESCAPED_CHARS[unsafeChar] : '';\n}\n\nfunction generateUID() {\n let bytes = window.crypto.getRandomValues(new Uint32Array(UID_LENGTH))\n let result = '';\n for (let i = 0; i < UID_LENGTH; ++i) {\n result += bytes[i].toString(16);\n }\n return result;\n}\n\nfunction deleteFunctions(obj: any) {\n let functionKeys = [];\n for (let key in obj) {\n if (typeof obj[key] === \"function\") {\n functionKeys.push(key);\n }\n }\n for (let i = 0; i < functionKeys.length; i++) {\n delete obj[functionKeys[i]];\n }\n}\n\nfunction serialize(obj: any, options: any = {}): any {\n // Backwards-compatibility for `space` as the second argument.\n if (typeof options === 'number' || typeof options === 'string') {\n options = {space: options};\n }\n\n let functions: Function[] = [];\n let regexps: any[] = [];\n let dates: any[] = [];\n let maps: any[] = [];\n let sets: any[] = [];\n let arrays: any[] = [];\n let undefs: any[] = [];\n let infinities: any[] = [];\n let bigInts: any[] = [];\n let urls: any[] = [];\n\n // Returns placeholders for functions and regexps (identified by index)\n // which are later replaced by their string representation.\n function replacer(key: string, value: any) {\n\n // For nested function\n if (options.ignoreFunction) {\n deleteFunctions(value);\n }\n\n if (!value && value !== undefined) {\n return value;\n }\n\n // let origValue: any = this[key];\n let origValue: any = value;\n let type = typeof origValue;\n\n switch (type){\n case 'object':\n\n if (origValue instanceof RegExp) {\n return '@__R-' + UID + '-' + (regexps.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Date) {\n return '@__D-' + UID + '-' + (dates.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Map) {\n return '@__M-' + UID + '-' + (maps.push(origValue) - 1) + '__@';\n } else if (origValue instanceof Set) {\n return '@__S-' + UID + '-' + (sets.push(origValue) - 1) + '__@';\n }\n\n if (origValue instanceof Array) {\n let isSparse = origValue.filter(function () {\n return true\n }).length !== origValue.length;\n if (isSparse) {\n return '@__A-' + UID + '-' + (arrays.push(origValue) - 1) + '__@';\n }\n }\n\n if (origValue instanceof URL) {\n return '@__L-' + UID + '-' + (urls.push(origValue) - 1) + '__@';\n }\n break;\n case 'function':\n return '@__F-' + UID + '-' + (functions.push(origValue) - 1) + '__@';\n case 'undefined':\n return '@__U-' + UID + '-' + (undefs.push(origValue) - 1) + '__@';\n case 'number':\n return '@__I-' + UID + '-' + (infinities.push(origValue) - 1) + '__@';\n case 'bigint':\n return '@__B-' + UID + '-' + (bigInts.push(origValue) - 1) + '__@';\n }\n\n return value;\n }\n\n function serializeFunc(fn: Function) {\n let serializedFn = fn.toString();\n if (IS_NATIVE_CODE_REGEXP.test(serializedFn)) {\n throw new TypeError('Serializing native function: ' + fn.name);\n }\n\n // pure functions, example: {key: function() {}}\n if (IS_PURE_FUNCTION.test(serializedFn)) {\n return serializedFn;\n }\n\n // arrow functions, example: arg1 => arg1+5\n if (IS_ARROW_FUNCTION.test(serializedFn)) {\n return serializedFn;\n }\n\n let argsStartsAt = serializedFn.indexOf('(');\n let def = serializedFn.slice(0, argsStartsAt)\n .trim()\n .split(' ')\n .filter(function (val) {\n return val.length > 0\n });\n\n let nonReservedSymbols = def.filter(function (val) {\n return RESERVED_SYMBOLS.indexOf(val) === -1\n });\n\n // enhanced literal objects, example: {key() {}}\n if (nonReservedSymbols.length > 0) {\n return (def.indexOf('async') > -1 ? 'async ' : '') + 'function'\n + (def.join('').indexOf('*') > -1 ? '*' : '')\n + serializedFn.slice(argsStartsAt);\n }\n\n // arrow functions\n return serializedFn;\n }\n\n // Check if the parameter is function\n if (options.ignoreFunction && typeof obj === \"function\") {\n obj = undefined;\n }\n // Protects against `JSON.stringify()` returning `undefined`, by serializing\n // to the literal string: \"undefined\".\n if (obj === undefined) {\n return String(obj);\n }\n\n let str: string = '';\n\n // Creates a JSON string representation of the value.\n // NOTE: Node 0.12 goes into slow mode with extra JSON.stringify() args.\n if (options.isJSON && !options.space) {\n str = JSON.stringify(obj);\n } else {\n str = JSON.stringify(obj, options.isJSON ? undefined : replacer, options.space);\n }\n\n // Replace unsafe HTML and invalid JavaScript line terminator chars with\n // their safe Unicode char counterpart. This _must_ happen before the\n // regexps and functions are serialized and added back to the string.\n if (options.unsafe !== true) {\n str = str.replace(UNSAFE_CHARS_REGEXP, escapeUnsafeChars);\n }\n\n if (functions.length === 0 && regexps.length === 0 && dates.length === 0 && maps.length === 0 && sets.length === 0 && arrays.length === 0 && undefs.length === 0 && infinities.length === 0 && bigInts.length === 0 && urls.length === 0) {\n return str;\n }\n\n // Replaces all occurrences of function, regexp, date, map and set placeholders in the\n // JSON string with their string representations. If the original value can\n // not be found, then `undefined` is used.\n return str.replace(PLACE_HOLDER_REGEXP, function (match, backSlash, type, valueIndex) {\n // The placeholder may not be preceded by a backslash. This is to prevent\n // replacing things like `\"a\\\"@__R-<UID>-0__@\"` and thus outputting\n // invalid JS.\n if (backSlash) {\n return match;\n }\n\n switch (type){\n case 'D':\n return \"new Date(\\\"\" + dates[valueIndex].toISOString() + \"\\\")\"\n case 'R':\n return \"new RegExp(\" + serialize(regexps[valueIndex].source) + \", \\\"\" + regexps[valueIndex].flags + \"\\\")\"\n case 'M':\n return \"new Map(\" + serialize(Array.from(maps[valueIndex].entries()), options) + \")\"\n case 'S':\n return \"new Set(\" + serialize(Array.from(sets[valueIndex].values()), options) + \")\"\n case 'A':\n return \"Array.prototype.slice.call(\" + serialize(Object.assign({length: arrays[valueIndex].length}, arrays[valueIndex]), options) + \")\"\n case 'U':\n return 'undefined'\n case 'I':\n return infinities[valueIndex]\n case 'B':\n return \"BigInt(\\\"\" + bigInts[valueIndex] + \"\\\")\"\n case 'L':\n return \"new URL(\\\"\" + urls[valueIndex].toString() + \"\\\")\"\n }\n\n let fn = functions[valueIndex];\n\n return serializeFunc(fn);\n });\n}\n\nexport default serialize\n","import { Injectable } from '@angular/core'\nimport serialize from '../../functions/serializeJavascript'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class JSONServices {\n static deserialize(data: any) {\n return eval('(' + data + ')')\n }\n\n static serialize(data: any ) {\n return serialize(data)\n }\n}\n","import { Injectable } from '@angular/core'\nimport JSON from '../../services/vanilla/JSON'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class CookiesServices {\n\n static get(name: string): string {\n const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n if (results)\n return results[2]\n else\n return ''\n }\n\n static set(name: string, value: string, age: number = 0) {\n let string = name + '=' + value + ';'\n if(age) {\n string += ' max-age=' + age\n }\n string += '; SameSite=None; Secure'\n document.cookie = string\n }\n\n static setObj(name: string, value: any, age: number = 0) {\n let string = name + '=' + JSON.serialize(value) + ';'\n if(age) {\n string += ' max-age=' + age\n }\n string += '; SameSite=None; Secure'\n document.cookie = string\n }\n\n static getObj<T>(name: string): T | false {\n const results = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n if (results) {\n return JSON.deserialize(results[2])\n }\n\n return false\n }\n}\n","import { Action, createReducer, on, props } from '@ngrx/store'\nimport { createAction } from '@ngrx/store'\nimport saveApplicationAuth from '../typification/auth/save'\nimport clone from 'just-clone'\nexport interface saveApplicationAuthPath {\n access_token?: string, // основной авторизационный токен, требуемый для доступа к REST API\n client_endpoint?: string, // адрес REST-интерфейса портала\n domain?: string,\n expires?: number,\n expires_in?: number,\n member_id?: string,\n refresh_token?: string, // дополнительный авторизационный токен, служащий для продления сохраненной авторизации\n scope?: string,\n server_endpoint?: string, // адрес REST-интерфейса сервера\n status?: string, // статус приложения на портале\n user_id?: number\n type?: string\n}\nexport const save = createAction('[Auth Component] Save', props<saveApplicationAuth | saveApplicationAuthPath>())\nexport const saveAccessToken = createAction('[Auth Component] SaveAccessToken', props<saveApplicationAuthPath>())\n\nexport const initialState: saveApplicationAuth = {\n access_token: '',\n client_endpoint: '',\n domain: '',\n expires: 0,\n expires_in: 0,\n member_id: '',\n refresh_token: '',\n scope: '',\n server_endpoint: '',\n status: '',\n user_id: 0\n}\n\nconst _authReducer = createReducer(\n initialState,\n on(saveAccessToken, (s, data) => {\n let copy = clone(s)\n return Object.assign(copy, data)\n }),\n);\n\nexport function authReducer(state = initialState, action: Action) {\n return _authReducer(state, action);\n}\n","import { Injectable } from '@angular/core'\nimport JSON from '../../services/vanilla/JSON'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageServices {\n\n static get(name: string): any {\n return localStorage.getItem(name)\n }\n\n static getObj<T>(name: string): T | null {\n return JSON.deserialize(localStorage.getItem(name))\n }\n\n static set(name: string, value: string): void {\n localStorage.setItem(name, value)\n }\n\n static setObj(name: string, value: any): void {\n let get = this.get(name)\n if(get && typeof get === 'object'){\n localStorage.setItem(\n name,\n JSON.serialize(\n Object.assign(\n get,\n value\n )\n )\n )\n } else {\n localStorage.setItem(name, JSON.serialize(value))\n }\n }\n\n static del(name: string): void {\n localStorage.removeItem(name)\n }\n\n}\n","import { Injectable } from '@angular/core'\r\nimport { iRestLib } from './lib'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RestServices {\r\n BX24: iRestLib | false = false\r\n\r\n constructor() {\r\n // @ts-ignore\r\n this.BX24 = (window.BX24) ? window.BX24 : false\r\n }\r\n\r\n init(callBack: Function) {\r\n return (this.BX24) ? this.BX24.init(callBack) : false\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport Cookies from '../../services/vanilla/сookies'\nimport { Store } from '@ngrx/store'\nimport saveApplicationAuth from '../../typification/auth/save'\n// import { environment as env } from 'bx-rest/environments/environment'\nimport { filter, Observable, Subscription, take } from 'rxjs'\nimport { ActivatedRoute, ParamMap } from '@angular/router'\nimport { saveAccessToken, saveApplicationAuthPath } from '../../store/auth'\nimport { map } from 'rxjs/operators'\nimport { BaseServices } from '../../services/base'\nimport { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage'\nimport { RestServices } from '../../typification/rest/api-lib'\n\ntype IKeyAuth = 'sessid' | 'auth' | string\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class SessionKeyServices extends BaseServices {\n\n authHave = false\n authData$: Observable<saveApplicationAuth>\n authData: saveApplicationAuth | undefined\n subscribe = {\n authData: new Subscription()\n }\n\n constructor(\n public store: Store<{ auth: saveApplicationAuth }>,\n private route: ActivatedRoute,\n public BxApiLib: RestServices,\n ) {\n super()\n this.authData$ = this.store.select('auth')\n this.authData$.subscribe(authData => {\n if ((authData && !authData.access_token.length) || !authData) {\n // получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)\n window.addEventListener('message', (event: MessageEvent) => {\n if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)\n if (event.data && event.data.param) {\n if (typeof event.data.param === 'string') {\n event.data.param = JSON.parse(event.data.param)\n }\n\n let save: saveApplicationAuthPath = {}\n\n if (event.data.param.access_token) {\n let param = event.data.param;\n save.access_token = event.data.param.access_token\n save = {\n access_token: (param.access_token) ? param.access_token : undefined,\n client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,\n domain: (param.domain) ? param.domain : undefined,\n expires: (param.expires) ? param.expires : undefined,\n expires_in: (param.expires_in) ? param.expires_in : undefined,\n member_id: (param.member_id) ? param.member_id : undefined,\n refresh_token: (param.refresh_token) ? param.refresh_token : undefined,\n scope: (param.scope) ? param.scope : undefined,\n server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,\n status: (param.status) ? param.status : undefined,\n user_id: (param.user_id) ? param.user_id : undefined,\n type: (param.type) ? param.type : undefined,\n }\n }\n\n if (Object.keys(save).length && save.access_token) {\n this.store.dispatch(saveAccessToken(save))\n this.subscribeAll()\n }\n }\n }\n })\n\n this.subscribe.authData = this.route.queryParamMap\n .pipe(\n filter(param =>\n param.has('AUTH_ID')\n || param.has('access_token')\n || param.has('REFRESH_ID')\n || param.has('DOMAIN')\n )\n )\n .subscribe((param: ParamMap) => {\n let save: saveApplicationAuthPath = {}\n if (param.has('AUTH_ID') && !authData.access_token.length) {\n const get = param.get('AUTH_ID')\n if (get) {\n Cookies.set('auth', get) // потом убрать\n save.access_token = get\n }\n }\n\n if (param.has('access_token') && !authData.access_token.length) {\n const get = param.get('access_token')\n if (get) {\n Cookies.set('auth', get) // потом убрать\n save.access_token = get\n }\n }\n\n if (param.has('REFRESH_ID') && !authData.refresh_token.length) {\n const get = param.get('REFRESH_ID')\n if (get) {\n save.refresh_token = get\n }\n }\n\n if (param.has('DOMAIN') && !authData.domain.length) {\n const get = param.get('DOMAIN')\n if (get) {\n save.domain = get\n }\n }\n if (Object.keys(save).length && save.access_token) {\n this.store.dispatch(saveAccessToken(save))\n this.subscribeAll()\n } else {\n // если битрикс не шлёт нужные мне параметры на прямую\n // просим их мне отдать так как описано это в документации\n let f = () => {\n if (this.BxApiLib.BX24) {\n const initDate = this.BxApiLib.BX24.getAuth()\n this.store.dispatch(saveAccessToken(initDate))\n }\n }\n\n this.BxApiLib.init(f)\n }\n\n })\n } else if (this.getAuth().length) {\n this.authHave = true\n }\n\n this.authData = authData\n })\n }\n\n subscribeAll() {\n this.subscribe.authData.unsubscribe()\n }\n\n getAuth(): string {\n if ((<any>window).BX && (<any>window).BX.bitrix_sessid()) {\n return (<any>window).BX.bitrix_sessid()\n } else if (this.getSessid().length) {\n let str = this.getSessid()\n return (str) ? str : ''\n } else {\n return Cookies.get('auth')\n }\n }\n\n getKeyAuth(): IKeyAuth {\n if ((<any>window).BX && (<any>window).BX.bitrix_sessid()\n || this.getSessid().length) {\n return 'sessid'\n } else {\n return 'auth'\n }\n }\n\n getSessid() {\n const check = new URLSearchParams(document.location.search).get('sessid')\n if (check) {\n LocalStorage.set('sessid', check)\n return check\n } else if (LocalStorage.get('sessid')) {\n return LocalStorage.get('sessid')\n }\n return ''\n }\n\n setAuthParams<T>(params: any): boolean {\n const keyAuth = this.getKeyAuth()\n if (params[keyAuth]) {\n return true\n } else if (keyAuth) {\n params[keyAuth] = this.getAuth()\n return true\n }\n return false\n }\n\n getAuthParams(): Observable<string | undefined> {\n // if (env.production && !env.component) {\n return this.authData$.pipe(\n take(1),\n map(v => (v) ? v.access_token : undefined)\n )\n // } else {\n // return of(this.getAuth())\n // }\n }\n\n getBaseUrl(): Observable<string | undefined> {\n return this.authData$.pipe(\n map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain, 'b24.trace-studio.com') : undefined)\n )\n }\n\n // getHomeUrl(): string {\n // return env.urls.home\n // }\n}\n","import { BaseServices } from '../../services/base'\r\nimport { HttpParams } from '@angular/common/http'\r\nimport { iHttpParamSettings } from '../../typification/rest/settings'\r\nimport iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX'\r\n\r\nexport class HttpData extends BaseServices {\r\n\r\n defSettings: iHttpParamSettings = {\r\n timeZone: {\r\n calc: true,\r\n levelOut: false\r\n }\r\n }\r\n\r\n getHttpParamsGet( // не так уж и сложно сделать сложенный HttpParams, да гугл?\r\n obj: any,\r\n sendHttpParams: HttpParams = new HttpParams(),\r\n thisArray = false,\r\n nesting: string[] = [],\r\n // settings = this.defSettings\r\n _ = this.defSettings\r\n ): any {\r\n for (const key in obj) {\r\n let setKey = ''\r\n if (nesting.length) {\r\n let first = nesting[0]\r\n setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'\r\n : first + '[' + key + ']'\r\n } else {\r\n setKey = key\r\n }\r\n switch (typeof obj[key]) {\r\n case 'string':\r\n sendHttpParams = sendHttpParams.set(setKey, obj[key])\r\n break\r\n case 'symbol':\r\n case 'number':\r\n case 'bigint':\r\n case 'boolean':\r\n sendHttpParams = sendHttpParams.set(setKey, String(obj[key]))\r\n break\r\n case 'object':\r\n nesting.push(key)\r\n sendHttpParams = this.getHttpParamsGet(obj[key], sendHttpParams, false, nesting)\r\n nesting.pop()\r\n break\r\n case 'function':\r\n case 'undefined':\r\n default:\r\n console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj)\r\n }\r\n }\r\n return sendHttpParams\r\n }\r\n\r\n getHttpParamsPost(\r\n obj: any,\r\n sendHttpParams: FormData = new FormData(),\r\n thisArray = false,\r\n nesting: string[] = [],\r\n settings = this.defSettings\r\n ): any {\r\n\r\n if (obj instanceof Blob) {\r\n let first = nesting[0]\r\n let setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + ']'\r\n : first\r\n sendHttpParams.set(setKey, obj)\r\n return sendHttpParams\r\n } else if (obj instanceof Date) {\r\n let first = nesting[0]\r\n let tzoffset = (settings.timeZone.calc) ? obj.getTimezoneOffset() * 60000 : 0 // вычисляем влияние часового пояса\r\n let levelOut = (settings.timeZone.levelOut) ? obj.getTimezoneOffset() * 60000 : 0 // вычисляем влияние часового пояса\r\n let setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + ']'\r\n : first\r\n sendHttpParams.set(setKey, (new Date(obj.valueOf() + tzoffset - levelOut)).toISOString())\r\n return sendHttpParams\r\n } else {\r\n for (const key in obj) {\r\n let setKey = ''\r\n if (nesting.length) {\r\n let first = nesting[0]\r\n setKey = (nesting.length > 1)\r\n ? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'\r\n : first + '[' + key + ']'\r\n } else {\r\n setKey = key\r\n }\r\n switch (typeof obj[key]) {\r\n case 'string':\r\n sendHttpParams.set(setKey, obj[key])\r\n break\r\n case 'symbol':\r\n case 'number':\r\n case 'bigint':\r\n case 'boolean':\r\n sendHttpParams.set(setKey, String(obj[key]))\r\n break\r\n case 'object':\r\n nesting.push(key)\r\n sendHttpParams = this.getHttpParamsPost(\r\n obj[key],\r\n sendHttpParams,\r\n false,\r\n nesting,\r\n settings\r\n )\r\n nesting.pop()\r\n break\r\n case 'function':\r\n case 'undefined':\r\n default:\r\n console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj)\r\n }\r\n }\r\n }\r\n return sendHttpParams\r\n }\r\n\r\n mapResult<T>(v: iHttpAnswerBX<T> | undefined): T | undefined {\r\n if (v && (v.result || typeof v.result === 'boolean')) {\r\n return v.result\r\n }\r\n return undefined\r\n }\r\n\r\n sliceArrayIntoChunks(arr: any[], chunkSize: number) {\r\n const res = [];\r\n for (let i = 0; i < arr.length; i += chunkSize) {\r\n const chunk = arr.slice(i, i + chunkSize);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n removingMultipleSlashes(str: string) {\r\n return str.replace(/\\/{2,}/g, '/')\r\n }\r\n}\r\n","// import { iHttpParamSettings } from '../../../typification/rest/settings'\r\n// import { iHttpParamSettings } from 'bx-rest/typification/rest/settings'\r\n\r\nimport { iHttpParamSettings } from '../../../typification/rest/settings'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport SnackBarService from '../../../services/snack-bar/snack-bar.service'\r\nimport { Observable, of, } from 'rxjs'\r\nimport { HttpData } from '../../../services/http/HttpData'\r\nimport { Injectable } from '@angular/core'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport abstract class BaseHttp extends HttpData {\r\n\r\n protected constructor(public http: HttpClient, public snackBar: SnackBarService) {\r\n super()\r\n }\r\n\r\n abstract httpGet<T>(\r\n url: string,\r\n params: any,\r\n textError: string,\r\n settings: iHttpParamSettings\r\n ): Observable<T | undefined>\r\n\r\n abstract httpPost<T>(url: string,\r\n params: any ,\r\n textError: string,\r\n settings: iHttpParamSettings\r\n ): Observable<T | undefined>\r\n\r\n handleError<T>(\r\n result?: T,\r\n textError = 'получения данных') {\r\n return (error: Error): Observable<T> => {\r\n console.error(`failed: ${error.message}`)\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return of(result as T)\r\n };\r\n }\r\n}\r\n","import { Observable, throwError } from 'rxjs'\r\nimport { catchError } from 'rxjs/operators'\r\nimport { HttpParams } from '@angular/common/http'\r\nimport { iHttpParamSettings } from '../../../typification/rest/settings'\r\nimport { BaseHttp } from '../../../services/http/base/base'\r\n\r\nexport class BaseHttpServices extends BaseHttp {\r\n\r\n public httpGet<T>(\r\n url: string,\r\n params = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.http.get<T | undefined>(url, {\r\n params: this.getHttpParamsGet(params, new HttpParams(), false, [], settings)\r\n }).pipe(\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n\r\n public httpPost<T>(url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.http.post<T | undefined>(\r\n url,\r\n this.getHttpParamsPost(params, new FormData(), false, [], settings)\r\n ).pipe(\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n console.error(err)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n\r\n // TODO: доделать\r\n // httpPostBaseWithFile<T>(url: string,\r\n // params: any = {},\r\n // textError = ''): Observable<T | undefined> {\r\n // let searchFile = Object.values(params).find((i: any) => i instanceof Blob)\r\n // if (searchFile) {\r\n // return this.http.post<T | undefined>(url, this.getHttpParamsPost(params)).pipe(\r\n // catchError(err => {\r\n // this.snackBar.error('Ошибка: ' + textError)\r\n // console.error(err)\r\n // return throwError(() => err)\r\n // })\r\n // )\r\n // } else {\r\n // return this.httpPost(url, params, textError)\r\n // }\r\n // }\r\n}\r\n","import { Observable, throwError, take, mergeMap, forkJoin } from 'rxjs'\r\nimport { catchError, map } from 'rxjs/operators'\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport SnackBarService from '../../services/snack-bar/snack-bar.service'\r\nimport SessionKeyServices from '../../services/http/sessionKey'\r\nimport clone from 'just-clone'\r\nimport { iHttpParamSettings } from '../../typification/rest/settings'\r\nimport {\r\n iBatchRequestAnswer, iBatchRequestParam,\r\n iBatchRequestParamArr,\r\n iBatchRequestParamHttp, keyBatch\r\n} from '../../typification/rest/batch/batchRequestParam'\r\nimport flatten from 'just-flatten-it'\r\nimport { BaseHttpServices } from './base/http'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class HttpServices extends BaseHttpServices {\r\n\r\n constructor(http: HttpClient, snackBar: SnackBarService, public session: SessionKeyServices) {\r\n super(http, snackBar)\r\n }\r\n\r\n timeNowOnServer() {\r\n return this.httpGet<{ result?: Date, error?: string }>('server.time').pipe(\r\n map(v => {\r\n if (v && v.result) {\r\n return new Date(v.result)\r\n }\r\n return undefined\r\n }),\r\n )\r\n }\r\n\r\n /**\r\n * Это пиздец а не метод\r\n * @param param\r\n */\r\n branch<T, A>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): Observable<iBatchRequestAnswer<A>[] | undefined> {\r\n let prepareParam = Object.entries<string>(this.prepareBatch<T>(param))\r\n const size = 50 // больше не отдаст\r\n let subarray = [] //массив в который будет выведен результат.\r\n for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {\r\n subarray[i] = prepareParam.slice((i * size), (i * size) + size)\r\n }\r\n\r\n return forkJoin(\r\n subarray.map(i => {\r\n return this.httpPost('batch.json', {\r\n halt: 0,\r\n cmd: Object.assign({}, ...i.map(x => {\r\n return {[x[0]]: x[1]}\r\n }))\r\n })\r\n })\r\n ) as Observable<iBatchRequestAnswer<A>[]>\r\n }\r\n\r\n prepareBatch<T>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): iBatchRequestParamHttp {\r\n let res: iBatchRequestParamHttp = Object.keys(param).reduce(\r\n (obj, key) => {\r\n obj[key] = '';\r\n return obj;\r\n },\r\n {} as iBatchRequestParamHttp\r\n );\r\n for (let key in param) {\r\n if(typeof key === 'string' || typeof key === 'number' && param[key].param) {\r\n res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString()\r\n }\r\n }\r\n return res\r\n }\r\n\r\n mapBranchResult<T>(res: iBatchRequestAnswer<T>[]){\r\n return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {[key:keyBatch]: T}\r\n }\r\n\r\n mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[]{\r\n return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))\r\n }\r\n\r\n post<T>(name: string[],\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings) {\r\n return this.httpPost<T>(this.getNameMethod(name), params, textError, settings)\r\n }\r\n\r\n get<T>(name: string[],\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings) {\r\n return this.httpGet<T>(this.getNameMethod(name), params, textError, settings)\r\n }\r\n\r\n override httpPost<T>(url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.session.getAuthParams().pipe(\r\n mergeMap(auth => {\r\n if (auth) {\r\n const paramsClone = clone(params)\r\n paramsClone[this.session.getKeyAuth()] = auth\r\n return this.session.getBaseUrl().pipe(mergeMap(v => {\r\n if (v) {\r\n return this.http.post<T | undefined>(\r\n this.prepareBaseAddress(v) + url,\r\n this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))\r\n .pipe(\r\n take(1),\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n })\r\n )\r\n }\r\n return throwError(() => 'get base url error')\r\n }))\r\n } else {\r\n this.snackBar.error('Error: Auth not get')\r\n return throwError(() => 'auth not get')\r\n }\r\n }))\r\n }\r\n\r\n override httpGet<T>(\r\n url: string,\r\n params: any = {},\r\n textError = '',\r\n settings: iHttpParamSettings = this.defSettings\r\n ): Observable<T | undefined> {\r\n return this.session.getAuthParams().pipe(\r\n mergeMap(auth => {\r\n if (auth) {\r\n if (params === null) {\r\n params = {}\r\n }\r\n const paramsClone = clone(params)\r\n paramsClone[this.session.getKeyAuth()] = auth\r\n let options = {\r\n params: this.getHttpParamsGet(paramsClone)\r\n }\r\n\r\n return this.session.getBaseUrl().pipe(\r\n mergeMap(v => {\r\n if (v) {\r\n return this.http.get<T>(this.prepareBaseAddress(v) + url, options).pipe(\r\n take(1),\r\n catchError(err => {\r\n if (!textError.length && err.error.error_description) {\r\n textError = err.error.error_description\r\n }\r\n\r\n this.snackBar.error('Ошибка: ' + textError)\r\n return throwError(() => err)\r\n }))\r\n }\r\n return throwError(() => 'get base url error')\r\n })\r\n )\r\n } else {\r\n this.snackBar.error('Error: Auth not get')\r\n return throwError(() => 'auth not get')\r\n }\r\n })\r\n )\r\n }\r\n\r\n getNameMethod(arr: string[]) {\r\n return arr.join('.')\r\n }\r\n\r\n}\r\n","import { Observable, throwError, take, mergeMap, forkJoin } from 'rxjs'\nimport { catchError, map } from 'rxjs/operators'\nimport { Injectable } from '@angular/core'\nimport clone from 'just-clone'\nimport { iHttpParamSettings } from '../../typification/rest/settings'\nimport BaseHttpServices from '../../services/http/http'\nimport {\n iBatchRequestAnswer, iBatchRequestParam,\n iBatchRequestParamArr,\n iBatchRequestParamHttp, keyBatch\n} from '../../typification/rest/batch/batchRequestParam'\nimport flatten from 'just-flatten-it'\n\n@Injectable({\n providedIn: 'root'\n})\nexport default class HttpBXServices extends BaseHttpServices {\n\n override timeNowOnServer() {\n return this.httpGet<{ result?: Date, error?: string }>('server.time').pipe(\n map(v => {\n if (v && v.result) {\n return new Date(v.result)\n }\n return undefined\n }),\n )\n }\n\n /**\n * Это пиздец а не метод\n * @param param\n */\n override branch<T, A>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): Observable<iBatchRequestAnswer<A>[] | undefined> {\n let prepareParam = Object.entries<string>(this.prepareBatch<T>(param))\n const size = 50 // больше не отдаст\n let subarray = [] //массив в который будет выведен результат.\n for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {\n subarray[i] = prepareParam.slice((i * size), (i * size) + size)\n }\n\n return forkJoin(\n subarray.map(i => {\n return this.httpPost('batch.json', {\n halt: 0,\n cmd: Object.assign({}, ...i.map(x => {\n return {[x[0]]: x[1]}\n }))\n })\n })\n ) as Observable<iBatchRequestAnswer<A>[]>\n }\n\n override prepareBatch<T>(param: iBatchRequestParamArr<T> | iBatchRequestParam<T>[]): iBatchRequestParamHttp {\n let res: iBatchRequestParamHttp = Object.keys(param).reduce(\n (obj, key) => {\n obj[key] = '';\n return obj;\n },\n {} as iBatchRequestParamHttp\n );\n for (let key in param) {\n if (typeof key === 'string' || typeof key === 'number' && param[key].param) {\n res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString()\n }\n }\n return res\n }\n\n override mapBranchResult<T>(res: iBatchRequestAnswer<T>[]) {\n return Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)) as {\n [key: keyBatch]: T\n }\n }\n\n override mapBranchResultWithoutKey<T>(res: iBatchRequestAnswer<T>[]): T[] {\n return flatten<T>(Object.assign([], ...res.map(i => (i.result && i.result.result) ? i.result.result : undefined)))\n }\n\n override post<T>(name: string[],\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings) {\n return this.httpPost<T>(this.getNameMethod(name), params, textError, settings)\n }\n\n override get<T>(name: string[],\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings) {\n return this.httpGet<T>(this.getNameMethod(name), params, textError, settings)\n }\n\n override httpPost<T>(url: string,\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings\n ): Observable<T | undefined> {\n return this.session.getAuthParams().pipe(\n mergeMap(auth => {\n if (auth) {\n const paramsClone = clone(params)\n paramsClone[this.session.getKeyAuth()] = auth\n return this.session.getBaseUrl().pipe(mergeMap(v => {\n if (v) {\n return this.http.post<T | undefined>(\n this.prepareBaseAddress(v) + url,\n this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings))\n .pipe(\n take(1),\n catchError(err => {\n if (!textError.length && err.error.error_description) {\n textError = err.error.error_description\n }\n\n this.snackBar.error('Ошибка: ' + textError)\n return throwError(() => err)\n })\n )\n }\n return throwError(() => 'get base url error')\n }))\n } else {\n this.snackBar.error('Error: Auth not get')\n return throwError(() => 'auth not get')\n }\n }))\n }\n\n override httpGet<T>(\n url: string,\n params: any = {},\n textError = '',\n settings: iHttpParamSettings = this.defSettings\n ): Observable<T | undefined> {\n return this.session.getAuthParams().pipe(\n mergeMap(auth => {\n if (auth) {\n if (params === null) {\n params = {}\n }\n const paramsClone = clone(params)\n paramsClone[this.session.getKeyAuth()] = auth\n let options = {\n params: this.getHttpParamsGet(paramsClone)\n }\n\n return this.session.getBaseUrl().pipe(\n mergeMap(v => {\n if (v) {\n return this.http.get<T>(this.prepareBaseAddress(v) + url, options).pipe(\n take(1),\n catchError(err => {\n if (!textError.length && err.error.error_description) {\n textError = err.error.error_description\n }\n\n this.snackBar.error('Ошибка: ' + textError)\n return throwError(() => err)\n }))\n }\n return throwError(() => 'get base url error')\n })\n )\n } else {\n this.snackBar.error('Error: Auth not get')\n return throwError(() => 'auth not get')\n }\n })\n )\n }\n\n override getNameMethod(arr: string[]) {\n return arr.join('.')\n }\n\n}\n\n","import { Action, createReducer, on, props } from '@ngrx/store'\nimport { createAction } from '@ngrx/store'\nimport clone from 'just-clone'\nimport { iBXRestUser } from '../typification/rest/user/user'\n\nexport interface storeUsers {\n load: {\n all: boolean,\n department: number[]\n }\n self: iBXRestUser | undefined\n data: iBXRestUser []\n}\n\nexport const save = createAction('[Users Component] Save', props<iBXRestUser >())\nexport const saveArr = createAction('[Users Component] Save Arr', props<{ arr: iBXRestUser [] }>())\nexport const update = createAction('[Users Component] Update', props<iBXRestUser >())\nexport const loadAll = createAction('[Users Component] loadAll', props<{ load: true }>())\nexport const saveSelf = createAction('[Users Component] saveSelf', props<{ self: iBXRestUser }>())\nexport const saveIDLoadedDepartment = createAction('[Users Component] saveIDLoadedDepartment', props<{id: number[]}>())\n\nexport const initialState: storeUsers = {\n load: {\n all: false,\n department: []\n },\n self: undefined,\n data: []\n}\n\nconst _usersReducer = createReducer(\n initialState,\n on(saveIDLoadedDepartment, (s, data) => {\n let copy = clone(s)\n copy.load.department = [...copy.load.department, ...data.id]\n return copy\n }),\n on(save, (s, data) => {\n const find = s.data.find(v => v.ID === data.ID)\n if (!find) {\n const copy = clone(s)\n copy.data.push(data)\n return copy\n }\n return s\n }),\n on(saveArr, (s, data) => {\n const copy = clone(s)\n if(copy.data && copy.data.length) {\n for (const user of data.arr) {\n const find = copy.data.find(v => v.ID === user.ID)\n if (!find) {\n copy.data.push(user)\n }\n }\n } else {\n copy.data = [...data.arr]\n }\n return copy\n }),\n on(update, (s, data) => {\n const copy = clone(s)\n let find = copy.data.findIndex(v => v.ID === data.ID)\n if (find !== -1) {\n const copy = clone(s)\n copy.data.splice(find, 1, data);\n // copy.data.push(data)\n return copy\n }\n return s\n }),\n on(loadAll, (s, data) => {\n if (data.load !== s.load.all) {\n const copy = clone(s)\n copy.load.all = data.load\n return copy\n }\n return s\n }),\n on(saveSelf, (s, data) => {\n return { ...s, self: data.self}\n })\n)\n\n\nexport function usersReducer(state = initialState, action: Action) {\n return _usersReducer(state, action)\n}\n","export const $get = 'get'\r\nexport const $add = 'add'\r\nexport const $set = 'set'\r\nexport const $event = 'event'\r\nexport const $update = 'update'\r\nexport const $user = 'user'\r\nexport const $task = 'task'\r\nexport const $calendar = 'calendar'\r\nexport const $meeting = 'meeting'\r\nexport const $list = 'list'\r\nexport const $search = 'search'\r\n","import { Injectable } from '@angular/core'\r\nimport { BaseServices } from '../base'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport default class BaseMapServices extends BaseServices {\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport BaseMapServices from '../base'\r\nimport { iBXRestUser, iBXRestUserHttp } from '../../../typification/rest/user/user'\r\nimport clone from 'just-clone'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BitrixApiUserMapServices extends BaseMapServices {\r\n\r\n HttpToBX(user: iBXRestUserHttp): iBXRestUser {\r\n let res: iBXRestUser = Object.assign(clone(user), {\r\n ID: this.toNumber(user.ID),\r\n IS_ONLINE: this.toBool(user.IS_ONLINE),\r\n DATE_REGISTER: this.toDate(user.DATE_REGISTER),\r\n PERSONAL_BIRTHDAY: this.toDate(user.PERSONAL_BIRTHDAY),\r\n })\r\n if (user.LAST_LOGIN) {\r\n res.LAST_LOGIN = this.toDate(user.LAST_LOGIN)\r\n }\r\n\r\n return res\r\n }\r\n\r\n BXtoHttp(user: iBXRestUser): iBXRestUserHttp {\r\n return Object.assign(clone(user), {\r\n ID: this.toStr(user.ID),\r\n IS_ONLINE: this.toBXYorN(user.IS_ONLINE),\r\n DATE_REGISTER: this.getBXStrTime(user.DATE_REGISTER),\r\n PERSONAL_BIRTHDAY: this.toStr(user.PERSONAL_BIRTHDAY),\r\n LAST_LOGIN: this.toStr(user.LAST_LOGIN)\r\n })\r\n }\r\n\r\n getFIO(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : ''\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME + ' ' + SECOND_NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else if (!user.SECOND_NAME) {\r\n res = user.LAST_NAME + ' ' + user.NAME\r\n } else {\r\n res = user.LAST_NAME + ' ' + user.NAME + ' ' + user.SECOND_NAME\r\n }\r\n return res.trim()\r\n }\r\n\r\n getFI(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else {\r\n res = user.LAST_NAME + ' ' + user.NAME\r\n }\r\n return res.trim()\r\n }\r\n\r\n getFIOShort(user: iBXRestUser): string {\r\n let res = ''\r\n if (!user.LAST_NAME) {\r\n const SECOND_NAME = (user.SECOND_NAME) ? user.SECOND_NAME : ''\r\n const NAME = (user.NAME) ? user.NAME : ''\r\n res = NAME + ' ' + SECOND_NAME\r\n } else if (!user.NAME) {\r\n res = user.LAST_NAME\r\n } else if (!user.SECOND_NAME) {\r\n res = user.LAST_NAME + ' ' + user.NAME.charAt(0).toUpperCase() + '.'\r\n } else {\r\n res =\r\n user.LAST_NAME + ' ' +\r\n user.NAME.charAt(0).toUpperCase() + '.' +\r\n user.SECOND_NAME.charAt(0).toUpperCase() + '.'\r\n }\r\n return res.trim()\r\n }\r\n}\r\n","import { Observable, of, take } from 'rxjs'\nimport { first, map, mergeMap, tap } from 'rxjs/operators'\nimport clone from 'just-clone'\nimport compare from 'just-compare'\nimport { iBXGetParam } from '../../typification/rest/user/get'\nimport HttpBXServices from '../../services/http/HttpBX'\nimport UserFilterSearch from '../../typification/rest/user/UserFilterSearch'\n// import ImgServices from 'bx-rest/services/api/bitrix/custom/img'\nimport { Store } from '@ngrx/store'\nimport { loadAll, saveArr, saveIDLoadedDepartment, saveSelf, storeUsers } from '../../store/users'\nimport { iCustomUserFieldInfo } from '../../typification/rest/user/CustomUserFieldInfo'\nimport { DatePipe } from '@angular/common'\nimport { BitrixApiUserMapServices } from '../../services/map/rest/user'\n// import DateTrace from 'bx-rest/services/api/trace/metods/date'\nimport SnackBarService from '../../services/snack-bar/snack-bar.service'\nimport iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX'\nimport { iBXRestUser, iBXRestUserHttp, iBXRestUserHttpField } from '../../typification/rest/user/user'\nimport { $get, $list, $search, $update, $user } from '../../consts/part-name-metods'\nimport { UserFilter } from '../../typification/rest/user/userFilter'\nimport { Injectable } from '@angular/core'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BXRestUser {\n url = {\n admin: [$user, 'admin'],\n get: [$user, $get],\n self: [$user, 'current'],\n update: [$user, $update],\n search: [$user, $search],\n access: [$user, 'access'], // U1 - пользователь с id =1\n // AU - все авторизованные пользователи\n // D1 - подразделение с id=1\n // G1 - группа с id=1\n fields: [$user, 'fields'],\n userfield: {\n list: [$user, 'userfield', $list]\n }\n }\n\n def: { params: { ACTIVE: 1, start: 0 } } = {\n params: {ACTIVE: 1, start: 0}\n }\n\n user$: Observable<storeUsers>\n\n constructor(\n private http: HttpBXServices,\n private snackBar: SnackBarService,\n // private img: ImgServices,\n //private dateTrace: DateTrace,\n private store: Store<{ users: storeUsers }>,\n private userMap: BitrixApiUserMapServices,\n private datePipe: DatePipe\n ) {\n this.user$ = this.store.select('users')\n }\n\n get(params: iBXGetParam = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n let copyParams = clone(params)\n this.setDefParam(copyParams)\n return this.http.post<iHttpAnswerBX<iBXRestUserHttp[]> | undefined>\n (this.url.get, copyParams, 'Не удалось получить пользователей')\n .pipe(\n tap(v => {\n if (v && v.result) {\n this.saveArrUser(v.result)\n }\n })\n )\n }\n\n getOnePage(page: number = 1) {\n return this.get({start: (page - 1) * 50}).pipe(\n map(v => {\n let res = this.http.mapResult(v)\n return (res) ? res.map(r => this.userMap.HttpToBX(r)) : undefined\n })\n )\n }\n\n getByID(id: number, reload = true): Observable<iBXRestUser | undefined> {\n return this.getByIDs([id], reload).pipe(map(v => (v && v.length) ? v[0] : undefined))\n }\n\n getByIDs(ids: number[], reload = true): Observable<iBXRestUser[] | undefined> {\n ids = Array.from(new Set(ids))\n return this.user$.pipe(\n take(1),\n mergeMap(v => {\n if (!reload) {\n let find = v.data.filter(i => ids.includes(i.ID))\n if (find && find.length === ids.length) {\n return of(find)\n }\n }\n return this.getAll({ID: ids, ACTIVE: 2}).pipe(map(v => (v && v.length) ? v : undefined))\n })\n )\n }\n\n getSelf(update = false) {\n if (update) {\n return this.getSelfHttp()\n } else {\n return this.user$.pipe(\n mergeMap(v => {\n if (v && v.self) {\n return of(v.self)\n } else {\n return this.getSelfHttp()\n }\n }),\n first()\n )\n }\n }\n\n getSelfHttp() {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp>>\n (this.url.self, {}, 'Не удалось получить пользователя')\n .pipe(\n map(v => {\n if (v && v.result) {\n return this.userMap.HttpToBX(v.result)\n }\n return undefined\n }),\n tap(v => {\n if (v) {\n this.store.dispatch(saveSelf({self: v}))\n }\n }),\n )\n }\n\n access(access: string[], textError = 'Не удалось получить права') {\n return this.http.get<iHttpAnswerBX<boolean> | undefined>(this.url.access, {ACCESS: access}, textError).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n getByDepartment(id: number[] | number): Observable<iBXRestUser [] | undefined> {\n const ids: number[] = (typeof id === 'number') ? [id] : id\n return this.user$.pipe(\n first(),\n mergeMap(\n v => {\n if (v.load.all) {\n return of(clone(v.data.filter(i => ids.find(id => i.UF_DEPARTMENT.includes(id)))))\n }\n if (ids.every(i => v.load.department.includes(i))) {\n return of(clone(v.data.filter(i => ids.find(id => i.UF_DEPARTMENT.includes(id)))))\n }\n return this.getAll({UF_DEPARTMENT: ids}).pipe(tap(_ => {\n this.store.dispatch(saveIDLoadedDepartment({id: ids}))\n }))\n })\n )\n }\n\n getAll(params: iBXGetParam = {}): Observable<iBXRestUser [] | undefined> {\n if (!Object.keys(params).length) {\n params = clone(this.def.params)\n }\n\n const saveAllUser = compare(params, this.def.params)\n return this.user$.pipe(\n take(1),\n mergeMap(v => {\n if (v.load.all) {\n if (compare(this.def.params, params)) {\n return of(clone(v.data))\n }\n }\n\n return this.getEndArray(params).pipe(\n take(1),\n map(v => {\n if (v && v.result) {\n let cl = clone(v.result)\n return this.saveArrUser(cl)\n }\n return undefined\n }),\n )\n }),\n tap(v => {\n if (v && v.length && saveAllUser) {\n this.store.dispatch(loadAll({load: true}))\n }\n params.start = this.def.params.start\n })\n )\n }\n\n getAllByPersonalBirthday(day: number | undefined = undefined, month: number | undefined = undefined, checkWeekend = false) {\n return this.http.timeNowOnServer().pipe(\n mergeMap(date => {\n if (date) {\n let daySent = (day) ? day : date.getDate()\n let start = date.getFullYear() + 1\n let monthSent = (month) ? month : date.getMonth() + 1\n let arr: string[] = Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n // TODO: Упростить\n if (checkWeekend && date.getDay() === 1) {\n start = date.getFullYear() + 1\n arr.push(\n ...Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent - 1), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n )\n start = date.getFullYear() + 1\n arr.push(\n ...Array.from(Array(200).keys()).map(_ => {\n start--\n let res = this.datePipe.transform(new Date(start, monthSent - 1, daySent - 2), 'YYYY-MM-dd')\n return (res) ? res : ''\n })\n )\n }\n return this.getAll({PERSONAL_BIRTHDAY: arr})\n }\n this.snackBar.warning('Не удалось получить время сервера')\n return of(undefined)\n })\n )\n }\n\n saveArrUser(users: iBXRestUserHttp[]) {\n let result: iBXRestUser [] = []\n for (const user of users) {\n result.push(this.userMap.HttpToBX(user))\n }\n this.store.dispatch(saveArr({arr: result}))\n\n return result\n }\n\n search(params: string | UserFilterSearch): Observable<iBXRestUser [] | undefined> {\n if (typeof params === 'string') {\n params = {FIND: params}\n }\n if (typeof params.ACTIVE !== 'boolean') {\n params.ACTIVE = true\n }\n return this.http.get<iHttpAnswerBX<iBXRestUserHttp[]>>(this.url.search, params, 'Сервер не отвечает на запрос поиска')\n .pipe(\n map(v => {\n if (v && v.result) {\n const mapResult = this.http.mapResult(v)\n if (mapResult) {\n return this.saveArrUser(mapResult)\n }\n }\n return undefined\n })\n )\n }\n\n fields(): Observable<iBXRestUserHttpField | undefined> {\n return this.http.get<iHttpAnswerBX<iBXRestUserHttpField>>(this.url.fields).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n update(user: iBXRestUser, fieldUpdate: string[]): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n if (fieldUpdate && fieldUpdate.length) {\n let sendData: any = {\n ID: user.ID,\n }\n const userBX = this.userMap.BXtoHttp(user)\n for (const field of fieldUpdate) {\n if (userBX[field]) {\n sendData[field] = userBX[field]\n } else {\n this.snackBar.error('Одно из указанных полей отправлено не верно')\n }\n }\n return this.http.post(this.url.update, sendData, 'Не удалось обновить пользователя с ID' + user.ID)\n } else {\n this.snackBar.error('Не указано ни одно поле для редактирования пользователя')\n return of({})\n }\n }\n\n getEndArray(params: UserFilter = {}): Observable<iHttpAnswerBX<iBXRestUserHttp[]> | undefined> {\n return this.get(params).pipe(\n mergeMap(items => {\n if (items && items.result && typeof items.result === 'object') {\n if (items.next) {\n params.start = items.next\n return this.getEndArray(params).pipe(map(vEnd => {\n if (vEnd && items.result && vEnd.result) {\n return {result: [...items.result, ...vEnd.result]}\n }\n return (items) ? items : undefined\n }))\n }\n return of(items)\n } else {\n return of(undefined)\n }\n }),\n )\n }\n\n // getUrlCompressedImage(url: string, width: number, height: number) {\n // return this.img.getUrlCompressed(url, width, height)\n // }\n\n setDefParam(params: iBXGetParam) {\n if (!params.hasOwnProperty('ACTIVE')) {\n params.ACTIVE = this.def.params.ACTIVE\n }\n if (params.ACTIVE && params.ACTIVE === 2) {\n delete params.ACTIVE\n }\n if (!params.hasOwnProperty('start')) {\n params.start = this.def.params.start\n }\n\n if (params.UF_DEPARTMENT && !params.UF_DEPARTMENT.length) {\n delete params.UF_DEPARTMENT\n }\n }\n\n getInfoAboutCustomFieldsBX() {\n return this.http.get<iHttpAnswerBX<iCustomUserFieldInfo[]>>(this.url.userfield.list).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n\n itIsAdmin() {\n return this.http.get<iHttpAnswerBX<boolean>>(this.url.admin).pipe(\n map(v => this.http.mapResult(v))\n )\n }\n}\n","/*\n * Public API Surface of bx-rest\n */\n\n// export * from './request/bx-rest.module'\nexport * from './services/base'\nexport * from './request/user/user'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","JSON","save","initialState","Cookies","LocalStorage","i2","i3.RestServices","BaseHttpServices","mergeMap","i2.BitrixApiUserMapServices"],"mappings":"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"}
|
package/package.json
CHANGED
package/request/user/user.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import SnackBarService from '../../services/snack-bar/snack-bar.service';
|
|
|
11
11
|
import iHttpAnswerBX from '../../typification/rest/base/httpAnswerBX';
|
|
12
12
|
import { iBXRestUser, iBXRestUserHttp, iBXRestUserHttpField } from '../../typification/rest/user/user';
|
|
13
13
|
import { UserFilter } from '../../typification/rest/user/userFilter';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
14
15
|
export declare class BXRestUser {
|
|
15
16
|
private http;
|
|
16
17
|
private snackBar;
|
|
@@ -57,4 +58,6 @@ export declare class BXRestUser {
|
|
|
57
58
|
setDefParam(params: iBXGetParam): void;
|
|
58
59
|
getInfoAboutCustomFieldsBX(): Observable<iCustomUserFieldInfo[] | undefined>;
|
|
59
60
|
itIsAdmin(): Observable<boolean | undefined>;
|
|
61
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BXRestUser, never>;
|
|
62
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BXRestUser>;
|
|
60
63
|
}
|