@unipin/angular-applet 17.0.3 → 17.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet.mjs","sources":["../../../projects/unipin-angular/src/lib/components/buttons/loading/btn-loading.component.ts","../../../projects/unipin-angular/src/lib/components/buttons/loading/btn-loading.component.html","../../../projects/unipin-angular/src/lib/components/buttons/group/btn-group.component.ts","../../../projects/unipin-angular/src/lib/components/buttons/group/btn-group.component.html","../../../projects/unipin-angular/src/lib/modules/micro-frontend/utils/mf-global-state.util.ts","../../../projects/unipin-angular/src/lib/modules/micro-frontend/utils/mf-bootstrap.util.ts","../../../projects/unipin-angular/src/lib/modules/permission/services/permission.service.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/loading/loading.page.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/loading/loading.page.html","../../../projects/unipin-angular/src/lib/modules/permission/directive/permission.directive.ts","../../../projects/unipin-angular/src/lib/modules/permission/guards/permission.guard.ts","../../../projects/unipin-angular/src/lib/modules/permission/permission.module.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/401/unauthorized.page.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/401/unauthorized.page.html","../../../projects/unipin-angular/src/lib/components/containers/applet-container/applet-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/applet-container/applet-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/column-container/directives/lazyr-route.directive.ts","../../../projects/unipin-angular/src/lib/components/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/column-container/column-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/colum-header-container/column-header-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/colum-header-container/column-header-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/modal-container/modal-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/modal-container/modal-container.component.html","../../../projects/unipin-angular/src/lib/utils/form-error-message.util.ts","../../../projects/unipin-angular/src/lib/components/forms/date/form-date.component.ts","../../../projects/unipin-angular/src/lib/components/forms/date/form-date.component.html","../../../projects/unipin-angular/src/lib/components/forms/input/form-input.component.ts","../../../projects/unipin-angular/src/lib/components/forms/input/form-input.component.html","../../../projects/unipin-angular/src/lib/components/forms/password/form-password.component.ts","../../../projects/unipin-angular/src/lib/components/forms/password/form-password.component.html","../../../projects/unipin-angular/src/lib/components/forms/searchable-select/form-searchable-select.component.ts","../../../projects/unipin-angular/src/lib/components/forms/searchable-select/form-searchable-select.component.html","../../../projects/unipin-angular/src/lib/components/forms/select/form-select.component.ts","../../../projects/unipin-angular/src/lib/components/forms/select/form-select.component.html","../../../projects/unipin-angular/src/lib/components/forms/textarea/form-textarea.component.ts","../../../projects/unipin-angular/src/lib/components/forms/textarea/form-textarea.component.html","../../../projects/unipin-angular/src/lib/components/filter/filter.component.ts","../../../projects/unipin-angular/src/lib/components/filter/filter.component.html","../../../projects/unipin-angular/src/lib/components/grids/services/grid.service.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-snapshot/grid-snapshot.component.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-snapshot/grid-snapshot.component.html","../../../projects/unipin-angular/src/lib/components/grids/grid-pagination/grid-pagination.component.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-pagination/grid-pagination.component.html","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tab-content/tab-content.component.ts","../../../projects/unipin-angular/src/lib/components/tabs/tab-content/tab-content.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tab-group/tab-group.component.ts","../../../projects/unipin-angular/src/lib/components/tabs/tab-group/tab-group.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tabs.component.module.ts","../../../projects/unipin-angular/src/lib/components/audit/service/audit.service.ts","../../../projects/unipin-angular/src/lib/components/audit/list/audit-list.component.ts","../../../projects/unipin-angular/src/lib/components/audit/list/audit-list.component.html","../../../projects/unipin-angular/src/lib/components/audit/detail/audit-detail.component.ts","../../../projects/unipin-angular/src/lib/components/audit/detail/audit-detail.component.html","../../../projects/unipin-angular/src/graphql/generated.ts","../../../projects/unipin-angular/src/lib/services/profile/profile.service.ts","../../../projects/unipin-angular/src/lib/services/auth/auth.service.ts","../../../projects/unipin-angular/src/lib/services/country/country.service.ts","../../../projects/unipin-angular/src/lib/resolvers/auth/auth.resolver.ts","../../../projects/unipin-angular/src/lib/guards/auth/auth.guard.ts","../../../projects/unipin-angular/src/lib/interceptors/header/header.interceptor.ts","../../../projects/unipin-angular/src/lib/interceptors/refresh-token/refresh-token.interceptor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonButton, IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-btn-loading',\n templateUrl: './btn-loading.component.html',\n styleUrls: ['./btn-loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n IonicModule,\n CommonModule\n ]\n})\nexport class ButtonLoadingComponent {\n\n @Input() public disabled: boolean = false;\n @Input() public form: HTMLFormElement | string | undefined;\n @Input() public type?: 'button' | 'reset' | 'submit' = 'button';\n @Input() public fill: 'clear' | 'default' | 'outline' | 'solid' = 'solid';\n @Input() public color?: 'danger' | 'dark' | 'light' | 'medium' | 'primary' | 'secondary' | 'success' | 'tertiary' | 'warning' | string = 'primary';\n @Output() public onClick: EventEmitter<ButtonLoadingComponent> = new EventEmitter();\n @ViewChild(IonButton) protected btn!: IonButton;\n public isLoading: boolean = false;\n\n constructor(\n protected readonly ch: ChangeDetectorRef,\n ) { }\n\n public clickBtn(): void{ \n this.onClick.emit(this); \n this.toggleLoading();\n }\n\n public toggleLoading(): void{\n this.isLoading = !this.isLoading;\n this.btn.disabled = !this.btn.disabled;\n \n this.ch.markForCheck();\n }\n}\n","<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n <ion-spinner *ngIf=\"isLoading;else showIcon\" />\n \n <ng-template #showIcon>\n <ng-content select=\"ion-icon\" />\n </ng-template>\n\n <ng-content />\n</ion-button>\n","import { Attribute, Component, HostBinding, Input, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule, PopoverController } from '@ionic/angular';\nimport { ButtonGroupConfig } from './interfaces/btn-group-config.interface';\nimport { ButtonLoadingComponent } from '../loading/btn-loading.component';\n\n@Component({\n standalone: true,\n selector: 'up-btn-group',\n templateUrl: './btn-group.component.html',\n styleUrls: ['./btn-group.component.scss'],\n imports: [\n IonicModule,\n CommonModule,\n ButtonLoadingComponent\n ]\n})\nexport class ButtonGroupComponent {\n\n @Input({ required: true }) public config!: ButtonGroupConfig[];\n @HostBinding('class.d-none') protected isHidden: boolean = false;\n public activeIndex: number = 0;\n\n constructor(\n @Attribute('id') public id: string,\n protected readonly popoverCtrl: PopoverController\n ) { }\n\n public ngOnChanges(changes: SimpleChanges): void{\n if (changes['config']) {\n this.isHidden = this.config.length <= 0;\n this.activeIndex = 0;\n } \n }\n\n public clickBtn(b: ButtonLoadingComponent): void{\n this.config[this.activeIndex].onClick(b);\n }\n\n public change(i: number): void{\n this.activeIndex = i;\n this.popoverCtrl.dismiss();\n }\n}\n","<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\" [disabled]=\"config.length < 2\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n</ng-container>\n","export const packageNamespace = '@angular-architects/module-federation-tools';\n\nfunction getGlobalState<T>(): T {\n const globalState = window as unknown as { [packageNamespace]: T };\n globalState[packageNamespace] = globalState[packageNamespace] || ({} as unknown as T);\n \n return globalState[packageNamespace];\n}\n\nexport function getGlobalStateSlice<T>(): T;\nexport function getGlobalStateSlice<T, R>(selector: (globalState: T) => R): R;\n\nexport function getGlobalStateSlice<T, R>(selector?: (globalState: T) => R): R | T {\n const globalState = getGlobalState<T>();\n return selector? selector(globalState) : globalState;\n}\n\nexport function setGlobalStateSlice<T extends object>(slice: T): T {\n return Object.assign(getGlobalState<T>(), slice);\n}\n","import { CompilerOptions, enableProdMode, Injector, NgModuleRef, NgZone, PlatformRef, Type, Version, VERSION } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { platformBrowser } from '@angular/platform-browser';\nimport { getGlobalStateSlice, setGlobalStateSlice } from './mf-global-state.util';\n\nexport type AppType = 'shell' | 'microfrontend';\n\nexport type Options = {\n production: boolean;\n platformFactory?: () => PlatformRef;\n compilerOptions?: CompilerOptions & BootstrapOptions;\n version?: () => string | Version;\n appType?: AppType;\n \n /**\n * Opt-out of ngZone sharing.\n * Not recommanded.\n * Default value true.\n */\n ngZoneSharing?: boolean;\n \n /**\n * Opt-out of platformSharing sharing.\n * Possible, if dependencies are not shared or each bootstrapped\n * remote app uses a different version.\n * Default value true.\n */\n platformSharing?: boolean;\n \n /**\n * Deactivate support for legacy mode.\n * Only recommanded if all used implementations depend on\n * @angular-architects/module-federation-tools > 13.0.1.\n * Default value true.\n */\n activeLegacyMode?: boolean;\n};\n\ndeclare interface BootstrapOptions {\n ngZone?: NgZone | 'zone.js' | 'noop';\n ngZoneEventCoalescing?: boolean;\n ngZoneRunCoalescing?: boolean;\n}\n\nlet ngZoneSharing = true;\nlet platformSharing = true;\nlet legacyMode = true;\n\nexport function getMajor(version: string): string{\n const pre = version.match(/\\d+/)?.at(0);\n const post = version.match(/-.*/);\n\n if (!pre) throw new Error('Cound not identify major version: ' + version);\n\n if (post) return pre + post[0];\n return pre;\n}\n\n/**\n * LEGACY IMPLEMENTATIONS START\n *\n * Can be deprecated in later major releases.\n *\n * To increase backwards compatibility legacy and current namespaces\n * within the window object are used.\n */\nexport type LegacyPlatformCache = {\n platform: Record<string, PlatformRef>;\n};\n\nfunction getLegacyPlatformCache(): LegacyPlatformCache{\n const platformCache = window as unknown as LegacyPlatformCache;\n \n platformCache.platform = platformCache.platform || {};\n return platformCache;\n}\n\nfunction getLegacyPlatform(key: string): PlatformRef | null{\n const platform = getLegacyPlatformCache().platform[key];\n /**\n * If dependencies are not shared, platform with same version is different\n * and shared platform will not be returned.\n */\n return platform instanceof PlatformRef? platform : null;\n}\n\nfunction setLegacyPlatform(key: string, platform: PlatformRef): void{\n getLegacyPlatformCache().platform[key] = platform;\n}\n\nfunction getLegacyNgZone(): NgZone{\n return (window as any)['ngZone'];\n}\n\nfunction setLegacyNgZone(zone: NgZone): void{\n (window as any)['ngZone'] = zone;\n}\n\n/**\n * LEGACY IMPLEMENTATIONS END\n */\nfunction getPlatformCache(): Map<Version, PlatformRef>{\n return (\n getGlobalStateSlice(\n (state: { platformCache: Map<Version, PlatformRef> }) => state.platformCache\n ) ||\n setGlobalStateSlice({\n platformCache: new Map<Version, PlatformRef>(),\n }).platformCache\n );\n}\n\nfunction setPlatform(version: Version, platform: PlatformRef): void{\n if (platformSharing) {\n legacyMode && setLegacyPlatform(version.full, platform);\n getPlatformCache().set(version, platform);\n }\n}\n\nfunction getPlatform(options: Options): PlatformRef | undefined{\n if (!platformSharing) {\n return options.platformFactory!();\n }\n\n const versionResult = options.version!();\n const version = versionResult === VERSION.full? VERSION : versionResult;\n const versionKey = typeof version === 'string'? version : version.full;\n\n let platform = getPlatformCache().get(version as Version) || (legacyMode && getLegacyPlatform(versionKey));\n\n if (!platform) {\n platform = options.platformFactory!();\n setPlatform(VERSION, platform);\n\n options.production && enableProdMode();\n }\n return platform;\n}\n\nfunction getNgZone(): NgZone{\n return (getGlobalStateSlice((state: { ngZone: NgZone }) => state.ngZone) || getLegacyNgZone());\n}\n\nexport function shareNgZone(zone: NgZone): void{\n if (ngZoneSharing) {\n legacyMode && setLegacyNgZone(zone);\n setGlobalStateSlice({ ngZone: zone });\n }\n}\n\nexport function bootstrap<M>(module: Type<M>, options: Options): Promise<NgModuleRef<M>> | undefined{\n ngZoneSharing = options.ngZoneSharing !== false;\n platformSharing = options.platformSharing !== false;\n legacyMode = options.activeLegacyMode !== false;\n\n options.platformFactory = options.platformFactory || (() => platformBrowser());\n options.version = options.version || (() => VERSION);\n\n if (ngZoneSharing && !options.compilerOptions?.ngZone) {\n options.compilerOptions = options.compilerOptions || {};\n options.compilerOptions.ngZone = getNgZone();\n }\n\n return getPlatform(options)?.bootstrapModule(module, options.compilerOptions).then((ref) => {\n if (options.appType === 'shell') {\n shareShellZone(ref.injector);\n } else if (options.appType === 'microfrontend') {\n connectMicroFrontendRouter(ref.injector);\n }\n return ref;\n });\n}\n\nfunction shareShellZone(injector: Injector): void{\n const ngZone = injector.get(NgZone, null);\n if (!ngZone) {\n console.warn('No NgZone to share found');\n return;\n }\n shareNgZone(ngZone);\n}\n\nfunction connectMicroFrontendRouter(injector: Injector): void{\n const router = injector.get(Router);\n const location = injector.get(Location);\n\n if (!router) {\n console.warn('No router to connect found');\n return;\n }\n router.navigateByUrl(location.path() + window.location.hash);\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AppPermDfn, PermissionFilter } from '../../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermissionService {\n\n public readonly permModules: Subject<string[]> = new Subject<string[]>();\n public isInitiated: boolean = false;\n protected permissions: Map<string, boolean> = new Map();\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public setPermission(permCodes: string[], permModules: string[] = []): void{\n for (let i = 0; i < permCodes.length; i++) this.permissions.set(permCodes[i], true);\n this.permModules.next(permModules);\n }\n\n public checkPermission(scope: string, module: string, type: string): boolean{\n if (this.permissions.has(`${ scope }.${ module }.ADMIN`)) return true;\n if (this.permissions.has(`${ scope }.${ module }.${ type }`)) return true;\n\n return false;\n }\n\n public getPermissions(filter: PermissionFilter): Observable<ApolloQueryResult<{ authMsPermission: { data: AppPermDfn[] }}>>{\n return this.apollo.query({\n variables: { filter },\n query: gql`\n query QueryPermission($filter: PermissionFilter!) {\n authMsPermission(filter: $filter) {\n data { permCode }\n }\n }\n `\n });\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { IonicModule } from '@ionic/angular';\nimport { PermissionService } from '../../services/permission.service';\n\n@Component({\n standalone: true,\n selector: 'up-loading',\n templateUrl: './loading.page.html',\n styleUrls: ['./loading.page.scss'],\n host: {\n class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'\n },\n imports: [ IonicModule ]\n})\nexport class LoadingPage implements OnInit, OnDestroy {\n\n protected sub!: Subscription;\n\n constructor(\n @Inject('LOADING_CONFIG') public readonly config: {\n permModule: string[],\n permType: string[],\n subjectGuid: string\n },\n protected readonly router: Router,\n protected readonly route: ActivatedRoute,\n protected readonly permissionService: PermissionService\n ) { }\n\n public ngOnInit(): void{\n const permCodeList: string[] = [];\n\n this.sub = this.permissionService.getPermissions({ pageSize: 1000, subjectGuid: this.config.subjectGuid, permModule: this.config.permModule, permType: this.config.permType }).subscribe({\n next: ({ data: { authMsPermission: { data }}}) => {\n data.forEach(({ permCode }) => {\n if (!permCode) return;\n\n permCodeList.push(permCode);\n });\n },\n complete: () => {\n this.permissionService.isInitiated = true;\n this.permissionService.setPermission(permCodeList, this.config.permModule);\n\n this.router.navigateByUrl(this.route.snapshot.queryParamMap.get('url')?? '');\n },\n error: () => this.router.navigate([ '401' ])\n });\n }\n\n public ngOnDestroy(): void{ this.sub.unsubscribe(); }\n}\n","<ion-spinner class=\"mb-4\" />\n<h3 class=\"text-center\">Please wait, we're preparing the applet. Drink water or coffee while waiting.</h3>\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PermissionService } from '../services/permission.service';\n\n@Directive({\n selector: '[hasPermission]'\n})\nexport class PermissionDirective {\n \n protected module!: string;\n protected scope: string = 'GLOBAL';\n\n @Input() set hasPermission(m: string) {\n this.module = m; \n }\n\n @Input() set hasPermissionScope(s: string) { \n this.scope = s; \n }\n\n @Input() set hasPermissionType(t: string) {;\n if (this.permissionService.checkPermission(this.scope, this.module, t)) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n return;\n }\n\n this.viewContainer.clear();\n }\n\n constructor(\n protected readonly templateRef: TemplateRef<any>,\n protected readonly viewContainer: ViewContainerRef,\n protected readonly permissionService: PermissionService\n ) { }\n}\n","import { inject } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';\nimport { PermissionService } from '../services/permission.service';\n\nexport const PermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot): boolean => {\n \n const router: Router = inject(Router);\n const location: Location = inject(Location);\n const permissionService: PermissionService = inject(PermissionService);\n const permission: { scope: string, module: string, type: string } = route.data['requiredPermission'];\n \n if (!permission) throw new Error('Invalid config: requiredPermission is a required parameter in route data for PermissionGuard');\n\n if (!permissionService.isInitiated) {\n router.navigate([ 'loading' ], { queryParams: { url: `${ location.path() + window.location.hash }` } });\n return false;\n }\n\n const { scope, module, type } = permission;\n if (permissionService.checkPermission(scope, module, type)) return true;\n\n router.navigate([ '401' ]);\n return false;\n}\n","import { NgModule } from '@angular/core';\nimport { PermissionDirective } from './directive/permission.directive';\n\n@NgModule({\n declarations: [\n PermissionDirective\n ],\n exports: [\n PermissionDirective\n ]\n})\nexport class PermissionModule { }\n","import { Component } from '@angular/core';\nimport { IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-unauthorized',\n templateUrl: './unauthorized.page.html',\n styleUrls: ['./unauthorized.page.scss'],\n host: {\n class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'\n },\n imports: [ IonicModule ]\n})\nexport class UnauthorizedPage { }\n","<ion-icon name=\"lock-closed\" class=\"mb-4\" />\n<h3 class=\"text-center\">Oops! You're not authorized to access this page.</h3>\n<p class=\"text-center\">Please log in or re-check your permissions.</p>\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { Subscription } from 'rxjs';\nimport { PermissionService } from '../../../modules';\n\n@Component({\n standalone: true,\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n styleUrls: ['./applet-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex h-100 w-100'\n },\n imports: [\n IonicModule,\n RouterModule,\n CommonModule\n ]\n})\nexport class AppletContainerComponent implements OnInit, OnDestroy {\n\n public isCollapsed: boolean = false;\n public isHidden: boolean[] = Array(this.config.containers.length).fill(true);\n protected sub!: Subscription;\n\n constructor(\n @Inject('APPLET_CONFIG') public readonly config: {\n icon: string,\n name: string,\n tenantName: string,\n enabledSetting: boolean,\n containers: { icon: string, label: string, path: `/${ string }`, permModule: string }[],\n version: string\n },\n protected readonly permissionService: PermissionService\n ) { }\n\n public ngOnInit(): void {\n this.sub = this.permissionService.permModules.subscribe((permModules: string[]) => {\n this.isHidden = this.config.containers.map(({ permModule }) => !permModules.includes(permModule));\n });\n }\n\n public ngOnDestroy(): void { this.sub.unsubscribe(); }\n\n public toggleSidenav(): void{ this.isCollapsed = !this.isCollapsed; }\n}\n","<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top\" *ngIf=\"config.enabledSetting\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 overflow-y-auto\">\n <ng-content />\n</div>\n","import { Directive, Input, OnInit, ViewContainerRef } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[loadRoute]'\n})\nexport class LazyRouteDirective implements OnInit {\n \n @Input({ required: true }) public loadRoute: any;\n\n constructor(\n protected readonly vcr: ViewContainerRef\n ){}\n \n public ngOnInit(): void{\n this.loadRoute.loadComponent().then((m: any) => this.vcr.createComponent(m));\n }\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NavigationEnd, Router, ActivatedRoute, Route, RouterModule } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { LazyRouteDirective } from './directives/lazyr-route.directive';\n\n@Component({\n standalone: true,\n selector: 'up-column-container',\n templateUrl: './column-container.component.html',\n styleUrls: ['./column-container.component.scss'],\n host: {\n class: 'd-block h-100 w-100'\n },\n imports: [\n RouterModule,\n CommonModule,\n AngularSplitModule,\n LazyRouteDirective\n ]\n})\nexport class ColumnContainerComponent implements OnDestroy {\n\n public readonly areas: { visible: boolean, route: Route }[] = [];\n protected readonly openedArea: { [key: string]: number } = {};\n protected sub!: Subscription;\n\n constructor(\n protected readonly router: Router,\n protected readonly activeRoute: ActivatedRoute\n ) { }\n\n public ngOnInit(): void{\n this.sub = this.router.events.subscribe((e) => {\n if (e instanceof NavigationEnd) this.navigate();\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] = ((this.activeRoute.snapshot.routeConfig) as any)._loadedRoutes;\n\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (url?.startsWith(<string> routeList[i].path)) this.next(routeList[i]);\n }\n }\n\n public ngOnDestroy(): void{ this.sub.unsubscribe(); }\n\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n \n if (this.openedArea[`r-${ route.path }`] <= this.areas.length) this.previous(this.openedArea[`r-${ route.path }`]);\n else this.next(route); \n }\n\n protected next(route: Route): void{\n this.areas.push({ visible: true, route });\n this.openedArea[`r-${ route.path }`] = this.areas.length;\n\n if (this.areas.length > 2) this.areas[this.areas.length - 3].visible = false;\n }\n\n protected previous(pos: number): void{\n this.areas.splice(pos);\n\n if (this.areas.length === 1) this.areas[0].visible = true;\n else {\n this.areas[pos - 1].visible = true;\n this.areas[pos - 2].visible = true;\n }\n }\n}\n","<as-split [disabled]=\"true\" [useTransition]=\"true\" [gutterSize]=\"0\">\n <as-split-area [size]=\"50\" [visible]=\"a.visible\" [order]=\"i\" *ngFor=\"let a of areas; let i = index\" class=\"border-start\">\n <ng-container [loadRoute]=\"a.route\" />\n </as-split-area>\n</as-split>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-column-header-container',\n templateUrl: './column-header-container.component.html',\n styleUrls: ['./column-header-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-flex flex-column h-100' \n },\n imports: [ \n IonicModule,\n RouterModule\n ]\n})\nexport class ColumnHeaderContainerComponent {\n\n @Input() public title?: string;\n @Input() public prevUrl!: string;\n}\n","<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons>\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t\n\t\t<div class=\"f20 fw-medium\">{{ title }}</div>\n\t</div>\n\n\t<ng-content select=\"#button\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n","import { Attribute, ChangeDetectionStrategy, Component, HostListener, OnInit } from '@angular/core';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-modal-container',\n templateUrl: './modal-container.component.html',\n styleUrls: ['./modal-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ \n IonicModule \n ]\n})\nexport class ModalContainerComponent implements OnInit {\n\n protected key!: string;\n\n constructor(\n @Attribute('title') public title: string,\n protected readonly modalCtrl: ModalController\n ) { }\n\n public ngOnInit(): void{\n this.key = this.title.replace(/ /g, '-');\n history.pushState({ [this.key]: true }, '');\n }\n\n public ngOnDestroy(): void{ \n if (history.state[this.key]) history.back(); \n }\n\n @HostListener('window:popstate', [ '$event' ])\n public popState(ev: PopStateEvent): void{ \n if (!ev.state[this.key]) this.modalCtrl.dismiss(); \n }\n\n public close(): void{ \n this.modalCtrl.dismiss(); \n }\n}\n","<ion-header class=\"ion-no-border\">\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title class=\"p-0 fs-5\">{{ title }}</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<div class=\"p-4\">\n <ng-content/>\n</div>\n","import { ValidationErrors } from '@angular/forms';\n\nconst errMessage: { [k: string]: (l: string, arg?: number) => string } = {\n email: (label: string) => `${ label } is not a valid email`,\n required: (label: string) => `${ label } is required`,\n minlength: (label: string, length?: number) => `${ label } must be at least ${ length } characters`,\n maxlength: (label: string, length?: number) => `${ label } must not exceed ${ length } characters`,\n max: (label: string, max?: number) => `${ label } value must be lower than ${ max }`,\n min: (label: string, min?: number) => `${ label } value must be larger than ${ min }`,\n};\n\nconst extraParamKey: { [k: string]: string } = {\n minlength: 'requiredLength',\n maxlength: 'requiredLength',\n max: 'max',\n min: 'min'\n};\n\nexport function getFormErrorMessage(err: ValidationErrors | null, label?: string): string{\n if (!err) return '';\n\n const key = Object.keys(err)[0];\n return errMessage[key](label?? 'Column', err[key][extraParamKey[key]]);\n}\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-date',\n templateUrl: './form-date.component.html',\n styleUrls: ['./form-date.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block position-relative'\n },\n imports: [\n IonicModule,\n CommonModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormDateComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormDateComponent\n }\n ]\n})\nexport class FormDateComponent implements ControlValueAccessor, Validator {\n\n @Input() public label?: string;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n public isTouched: boolean = false;\n public value: string = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('name') public name: string,\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n\n public registerOnTouched(fn: any): void{ this.onTouched = fn; }\n\n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n\n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public changeDate({ detail: { value }}: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.ch.markForCheck();\n\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [required]=\"required\" [value]=\"value | date:'dd LLL yyyy'\">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\"></ion-icon>\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" presentation=\"date\" value=\"{{ value }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-input',\n templateUrl: './form-input.component.html',\n styleUrls: ['./form-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block'\n },\n imports: [ CommonModule ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormInputComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormInputComponent\n }\n ]\n})\nexport class FormInputComponent implements ControlValueAccessor, Validator {\n\n @Input() public label?: string;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n @Output() public onInput: EventEmitter<any> = new EventEmitter<any>();\n public isTouched: boolean = false;\n public value: any = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n @Attribute('type') public type: 'email' | 'hidden' | 'number' | 'search' | 'tel' | 'text' | 'url',\n @Attribute('autocomplete') public autocomplete: 'name' | 'email' | 'tel' | 'url' | 'on' | 'off' | 'honorific-prefix' | 'given-name' | 'additional-name' | 'family-name' | 'honorific-suffix' | 'nickname' | 'username' | 'one-time-code' | 'organization-title' | 'organization' | 'street-address' | 'address-line1' | 'address-line2' | 'address-line3' | 'address-level4' | 'address-level3' | 'address-level2' | 'address-level1' | 'country' | 'country-name' | 'postal-code' | 'cc-name' | 'cc-given-name' | 'cc-additional-name' | 'cc-family-name' | 'cc-number' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-csc' | 'cc-type' | 'transaction-currency' | 'transaction-amount' | 'language' | 'bday' | 'bday-day' | 'bday-month' | 'bday-year' | 'sex' | 'tel-country-code' | 'tel-national' | 'tel-area-code' | 'tel-local' | 'tel-extension',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n\n public input(val: any): void{ this.onInput.emit(val); }\n \n public writeValue(val: any): void{\n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input type=\"{{ type }}\" autocomplete=\"{{ autocomplete }}\" placeholder=\"{{ placeholder }}\" class=\"form-control\" [required]=\"required\" [disabled]=\"disabled\" [value]=\"value\" (change)=\"change($event.target)\" (input)=\"input($event)\" />\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { CommonModule } from '@angular/common';\nimport { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-password',\n templateUrl: './form-password.component.html',\n styleUrls: ['./form-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block position-relative'\n },\n imports: [\n IonicModule,\n CommonModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormPasswordComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormPasswordComponent\n }\n ]\n})\nexport class FormPasswordComponent implements ControlValueAccessor, Validator {\n\n @Input() public required: boolean = false;\n @Input() public mustSame: boolean = false;\n public isTouched: boolean = false;\n public type: 'text' | 'password' = 'password';\n public value: string = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('label') public label: string,\n @Attribute('autocomplete') public autocomplete: 'current-password' | 'new-password',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public changeType(): void{ \n this.type = this.type === 'text'? 'password' : 'text';\n }\n\n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n this.value = value;\n this.onChange(this.value);\n\n if (this.formControl.parent?.errors) {\n if (this.mustSame && this.formControl.parent.hasError('isNotEqual')) {\n this.errorMsg = `${ this.label } is not the same`;\n return;\n }\n\n this.errorMsg = this.formControl.parent?.errors!['message'] || `${ this.label } has an invalid value`;\n return;\n }\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input [type]=\"type\" autocomplete=\"{{ autocomplete }}\" [required]=\"required\" class=\"form-control pe-5\" [value]=\"value\" (change)=\"change($event.target)\" />\n<ion-icon name=\"{{ type === 'password'? 'eye' : 'eye-off' }}\" class=\"position-absolute fs-4 cursor-pointer\" (click)=\"changeType()\"></ion-icon>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { Observable, Subject, catchError, concat, debounceTime, distinctUntilChanged, of, switchMap, tap } from 'rxjs';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-searchable-select',\n templateUrl: './form-searchable-select.component.html',\n styleUrls: ['./form-searchable-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block' \n },\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormSearchableSelectComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormSearchableSelectComponent\n }\n ]\n})\nexport class FormSearchableSelectComponent implements ControlValueAccessor, Validator, OnChanges {\n\n @Input({ required: true }) public queryFunc!: (keyword: string) => Observable<any>;\n @Input() public label: string = '';\n @Input() public initialItems: any[] = [];\n @Input() public required: boolean = false;\n @Input() public addTag: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public multiple: boolean = false;\n @Input() public bindLabel: string = 'label';\n @Input() public bindValue: string = 'value';\n @Output() public onChange: EventEmitter<any> = new EventEmitter<any>();\n public readonly typeahead: Subject<string> = new Subject<string>();\n protected readonly query$: Observable<any[]> = this.typeahead.pipe(\n distinctUntilChanged(),\n debounceTime(300),\n tap(() => this.isLoading = true),\n switchMap((k: string) => this.queryFunc(k).pipe(\n catchError(() => of([]))\n )),\n tap(() => this.isLoading = false)\n );\n public items$: Observable<any[]> = this.query$;\n public isLoading: boolean = false;\n public isTouched: boolean = false;\n public value: any | null = null;\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected changed: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public ngOnChanges(changes: SimpleChanges): void{\n if (changes['initialItems']) this.items$ = concat(of(this.initialItems), this.query$);\n }\n\n public registerOnChange(fn: any): void{ this.changed = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{ \n this.formControl = control;\n return null;\n }\n\n public change(e?: any): void{\n this.onChange.emit(e);\n\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n \n if (!this.disabled) {\n if (!e) this.value = null;\n else {\n this.value = !this.multiple? e[this.bindValue] : e.map((o: any) => o[this.bindValue]);\n }\n\n this.changed(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n<ng-select \n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\" \n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\" \n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-select',\n templateUrl: './form-select.component.html',\n styleUrls: ['./form-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block' \n },\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormSelectComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormSelectComponent\n }\n ]\n})\nexport class FormSelectComponent implements ControlValueAccessor, Validator {\n\n @Input({ required: true }) public items!: any[];\n @Input() public label: string = '';\n @Input() public multiple: boolean = false;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public searchable: boolean = false;\n @Input() public bindLabel: string = 'label';\n @Input() public bindValue: string = 'value';\n public isTouched: boolean = false;\n public value: any | null = null;\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n\n public registerOnTouched(fn: any): void{ this.onTouched = fn; }\n\n public writeValue(val: any): void{\n this.value = val;\n this.ch.markForCheck();\n }\n\n public setDisabledState?(d: boolean): void{ \n this.disabled = d;\n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change(e?: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n if (!e) this.value = null;\n else {\n this.value = !this.multiple? e[this.bindValue] : e.map((o: any) => o[this.bindValue]);\n }\n \n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n<ng-select\n appendTo=\"body\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\"\n [searchable]=\"searchable\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { CommonModule } from '@angular/common';\nimport { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-textarea',\n templateUrl: './form-textarea.component.html',\n styleUrls: ['./form-textarea.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block'\n },\n imports: [ CommonModule ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormTextareaComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormTextareaComponent\n }\n ]\n})\nexport class FormTextareaComponent implements ControlValueAccessor, Validator {\n\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n public isTouched: boolean = false;\n public value: any = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('label') public label: string,\n @Attribute('placeholder') public placeholder: string,\n @Attribute('autocomplete') public autocomplete: 'url' | 'on' | 'off' | 'street-address' | 'address-line1' | 'address-line2' | 'address-line3' | 'address-level4' | 'address-level3' | 'address-level2' | 'address-level1',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<textarea autocomplete=\"{{ autocomplete }}\" placeholder=\"{{ placeholder }}\" rows=\"3\" class=\"form-control\" [required]=\"required\" [disabled]=\"disabled\" [value]=\"value\" (change)=\"change($event.target)\"></textarea>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { CommonModule, formatDate } from '@angular/common';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { IonicModule, PopoverController } from '@ionic/angular';\nimport { FilterConfig } from './interfaces/filter-config.interface';\nimport { FilterField } from './interfaces/filter-field.interface';\nimport { FilterSearchEvent } from './interfaces/filter-search-event.interface';\nimport { FormInputComponent, FormSelectComponent, FormDateComponent, FormSearchableSelectComponent } from '../forms';\n\n@Component({\n standalone: true,\n selector: 'up-filter',\n templateUrl: './filter.component.html',\n styleUrls: [ './filter.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block position-relative' \n },\n imports: [ \n IonicModule,\n CommonModule, \n FormDateComponent,\n FormInputComponent,\n ReactiveFormsModule,\n FormSelectComponent,\n FormSearchableSelectComponent\n ]\n})\nexport class FilterComponent implements OnInit {\n\n @Input({ required: true }) public id!: string;\n @Input({ required: true }) public config!: FilterConfig;\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n @ViewChild('searchBox') protected readonly searchBox!: ElementRef;\n public readonly form: FormGroup<any> = new FormGroup({});\n public activeFilter: { label: string, key: string, value: string }[] = [];\n\n constructor(\n @Attribute('placeholder') protected placeholder: string,\n protected readonly ch: ChangeDetectorRef,\n protected readonly popoverCtrl: PopoverController\n ) { } \n\n public ngOnInit(): void{ \n this.config.fields.forEach(({ key }: FilterField) => {\n if (typeof key === 'string') this.form.addControl(key, new FormControl(''));\n else {\n key.forEach((k: string) => this.form.addControl(k, new FormControl('')));\n }\n });\n }\n\n public close(): void{ this.popoverCtrl.dismiss(); }\n\n public clear(): void{\n this.resetValue();\n this.form.reset();\n this.onSearch.emit({ mode: this.config.mode, data: null });\n }\n\n public removeFilter(i: number): void{\n this.form.controls[this.activeFilter[i].key].setValue('');\n this.activeFilter.splice(i, 1);\n this.emitValue();\n }\n\n public search(): void{\n this.resetValue();\n this.emitValue((k: string, v: string) => this.activeFilter.push({ key: k, value: v, label: `${ k }:${ k.includes('date')? formatDate(v, 'dd MMM yyyy', 'en-US') : v }` }));\n this.close();\n }\n\n public add(): void{\n const { key, value } = this.getValue(this.searchBox.nativeElement.value);\n if (this.config.fields.findIndex(({ key: k }) => k === key) === -1) {\n this.searchBox.nativeElement.value = '';\n return;\n }\n\n const i = this.activeFilter.findIndex(({ key: k }) => k === key);\n if (i === -1) this.activeFilter.push({ label: `${ key }:${ value }`, key, value });\n else {\n this.activeFilter[i].key = key;\n this.activeFilter[i].value = value;\n this.activeFilter[i].label = `${ key }:${ value }`;\n }\n\n this.form.patchValue({ [key]: value });\n this.searchBox.nativeElement.value = '';\n this.emitValue();\n }\n\n protected resetValue(): void{\n this.activeFilter.length = 0;\n this.searchBox.nativeElement.value = '';\n }\n\n protected getValue(value: string): { key: string, value: string }{\n const values: string[] = value.split(':');\n\n if (values.length === 1) return { key: <string> this.config.fields[0].key, value: values[0] };\n return { key: values[0], value: values[1] };\n }\n\n protected emitValue(extraAction?: (key: string, value: string) => void): void{\n let flag: boolean = false;\n const f = this.form.getRawValue();\n const data: { [k: string]: any } = {};\n \n Object.keys(f).forEach((k: string) => {\n if (!f[k]) return;\n \n flag = true;\n data[k] = f[k];\n extraAction?.(k, f[k]);\n });\n this.onSearch.emit({ mode: this.config.mode, data: flag? data : null });\n }\n}\n","<ion-icon name=\"search\" class=\"fs-4 position-absolute\" />\n\n<div class=\"d-flex align-items-center form-control ps-5 py-0 pe-0 gap-3\">\n <div *ngIf=\"activeFilter.length > 0\" class=\"d-flex flex-grow-1 flex-shrink-0 tag-container gap-2 text-nowrap overflow-auto\">\n <div class=\"tag-item p-1 rounded d-flex align-items-center user-select-none\" *ngFor=\"let item of activeFilter; index as i\">\n <ion-icon name=\"close\" class=\"pe-1 me-1 cursor-pointer text-primary\" (click)=\"removeFilter(i);\" />\n {{ item.label }}\n </div>\n </div>\n\n <input #searchBox type=\"search\" placeholder=\"{{ placeholder }}\" class=\"flex-shrink-1 border-0 form-control ps-0 py-2\" [class.adv]=\"config.mode === 'advanced'\" (keyup.enter)=\"add();\" />\n</div>\n\n<ng-container *ngIf=\"config.mode === 'advanced'\">\n <ion-icon name=\"filter\" class=\"position-absolute fs-4 cursor-pointer\" id=\"filter-{{ id }}\" />\n <ion-icon name=\"close\" class=\"position-absolute fs-4 cursor-pointer\" (click)=\"clear();\" />\n\n <ion-popover trigger=\"filter-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"d-flex flex-column filter\">\n <div class=\"flex-shrink-0 border-bottom p-1 pe-4 d-flex align-items-center\">\n <ion-buttons>\n <ion-button size=\"small\" (click)=\"close()\">\n <ion-icon slot=\"icon-only\" name=\"close\" />\n </ion-button>\n </ion-buttons>\n \n <div class=\"fs-5 fw-medium\">Advanced Filter</div>\n </div>\n \n <form class=\"flex-grow-1 overflow-auto px-4\" [formGroup]=\"form\">\n <ng-container *ngFor=\"let c of config.fields\">\n <ng-container [ngSwitch]=\"c.type\">\n <up-input type=\"number\" autocomplete=\"off\" class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" *ngSwitchCase=\"'number'\" />\n \n <div class=\"my-4\" *ngSwitchCase=\"'checkbox'\">\n <ion-checkbox labelPlacement=\"end\" formControlName=\"{{ c.key }}\">{{ c.label }}</ion-checkbox>\n </div>\n \n <div class=\"d-flex gap-3 my-4\" *ngSwitchCase=\"'date-range'\">\n <up-date class=\"flex-grow-1\" name=\"filter-from\" label=\"{{ c.label[0] }}\" formControlName=\"{{ c.key[0] }}\" />\n <up-date class=\"flex-grow-1\" name=\"filter-to\" label=\"{{ c.label[1] }}\" formControlName=\"{{ c.key[1] }}\" />\n </div>\n \n <up-select class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" [items]=\"c.options!\" *ngSwitchCase=\"'select'\" />\n <up-searchable-select class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" [queryFunc]=\"c.getOptions!\" [initialItems]=\"c.options!\" *ngSwitchCase=\"'searchable-select'\" />\n \n <up-input type=\"text\" autocomplete=\"off\" class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" *ngSwitchDefault />\n </ng-container>\n </ng-container>\n </form>\n \n <div class=\"flex-shrink-0 py-3 px-4 border-top d-flex gap-3\">\n <ion-button class=\"flex-grow-1\" color=\"secondary\" (click)=\"form.reset();\">Reset</ion-button>\n <ion-button class=\"flex-grow-1\" color=\"primary\" (click)=\"search();\">Search</ion-button>\n </div>\n </div>\n </ng-template>\n </ion-popover> \n</ng-container>\n","import { Injectable } from '@angular/core';\nimport { GridApi } from '@ag-grid-community/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GridService {\n\n protected readonly apis: { [id: string]: GridApi } = {};\n\n public getApi(id: string): GridApi{ return this.apis[id]; }\n\n public setApi(id: string, api: GridApi): void{ this.apis[id] = api; }\n\n public refreshGridCache(id: string): void{\n this.apis[id].refreshInfiniteCache();\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ColDef, IDatasource, IGetRowsParams, ModuleRegistry, GridReadyEvent, DragStoppedEvent, SelectionChangedEvent, GridApi } from '@ag-grid-community/core';\nimport { AgGridModule } from '@ag-grid-community/angular';\nimport { InfiniteRowModelModule } from '@ag-grid-community/infinite-row-model';\nimport { GridConfig } from '../interfaces/grid-config.interface';\nimport { GridService } from '../services/grid.service';\n\n@Component({\n standalone: true,\n selector: 'up-snapshot-grid',\n templateUrl: './grid-snapshot.component.html',\n styleUrls: ['./grid-snapshot.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block h-100 w-100' \n },\n imports: [\n AgGridModule\n ]\n})\nexport class GridSnapshotComponent implements OnInit, OnDestroy {\n\n @Input() public id: `grid-${ string }` = 'grid-s';\n @Input({ required: true }) public config!: GridConfig;\n @Input() public rowSelection: 'single' | 'multiple' = 'single';\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSelectionChanged: EventEmitter<SelectionChangedEvent<any>> = new EventEmitter();\n public readonly defaultColDef: ColDef = { minWidth: 200, flex: 1, sortable: true, resizable: true, sortingOrder: [ 'asc', 'desc' ], cellStyle: { textAlign: 'left' }};\n protected readonly sort: { orderBy: string, order: string } = { order: '', orderBy: '' };\n protected count?: number;\n protected gridApi!: GridApi;\n protected subs?: Subscription;\n protected after?: string | null;\n\n constructor(\n protected readonly service: GridService\n ) {\n ModuleRegistry.register(InfiniteRowModelModule);\n }\n\n public ngOnInit(): void{\n if (!this.config.rowPerPage) this.config.rowPerPage = 50;\n\n this.config.noRowText = `<span class=\"f20\">${ this.config.noRowText?? 'Data not found' }</span>`;\n }\n\n public ngOnDestroy(): void{ this.subs?.unsubscribe(); }\n\n public clickRow(data: any): void{ this.onRowClick.emit(data.node); }\n\n public dragColumn({ columnApi }: DragStoppedEvent): void{ localStorage.setItem(this.id, JSON.stringify(columnApi.getColumnState())); }\n\n public changeSelected(data: SelectionChangedEvent<any>): void{ this.onSelectionChanged.emit(data); }\n\n public setDatasource(ev: GridReadyEvent): void{\n this.gridApi = ev.api;\n this.onGridReady.emit(ev);\n this.service.setApi(this.id, this.gridApi);\n\n const state = JSON.parse(localStorage.getItem(this.id) as any);\n if (state) ev.columnApi.applyColumnState({ state, applyOrder: true });\n\n this.reset();\n }\n\n public reset(): void{\n const datasource: IDatasource = {\n getRows: ({ sortModel: [{ colId, sort }], successCallback, failCallback }: IGetRowsParams) => {\n this.gridApi.showLoadingOverlay();\n\n if (colId !== this.sort.orderBy || sort !== this.sort.order) {\n this.sort.order = sort;\n this.sort.orderBy = colId;\n\n this.gridApi.paginationGoToFirstPage();\n }\n\n const page = this.gridApi.paginationGetCurrentPage();\n if (page === 0) this.after = null;\n\n this.subs = this.config.getDataSnapshot!(this.config.rowPerPage!, colId, sort, this.after).subscribe({\n next: ({ data, totalRecord }) => {\n this.gridApi.hideOverlay();\n\n const { edges, pageInfo } = data;\n if (edges.length > 0) this.after = pageInfo.endCursor;\n\n if (page === 0) {\n if (edges.length === 0) this.gridApi.showNoRowsOverlay();\n this.count = totalRecord;\n }\n\n if (!this.config.useTotalRecord && !pageInfo.hasNextPage) {\n this.count = (page * this.config.rowPerPage!) + edges.length;\n }\n successCallback(edges, this.count);\n },\n error: () => failCallback()\n });\n }\n };\n this.gridApi.setDatasource(datasource);\n }\n}\n","<ag-grid-angular class=\"ag-theme-balham h-100\"\n rowModelType=\"infinite\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n/>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ColDef, IDatasource, IGetRowsParams, ModuleRegistry, RowModelType, GridReadyEvent, DragStoppedEvent, SelectionChangedEvent, GridApi } from '@ag-grid-community/core';\nimport { InfiniteRowModelModule } from '@ag-grid-community/infinite-row-model';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport { AgGridModule } from '@ag-grid-community/angular';\nimport { GridConfig } from '../interfaces/grid-config.interface';\nimport { GridService } from '../services/grid.service';\n\n@Component({\n standalone: true,\n selector: 'up-pagination-grid',\n templateUrl: './grid-pagination.component.html',\n styleUrls: ['./grid-pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block h-100 w-100' \n },\n imports: [ \n AgGridModule \n ]\n})\nexport class GridPaginationComponent implements OnInit, OnDestroy {\n\n @Input({ required: true }) public config!: GridConfig;\n @Input() public rowData: any[] = [];\n @Input() public id: `grid-${ string }` = 'grid-p';\n @Input() public rowModelType: RowModelType = 'infinite';\n @Input() public rowSelection: 'single' | 'multiple' = 'single';\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSelectionChanged: EventEmitter<SelectionChangedEvent<any>> = new EventEmitter();\n public readonly defaultColDef: ColDef = { minWidth: 200, flex: 1, sortable: true, resizable: true, sortingOrder: [ 'asc', 'desc' ], cellStyle: { textAlign: 'left' }};\n protected count?: number;\n protected gridApi!: GridApi;\n protected subs?: Subscription;\n\n constructor(\n protected readonly service: GridService\n ) {}\n\n public ngOnInit(): void{\n ModuleRegistry.register(this.rowModelType === 'infinite'? InfiniteRowModelModule : ClientSideRowModelModule);\n\n if (!this.config.rowPerPage) this.config.rowPerPage = 50;\n this.config.noRowText = `<span class=\"f20\">${ this.config.noRowText?? 'Data not found' }</span>`;\n }\n\n public ngOnDestroy(): void{ this.subs?.unsubscribe(); }\n\n public clickRow(data: any): void{ this.onRowClick.emit(data); }\n\n public dragColumn({ columnApi }: DragStoppedEvent): void{ localStorage.setItem(this.id, JSON.stringify(columnApi.getColumnState())); }\n\n public changeSelected(data: SelectionChangedEvent<any>): void{ this.onSelectionChanged.emit(data); }\n\n public setDatasource(ev: GridReadyEvent): void{\n this.gridApi = ev.api;\n this.onGridReady.emit(ev);\n this.service.setApi(this.id, this.gridApi);\n\n const state = JSON.parse(localStorage.getItem(this.id) as any);\n if (state) ev.columnApi.applyColumnState({ state, applyOrder: true });\n\n if (this.rowModelType !== 'infinite') return;\n this.reset();\n }\n\n public reset(): void{\n if (!this.gridApi) return;\n\n const datasource: IDatasource = {\n getRows: ({ sortModel: [{ colId, sort }], successCallback, failCallback }: IGetRowsParams) => {\n this.gridApi.showLoadingOverlay();\n const offset = this.gridApi.paginationGetCurrentPage();\n\n this.subs = this.config.getData!(offset, this.config.rowPerPage!, colId, sort).subscribe({\n next: ({ data, totalRecord }) => {\n this.gridApi.hideOverlay();\n\n if (offset === 0) {\n if (data.length === 0) this.gridApi.showNoRowsOverlay();\n this.count = totalRecord;\n }\n\n if (!this.config.useTotalRecord && data.length < this.config.rowPerPage!) {\n this.count = (offset * this.config.rowPerPage!) + data.length;\n }\n successCallback(data, this.count);\n },\n error: () => failCallback()\n });\n }\n };\n \n this.gridApi?.setDatasource(datasource);\n }\n}\n","<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowData]=\"rowData\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n/>\n","import { Component, Attribute, Output, EventEmitter, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { ListContainerConfig } from '../interfaces/list-container-config.interface';\nimport { FilterSearchEvent } from '../../../filter/interfaces/filter-search-event.interface';\nimport { FilterComponent } from '../../../filter';\nimport { GridPaginationComponent } from '../../../grids';\n\n@Component({\n standalone: true,\n selector: 'up-list-pagination-container',\n templateUrl: './list-pagination-container.component.html',\n styleUrls: ['./list-pagination-container.component.scss'],\n host: {\n class: 'd-flex flex-column h-100 w-100'\n },\n imports: [\n IonicModule,\n CommonModule,\n RouterModule,\n FilterComponent,\n GridPaginationComponent\n ]\n})\nexport class ListPaginationContainerComponent {\n\n @Input({ required: true }) public config!: ListContainerConfig;\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n public gridId: `grid-${ string }` = `grid-${ this.id?? 'p' }`;\n protected gridApi!: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('title') public title: string,\n protected readonly router: Router\n ) { }\n\n public openDetail(data: any): void{ \n this.onRowClick.emit(data);\n this.router.navigate([ `${ this.config.baseUrl }${ data.guid }` ], { preserveFragment: true });\n }\n\n public setGridApi(ev: GridReadyEvent): void{ \n this.gridApi = ev.api; \n this.onGridReady.emit(ev);\n }\n\n public search(k: FilterSearchEvent): void{\n this.onSearch.emit(k);\n this.gridApi.refreshInfiniteCache();\n }\n}\n","<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ title }}</h3>\n\n <ion-button routerLink=\"{{ config.baseUrl }}create\" *ngIf=\"config.permissions.canCreate\">\n <ion-icon name=\"add\" slot=\"start\" />\n Create\n </ion-button>\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n","import { Component, Attribute, Output, EventEmitter, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { ListContainerConfig } from '../interfaces/list-container-config.interface';\nimport { FilterSearchEvent } from '../../../filter/interfaces/filter-search-event.interface';\nimport { FilterComponent } from '../../../filter';\nimport { GridSnapshotComponent } from '../../../grids';\n\n@Component({\n standalone: true,\n selector: 'up-list-snapshot-container',\n templateUrl: './list-snapshot-container.component.html',\n styleUrls: ['./list-snapshot-container.component.scss'],\n host: {\n class: 'd-flex flex-column h-100 w-100'\n },\n imports: [\n IonicModule,\n CommonModule,\n RouterModule,\n FilterComponent,\n GridSnapshotComponent\n ]\n})\nexport class ListSnapshotContainerComponent {\n\n @Input({ required: true }) public config!: ListContainerConfig;\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n public gridId: `grid-${ string }` = `grid-${ this.id?? 'p' }`;\n protected gridApi!: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('title') public title: string,\n protected readonly router: Router\n ) { }\n\n public openDetail(data: any): void{ \n this.onRowClick.emit(data);\n this.router.navigate([ `${ this.config.baseUrl }${ data.guid }` ], { preserveFragment: true });\n }\n\n public setGridApi(ev: GridReadyEvent): void{ \n this.gridApi = ev.api; \n this.onGridReady.emit(ev);\n }\n\n public search(k: FilterSearchEvent): void{\n this.onSearch.emit(k);\n \n this.gridApi.paginationGoToFirstPage();\n this.gridApi.purgeInfiniteCache();\n }\n}\n","<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ title }}</h3>\n\n <ion-button routerLink=\"{{ config.baseUrl }}create\" *ngIf=\"config.permissions.canCreate\">\n <ion-icon name=\"add\" slot=\"start\" />\n Create\n </ion-button>\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n","import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'up-tab-content',\n templateUrl: './tab-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'overflow-auto'\n }\n})\nexport class TabContentComponent {\n\n @HostBinding('class.flex-grow-1') public isActive: boolean = false;\n\n constructor(\n @Attribute('title') public title: string,\n @Attribute('fragment') public fragment: string,\n protected readonly ch: ChangeDetectorRef\n ) {}\n\n public toggleVisibility(s: boolean = true): void{ \n this.isActive = s;\n this.ch.markForCheck(); \n }\n}\n","<div [hidden]=\"!isActive\" class=\"h-100\">\n <ng-content />\n</div>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Output, QueryList } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TabContentComponent } from '../tab-content/tab-content.component';\n\n@Component({\n selector: 'up-tab-group',\n templateUrl: './tab-group.component.html',\n styleUrls: ['./tab-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex flex-column'\n }\n})\nexport class TabGroupComponent implements AfterContentInit {\n\n @Output() public readonly onChange: EventEmitter<string | null> = new EventEmitter();\n @ContentChildren(TabContentComponent, { descendants: true }) protected content!: QueryList<TabContentComponent>;\n public tabs: { label: string, fragment: string }[] = [];\n public activeFragment: string | null | undefined;\n\n constructor(\n protected readonly router: Router,\n protected readonly activeRoute: ActivatedRoute\n ) { }\n\n public ngAfterContentInit(): void{\n this.content.forEach(({ title, fragment }) => this.tabs.push({ fragment, label: title }));\n this.changeTab(this.activeRoute.snapshot.fragment);\n }\n\n public changeTab(f: string | null): void{\n this.onChange.emit(f);\n this.router.navigate([], { relativeTo: this.activeRoute, fragment: f || undefined, replaceUrl: true });\n \n let found: boolean = false;\n this.content.forEach((tab) => {\n if (tab.fragment !== f) tab.toggleVisibility(false);\n else {\n found = true;\n this.activeFragment = f;\n tab.toggleVisibility(true);\n } \n });\n \n if (!found) {\n this.content.get(0)!.toggleVisibility(true);\n this.activeFragment = this.content.get(0)!.fragment;\n }\n }\n}\n","<ion-segment [scrollable]=\"true\" [value]=\"activeFragment\" class=\"d-flex pb-4 flex-shrink-0\">\n <ion-segment-button *ngFor=\"let t of tabs\" class=\"rounded\" [value]=\"t.fragment\" (click)=\"changeTab(t.fragment)\">\n {{ t.label }}\n </ion-segment-button>\n</ion-segment>\n\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { TabGroupComponent } from './tab-group/tab-group.component';\nimport { TabContentComponent } from './tab-content/tab-content.component';\n\n@NgModule({\n imports: [\n IonicModule,\n CommonModule,\n ],\n declarations: [\n TabGroupComponent,\n TabContentComponent\n ],\n exports: [\n TabGroupComponent,\n TabContentComponent\n ]\n})\nexport class TabsComponentModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AuditTrail, AuditTrailCriteria } from './../../../../graphql/generated';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class AuditService {\n\n protected readonly baseAttr: string = `\n action\n createdAt\n description\n function\n guid\n msSource\n sourceIp\n user {\n name\n sourcePlatform\n status\n appLoginPrincipal {\n principalType\n principalId\n }\n }\n `;\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public query(input: AuditTrailCriteria, extraAttr: string = ''): Observable<ApolloQueryResult<{ auditMsAuditTrail: AuditTrail[] }>> {\n return this.apollo.query({\n variables: { input },\n query: gql`\n query QueryAudit($input: AuditTrailCriteria!) {\n auditMsAuditTrail(input: $input) {\n ${ this.baseAttr }\n ${ extraAttr }\n }\n }\n `\n });\n }\n}\n","import { Attribute, Component, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { map, of } from 'rxjs';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { AuditTagEnum, AuditTrail, AuditTrailCriteria } from './../../../../graphql/generated';\nimport { GridConfig } from '../../grids/interfaces/grid-config.interface';\nimport { FilterConfig } from '../../filter/interfaces/filter-config.interface';\nimport { FilterSearchEvent } from '../../filter/interfaces/filter-search-event.interface';\nimport { AuditService } from '../service/audit.service';\nimport { FilterComponent } from '../../filter';\nimport { GridPaginationComponent } from '../../grids/grid-pagination/grid-pagination.component';\n\n@Component({\n standalone: true,\n selector: 'up-audit-list',\n templateUrl: './audit-list.component.html',\n styleUrls: ['./audit-list.component.scss'],\n host: {\n class: 'd-flex flex-column h-100'\n },\n imports: [\n FilterComponent,\n GridPaginationComponent\n ]\n})\nexport class AuditListComponent implements OnChanges {\n\n @Input({ required: true }) public relatedEntities!: string[];\n @Input() public tagKeys!: AuditTagEnum[];\n @ViewChild(GridPaginationComponent) protected gridComponent!: GridPaginationComponent;\n public readonly filterConfig: FilterConfig = { mode: 'simple', fields: [{ key: 'description', label: '', type: 'text' }] };\n public readonly gridConfig: GridConfig = {\n useTotalRecord: false,\n noRowText: 'Audit not found',\n colDefs: [\n { headerName: 'User', field: 'user.name', sortable: false },\n { headerName: 'Description', field: 'description', minWidth: 350, sortable: false },\n { headerName: 'Created Date', field: 'createdAt', sort: 'desc', valueFormatter: ({ value }) => value? formatDate(value, 'dd MMM yyyy HH:mm', 'en-US') : '' }\n ],\n getData: (page: number, pageSize: number, sortBy: string, dir: 'asc' | 'desc') => {\n if (!this.criteria.tagValues) return of({ data: [] });\n\n this.criteria.page = page;\n this.criteria.sortBy = sortBy;\n this.criteria.pageSize = pageSize;\n this.criteria.sortDirection = dir;\n \n return this.service.query(this.criteria).pipe(\n map(({ data: { auditMsAuditTrail: data }}) => ({ data }))\n );\n },\n };\n protected readonly criteria: AuditTrailCriteria = { sortBy: 'createdAt', sortDirection: 'desc', page: 0, pageSize: 50 };\n protected gridApi?: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('mainUrl') protected url: string,\n protected readonly router: Router,\n protected readonly service: AuditService\n ) { }\n\n public ngOnChanges(e: SimpleChanges): void{\n if (e['tagKeys']) this.criteria.tagKeys = this.tagKeys;\n if (e['relatedEntities']) this.criteria.relatedEntities = this.relatedEntities;\n }\n\n public setGridApi({ api }: GridReadyEvent): void{ this.gridApi = api; }\n\n public rowClicked({ guid }: AuditTrail): void{\n this.router.navigate([ `${ this.url }/${ this.criteria.tagValues![0] }/audit/${ guid }` ], { preserveFragment: true });\n }\n\n public search({ data }: FilterSearchEvent): void{\n this.criteria.description = data?.description;\n this.gridComponent.reset();\n }\n\n public setGuid(guid: string): void{\n this.criteria.description = null;\n this.criteria.tagValues = [ guid ];\n this.gridComponent.reset(); \n }\n}\n","<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n","import { Component, OnDestroy } from '@angular/core';\nimport { CommonModule, formatDate } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { IonicModule, NavController } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { AuditTrail } from './../../../../graphql/generated';\nimport { AuditDetailForm } from '../types/audit-detail-form.type';\nimport { GridConfig } from '../../grids/interfaces/grid-config.interface';\nimport { AuditService } from '../service/audit.service';\nimport { FormInputComponent } from '../../forms/input/form-input.component';\nimport { FormTextareaComponent } from '../../forms/textarea/form-textarea.component';\nimport { GridPaginationComponent } from '../../grids/grid-pagination/grid-pagination.component';\nimport { TabsComponentModule } from '../../tabs/tabs.component.module';\n\n@Component({\n standalone: true,\n selector: 'up-audit-detail',\n templateUrl: './audit-detail.component.html',\n styleUrls: ['./audit-detail.component.scss'],\n imports: [\n CommonModule,\n IonicModule,\n GridPaginationComponent,\n TabsComponentModule,\n FormInputComponent,\n FormTextareaComponent,\n ReactiveFormsModule\n ]\n})\nexport class AuditDetailComponent implements OnDestroy {\n\n public readonly gridConfig: GridConfig = {\n useTotalRecord: false,\n colDefs: [\n { headerName: 'Attribute Name', field: 'attribute', sort: 'asc' },\n { headerName: 'Old Value', field: 'oldData' },\n { headerName: 'New Value', field: 'newData' }\n ]\n };\n public readonly form: FormGroup<AuditDetailForm> = this.fb.group<AuditDetailForm>({\n guid: new FormControl({ value: null, disabled: true}),\n action: new FormControl({ value: null, disabled: true}),\n description: new FormControl({ value: null, disabled: true}),\n userName: new FormControl({ value: null, disabled: true}),\n sourceIp: new FormControl({ value: null, disabled: true}),\n createdAt: new FormControl({ value: null, disabled: true}),\n msSource: new FormControl({ value: null, disabled: true}),\n sourcePlatform: new FormControl({ value: null, disabled: true}),\n function: new FormControl({ value: null, disabled: true}),\n });\n public data!: AuditTrail;\n public isLoading: boolean = true;\n protected guid: string = '';\n protected gridApi!: GridApi;\n protected sub?: Subscription;\n \n\n constructor(\n protected readonly fb: FormBuilder,\n protected readonly service: AuditService,\n protected readonly route: ActivatedRoute,\n protected readonly navCtrl: NavController\n ) { }\n\n public ngOnDestroy(): void{ this.sub?.unsubscribe(); }\n\n public setGridApi({ api }: GridReadyEvent): void{\n this.gridApi = api;\n this.getData();\n }\n\n public getData(): void{\n this.isLoading = true;\n const newGuid = this.route.children[0].snapshot.params['audit'];\n if (!newGuid || this.guid === newGuid) return;\n\n this.sub?.unsubscribe();\n this.gridApi?.showLoadingOverlay();\n\n this.guid = newGuid;\n this.sub = this.service.query({ guid: this.guid }, 'data tags { tagKey tagValue }').subscribe({\n next: ({ data: { auditMsAuditTrail: data }}) => {\n this.gridApi?.hideOverlay();\n\n if (data.length !== 1) {\n this.navCtrl.back();\n return;\n }\n\n const { guid, action, description, function: func, msSource, sourceIp, createdAt } = data[0];\n this.form.patchValue({\n guid,\n function: func, \n msSource, sourceIp,\n action, description,\n userName: data[0].user?.name,\n sourcePlatform: data[0].user?.sourcePlatform,\n createdAt: formatDate(createdAt, 'dd MMM yyyy HH:mm', 'en-US'),\n });\n\n this.isLoading = false;\n this.getChangedData(data[0].data);\n },\n error: () => this.navCtrl.back()\n });\n }\n\n protected getChangedData({ oldData, newData }: any): void{\n if (!newData || Array.isArray(JSON.parse(newData))) {\n this.gridApi.setRowData([]);\n return;\n }\n\n const objNewData = JSON.parse(newData);\n const changedData = Object.entries(oldData? JSON.parse(oldData) : JSON.parse(newData))\n .filter(([key, oldVal]) => JSON.stringify(oldData? oldVal : null) !== JSON.stringify(objNewData[key]) && !key.match(/update|created/))\n .map(([key, oldVal]) => ({\n attribute: key,\n oldData: oldData? this.formatData(oldVal) : null,\n newData: this.formatData(objNewData[key])\n })\n );\n\n this.gridApi.setRowData(changedData);\n }\n\n protected formatData(value: any): any{\n if (value === null) return value;\n if (typeof value === 'object') return JSON.stringify(value);\n if (this.isIsoDateString(value)) return formatDate(value, 'dd MMM yyyy HH:mm', 'en-US');\n return value;\n }\n\n protected isIsoDateString(str: string): boolean{\n const regex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,9})?Z$/;\n return regex.test(str);\n } \n}\n","<up-tab-group class=\"h-100\">\n <up-tab-content title=\"Detail\" fragment=\"detail\">\n <form [formGroup]=\"form\" class=\"px-4 pb-4\" *ngIf=\"!isLoading; else loading\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n\n <ng-template #loading>\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" *ngFor=\"let i of [0,1,2,3,4,5,6]\" />\n </ng-template> \n </up-tab-content>\n\n <up-tab-content title=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n","export type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n /** An RFC-3339 compliant Full Date Scalar */\n Date: { input: any; output: any; }\n /** A slightly refined version of RFC-3339 compliant DateTime Scalar */\n DateTime: { input: any; output: any; }\n Double: { input: any; output: any; }\n /** A JSON scalar */\n JSON: { input: any; output: any; }\n /** A 64-bit signed integer */\n Long: { input: any; output: any; }\n /** An object scalar */\n Object: { input: any; output: any; }\n /** A custom scalar that represents files */\n Upload: { input: any; output: any; }\n};\n\nexport type Agreement = {\n __typename?: 'Agreement';\n code?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AgreementQueryCriteria = {\n code?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport enum AlertTypeEnum {\n PasswordReset = 'PASSWORD_RESET',\n RequestNeeded = 'REQUEST_NEEDED'\n}\n\nexport type ApiCredential = {\n __typename?: 'ApiCredential';\n accessKey?: Maybe<Scalars['String']['output']>;\n activeAt?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n deletedAt?: Maybe<Scalars['String']['output']>;\n expiredAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n permission?: Maybe<Array<Maybe<AppPermDfn>>>;\n status?: Maybe<Scalars['String']['output']>;\n transactionalUser?: Maybe<AppLoginSubject>;\n version?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialFilterRq = {\n activeAt?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ApiCredentialFilterRs = {\n __typename?: 'ApiCredentialFilterRs';\n data?: Maybe<Array<Maybe<ApiCredential>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type ApiCredentialPrivate = {\n __typename?: 'ApiCredentialPrivate';\n guid?: Maybe<Scalars['String']['output']>;\n secret?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialRole = {\n __typename?: 'ApiCredentialRole';\n apiCredentialGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n roleGuid?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialRoleFilterRq = {\n apiCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n createdBy?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n roleGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ApiCredentialSpecialFilter = {\n accessKey?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type AppLoginPrincipal = {\n __typename?: 'AppLoginPrincipal';\n /** ... date time when user created */\n createdDate?: Maybe<Scalars['Date']['output']>;\n /** ... user creadential */\n credential?: Maybe<Scalars['String']['output']>;\n /** ... user principal identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... user principal id to store email or phone number */\n principalId?: Maybe<Scalars['String']['output']>;\n /** ... user principal type [EMAIL_USERNAME, MOBILE_USERNAME] */\n principalType?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user valid date end */\n sourcePlatform?: Maybe<SourcePlatform>;\n /** ... user status */\n status?: Maybe<PrincipalStatus>;\n /** ... date time when user last updated */\n updatedDate?: Maybe<Scalars['Date']['output']>;\n /** ... user valid date end */\n validDateEnd?: Maybe<Scalars['Date']['output']>;\n /** ... user valid date */\n validDateStart?: Maybe<Scalars['Date']['output']>;\n};\n\nexport type AppLoginRole = {\n __typename?: 'AppLoginRole';\n code?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['String']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isInternal?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AppLoginSubject = {\n __typename?: 'AppLoginSubject';\n /** ... user extension */\n appLoginExt?: Maybe<Array<Maybe<AppLoginSubjectExt>>>;\n /** ... user principal */\n appLoginPrincipal?: Maybe<Array<Maybe<AppLoginPrincipal>>>;\n /** ... date with format YYYY-MM-DD */\n birthday?: Maybe<Scalars['String']['output']>;\n /** ... user category */\n category?: Maybe<Scalars['String']['output']>;\n /** ... user company if any */\n company?: Maybe<Company>;\n /** ... date time when user created */\n createdDate?: Maybe<Scalars['String']['output']>;\n /** ... user gender */\n gender?: Maybe<Gender>;\n /** ... user unique identifier */\n guid?: Maybe<Scalars['String']['output']>;\n merchants?: Maybe<Array<Maybe<Merchant>>>;\n /** ... user full name */\n name?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user roles */\n roles?: Maybe<Array<Maybe<AppLoginRole>>>;\n /** ... soure platfrom where user registered */\n sourcePlatform?: Maybe<SourcePlatform>;\n /** ... user status */\n status?: Maybe<Status>;\n /** ... date time when user last updated */\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\n/** AppLoginSubject Connection */\nexport type AppLoginSubjectConnection = {\n __typename?: 'AppLoginSubjectConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<AppLoginSubjectEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** AppLoginSubject Edge */\nexport type AppLoginSubjectEdge = {\n __typename?: 'AppLoginSubjectEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<AppLoginSubject>;\n};\n\nexport type AppLoginSubjectExt = {\n __typename?: 'AppLoginSubjectExt';\n /** ... date time when extension created */\n createdDate?: Maybe<Scalars['String']['output']>;\n /** ... user extension code */\n extCode?: Maybe<Scalars['String']['output']>;\n /** ... user extension option */\n extOption?: Maybe<Scalars['String']['output']>;\n /** ... user extension type */\n extType?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n /** ... unique user extension identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... user guid to link column */\n loginSubjectGuid?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter code */\n paramCode?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter name */\n paramName?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter type */\n paramType?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user extension status */\n status?: Maybe<Status>;\n /** ... date time when extension last updated */\n updatedDate?: Maybe<Scalars['String']['output']>;\n /** ... can store datetime value */\n valueDatetime?: Maybe<Scalars['String']['output']>;\n /** ... can store file value */\n valueFile?: Maybe<Scalars['String']['output']>;\n /** ... can store json value */\n valueJson?: Maybe<Scalars['String']['output']>;\n /** ... can store numeric value */\n valueNumeric?: Maybe<Scalars['Int']['output']>;\n /** ... can store string value */\n valueString?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AppLoginSubjectExtRq = {\n /** ... user extension code */\n extCode?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension option */\n extOption?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension type */\n extType?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter code */\n paramCode?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter name */\n paramName?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter type */\n paramType?: InputMaybe<Scalars['String']['input']>;\n /** ... can store datetime value */\n valueDatetime?: InputMaybe<Scalars['String']['input']>;\n /** ... can store file value */\n valueFile?: InputMaybe<Scalars['String']['input']>;\n /** ... can store json value */\n valueJson?: InputMaybe<Scalars['String']['input']>;\n /** ... can store numeric value */\n valueNumeric?: InputMaybe<Scalars['Int']['input']>;\n /** ... can store string value */\n valueString?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum AppLoginSubjectSortByEnum {\n CreatedDate = 'createdDate',\n UpdatedDate = 'updatedDate'\n}\n\nexport type AppPermDfn = {\n __typename?: 'AppPermDfn';\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n parentId?: Maybe<Scalars['String']['output']>;\n permCode?: Maybe<Scalars['String']['output']>;\n permDescription?: Maybe<Scalars['String']['output']>;\n permModule?: Maybe<Scalars['String']['output']>;\n permName?: Maybe<Scalars['String']['output']>;\n permScope?: Maybe<Scalars['String']['output']>;\n permType?: Maybe<Scalars['String']['output']>;\n relatedMf?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApplyVacancyRq = {\n email?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n reason?: InputMaybe<Scalars['String']['input']>;\n vacancyGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Approval = {\n __typename?: 'Approval';\n approvalGroup?: Maybe<ApprovalGroup>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n data?: Maybe<Scalars['JSON']['output']>;\n entity?: Maybe<Scalars['String']['output']>;\n entityGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n permission?: Maybe<Scalars['String']['output']>;\n reason?: Maybe<Scalars['String']['output']>;\n remark?: Maybe<Scalars['String']['output']>;\n sourcePlatform?: Maybe<Scalars['String']['output']>;\n status?: Maybe<ApprovalStatusEnum>;\n type?: Maybe<ApprovalTypeEnum>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n urlToCall?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApprovalCriteria = {\n approvalGroupGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n approvalGroupName?: InputMaybe<Scalars['String']['input']>;\n entity?: InputMaybe<Array<Scalars['String']['input']>>;\n entityGuid?: InputMaybe<Array<Scalars['String']['input']>>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n permission?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n sourcePlatform?: InputMaybe<Array<Scalars['String']['input']>>;\n status?: InputMaybe<Array<ApprovalStatusEnum>>;\n type?: InputMaybe<Array<ApprovalTypeEnum>>;\n};\n\nexport type ApprovalGroup = {\n __typename?: 'ApprovalGroup';\n UpdatedAt?: Maybe<Scalars['DateTime']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum ApprovalStatusEnum {\n Approved = 'APPROVED',\n Declined = 'DECLINED',\n Pending = 'PENDING'\n}\n\nexport enum ApprovalTypeEnum {\n Creation = 'CREATION',\n Deletion = 'DELETION',\n Linkage = 'LINKAGE',\n Unlink = 'UNLINK',\n Update = 'UPDATE'\n}\n\nexport type AttachPermRq = {\n /** permission identifier */\n permsGuid: Array<InputMaybe<Scalars['String']['input']>>;\n /** role identifier */\n roleGuid: Scalars['String']['input'];\n};\n\nexport type AuditTag = {\n __typename?: 'AuditTag';\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n relatedEntity?: Maybe<Scalars['String']['output']>;\n tagKey: Scalars['String']['output'];\n tagValue?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum AuditTagEnum {\n AuthMsCredentialCreate = 'AUTH_MS_CREDENTIAL_CREATE',\n AuthMsCredentialDelete = 'AUTH_MS_CREDENTIAL_DELETE',\n AuthMsCredentialToRoleLink = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK',\n AuthMsCredentialToRoleLinkCredentialNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK_CREDENTIAL_NOT_FOUND',\n AuthMsCredentialToRoleLinkRoleNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsCredentialToRoleUnlink = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK',\n AuthMsCredentialToRoleUnlinkCredentialNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_CREDENTIAL_NOT_FOUND',\n AuthMsCredentialToRoleUnlinkCredentialRoleLinkNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_CREDENTIAL_ROLE_LINK_NOT_FOUND',\n AuthMsCredentialToRoleUnlinkRoleNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsCredentialUpdate = 'AUTH_MS_CREDENTIAL_UPDATE',\n AuthMsPermissionCreate = 'AUTH_MS_PERMISSION_CREATE',\n AuthMsPermissionCreatePermissionAlreadyExists = 'AUTH_MS_PERMISSION_CREATE_PERMISSION_ALREADY_EXISTS',\n AuthMsPermissionDelete = 'AUTH_MS_PERMISSION_DELETE',\n AuthMsPermissionDeletePermissionNotFound = 'AUTH_MS_PERMISSION_DELETE_PERMISSION_NOT_FOUND',\n AuthMsPermissionDeleteRoleAttached = 'AUTH_MS_PERMISSION_DELETE_ROLE_ATTACHED',\n AuthMsPermissionImport = 'AUTH_MS_PERMISSION_IMPORT',\n AuthMsPermissionToRoleLink = 'AUTH_MS_PERMISSION_TO_ROLE_LINK',\n AuthMsPermissionToRoleLinkPermissionAlreadyExists = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_PERMISSION_ALREADY_EXISTS',\n AuthMsPermissionToRoleLinkPermissionEmpty = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_PERMISSION_EMPTY',\n AuthMsPermissionToRoleLinkRoleNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsPermissionToRoleUnlink = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK',\n AuthMsPermissionToRoleUnlinkPermissionEmpty = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_PERMISSION_EMPTY',\n AuthMsPermissionToRoleUnlinkPermissionNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_PERMISSION_NOT_FOUND',\n AuthMsPermissionToRoleUnlinkRoleNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsPermissionUpdate = 'AUTH_MS_PERMISSION_UPDATE',\n AuthMsPermissionUpdatePermissionNotFound = 'AUTH_MS_PERMISSION_UPDATE_PERMISSION_NOT_FOUND',\n AuthMsRoleCreate = 'AUTH_MS_ROLE_CREATE',\n AuthMsRoleCreateRoleAlreadyExists = 'AUTH_MS_ROLE_CREATE_ROLE_ALREADY_EXISTS',\n AuthMsRoleDelete = 'AUTH_MS_ROLE_DELETE',\n AuthMsRoleDeleteRoleAttached = 'AUTH_MS_ROLE_DELETE_ROLE_ATTACHED',\n AuthMsRoleDeleteRoleNotFound = 'AUTH_MS_ROLE_DELETE_ROLE_NOT_FOUND',\n AuthMsRoleUpdate = 'AUTH_MS_ROLE_UPDATE',\n AuthMsRoleUpdateRoleNotFound = 'AUTH_MS_ROLE_UPDATE_ROLE_NOT_FOUND',\n AuthMsUserLogin = 'AUTH_MS_USER_LOGIN',\n AuthMsUserLoginPasswordNotMatch = 'AUTH_MS_USER_LOGIN_PASSWORD_NOT_MATCH',\n AuthMsUserLoginUserNotConfirmed = 'AUTH_MS_USER_LOGIN_USER_NOT_CONFIRMED',\n AuthMsUserLoginUserNotFound = 'AUTH_MS_USER_LOGIN_USER_NOT_FOUND',\n AuthMsUserLoginUserNotRegistered = 'AUTH_MS_USER_LOGIN_USER_NOT_REGISTERED',\n AuthMsUserLogout = 'AUTH_MS_USER_LOGOUT',\n AuthMsUserToRoleLink = 'AUTH_MS_USER_TO_ROLE_LINK',\n AuthMsUserToRoleLinkRoleNotFound = 'AUTH_MS_USER_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsUserToRoleLinkUserNotFound = 'AUTH_MS_USER_TO_ROLE_LINK_USER_NOT_FOUND',\n AuthMsUserToRoleUnlink = 'AUTH_MS_USER_TO_ROLE_UNLINK',\n AuthMsUserToRoleUnlinkRolesToUsersNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_ROLES_TO_USERS_NOT_FOUND',\n AuthMsUserToRoleUnlinkRoleNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsUserToRoleUnlinkUserNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_USER_NOT_FOUND',\n ProductMsProductCreate = 'PRODUCT_MS_PRODUCT_CREATE',\n ProductMsProductUpdate = 'PRODUCT_MS_PRODUCT_UPDATE',\n ProductMsProductUpdateProductNotFound = 'PRODUCT_MS_PRODUCT_UPDATE_PRODUCT_NOT_FOUND'\n}\n\nexport type AuditTagRq = {\n relatedEntity?: InputMaybe<Scalars['String']['input']>;\n tagKey: Scalars['String']['input'];\n tagValue?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuditTrail = {\n __typename?: 'AuditTrail';\n action?: Maybe<Scalars['String']['output']>;\n class?: Maybe<Scalars['String']['output']>;\n codeLine?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n data?: Maybe<Scalars['JSON']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n function?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isActionTaken?: Maybe<Scalars['Boolean']['output']>;\n isSystemGenerated?: Maybe<Scalars['Boolean']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n msSource?: Maybe<Scalars['String']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n tags?: Maybe<Array<Maybe<AuditTag>>>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type AuditTrailCriteria = {\n /** ... audit action */\n action?: InputMaybe<Scalars['String']['input']>;\n /** ... class in microservice that send audit */\n class?: InputMaybe<Scalars['String']['input']>;\n /** ... code line in microservice that send audit */\n codeLine?: InputMaybe<Scalars['String']['input']>;\n /** ... country code */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n /** ... audit description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... function in microservice that send audit */\n function?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... merchant guid */\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... microservice where audit from */\n msSource?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n /** ... related enitity changes */\n relatedEntities?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... user ip that make changes */\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n /** ... tags key */\n tagKeys?: InputMaybe<Array<InputMaybe<AuditTagEnum>>>;\n /** ... tags value */\n tagValues?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... user guid that make changes */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthSettings = {\n __typename?: 'AuthSettings';\n /** ... Setting code */\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n /** ... user that create this setting */\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n /** ... Setting identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... Setting name */\n name?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n /** ... last user that update this setting */\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n /** ... Setting value */\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AuthSettingsFilter = {\n code?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthSettingsWithFilterRs = {\n __typename?: 'AuthSettingsWithFilterRs';\n data?: Maybe<Array<Maybe<AuthSettings>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type AuthorHistoricalSlug = {\n __typename?: 'AuthorHistoricalSlug';\n cmsUserGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n slug?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AuthorHistoricalSlugCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n slug?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthorHistoricalSlugResult = {\n __typename?: 'AuthorHistoricalSlugResult';\n data: Array<Maybe<AuthorHistoricalSlug>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type BookmarksQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ChangePassRq = {\n /** ... new password to replace registered password */\n newPassword: Scalars['String']['input'];\n /** ... old registered password */\n oldPassword: Scalars['String']['input'];\n};\n\nexport type Channel = {\n __typename?: 'Channel';\n guid?: Maybe<Scalars['String']['output']>;\n max?: Maybe<Scalars['String']['output']>;\n min?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n price?: Maybe<Scalars['String']['output']>;\n providerChannelCode?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CheckoutRequest = {\n amount?: InputMaybe<Scalars['String']['input']>;\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n denomGuid?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productId?: InputMaybe<Scalars['String']['input']>;\n txnAmount?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CheckoutResponse = {\n __typename?: 'CheckoutResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsBookmarks = {\n __typename?: 'CmsBookmarks';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n /** Bookmarked Post. */\n posts?: Maybe<Array<Maybe<CmsPost>>>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsCommentReaction = {\n __typename?: 'CmsCommentReaction';\n commentGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n lastCount?: Maybe<Scalars['String']['output']>;\n mutation?: Maybe<Scalars['String']['output']>;\n newCount?: Maybe<Scalars['Int']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n reactionType?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsLockPost = {\n __typename?: 'CmsLockPost';\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Long']['output']>;\n user?: Maybe<AppLoginSubject>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsLockPostQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPost = {\n __typename?: 'CmsPost';\n author?: Maybe<CmsUser>;\n authorGuid?: Maybe<Scalars['String']['output']>;\n authorName?: Maybe<Scalars['String']['output']>;\n /** Bookmark status based on user guid in Authorization header */\n bookmarkStatus?: Maybe<CmsBookmarks>;\n /** Category terms of the post */\n categories?: Maybe<Array<Maybe<CmsPostTerm>>>;\n commentCount?: Maybe<Scalars['Int']['output']>;\n /** Open/Closed post comment status */\n commentStatus?: Maybe<Scalars['String']['output']>;\n /** Comments of the post */\n comments?: Maybe<Array<Maybe<CmsPostComment>>>;\n /** Video thumbnail/Live thumbnail */\n contentOption?: Maybe<ContentOption>;\n country?: Maybe<Country>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n expiredAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n /** Pin or un-pin a post */\n isPinned?: Maybe<Scalars['Boolean']['output']>;\n lockPost?: Maybe<LockPost>;\n /** Content of the post */\n postBody?: Maybe<Scalars['String']['output']>;\n /** Ext of the post */\n postExt?: Maybe<Array<Maybe<CmsPostExt>>>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: Maybe<Scalars['String']['output']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: Maybe<Scalars['String']['output']>;\n postTitle?: Maybe<Scalars['String']['output']>;\n publishedAt?: Maybe<Scalars['DateTime']['output']>;\n /** Reaction status of the post */\n reactionStatus?: Maybe<Array<Maybe<CmsReactionStatus>>>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n /** Tag terms of the post */\n tags?: Maybe<Array<Maybe<CmsPostTerm>>>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n /** Video/Live content option source */\n videoSource?: Maybe<Scalars['String']['output']>;\n /** views of the post */\n views?: Maybe<CmsPostViewsRecord>;\n};\n\nexport type CmsPostComment = {\n __typename?: 'CmsPostComment';\n /** User browser information */\n commentAgent?: Maybe<Scalars['String']['output']>;\n commentAuthor?: Maybe<AppLoginSubject>;\n commentAuthorEmail: Scalars['String']['output'];\n commentAuthorIp: Scalars['String']['output'];\n commentAuthorName: Scalars['String']['output'];\n commentContent: Scalars['String']['output'];\n commentCount?: Maybe<Scalars['Int']['output']>;\n commentEmojiNo?: Maybe<Scalars['Int']['output']>;\n commentParentGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: APPROVED/UNAPPROVED */\n commentStatus: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n createdByGuid: Scalars['String']['output'];\n guid: Scalars['String']['output'];\n postGuid?: Maybe<Scalars['String']['output']>;\n /** Reaction status of the comment */\n reactionStatus?: Maybe<Array<Maybe<CmsReactionStatus>>>;\n revision: Scalars['String']['output'];\n status: Scalars['String']['output'];\n updatedAt: Scalars['DateTime']['output'];\n updatedByGuid: Scalars['String']['output'];\n};\n\nexport type CmsPostCommentFilter = {\n /** User browser information */\n commentAgent?: InputMaybe<Scalars['String']['input']>;\n commentAuthorEmail?: InputMaybe<Scalars['String']['input']>;\n commentAuthorGuid?: InputMaybe<Scalars['String']['input']>;\n commentAuthorIp?: InputMaybe<Scalars['String']['input']>;\n commentAuthorName?: InputMaybe<Scalars['String']['input']>;\n commentContent?: InputMaybe<Scalars['String']['input']>;\n commentEmojiNo?: InputMaybe<Scalars['Int']['input']>;\n commentParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: APPROVED/UNAPPROVED */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostCommentResult = {\n __typename?: 'CmsPostCommentResult';\n data: Array<Maybe<CmsPostComment>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\n/** CmsPost Connection */\nexport type CmsPostConnection = {\n __typename?: 'CmsPostConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<CmsPostEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** CmsPost Edge */\nexport type CmsPostEdge = {\n __typename?: 'CmsPostEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<CmsPost>;\n};\n\nexport type CmsPostExt = {\n __typename?: 'CmsPostExt';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n extType?: Maybe<Scalars['String']['output']>;\n /** Guid value referencing to Amazon S3 image file */\n extValue?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostExtQueryCriteria = {\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n extType?: InputMaybe<Scalars['String']['input']>;\n /** Guid value referencing to Amazon S3 image file */\n extValue?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostFilter = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n authorName?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n pageSize?: Scalars['Int']['input'];\n /** Content of the post */\n postBody?: InputMaybe<Scalars['String']['input']>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: InputMaybe<Scalars['String']['input']>;\n postTitle?: InputMaybe<Scalars['String']['input']>;\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n sortBy: CmsPostSortByEnum;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n /** Search by termName: Name of the Category/Post tag */\n termName?: InputMaybe<Scalars['String']['input']>;\n /** Search by termType, possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostFilterPublic = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n pageSize?: Scalars['Int']['input'];\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n sortBy: CmsPostPublicSortByEnum;\n sortDirection?: Scalars['String']['input'];\n /** Search by termName: Name of the Category/Post tag */\n termName?: InputMaybe<Scalars['String']['input']>;\n /** Search by termType, possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CmsPostPublicSortByEnum {\n PublishedAt = 'publishedAt'\n}\n\nexport type CmsPostResult = {\n __typename?: 'CmsPostResult';\n data: Array<Maybe<CmsPost>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum CmsPostSortByEnum {\n ExpiredAt = 'expiredAt',\n PublishedAt = 'publishedAt',\n UpdatedAt = 'updatedAt'\n}\n\nexport type CmsPostTerm = {\n __typename?: 'CmsPostTerm';\n createdAt: Scalars['DateTime']['output'];\n createdByGuid: Scalars['String']['output'];\n guid: Scalars['String']['output'];\n isHidden?: Maybe<Scalars['Boolean']['output']>;\n /** Cms Posts under selected Term */\n posts?: Maybe<Array<Maybe<CmsPost>>>;\n revision: Scalars['String']['output'];\n status: Scalars['String']['output'];\n termDescription?: Maybe<Scalars['String']['output']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName: Scalars['String']['output'];\n termParentGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n updatedAt: Scalars['DateTime']['output'];\n updatedByGuid: Scalars['String']['output'];\n urlKey?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostTermFilter = {\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName?: InputMaybe<Scalars['String']['input']>;\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<TermType>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostTermRelationship = {\n __typename?: 'CmsPostTermRelationship';\n guid: Scalars['String']['output'];\n postGuid: Scalars['String']['output'];\n termGuid: Scalars['String']['output'];\n /** Category/Post tag ordering */\n termOrder: Scalars['Int']['output'];\n};\n\nexport type CmsPostTermRelationshipQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n termGuid?: InputMaybe<Scalars['String']['input']>;\n /** Category/Post tag ordering */\n termOrder?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type CmsPostTermResult = {\n __typename?: 'CmsPostTermResult';\n data: Array<Maybe<CmsPostTerm>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsPostViews = {\n __typename?: 'CmsPostViews';\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostViewsCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostViewsRecord = {\n __typename?: 'CmsPostViewsRecord';\n totalCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsPostViewsResult = {\n __typename?: 'CmsPostViewsResult';\n data: Array<Maybe<CmsPostViews>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsReactionCriteria = {\n commentGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isMutation?: InputMaybe<Scalars['Boolean']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: LIKE, HEART */\n reactionType?: InputMaybe<ReactionType>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsReactionResult = {\n __typename?: 'CmsReactionResult';\n data: Array<Maybe<CmsCommentReaction>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsReactionStatus = {\n __typename?: 'CmsReactionStatus';\n /** Possible value: 1= LIKE/HEART, -1= UNLIKE/UNHEART, null */\n mutation?: Maybe<Scalars['Int']['output']>;\n /** Possible value: LIKE, HEART */\n reactionType?: Maybe<Scalars['String']['output']>;\n totalCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsUser = {\n __typename?: 'CmsUser';\n authUserGuid?: Maybe<Scalars['String']['output']>;\n bio?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n url?: Maybe<Scalars['String']['output']>;\n userName?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsUserFilter = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n picture?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CommentStatus {\n Approved = 'APPROVED',\n Unapproved = 'UNAPPROVED'\n}\n\nexport type Company = {\n __typename?: 'Company';\n /** ... company code */\n code?: Maybe<Scalars['String']['output']>;\n /** ... company country */\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n /** ... user that create this company */\n createdBy?: Maybe<AppLoginSubject>;\n /** ... company description */\n description?: Maybe<Scalars['String']['output']>;\n /** ... company displayed name */\n displayName?: Maybe<Scalars['String']['output']>;\n /** ... Company identifier */\n guid?: Maybe<Scalars['String']['output']>;\n isInternal?: Maybe<Scalars['Boolean']['output']>;\n /** ... company name */\n name?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... company status */\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n /** ... last user that update this company */\n updatedBy?: Maybe<AppLoginSubject>;\n};\n\nexport type CompanyFilter = {\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n displayName?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CompanyWithFilterRs = {\n __typename?: 'CompanyWithFilterRs';\n data?: Maybe<Array<Maybe<Company>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ContentOption {\n LiveThumbnail = 'LIVE_THUMBNAIL',\n VideoThumbnail = 'VIDEO_THUMBNAIL'\n}\n\nexport type ContractTemplate = {\n __typename?: 'ContractTemplate';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n details?: Maybe<Array<ContractTemplateDetail>>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ContractTemplateCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n /** ... for filter by name ilike */\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n productSelection?: InputMaybe<ProductSelectionEnum>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type ContractTemplateDetail = {\n __typename?: 'ContractTemplateDetail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentProvider?: Maybe<PaymentProvider>;\n product?: Maybe<ProductPage>;\n productDenom?: Maybe<ProductDenomination>;\n productSelection?: Maybe<ProductSelectionEnum>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ContractTemplateDetailCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentProviderGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productDenomGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productSelection?: InputMaybe<ProductSelectionEnum>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type ContractTemplateDetailRs = PageableRs & {\n __typename?: 'ContractTemplateDetailRs';\n data?: Maybe<Array<ContractTemplateDetail>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type ContractTemplateRs = PageableRs & {\n __typename?: 'ContractTemplateRs';\n data?: Maybe<Array<ContractTemplate>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type Country = {\n __typename?: 'Country';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n defaultLangCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n langCodes?: Maybe<Array<Maybe<LangCode>>>;\n name?: Maybe<Scalars['String']['output']>;\n phoneCodes?: Maybe<Array<Maybe<PhoneCode>>>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type CountryQueryCriteria = {\n code?: InputMaybe<Array<Scalars['String']['input']>>;\n defaultLangCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Array<Scalars['String']['input']>>;\n langCode?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n phoneCode?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CountryResult = {\n __typename?: 'CountryResult';\n data: Array<Maybe<Country>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CreateApiCredentialRoleRq = {\n apiCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n createdBy?: InputMaybe<Scalars['String']['input']>;\n roleGuid?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateApiCredentialRq = {\n accessKey?: InputMaybe<Scalars['String']['input']>;\n activeAt?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n secret?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionalUserGuid?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateApprovalRq = {\n approvalGroupGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... required valid json string */\n data?: InputMaybe<Scalars['String']['input']>;\n entity: Scalars['String']['input'];\n entityGuid: Scalars['String']['input'];\n permission: Scalars['String']['input'];\n remark?: InputMaybe<Scalars['String']['input']>;\n sourcePlatform: Scalars['String']['input'];\n type: ApprovalTypeEnum;\n urlToCall: Scalars['String']['input'];\n};\n\nexport type CreateAuditTrailRq = {\n action?: InputMaybe<Scalars['String']['input']>;\n class?: InputMaybe<Scalars['String']['input']>;\n codeLine?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n data?: InputMaybe<Scalars['JSON']['input']>;\n description: Scalars['String']['input'];\n function?: InputMaybe<Scalars['String']['input']>;\n isSystemGenerated?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n msSource: Scalars['String']['input'];\n sourceIp: Scalars['String']['input'];\n tags?: InputMaybe<Array<InputMaybe<AuditTagRq>>>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateAuthSettingRq = {\n /** ... Setting code (not editable) */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting value */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateAuthorHistoricalSlugRq = {\n slug: Scalars['String']['input'];\n userGuid: Scalars['String']['input'];\n};\n\nexport type CreateBookmarkRq = {\n /** Post Guid that going to be saved. */\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** User Guid that saving the post. */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostCommentRq = {\n commentContent: Scalars['String']['input'];\n commentParentGuid?: InputMaybe<Scalars['String']['input']>;\n postGuid: Scalars['String']['input'];\n};\n\nexport type CreateCmsPostExtRq = {\n created_at?: InputMaybe<Scalars['DateTime']['input']>;\n created_by_guid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n ext_type: Scalars['String']['input'];\n /** Guid value referencing to Amazon S3 image file */\n ext_value: Scalars['String']['input'];\n post_guid: Scalars['String']['input'];\n status: Scalars['String']['input'];\n updated_at?: InputMaybe<Scalars['DateTime']['input']>;\n updated_by_guid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostRq = {\n authorGuid: Scalars['String']['input'];\n authorName?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus: Scalars['String']['input'];\n /** Video thumbnail/Live thumbnail */\n contentOption?: InputMaybe<ContentOption>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n /** Content of the post */\n postBody: Scalars['String']['input'];\n /** Terms-Category guid of the post */\n postCategoryGuid: Scalars['String']['input'];\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus: Scalars['String']['input'];\n /** Terms-PostTag names of the post */\n postTagNames: Array<InputMaybe<Scalars['String']['input']>>;\n postTitle: Scalars['String']['input'];\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** The part of a static URL that describes the post */\n urlKey: Scalars['String']['input'];\n /** Video/Live content option source */\n videoSource?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostTermRelationshipRq = {\n postGuid: Scalars['String']['input'];\n termGuid: Scalars['String']['input'];\n /** Category/Post tag ordering */\n termOrder: Scalars['Int']['input'];\n};\n\nexport type CreateCmsPostTermRq = {\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName: Scalars['String']['input'];\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsReactionRq = {\n commentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: true = LIKE/HEART , false = UNLIKE/UNHEART */\n isMutation: Scalars['Boolean']['input'];\n postGuid: Scalars['String']['input'];\n /** Possible value: LIKE, HEART */\n reactionType: ReactionType;\n userGuid: Scalars['String']['input'];\n};\n\nexport type CreateCmsUserRq = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n picture?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCompanyRq = {\n /** ... company code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... company country */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n /** ... company description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... company displayed name */\n displayName?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... company name */\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateConsentToAgreeRq = {\n historyAgreementGuid?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateContractTemplateRq = {\n contractTemplateDetailGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n name: Scalars['String']['input'];\n};\n\nexport type CreateHistoryAgreementRq = {\n agreementCode?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n publishDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type CreateMerchantContractRq = {\n contractTemplateGuid: Scalars['String']['input'];\n merchantGuid: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type CreateMerchantPaymentDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMerchantPaymentProviderRq = {\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n providerGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMerchantRq = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMessageTemplateRq = {\n /** ... message id */\n messageId: Scalars['String']['input'];\n /** ... base64 encoded html or message template */\n value: Scalars['String']['input'];\n};\n\nexport type CreateNotificationAlertRq = {\n description: Scalars['String']['input'];\n receiverCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n receiverGuid?: InputMaybe<Scalars['String']['input']>;\n receiverMerchantGuid?: InputMaybe<Scalars['String']['input']>;\n receiverPermissionCode?: InputMaybe<Scalars['String']['input']>;\n status: NotifAlertStatusEnum;\n targetGuid: Scalars['String']['input'];\n targetType: Scalars['String']['input'];\n title: Scalars['String']['input'];\n type: AlertTypeEnum;\n};\n\nexport type CreatePaymentChannelDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n payamentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePaymentChannelGuidelineRq = {\n paymentChannelGuid: Scalars['String']['input'];\n postGuid: Scalars['String']['input'];\n};\n\nexport type CreatePaymentChannelRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n charge?: InputMaybe<Scalars['Float']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid: Scalars['String']['input'];\n contractorCompanyGuid: Scalars['String']['input'];\n countryCode?: InputMaybe<Scalars['String']['input']>;\n field?: InputMaybe<Scalars['String']['input']>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<PaymentChannelMetaField>>>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n parameter?: InputMaybe<Scalars['String']['input']>;\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n requiredFieldJson?: InputMaybe<Array<InputMaybe<RequiredField>>>;\n route?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid: Scalars['String']['input'];\n vatPercentage?: InputMaybe<Scalars['Float']['input']>;\n};\n\nexport type CreatePaymentProviderRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePermRq = {\n /** ... permission parent identifier */\n parentId?: InputMaybe<Scalars['String']['input']>;\n /** ... permission code */\n permCode: Scalars['String']['input'];\n /** ... permission description */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... permission module */\n permModule: Scalars['String']['input'];\n /** ... permission name */\n permName: Scalars['String']['input'];\n /** ... permission scope */\n permScope: Scalars['String']['input'];\n /** ... permission type eX: WRITE, READ, etc */\n permType: Scalars['String']['input'];\n /** ... related micro frontend */\n relatedMf?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePostHistoricalSlugRq = {\n postGuid: Scalars['String']['input'];\n slug: Scalars['String']['input'];\n};\n\nexport type CreateProductDenominationRq = {\n adjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n imageGuid?: InputMaybe<Scalars['String']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateProductPageRq = {\n advanceSearch?: InputMaybe<Scalars['String']['input']>;\n category: ProductPageCategory;\n communityLink?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n downloadLink?: InputMaybe<Scalars['String']['input']>;\n gameCenterImage?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Scalars['String']['input']>;\n gameParentCode?: InputMaybe<Scalars['String']['input']>;\n huaweiDownloadLink?: InputMaybe<Scalars['String']['input']>;\n iconGuid?: InputMaybe<Scalars['String']['input']>;\n influencerLink?: InputMaybe<Scalars['String']['input']>;\n iosDownloadLink?: InputMaybe<Scalars['String']['input']>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n metaDescription?: InputMaybe<Scalars['String']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<ProductPageMetaField>>>;\n metaTitle?: InputMaybe<Scalars['String']['input']>;\n officialSiteLink?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n requiredFieldJson?: InputMaybe<Array<InputMaybe<RequiredField>>>;\n route?: InputMaybe<Scalars['String']['input']>;\n schemaMarkUp?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n topUpGuideLink?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateProductPriceListRq = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid: Scalars['String']['input'];\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n price?: InputMaybe<Scalars['Int']['input']>;\n priority: Scalars['Int']['input'];\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n type: PriceListType;\n};\n\nexport type CreateRateCardTemplateDetailsRq = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n magnifyValue: Scalars['Int']['input'];\n minimumRate: Scalars['Int']['input'];\n name: Scalars['String']['input'];\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority: Scalars['Int']['input'];\n rate: Scalars['Float']['input'];\n rateLogic: RateLogic;\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n};\n\nexport type CreateRateCardTemplateRq = {\n code: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type CreateRoleRq = {\n /** ... role code */\n code: Scalars['String']['input'];\n /** ... role description */\n description?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... role name */\n name: Scalars['String']['input'];\n};\n\nexport type CreateSuspiciousTagRq = {\n actionCode?: InputMaybe<Scalars['String']['input']>;\n actionJson?: InputMaybe<Scalars['JSON']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n intervalParam?: InputMaybe<Scalars['String']['input']>;\n targetCode?: InputMaybe<Scalars['String']['input']>;\n threshold?: InputMaybe<Scalars['Int']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateTemplateDetailRq = {\n paymentProviderGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productSelection?: ProductSelectionEnum;\n};\n\nexport type CreateUserRq = {\n /** ... email to register user [Optional] */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... user gender [MALE/FEMALE] */\n gender: Gender;\n /** ... mobile nunber to register user [Optional] */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user full name */\n name: Scalars['String']['input'];\n};\n\nexport type CreateVacancyRq = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateVacancySettingsRq = {\n name?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type CreateVoucherGroupRq = {\n /** Currency */\n currency?: InputMaybe<Scalars['String']['input']>;\n /** to magnify value above before display to user */\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n /** Name of voucher group */\n name?: InputMaybe<Scalars['String']['input']>;\n /** Voucher that have pin, this one to set the pattern */\n pinPattern: Scalars['JSON']['input'];\n /** Voucher that have serial, this one to set the pattern */\n serialPattern: Scalars['JSON']['input'];\n /** Type of voucher group */\n type?: InputMaybe<VoucherGroupType>;\n /** Voucher price to check when redeem */\n value?: InputMaybe<Scalars['Int']['input']>;\n /** Code for API type voucher only */\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateVoucherRq = {\n /** voucher activation pin */\n activationPin?: InputMaybe<Scalars['String']['input']>;\n /** voucher name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** start date for this voucher able to redeemed */\n redeemableFrom?: InputMaybe<Scalars['DateTime']['input']>;\n /** end date for this voucher able to redeemed */\n redeemableTo?: InputMaybe<Scalars['DateTime']['input']>;\n /** voucher serial number */\n serialNumber?: InputMaybe<Scalars['String']['input']>;\n /** voucher softpin */\n softpin?: InputMaybe<Scalars['String']['input']>;\n /** voucher url key */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n /** voucher group associated with this voucher */\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateWebConfigRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Currency = {\n __typename?: 'Currency';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type CurrencyQueryCriteria = {\n code?: InputMaybe<Array<Scalars['String']['input']>>;\n guid?: InputMaybe<Array<Scalars['String']['input']>>;\n magnifyValues?: InputMaybe<Array<Scalars['Int']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CurrencyResult = {\n __typename?: 'CurrencyResult';\n data: Array<Maybe<Currency>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type DeliveryRequest = {\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n denomGuid?: InputMaybe<Scalars['String']['input']>;\n flowId?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n merchantCode?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n signature?: InputMaybe<Scalars['String']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type DeliveryResponse = {\n __typename?: 'DeliveryResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type Denomination = {\n __typename?: 'Denomination';\n amount?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DetachPermRq = {\n /** permission identifier */\n permsGuid: Array<InputMaybe<Scalars['String']['input']>>;\n /** role identifier */\n roleGuid: Scalars['String']['input'];\n};\n\nexport type EmailMessageTemplate = {\n __typename?: 'EmailMessageTemplate';\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n messageId?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type EmailMessageTemplatePageableResult = {\n __typename?: 'EmailMessageTemplatePageableResult';\n data: Array<Maybe<EmailMessageTemplate>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EmailMsgTemplateCriteria = {\n /** ... message template identifier */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... message id */\n messageId?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport enum ErrorDetail {\n /**\n * The deadline expired before the operation could complete.\n *\n * For operations that change the state of the system, this error\n * may be returned even if the operation has completed successfully.\n * For example, a successful response from a server could have been\n * delayed long enough for the deadline to expire.\n *\n * HTTP Mapping: 504 Gateway Timeout\n * Error Type: UNAVAILABLE\n */\n DeadlineExceeded = 'DEADLINE_EXCEEDED',\n /**\n * The server detected that the client is exhibiting a behavior that\n * might be generating excessive load.\n *\n * HTTP Mapping: 429 Too Many Requests or 420 Enhance Your Calm\n * Error Type: UNAVAILABLE\n */\n EnhanceYourCalm = 'ENHANCE_YOUR_CALM',\n /**\n * The requested field is not found in the schema.\n *\n * This differs from `NOT_FOUND` in that `NOT_FOUND` should be used when a\n * query is valid, but is unable to return a result (if, for example, a\n * specific video id doesn't exist). `FIELD_NOT_FOUND` is intended to be\n * returned by the server to signify that the requested field is not known to exist.\n * This may be returned in lieu of failing the entire query.\n * See also `PERMISSION_DENIED` for cases where the\n * requested field is invalid only for the given user or class of users.\n *\n * HTTP Mapping: 404 Not Found\n * Error Type: BAD_REQUEST\n */\n FieldNotFound = 'FIELD_NOT_FOUND',\n /**\n * The client specified an invalid argument.\n *\n * Note that this differs from `FAILED_PRECONDITION`.\n * `INVALID_ARGUMENT` indicates arguments that are problematic\n * regardless of the state of the system (e.g., a malformed file name).\n *\n * HTTP Mapping: 400 Bad Request\n * Error Type: BAD_REQUEST\n */\n InvalidArgument = 'INVALID_ARGUMENT',\n /**\n * The provided cursor is not valid.\n *\n * The most common usage for this error is when a client is paginating\n * through a list that uses stateful cursors. In that case, the provided\n * cursor may be expired.\n *\n * HTTP Mapping: 404 Not Found\n * Error Type: NOT_FOUND\n */\n InvalidCursor = 'INVALID_CURSOR',\n /**\n * Unable to perform operation because a required resource is missing.\n *\n * Example: Client is attempting to refresh a list, but the specified\n * list is expired. This requires an action by the client to get a new list.\n *\n * If the user is simply trying GET a resource that is not found,\n * use the NOT_FOUND error type. FAILED_PRECONDITION.MISSING_RESOURCE\n * is to be used particularly when the user is performing an operation\n * that requires a particular resource to exist.\n *\n * HTTP Mapping: 400 Bad Request or 500 Internal Server Error\n * Error Type: FAILED_PRECONDITION\n */\n MissingResource = 'MISSING_RESOURCE',\n /**\n * Service Error.\n *\n * There is a problem with an upstream service.\n *\n * This may be returned if a gateway receives an unknown error from a service\n * or if a service is unreachable.\n * If a request times out which waiting on a response from a service,\n * `DEADLINE_EXCEEDED` may be returned instead.\n * If a service returns a more specific error Type, the specific error Type may\n * be returned instead.\n *\n * HTTP Mapping: 502 Bad Gateway\n * Error Type: UNAVAILABLE\n */\n ServiceError = 'SERVICE_ERROR',\n /**\n * Request failed due to network errors.\n *\n * HTTP Mapping: 503 Unavailable\n * Error Type: UNAVAILABLE\n */\n TcpFailure = 'TCP_FAILURE',\n /**\n * Request throttled based on server concurrency limits.\n *\n * HTTP Mapping: 503 Unavailable\n * Error Type: UNAVAILABLE\n */\n ThrottledConcurrency = 'THROTTLED_CONCURRENCY',\n /**\n * Request throttled based on server CPU limits\n *\n * HTTP Mapping: 503 Unavailable.\n * Error Type: UNAVAILABLE\n */\n ThrottledCpu = 'THROTTLED_CPU',\n /**\n * The operation is not implemented or is not currently supported/enabled.\n *\n * HTTP Mapping: 501 Not Implemented\n * Error Type: BAD_REQUEST\n */\n Unimplemented = 'UNIMPLEMENTED',\n /**\n * Unknown error.\n *\n * This error should only be returned when no other error detail applies.\n * If a client sees an unknown errorDetail, it will be interpreted as UNKNOWN.\n *\n * HTTP Mapping: 500 Internal Server Error\n */\n Unknown = 'UNKNOWN'\n}\n\nexport enum ErrorType {\n /**\n * Bad Request.\n *\n * There is a problem with the request.\n * Retrying the same request is not likely to succeed.\n * An example would be a query or argument that cannot be deserialized.\n *\n * HTTP Mapping: 400 Bad Request\n */\n BadRequest = 'BAD_REQUEST',\n /**\n * The operation was rejected because the system is not in a state\n * required for the operation's execution. For example, the directory\n * to be deleted is non-empty, an rmdir operation is applied to\n * a non-directory, etc.\n *\n * Service implementers can use the following guidelines to decide\n * between `FAILED_PRECONDITION` and `UNAVAILABLE`:\n *\n * - Use `UNAVAILABLE` if the client can retry just the failing call.\n * - Use `FAILED_PRECONDITION` if the client should not retry until\n * the system state has been explicitly fixed. E.g., if an \"rmdir\"\n * fails because the directory is non-empty, `FAILED_PRECONDITION`\n * should be returned since the client should not retry unless\n * the files are deleted from the directory.\n *\n * HTTP Mapping: 400 Bad Request or 500 Internal Server Error\n */\n FailedPrecondition = 'FAILED_PRECONDITION',\n /**\n * Internal error.\n *\n * An unexpected internal error was encountered. This means that some\n * invariants expected by the underlying system have been broken.\n * This error code is reserved for serious errors.\n *\n * HTTP Mapping: 500 Internal Server Error\n */\n Internal = 'INTERNAL',\n /**\n * The requested entity was not found.\n *\n * This could apply to a resource that has never existed (e.g. bad resource id),\n * or a resource that no longer exists (e.g. cache expired.)\n *\n * Note to server developers: if a request is denied for an entire class\n * of users, such as gradual feature rollout or undocumented allowlist,\n * `NOT_FOUND` may be used. If a request is denied for some users within\n * a class of users, such as user-based access control, `PERMISSION_DENIED`\n * must be used.\n *\n * HTTP Mapping: 404 Not Found\n */\n NotFound = 'NOT_FOUND',\n /**\n * The caller does not have permission to execute the specified\n * operation.\n *\n * `PERMISSION_DENIED` must not be used for rejections\n * caused by exhausting some resource or quota.\n * `PERMISSION_DENIED` must not be used if the caller\n * cannot be identified (use `UNAUTHENTICATED`\n * instead for those errors).\n *\n * This error Type does not imply the\n * request is valid or the requested entity exists or satisfies\n * other pre-conditions.\n *\n * HTTP Mapping: 403 Forbidden\n */\n PermissionDenied = 'PERMISSION_DENIED',\n /**\n * The request does not have valid authentication credentials.\n *\n * This is intended to be returned only for routes that require\n * authentication.\n *\n * HTTP Mapping: 401 Unauthorized\n */\n Unauthenticated = 'UNAUTHENTICATED',\n /**\n * Currently Unavailable.\n *\n * The service is currently unavailable. This is most likely a\n * transient condition, which can be corrected by retrying with\n * a backoff.\n *\n * HTTP Mapping: 503 Unavailable\n */\n Unavailable = 'UNAVAILABLE',\n /**\n * Unknown error.\n *\n * For example, this error may be returned when\n * an error code received from another address space belongs to\n * an error space that is not known in this address space. Also\n * errors raised by APIs that do not return enough error information\n * may be converted to this error.\n *\n * If a client sees an unknown errorType, it will be interpreted as UNKNOWN.\n * Unknown errors MUST NOT trigger any special behavior. These MAY be treated\n * by an implementation as being equivalent to INTERNAL.\n *\n * When possible, a more specific error should be provided.\n *\n * HTTP Mapping: 520 Unknown Error\n */\n Unknown = 'UNKNOWN'\n}\n\nexport type FetchFileResponse = {\n __typename?: 'FetchFileResponse';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n publicUrl?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type File = {\n __typename?: 'File';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type FileUploadResponse = {\n __typename?: 'FileUploadResponse';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isPublic?: Maybe<Scalars['Boolean']['output']>;\n publicUrl?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type FirebaseIdTokenRes = {\n __typename?: 'FirebaseIdTokenRes';\n expiresIn?: Maybe<Scalars['String']['output']>;\n idToken?: Maybe<Scalars['String']['output']>;\n isNewUser?: Maybe<Scalars['Boolean']['output']>;\n refreshToken?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ForgotPassOtpRq = {\n /** ... email attached to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number attached to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type ForgotPassRq = {\n /** ... new user password to replace old password */\n newPassword: Scalars['String']['input'];\n /** ... email or mobile nummber attached to user */\n principalId: Scalars['String']['input'];\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n /** ... verification code requested before restet password */\n verifCode: Scalars['String']['input'];\n};\n\nexport type GameRequiredField = {\n __typename?: 'GameRequiredField';\n dependant?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n options?: Maybe<Array<Maybe<Option>>>;\n type?: Maybe<Scalars['String']['output']>;\n};\n\nexport type GameRequiredFieldInput = {\n serverId?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['String']['input']>;\n username?: InputMaybe<Scalars['String']['input']>;\n zoneId?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTrail = {\n __typename?: 'GameTrail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n eventType?: Maybe<Scalars['String']['output']>;\n gameId?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n requestData?: Maybe<Scalars['JSON']['output']>;\n requestPlatform?: Maybe<Scalars['String']['output']>;\n responseData?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n txnRef?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type GameTransactionCreateRequest = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n transactionRef?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactionQueryCriteria = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n gameRef?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionRef?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactionUpdateRequest = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactions = {\n __typename?: 'GameTransactions';\n ccyCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n gameRef?: Maybe<Scalars['String']['output']>;\n gameTrail?: Maybe<GameTrail>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n requestPlatform?: Maybe<Scalars['String']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n transactionRef?: Maybe<Scalars['String']['output']>;\n txnCountryCode?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum Gender {\n Female = 'FEMALE',\n Male = 'MALE'\n}\n\nexport type GenerateVoucherRq = {\n expiredDate?: InputMaybe<Scalars['DateTime']['input']>;\n quantity?: InputMaybe<Scalars['Int']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type HistoryAgreement = {\n __typename?: 'HistoryAgreement';\n agreementCode?: Maybe<Scalars['String']['output']>;\n agreementGuid?: Maybe<Scalars['String']['output']>;\n content?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n publishDate?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n version?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type HistoryAgreementQueryCriteria = {\n agreementCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n version?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type InquiryRequest = {\n amount?: InputMaybe<Scalars['String']['input']>;\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n productId?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type InquiryResponse = {\n __typename?: 'InquiryResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type LangCode = {\n __typename?: 'LangCode';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Link = {\n __typename?: 'Link';\n android?: Maybe<Scalars['String']['output']>;\n apple?: Maybe<Scalars['String']['output']>;\n community?: Maybe<Scalars['String']['output']>;\n huawei?: Maybe<Scalars['String']['output']>;\n influencer?: Maybe<Scalars['String']['output']>;\n website?: Maybe<Scalars['String']['output']>;\n};\n\nexport type LockPost = {\n __typename?: 'LockPost';\n guid?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['DateTime']['output']>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type LoginResponse = {\n __typename?: 'LoginResponse';\n /** ... simple access token */\n accessToken?: Maybe<Scalars['String']['output']>;\n /** ... refresh token can use to request access token */\n refreshToken?: Maybe<Scalars['String']['output']>;\n /** ... suggested action */\n suggestedAction?: Maybe<SuggestedAction>;\n /** ... user detail */\n user?: Maybe<UserLogin>;\n};\n\nexport type LoginRq = {\n /** ... email registered to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number registered to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user password */\n password: Scalars['String']['input'];\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type Merchant = {\n __typename?: 'Merchant';\n company?: Maybe<Company>;\n createBy?: Maybe<AppLoginSubject>;\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n logoGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n transactionalUser?: Maybe<AppLoginSubject>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n};\n\nexport type MerchantContract = {\n __typename?: 'MerchantContract';\n contractTemplate?: Maybe<ContractTemplate>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type MerchantContractCriteria = {\n code?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type MerchantContractRs = PageableRs & {\n __typename?: 'MerchantContractRs';\n data?: Maybe<Array<Maybe<MerchantContract>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type MerchantFilter = {\n companyGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n companyName?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type MerchantFilterRs = {\n __typename?: 'MerchantFilterRs';\n data?: Maybe<Array<Maybe<Merchant>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type MerchantPaymentDenomination = {\n __typename?: 'MerchantPaymentDenomination';\n amount?: Maybe<Scalars['Double']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n paymentChannelGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type MerchantPaymentProvider = {\n __typename?: 'MerchantPaymentProvider';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n providerGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Message = {\n __typename?: 'Message';\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Create Author Historical Slug if user already exists */\n CmsMsCreateAuthorHistoricalSlug?: Maybe<AuthorHistoricalSlug>;\n approvalMsApproveOrDeclineRequest?: Maybe<Scalars['String']['output']>;\n approvalMsCreateApprovalRequest?: Maybe<Array<Maybe<Approval>>>;\n /** used by other ms to send their data changes audit */\n auditMsCreateAuditTrail?: Maybe<AuditTrail>;\n /** create supicious tag configuration */\n auditMsCreateSuspiciousTag?: Maybe<SuspiciousTag>;\n /** update supicious tag configuration */\n auditMsDeleteSuspiciousTag?: Maybe<SuspiciousTag>;\n /** update supicious tag configuration */\n auditMsUpdateSuspiciousTag?: Maybe<SuspiciousTag>;\n /** add permission to role */\n authMsAttachPermToRole?: Maybe<Scalars['String']['output']>;\n /**\n * add role to user.\n * expiredDuration (number of days) is use to calculated expired date (current date + expiredDuration)\n */\n authMsAttachRolesToUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to change their password, need Authorization Header */\n authMsChangePassword?: Maybe<Scalars['String']['output']>;\n authMsCreateApiCredential?: Maybe<ApiCredential>;\n /** create auth ms settings */\n authMsCreateAuthSettings?: Maybe<AuthSettings>;\n /** create new Company */\n authMsCreateCompany?: Maybe<Company>;\n /** create new Merchant */\n authMsCreateMerchant?: Maybe<Merchant>;\n /** create new permission */\n authMsCreatePermission?: Maybe<AppPermDfn>;\n /** create new role */\n authMsCreateRole?: Maybe<AppLoginRole>;\n /** This query allow you to create super admin user. Cant create super admin if super admin already exists */\n authMsCreateSuperAdmin?: Maybe<Scalars['String']['output']>;\n /** create user by admin, need authorization and project header */\n authMsCreateUserProfile?: Maybe<UserByAdmin>;\n authMsDeleteApiCredential?: Maybe<ApiCredential>;\n /** delete existing auth ms settings */\n authMsDeleteAuthSettings?: Maybe<AuthSettings>;\n /** delete existing company */\n authMsDeleteCompany?: Maybe<Company>;\n /** delete existing Merchant */\n authMsDeleteMerchant?: Maybe<Merchant>;\n /** delete existiing permission */\n authMsDeletePermission?: Maybe<Scalars['String']['output']>;\n /** delete existing role */\n authMsDeleteRole?: Maybe<AppLoginRole>;\n /** revoke permission to role */\n authMsDetachPermToRole?: Maybe<Scalars['String']['output']>;\n /** extend role to user linkage expired duration by days. */\n authMsExtendsRolesToUsersExpiredDate?: Maybe<Scalars['String']['output']>;\n /** This query allow user to reset their password */\n authMsForgotPassword?: Maybe<Scalars['String']['output']>;\n /** This query allow user to request reset password verification code */\n authMsForgotPasswordOtp?: Maybe<Scalars['String']['output']>;\n /** link company to merchants */\n authMsLinkCompanyToMerchants?: Maybe<Scalars['String']['output']>;\n /** link company to user */\n authMsLinkCompanyToUsers?: Maybe<Scalars['String']['output']>;\n /** link merchants to users */\n authMsLinkMerchantsToUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to login */\n authMsLogin?: Maybe<LoginResponse>;\n /** This query allow user to refresh their access token */\n authMsRefreshAccessToken?: Maybe<Token>;\n /** This query allow user to do self registration */\n authMsRegister?: Maybe<AppLoginSubject>;\n /** This query use to resend email verification code */\n authMsResendEmailVerif?: Maybe<Scalars['String']['output']>;\n /** This query use to resend Mobile/OTP verification code */\n authMsResendMobileVerif?: Maybe<Scalars['String']['output']>;\n /** revole roles in from user */\n authMsRevokeRolesInUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to validate firebase id token and login */\n authMsSocialLogin?: Maybe<LoginResponse>;\n /** temporary deactive user */\n authMsTemporaryUserDeactivation?: Maybe<Scalars['String']['output']>;\n /** unlink company to user */\n authMsUnLinkCompanyFromUsers?: Maybe<Scalars['String']['output']>;\n /** unlink company from merchants */\n authMsUnlinkCompanyFromMerchants?: Maybe<Scalars['String']['output']>;\n /** unlink merchnats from users */\n authMsUnlinkMerchantsFromUsers?: Maybe<Scalars['String']['output']>;\n authMsUpdateApiCredential?: Maybe<ApiCredential>;\n /** update existing auth ms settings */\n authMsUpdateAuthSettings?: Maybe<AuthSettings>;\n /** Update existion company */\n authMsUpdateCompany?: Maybe<Company>;\n /** update existing Merchant */\n authMsUpdateMerchant?: Maybe<Merchant>;\n /** update existing permission */\n authMsUpdatePermission?: Maybe<AppPermDfn>;\n /** update user principal by admin */\n authMsUpdatePrincipalForAdmin?: Maybe<AppLoginSubject>;\n /** update existing role */\n authMsUpdateRole?: Maybe<AppLoginRole>;\n /** update user by admin */\n authMsUpdateUserForAdmin?: Maybe<AppLoginSubject>;\n /** update principal id by user owner */\n authMsUpdateUserPrincipalByOwner?: Maybe<AppLoginSubject>;\n /** request otp for update principal by owned user */\n authMsUpdateUserPrincipalOtp?: Maybe<Scalars['String']['output']>;\n /** update user profile by user it self, need authorization header */\n authMsUpdateUserProfile?: Maybe<AppLoginSubject>;\n /** This query allow user to do user confirmation after registration */\n authMsUserConfirm?: Maybe<Scalars['String']['output']>;\n cmsMsAssignTermToPost?: Maybe<CmsPostTermRelationship>;\n cmsMsCreateBookmark?: Maybe<CmsBookmarks>;\n cmsMsCreateComment?: Maybe<CmsPostComment>;\n cmsMsCreatePost?: Maybe<CmsPost>;\n cmsMsCreatePostExts?: Maybe<CmsPostExt>;\n cmsMsCreatePostHistoricalSlug?: Maybe<PostHistoricalSlug>;\n cmsMsCreatePostTerm?: Maybe<CmsPostTerm>;\n /** This query is used to insert post views, Authorization header [userGuid] is optional */\n cmsMsCreatePostViews?: Maybe<CmsPostViews>;\n cmsMsCreateReaction?: Maybe<CmsCommentReaction>;\n cmsMsCreateUser?: Maybe<CmsUser>;\n cmsMsDeleteBookmark?: Maybe<CmsBookmarks>;\n cmsMsDeleteComment?: Maybe<CmsPostComment>;\n cmsMsDeletePost?: Maybe<CmsPost>;\n cmsMsDeletePostExts?: Maybe<CmsPostExt>;\n cmsMsDeletePostTerm?: Maybe<Array<Maybe<CmsPostTerm>>>;\n cmsMsDeleteUser?: Maybe<Scalars['String']['output']>;\n /** This query is used to update the heartbeat timestamps for edited posts if exists for the given postGuid otherwise create a new entry, need Authorization Header */\n cmsMsLockingPost?: Maybe<IsSuccess>;\n cmsMsRemoveTermFromPost?: Maybe<Scalars['String']['output']>;\n cmsMsUpdateBookmark?: Maybe<CmsBookmarks>;\n cmsMsUpdatePost?: Maybe<CmsPost>;\n cmsMsUpdatePostExts?: Maybe<CmsPostExt>;\n cmsMsUpdatePostTerm?: Maybe<CmsPostTerm>;\n cmsMsUpdateUser?: Maybe<CmsUser>;\n consentToAgree?: Maybe<UserConsent>;\n createHistoryAgreement?: Maybe<HistoryAgreement>;\n deletePaymentProviderExt?: Maybe<Scalars['String']['output']>;\n /** remove this when there is field under mutation */\n emptyField?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileAccessControl?: Maybe<File>;\n fileMgmtSysMsFileDeletion?: Maybe<IsSuccess>;\n fileMgmtSysMsFileDownload?: Maybe<File>;\n fileMgmtSysMsFileNotification?: Maybe<File>;\n fileMgmtSysMsFileSharing?: Maybe<File>;\n fileMgmtSysMsFileStreaming?: Maybe<File>;\n fileMgmtSysMsFileUpload?: Maybe<FileUploadResponse>;\n fileMgmtSysMsFileVersioning?: Maybe<File>;\n ggwMsCheckout?: Maybe<CheckoutResponse>;\n ggwMsCreateGameTransaction?: Maybe<GameTransactions>;\n ggwMsDeleteGameTransaction?: Maybe<GameTransactions>;\n ggwMsDelivery?: Maybe<DeliveryResponse>;\n ggwMsInquiry?: Maybe<InquiryResponse>;\n ggwMsUpdateGameTransaction?: Maybe<GameTransactions>;\n /**\n * This mutation is replaced by REST endpoint due to file upload issue on graphql\n * @deprecated No longer supported\n */\n humanResourcesMsApply?: Maybe<VacancyApplication>;\n humanResourcesMsCreateVacancy?: Maybe<Vacancy>;\n humanResourcesMsCreateVacancySettings?: Maybe<VacancySettings>;\n humanResourcesMsDeleteVacancy?: Maybe<Vacancy>;\n humanResourcesMsDeleteVacancySettings?: Maybe<VacancySettings>;\n humanResourcesMsUpdateVacancy?: Maybe<Vacancy>;\n humanResourcesMsUpdateVacancySettings?: Maybe<VacancySettings>;\n /** create new message template */\n notificationMsCreateEmailMessageTemplate?: Maybe<EmailMessageTemplate>;\n notificationMsCreateNotificationAlert?: Maybe<NotificationAlert>;\n /** update existing message template */\n notificationMsUpdateEmailMessageTemplate?: Maybe<EmailMessageTemplate>;\n notificationMsUpdateReadStatus?: Maybe<NotificationAlert>;\n productMsCreateContractTemplate?: Maybe<ContractTemplate>;\n productMsCreateContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsCreateMerchantContract?: Maybe<MerchantContract>;\n productMsCreateMerchantPaymentDenomination?: Maybe<MerchantPaymentDenomination>;\n productMsCreateMerchantPaymentProvider?: Maybe<MerchantPaymentProvider>;\n productMsCreatePaymentChannel?: Maybe<PaymentChannel>;\n productMsCreatePaymentChannelDenomination?: Maybe<PaymentChannelDenomination>;\n productMsCreatePaymentChannelGuideline?: Maybe<PaymentChannelGuideline>;\n productMsCreatePaymentProvider?: Maybe<PaymentProvider>;\n productMsCreateProductDenomination?: Maybe<ProductDenomination>;\n productMsCreateProductPage?: Maybe<ProductPage>;\n productMsCreateProductPriceList?: Maybe<ProductPriceList>;\n productMsCreateRateCardTemplate?: Maybe<RateCardTemplate>;\n productMsCreateRateCardTemplateDetails?: Maybe<RateCardTemplate>;\n productMsDeleteContractTemplate?: Maybe<ContractTemplate>;\n productMsDeleteContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsDeleteMerchantContract?: Maybe<MerchantContract>;\n productMsDeletePaymentChannel?: Maybe<PaymentChannel>;\n productMsDeletePaymentChannelGuideline?: Maybe<PaymentChannelGuideline>;\n productMsDeletePaymentProvider?: Maybe<PaymentProvider>;\n productMsDeleteProductPriceList?: Maybe<ProductPriceList>;\n productMsDeleteRateCardTemplate?: Maybe<Scalars['String']['output']>;\n productMsDeleteRateCardTemplateDetail?: Maybe<Scalars['String']['output']>;\n productMsUpdateContractTemplate?: Maybe<ContractTemplate>;\n productMsUpdateContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsUpdateMerchantContract?: Maybe<MerchantContract>;\n productMsUpdateMerchantPaymentDenomination?: Maybe<MerchantPaymentDenomination>;\n productMsUpdateMerchantPaymentProvider?: Maybe<MerchantPaymentProvider>;\n productMsUpdatePaymentChannel?: Maybe<PaymentChannel>;\n productMsUpdatePaymentChannelDenomination?: Maybe<PaymentChannelDenomination>;\n productMsUpdatePaymentProvider?: Maybe<PaymentProvider>;\n productMsUpdateProductDenomination?: Maybe<ProductDenomination>;\n productMsUpdateProductPage?: Maybe<ProductPage>;\n productMsUpdateProductPriceList?: Maybe<ProductPriceList>;\n productMsUpdateRateCardTemplate?: Maybe<RateCardTemplate>;\n productMsUpdateRateCardTemplateDetail?: Maybe<RateCardTemplate>;\n updateHistoryAgreement?: Maybe<HistoryAgreement>;\n voucherMsBoughtVoucher?: Maybe<Voucher>;\n voucherMsCreateVoucher?: Maybe<Voucher>;\n voucherMsCreateVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsDeleteVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsGenerateVoucher?: Maybe<Message>;\n voucherMsRedeemVoucher?: Maybe<Voucher>;\n voucherMsUpdateVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsVoidVoucher?: Maybe<Scalars['String']['output']>;\n webConfigMsCreateWebConfig?: Maybe<WebConfig>;\n webConfigMsSetDefaultLangCode?: Maybe<Country>;\n webConfigMsUpdateSupportLanguage?: Maybe<Scalars['String']['output']>;\n webConfigMsUpdateWebConfig?: Maybe<WebConfig>;\n webtopupMsDeleteWebtopupTrx?: Maybe<WebtopupTransaction>;\n webtopupMsInitWebtopupTrx?: Maybe<WebtopupResponse>;\n};\n\n\nexport type MutationCmsMsCreateAuthorHistoricalSlugArgs = {\n input?: InputMaybe<CreateAuthorHistoricalSlugRq>;\n};\n\n\nexport type MutationApprovalMsApproveOrDeclineRequestArgs = {\n approvalGroupGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isApprove?: InputMaybe<Scalars['Boolean']['input']>;\n reason?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationApprovalMsCreateApprovalRequestArgs = {\n input?: InputMaybe<Array<InputMaybe<CreateApprovalRq>>>;\n};\n\n\nexport type MutationAuditMsCreateAuditTrailArgs = {\n input?: InputMaybe<CreateAuditTrailRq>;\n};\n\n\nexport type MutationAuditMsCreateSuspiciousTagArgs = {\n input?: InputMaybe<CreateSuspiciousTagRq>;\n};\n\n\nexport type MutationAuditMsDeleteSuspiciousTagArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuditMsUpdateSuspiciousTagArgs = {\n input?: InputMaybe<UpdateSuspiciousTagRq>;\n};\n\n\nexport type MutationAuthMsAttachPermToRoleArgs = {\n input: AttachPermRq;\n};\n\n\nexport type MutationAuthMsAttachRolesToUsersArgs = {\n expiredDuration: Scalars['Int']['input'];\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n subjectGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsChangePasswordArgs = {\n input: ChangePassRq;\n};\n\n\nexport type MutationAuthMsCreateApiCredentialArgs = {\n input: CreateApiCredentialRq;\n};\n\n\nexport type MutationAuthMsCreateAuthSettingsArgs = {\n input?: InputMaybe<CreateAuthSettingRq>;\n};\n\n\nexport type MutationAuthMsCreateCompanyArgs = {\n input?: InputMaybe<CreateCompanyRq>;\n};\n\n\nexport type MutationAuthMsCreateMerchantArgs = {\n input?: InputMaybe<CreateMerchantRq>;\n};\n\n\nexport type MutationAuthMsCreatePermissionArgs = {\n input: CreatePermRq;\n};\n\n\nexport type MutationAuthMsCreateRoleArgs = {\n input: CreateRoleRq;\n};\n\n\nexport type MutationAuthMsCreateUserProfileArgs = {\n input?: InputMaybe<CreateUserRq>;\n};\n\n\nexport type MutationAuthMsDeleteApiCredentialArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDeleteAuthSettingsArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeleteCompanyArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeleteMerchantArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeletePermissionArgs = {\n permGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDeleteRoleArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDetachPermToRoleArgs = {\n input: DetachPermRq;\n};\n\n\nexport type MutationAuthMsExtendsRolesToUsersExpiredDateArgs = {\n extendDuration: Scalars['Int']['input'];\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n subjectGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsForgotPasswordArgs = {\n input: ForgotPassRq;\n};\n\n\nexport type MutationAuthMsForgotPasswordOtpArgs = {\n input: ForgotPassOtpRq;\n};\n\n\nexport type MutationAuthMsLinkCompanyToMerchantsArgs = {\n companyGuid: Scalars['String']['input'];\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLinkCompanyToUsersArgs = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLinkMerchantsToUsersArgs = {\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLoginArgs = {\n input: LoginRq;\n};\n\n\nexport type MutationAuthMsRefreshAccessTokenArgs = {\n refreshToken: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsRegisterArgs = {\n input: RegistrationRq;\n};\n\n\nexport type MutationAuthMsResendEmailVerifArgs = {\n email: Scalars['String']['input'];\n sourcePlatform: SourcePlatform;\n};\n\n\nexport type MutationAuthMsResendMobileVerifArgs = {\n mobileNum: Scalars['String']['input'];\n sourcePlatform: SourcePlatform;\n};\n\n\nexport type MutationAuthMsRevokeRolesInUsersArgs = {\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsSocialLoginArgs = {\n input: SocialLoginRq;\n};\n\n\nexport type MutationAuthMsTemporaryUserDeactivationArgs = {\n input?: InputMaybe<TemporaryUserDeactivationRq>;\n};\n\n\nexport type MutationAuthMsUnLinkCompanyFromUsersArgs = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUnlinkCompanyFromMerchantsArgs = {\n companyGuid: Scalars['String']['input'];\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUnlinkMerchantsFromUsersArgs = {\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUpdateApiCredentialArgs = {\n input: UpdateApiCredentialRq;\n};\n\n\nexport type MutationAuthMsUpdateAuthSettingsArgs = {\n input?: InputMaybe<UpdateAuthSettingRq>;\n};\n\n\nexport type MutationAuthMsUpdateCompanyArgs = {\n input?: InputMaybe<UpdateCompanyRq>;\n};\n\n\nexport type MutationAuthMsUpdateMerchantArgs = {\n input?: InputMaybe<UpdateMerchantRq>;\n};\n\n\nexport type MutationAuthMsUpdatePermissionArgs = {\n guid: Scalars['String']['input'];\n input: UpdatePermRq;\n};\n\n\nexport type MutationAuthMsUpdatePrincipalForAdminArgs = {\n input?: InputMaybe<UpdatePrincipalRq>;\n};\n\n\nexport type MutationAuthMsUpdateRoleArgs = {\n guid: Scalars['String']['input'];\n input: UpdateRoleRq;\n};\n\n\nexport type MutationAuthMsUpdateUserForAdminArgs = {\n input?: InputMaybe<UpdateProfileRq>;\n};\n\n\nexport type MutationAuthMsUpdateUserPrincipalByOwnerArgs = {\n input?: InputMaybe<UpdatePrincipalRq>;\n};\n\n\nexport type MutationAuthMsUpdateUserPrincipalOtpArgs = {\n newPrincipal?: InputMaybe<Scalars['String']['input']>;\n sendTo: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsUpdateUserProfileArgs = {\n input?: InputMaybe<UpdateProfileRq>;\n};\n\n\nexport type MutationAuthMsUserConfirmArgs = {\n input: UserConfirmRq;\n};\n\n\nexport type MutationCmsMsAssignTermToPostArgs = {\n input: CreateCmsPostTermRelationshipRq;\n};\n\n\nexport type MutationCmsMsCreateBookmarkArgs = {\n input?: InputMaybe<CreateBookmarkRq>;\n};\n\n\nexport type MutationCmsMsCreateCommentArgs = {\n input: CreateCmsPostCommentRq;\n};\n\n\nexport type MutationCmsMsCreatePostArgs = {\n input: CreateCmsPostRq;\n};\n\n\nexport type MutationCmsMsCreatePostExtsArgs = {\n input: CreateCmsPostExtRq;\n};\n\n\nexport type MutationCmsMsCreatePostHistoricalSlugArgs = {\n input: CreatePostHistoricalSlugRq;\n};\n\n\nexport type MutationCmsMsCreatePostTermArgs = {\n input: CreateCmsPostTermRq;\n};\n\n\nexport type MutationCmsMsCreatePostViewsArgs = {\n postGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsCreateReactionArgs = {\n input: CreateCmsReactionRq;\n};\n\n\nexport type MutationCmsMsCreateUserArgs = {\n input: CreateCmsUserRq;\n};\n\n\nexport type MutationCmsMsDeleteBookmarkArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationCmsMsDeleteCommentArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostExtsArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostTermArgs = {\n guids: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\n\nexport type MutationCmsMsDeleteUserArgs = {\n guid: Scalars['String']['input'];\n subject_guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsLockingPostArgs = {\n postGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationCmsMsRemoveTermFromPostArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsUpdateBookmarkArgs = {\n input?: InputMaybe<UpdateBookmarkRq>;\n};\n\n\nexport type MutationCmsMsUpdatePostArgs = {\n input: UpdateCmsPostRq;\n};\n\n\nexport type MutationCmsMsUpdatePostExtsArgs = {\n input: UpdateCmsPostExtRq;\n};\n\n\nexport type MutationCmsMsUpdatePostTermArgs = {\n input: UpdateCmsPostTermRq;\n};\n\n\nexport type MutationCmsMsUpdateUserArgs = {\n guid: Scalars['String']['input'];\n input: UpdateCmsUserRq;\n};\n\n\nexport type MutationConsentToAgreeArgs = {\n input?: InputMaybe<CreateConsentToAgreeRq>;\n};\n\n\nexport type MutationCreateHistoryAgreementArgs = {\n input?: InputMaybe<CreateHistoryAgreementRq>;\n};\n\n\nexport type MutationDeletePaymentProviderExtArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileAccessControlArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileDeletionArgs = {\n fileGuid?: InputMaybe<Scalars['String']['input']>;\n hardDelete?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileDownloadArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileNotificationArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileSharingArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileStreamingArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileUploadArgs = {\n attachment?: InputMaybe<Scalars['Upload']['input']>;\n isPublic?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileVersioningArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationGgwMsCheckoutArgs = {\n data?: InputMaybe<CheckoutRequest>;\n};\n\n\nexport type MutationGgwMsCreateGameTransactionArgs = {\n input?: InputMaybe<GameTransactionCreateRequest>;\n};\n\n\nexport type MutationGgwMsDeleteGameTransactionArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationGgwMsDeliveryArgs = {\n data?: InputMaybe<DeliveryRequest>;\n};\n\n\nexport type MutationGgwMsInquiryArgs = {\n data?: InputMaybe<InquiryRequest>;\n};\n\n\nexport type MutationGgwMsUpdateGameTransactionArgs = {\n input?: InputMaybe<GameTransactionUpdateRequest>;\n};\n\n\nexport type MutationHumanResourcesMsApplyArgs = {\n input?: InputMaybe<ApplyVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsCreateVacancyArgs = {\n input?: InputMaybe<CreateVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsCreateVacancySettingsArgs = {\n input?: InputMaybe<CreateVacancySettingsRq>;\n};\n\n\nexport type MutationHumanResourcesMsDeleteVacancyArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationHumanResourcesMsDeleteVacancySettingsArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationHumanResourcesMsUpdateVacancyArgs = {\n input?: InputMaybe<UpdateVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsUpdateVacancySettingsArgs = {\n input?: InputMaybe<UpdateVacancySettingsRq>;\n};\n\n\nexport type MutationNotificationMsCreateEmailMessageTemplateArgs = {\n input?: InputMaybe<CreateMessageTemplateRq>;\n};\n\n\nexport type MutationNotificationMsCreateNotificationAlertArgs = {\n input?: InputMaybe<CreateNotificationAlertRq>;\n};\n\n\nexport type MutationNotificationMsUpdateEmailMessageTemplateArgs = {\n input?: InputMaybe<UpdateEmailMessageTemplateRq>;\n};\n\n\nexport type MutationNotificationMsUpdateReadStatusArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsCreateContractTemplateArgs = {\n input?: InputMaybe<CreateContractTemplateRq>;\n};\n\n\nexport type MutationProductMsCreateContractTemplateDetailArgs = {\n input?: InputMaybe<CreateTemplateDetailRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantContractArgs = {\n input?: InputMaybe<CreateMerchantContractRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantPaymentDenominationArgs = {\n input?: InputMaybe<CreateMerchantPaymentDenomRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantPaymentProviderArgs = {\n input?: InputMaybe<CreateMerchantPaymentProviderRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelArgs = {\n input?: InputMaybe<CreatePaymentChannelRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelDenominationArgs = {\n input?: InputMaybe<CreatePaymentChannelDenomRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelGuidelineArgs = {\n input: CreatePaymentChannelGuidelineRq;\n};\n\n\nexport type MutationProductMsCreatePaymentProviderArgs = {\n input?: InputMaybe<CreatePaymentProviderRq>;\n};\n\n\nexport type MutationProductMsCreateProductDenominationArgs = {\n input?: InputMaybe<CreateProductDenominationRq>;\n};\n\n\nexport type MutationProductMsCreateProductPageArgs = {\n input?: InputMaybe<CreateProductPageRq>;\n};\n\n\nexport type MutationProductMsCreateProductPriceListArgs = {\n input: CreateProductPriceListRq;\n};\n\n\nexport type MutationProductMsCreateRateCardTemplateArgs = {\n input?: InputMaybe<CreateRateCardTemplateRq>;\n};\n\n\nexport type MutationProductMsCreateRateCardTemplateDetailsArgs = {\n input?: InputMaybe<Array<InputMaybe<CreateRateCardTemplateDetailsRq>>>;\n rateTemplateGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsDeleteContractTemplateArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteContractTemplateDetailArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteMerchantContractArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentChannelArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentChannelGuidelineArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentProviderArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteProductPriceListArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsDeleteRateCardTemplateArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteRateCardTemplateDetailArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsUpdateContractTemplateArgs = {\n input?: InputMaybe<UpdateContractTemplateRq>;\n};\n\n\nexport type MutationProductMsUpdateContractTemplateDetailArgs = {\n input?: InputMaybe<UpdateTemplateDetailRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantContractArgs = {\n input?: InputMaybe<UpdateMerchantContractRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantPaymentDenominationArgs = {\n input?: InputMaybe<UpdateMerchantPaymentDenomRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantPaymentProviderArgs = {\n input?: InputMaybe<UpdateMerchantPaymentProviderRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentChannelArgs = {\n input?: InputMaybe<UpdatePaymentChannelRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentChannelDenominationArgs = {\n input?: InputMaybe<UpdatePaymentChannelDenomRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentProviderArgs = {\n input?: InputMaybe<UpdatePaymentProviderRq>;\n};\n\n\nexport type MutationProductMsUpdateProductDenominationArgs = {\n input?: InputMaybe<UpdateProductDenominationRq>;\n};\n\n\nexport type MutationProductMsUpdateProductPageArgs = {\n input?: InputMaybe<UpdateProductPageRq>;\n};\n\n\nexport type MutationProductMsUpdateProductPriceListArgs = {\n input: UpdateProductPriceListRq;\n};\n\n\nexport type MutationProductMsUpdateRateCardTemplateArgs = {\n input?: InputMaybe<UpdateRateCardTemplateRq>;\n};\n\n\nexport type MutationProductMsUpdateRateCardTemplateDetailArgs = {\n input?: InputMaybe<UpdateRateCardTemplateDetailRq>;\n};\n\n\nexport type MutationUpdateHistoryAgreementArgs = {\n input?: InputMaybe<UpdateHistoryAgreementRq>;\n};\n\n\nexport type MutationVoucherMsBoughtVoucherArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsCreateVoucherArgs = {\n input?: InputMaybe<CreateVoucherRq>;\n};\n\n\nexport type MutationVoucherMsCreateVoucherGroupArgs = {\n input?: InputMaybe<CreateVoucherGroupRq>;\n};\n\n\nexport type MutationVoucherMsDeleteVoucherGroupArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsGenerateVoucherArgs = {\n input?: InputMaybe<GenerateVoucherRq>;\n};\n\n\nexport type MutationVoucherMsRedeemVoucherArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsUpdateVoucherGroupArgs = {\n input?: InputMaybe<UpdateVoucherGroupRq>;\n};\n\n\nexport type MutationVoucherMsVoidVoucherArgs = {\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationWebConfigMsCreateWebConfigArgs = {\n input?: InputMaybe<CreateWebConfigRq>;\n};\n\n\nexport type MutationWebConfigMsSetDefaultLangCodeArgs = {\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n langCode?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationWebConfigMsUpdateSupportLanguageArgs = {\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n langCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationWebConfigMsUpdateWebConfigArgs = {\n input?: InputMaybe<UpdateWebConfigRq>;\n};\n\n\nexport type MutationWebtopupMsDeleteWebtopupTrxArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationWebtopupMsInitWebtopupTrxArgs = {\n input: WebtopupRequest;\n};\n\nexport enum NotifAlertStatusEnum {\n Danger = 'DANGER',\n Info = 'INFO',\n Success = 'SUCCESS',\n Warning = 'WARNING'\n}\n\nexport type NotificationAlert = {\n __typename?: 'NotificationAlert';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid: Scalars['String']['output'];\n isRead?: Maybe<Scalars['Boolean']['output']>;\n receiverCompanyGuid?: Maybe<Scalars['String']['output']>;\n receiverGuid?: Maybe<Scalars['String']['output']>;\n receiverMerchantGuid?: Maybe<Scalars['String']['output']>;\n receiverPermissionCode?: Maybe<Scalars['String']['output']>;\n status?: Maybe<NotifAlertStatusEnum>;\n targetGuid: Scalars['String']['output'];\n targetType: Scalars['String']['output'];\n title: Scalars['String']['output'];\n type?: Maybe<AlertTypeEnum>;\n};\n\nexport type NotificationAlertCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n isRead?: Scalars['Boolean']['input'];\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n receiverCompanyGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverMerchantGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverPermissionCodes?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Array<NotifAlertStatusEnum>>;\n targetGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n targetTypes?: InputMaybe<Array<Scalars['String']['input']>>;\n title?: InputMaybe<Scalars['String']['input']>;\n types?: InputMaybe<Array<AlertTypeEnum>>;\n};\n\nexport type Option = {\n __typename?: 'Option';\n display?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** Field endCursor */\n endCursor?: Maybe<Scalars['String']['output']>;\n /** Field hasNextPage */\n hasNextPage: Scalars['Boolean']['output'];\n /** Field hasPreviousPage */\n hasPreviousPage: Scalars['Boolean']['output'];\n /** Field startCursor */\n startCursor?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PageableResponse = {\n __typename?: 'PageableResponse';\n data?: Maybe<Array<Maybe<Approval>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PageableRs = {\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaginationPermissionResponse = {\n __typename?: 'PaginationPermissionResponse';\n data: Array<Maybe<AppPermDfn>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationRoleResponse = {\n __typename?: 'PaginationRoleResponse';\n data: Array<Maybe<AppLoginRole>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationVacancyApplicationResponse = {\n __typename?: 'PaginationVacancyApplicationResponse';\n data: Array<Maybe<VacancyApplication>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationVacancyResponse = {\n __typename?: 'PaginationVacancyResponse';\n data: Array<Maybe<Vacancy>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaymentChannel = {\n __typename?: 'PaymentChannel';\n category?: Maybe<Scalars['String']['output']>;\n charge?: Maybe<Scalars['Float']['output']>;\n chargeType?: Maybe<Scalars['String']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n companyCredentialGuid?: Maybe<Scalars['String']['output']>;\n contractorCompanyGuid?: Maybe<Scalars['String']['output']>;\n countryByCode?: Maybe<Country>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n currencyByCode?: Maybe<Currency>;\n field?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isWhitelabel?: Maybe<Scalars['Boolean']['output']>;\n maxAmount?: Maybe<Scalars['Long']['output']>;\n metaFieldJson?: Maybe<Scalars['JSON']['output']>;\n minAmount?: Maybe<Scalars['Long']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n parameter?: Maybe<Scalars['String']['output']>;\n providerCode?: Maybe<Scalars['String']['output']>;\n providerCompanyGuid?: Maybe<Scalars['String']['output']>;\n providerPriority?: Maybe<Scalars['String']['output']>;\n rateTemplate?: Maybe<Array<Maybe<RateCardTemplate>>>;\n remark?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n route?: Maybe<Scalars['String']['output']>;\n serviceCompanyGuid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n vatPercentage?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type PaymentChannelDenomQueryCriteria = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelDenomination = {\n __typename?: 'PaymentChannelDenomination';\n amount?: Maybe<Scalars['Double']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n credit?: Maybe<Scalars['Long']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentChannelGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type PaymentChannelGuideline = {\n __typename?: 'PaymentChannelGuideline';\n guid: Scalars['String']['output'];\n paymentChannelGuid: Scalars['String']['output'];\n post?: Maybe<CmsPost>;\n};\n\nexport type PaymentChannelGuidelineQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelMetaField = {\n apiType: Array<PaymentChannelMetaFieldApiEnum>;\n desc?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum PaymentChannelMetaFieldApiEnum {\n Callback = 'CALLBACK',\n CreateOrder = 'CREATE_ORDER',\n Inquiry = 'INQUIRY',\n Otp = 'OTP'\n}\n\nexport type PaymentChannelPublic = {\n __typename?: 'PaymentChannelPublic';\n code?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n providerCode?: Maybe<Scalars['String']['output']>;\n providerPriority?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type PaymentChannelPublicRs = {\n __typename?: 'PaymentChannelPublicRs';\n data?: Maybe<Array<Maybe<PaymentChannelPublic>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaymentChannelQueryCriteria = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n contractorCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelRs = {\n __typename?: 'PaymentChannelRs';\n data?: Maybe<Array<Maybe<PaymentChannel>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaymentProvider = {\n __typename?: 'PaymentProvider';\n category?: Maybe<Scalars['String']['output']>;\n ccyCode?: Maybe<Scalars['String']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n exts?: Maybe<Array<Maybe<PaymentProviderExt>>>;\n guid?: Maybe<Scalars['String']['output']>;\n maxAmount?: Maybe<Scalars['Long']['output']>;\n minAmount?: Maybe<Scalars['Long']['output']>;\n providerExternalName?: Maybe<Scalars['String']['output']>;\n providerInternalName?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PaymentProviderExt = {\n __typename?: 'PaymentProviderExt';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n extType?: Maybe<Scalars['String']['output']>;\n extValue?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentProviderGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PaymentProviderQueryCriteria = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentProviderRs = {\n __typename?: 'PaymentProviderRs';\n data?: Maybe<Array<Maybe<PaymentProvider>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PermissionCheckRq = {\n /** ... user guid */\n subjectGuid: Scalars['String']['input'];\n /** ... target permission that want to check */\n targetPerms: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type PermissionFilter = {\n /** ...get permission by perm guid */\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n /** ... filter permission by perCode equal */\n permCode?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by description ilike */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by permission module in */\n permModule?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... filter permission by name ilike */\n permName?: InputMaybe<Scalars['String']['input']>;\n /** ... filter for perm scope equal */\n permScope?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by permType in */\n permType?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... filter permission by related micro fe equal */\n relatedMf?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by role(s) */\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by status equal */\n status?: Status;\n /** ...get permission by user guid */\n subjectGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PhoneCode = {\n __typename?: 'PhoneCode';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Post = {\n __typename?: 'Post';\n postGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PostHistoricalSlug = {\n __typename?: 'PostHistoricalSlug';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n slug?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PostHistoricalSlugCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n postGuid?: InputMaybe<Scalars['String']['input']>;\n slug?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type PostHistoricalSlugResult = {\n __typename?: 'PostHistoricalSlugResult';\n data: Array<Maybe<PostHistoricalSlug>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum PostStatus {\n Draft = 'DRAFT',\n OnReview = 'ON_REVIEW',\n Published = 'PUBLISHED'\n}\n\nexport enum PriceListType {\n Directtopup = 'DIRECTTOPUP',\n Unibox = 'UNIBOX',\n Webtopup = 'WEBTOPUP'\n}\n\nexport enum PrincipalStatus {\n Deleted = 'DELETED',\n Inactive = 'INACTIVE',\n UserConfirmed = 'USER_CONFIRMED',\n UserUnconfirmed = 'USER_UNCONFIRMED'\n}\n\nexport type Product = {\n __typename?: 'Product';\n companyName?: Maybe<Scalars['String']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n iconPath?: Maybe<Scalars['String']['output']>;\n links?: Maybe<Link>;\n productCode?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n topUpGuideUrl?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductDenomination = {\n __typename?: 'ProductDenomination';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n imagePath?: Maybe<Scalars['String']['output']>;\n isAdjustableSellingPrice?: Maybe<Scalars['Boolean']['output']>;\n isDirectVoucher?: Maybe<Scalars['Boolean']['output']>;\n isVoucherApi?: Maybe<Scalars['Boolean']['output']>;\n itemCode?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n partnerProductId?: Maybe<Scalars['String']['output']>;\n productPageGuid?: Maybe<Scalars['String']['output']>;\n remark?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n stock?: Maybe<VoucherGroup>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductDenominationQueryCriteria = {\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isAdjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductDetailsResponse = {\n __typename?: 'ProductDetailsResponse';\n channel?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n denomination?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n gameRequiredField?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n product?: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type ProductPage = {\n __typename?: 'ProductPage';\n advanceSearch?: Maybe<Scalars['String']['output']>;\n category?: Maybe<ProductPageCategory>;\n communityLink?: Maybe<Scalars['String']['output']>;\n company?: Maybe<Company>;\n companyGuid?: Maybe<Scalars['String']['output']>;\n content?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n denominations?: Maybe<Array<Maybe<ProductDenomination>>>;\n downloadLink?: Maybe<Scalars['String']['output']>;\n gameCenterImage?: Maybe<Scalars['String']['output']>;\n gameChildCode?: Maybe<Scalars['String']['output']>;\n gameParentCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n huaweiDownloadLink?: Maybe<Scalars['String']['output']>;\n iconPath?: Maybe<Scalars['String']['output']>;\n influencerLink?: Maybe<Scalars['String']['output']>;\n iosDownloadLink?: Maybe<Scalars['String']['output']>;\n isEvent?: Maybe<Scalars['Boolean']['output']>;\n isNew?: Maybe<Scalars['Boolean']['output']>;\n isPromo?: Maybe<Scalars['Boolean']['output']>;\n isShowOnLandingPage?: Maybe<Scalars['Boolean']['output']>;\n isTesting?: Maybe<Scalars['Boolean']['output']>;\n merchant?: Maybe<Merchant>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n metaDescription?: Maybe<Scalars['String']['output']>;\n metaFieldJson?: Maybe<Scalars['JSON']['output']>;\n metaTitle?: Maybe<Scalars['String']['output']>;\n officialSiteLink?: Maybe<Scalars['String']['output']>;\n providerCompanyGuid?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n route?: Maybe<Scalars['String']['output']>;\n schemaMarkUp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n tags?: Maybe<Scalars['String']['output']>;\n title?: Maybe<Scalars['String']['output']>;\n topUpGuidLink?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum ProductPageCategory {\n Voucher = 'VOUCHER',\n Webtopup = 'WEBTOPUP'\n}\n\n/** ProductPage Connection */\nexport type ProductPageConnection = {\n __typename?: 'ProductPageConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<ProductPageEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** ProductPage Edge */\nexport type ProductPageEdge = {\n __typename?: 'ProductPageEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<ProductPage>;\n};\n\nexport type ProductPageMetaField = {\n apiType: Array<ProductPageMetaFieldApiEnum>;\n desc?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum ProductPageMetaFieldApiEnum {\n Checkout = 'CHECKOUT',\n Delivery = 'DELIVERY',\n Inquiry = 'INQUIRY',\n Server = 'SERVER'\n}\n\nexport type ProductPageQueryCriteria = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n gameParentCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductPageQueryCriteriaPublic = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n gameParentCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n pageSize?: Scalars['Int']['input'];\n sortBy: ProductPageSortByEnum;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum ProductPageSortByEnum {\n CreatedAt = 'createdAt',\n UpdatedAt = 'updatedAt'\n}\n\nexport type ProductPriceList = {\n __typename?: 'ProductPriceList';\n ccyCode?: Maybe<Scalars['String']['output']>;\n contractTemplateGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n endDate?: Maybe<Scalars['DateTime']['output']>;\n eventCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n price?: Maybe<Scalars['Int']['output']>;\n priority?: Maybe<Scalars['Int']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productPage?: Maybe<ProductPage>;\n productPageGuid?: Maybe<Scalars['String']['output']>;\n rateTemplateGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n startDate?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Status>;\n type?: Maybe<PriceListType>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductPriceListCriteria = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: Status;\n type?: InputMaybe<PriceListType>;\n};\n\nexport type ProductPriceListRs = PageableRs & {\n __typename?: 'ProductPriceListRs';\n data?: Maybe<Array<ProductPriceList>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ProductSelectionEnum {\n All = 'ALL',\n Selective = 'SELECTIVE'\n}\n\nexport enum ProviderPlatform {\n Facebook = 'FACEBOOK',\n Google = 'GOOGLE'\n}\n\nexport type Query = {\n __typename?: 'Query';\n approvalMsApprovals?: Maybe<PageableResponse>;\n /** get all audit trail with criteria */\n auditMsAuditTrail?: Maybe<Array<Maybe<AuditTrail>>>;\n /** get suspicious tags */\n auditMsSuspiciousTag?: Maybe<SuspiciousTagPageableRs>;\n /** acessToken query used by gateway to get user access permission */\n authMsAccessToken?: Maybe<Scalars['String']['output']>;\n /** Generate token from api credential */\n authMsApiCredentialToken?: Maybe<Scalars['String']['output']>;\n authMsApiCredentials?: Maybe<ApiCredentialFilterRs>;\n authMsApiCredentialsPrivate?: Maybe<Array<Maybe<ApiCredentialPrivate>>>;\n /** get all auth ms settings with filter */\n authMsAuthSettings?: Maybe<AuthSettingsWithFilterRs>;\n /** get all company with filter */\n authMsCompany?: Maybe<CompanyWithFilterRs>;\n /** This query allow to get firebase id token from uid (testing) */\n authMsGetFirebaseIdToken?: Maybe<FirebaseIdTokenRes>;\n /** get all member with criteria for CP_COMMERCE sourcePlatform */\n authMsMember?: Maybe<AppLoginSubjectConnection>;\n /** get all merchant by guid */\n authMsMerchant?: Maybe<MerchantFilterRs>;\n /** get user profile by authorization header */\n authMsMyProfile?: Maybe<AppLoginSubject>;\n /** get list of permission available */\n authMsPermission?: Maybe<PaginationPermissionResponse>;\n /** get list of available role */\n authMsRole?: Maybe<PaginationRoleResponse>;\n authMsSignatureChecker?: Maybe<SignatureCheckerRs>;\n authMsSignatureCreate?: Maybe<SignatureCreateRs>;\n /** This query allow to validate token */\n authMsTokenValidaton?: Maybe<Scalars['String']['output']>;\n /** get all user with criteria for ADMIN sourcePlatform */\n authMsUser?: Maybe<Array<Maybe<AppLoginSubject>>>;\n /**\n * Get Author Historical Slug by criteria\n * For urlKey use slug with pageSize 1\n */\n cmsMsAuthorHistoricalSlug?: Maybe<AuthorHistoricalSlugResult>;\n cmsMsBookmarks?: Maybe<Array<Maybe<CmsBookmarks>>>;\n cmsMsCommentReactions?: Maybe<CmsReactionResult>;\n /** This query is used to get post, comment and its reaction status based on its historical slug */\n cmsMsFindPostCommentReactionByHistSlug?: Maybe<CmsPost>;\n /** This query is used to get locked post by guid or post guid */\n cmsMsLockedPost?: Maybe<Array<Maybe<CmsLockPost>>>;\n cmsMsPostComments?: Maybe<CmsPostCommentResult>;\n cmsMsPostExts?: Maybe<Array<Maybe<CmsPostExt>>>;\n /**\n * This query is used to get post historical slug by criteria\n * can use 'slug' for search urlKey\n */\n cmsMsPostHistoricalSlug?: Maybe<PostHistoricalSlugResult>;\n cmsMsPostTermRelationship?: Maybe<Array<Maybe<CmsPostTermRelationship>>>;\n cmsMsPostTerms?: Maybe<CmsPostTermResult>;\n cmsMsPostViews?: Maybe<CmsPostViewsResult>;\n cmsMsPosts?: Maybe<CmsPostConnection>;\n cmsMsPostsPublic?: Maybe<CmsPostConnection>;\n cmsMsUsers?: Maybe<Array<Maybe<CmsUser>>>;\n /** remove this when there is field under query */\n emptyField?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFetchFile?: Maybe<Array<Maybe<FetchFileResponse>>>;\n fileMgmtSysMsFileMetadata?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileQuota?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileSearch?: Maybe<Scalars['String']['output']>;\n getHistoryAgreement?: Maybe<Array<Maybe<HistoryAgreement>>>;\n getTableAgreement?: Maybe<Array<Maybe<Agreement>>>;\n ggwMsGameTransactions?: Maybe<Array<Maybe<GameTransactions>>>;\n ggwMsRequiredField?: Maybe<RequiredFieldResponse>;\n humanResourcesMsVacancy?: Maybe<PaginationVacancyResponse>;\n humanResourcesMsVacancyApplication?: Maybe<PaginationVacancyApplicationResponse>;\n humanResourcesMsVacancyPublic?: Maybe<PaginationVacancyResponse>;\n humanResourcesMsVacancySettings?: Maybe<Array<Maybe<VacancySettings>>>;\n /** get all message template with criteria */\n notificationMsEmailMessageTemplate?: Maybe<EmailMessageTemplatePageableResult>;\n notificationMsNotificationAlerts?: Maybe<Array<Maybe<NotificationAlert>>>;\n productMsContractTemplateDetails?: Maybe<ContractTemplateDetailRs>;\n productMsContractTemplates?: Maybe<ContractTemplateRs>;\n productMsMerchantContracts?: Maybe<MerchantContractRs>;\n productMsPaymentChannel?: Maybe<PaymentChannelRs>;\n productMsPaymentChannelDenomination?: Maybe<Array<Maybe<PaymentChannelDenomination>>>;\n productMsPaymentChannelGuideline?: Maybe<Array<Maybe<PaymentChannelGuideline>>>;\n productMsPaymentChannelPublic?: Maybe<PaymentChannelPublicRs>;\n productMsPaymentProvider?: Maybe<PaymentProviderRs>;\n productMsProductDenomination?: Maybe<Array<Maybe<ProductDenomination>>>;\n productMsProductPage?: Maybe<Array<Maybe<ProductPage>>>;\n productMsProductPagePublic?: Maybe<ProductPageConnection>;\n productMsProductPriceList?: Maybe<ProductPriceListRs>;\n productMsRateCardTemplates?: Maybe<RateTemplateRs>;\n voucherMsVoucherGroup?: Maybe<VoucherGroupRs>;\n voucherMsVouchers?: Maybe<VouchersRs>;\n webConfigMsCountry?: Maybe<CountryResult>;\n webConfigMsCurrency?: Maybe<CurrencyResult>;\n webConfigMsWebConfig?: Maybe<WebConfigResult>;\n webtopupMsGetProductPage?: Maybe<ProductDetailsResponse>;\n webtopupMsTransactionHistory?: Maybe<Array<Maybe<WebtopupTransactionHistory>>>;\n webtopupMsTransactions?: Maybe<WebtopupTransactionResult>;\n};\n\n\nexport type QueryApprovalMsApprovalsArgs = {\n input?: InputMaybe<ApprovalCriteria>;\n};\n\n\nexport type QueryAuditMsAuditTrailArgs = {\n input?: InputMaybe<AuditTrailCriteria>;\n};\n\n\nexport type QueryAuditMsSuspiciousTagArgs = {\n input?: InputMaybe<SuspiciousFilter>;\n};\n\n\nexport type QueryAuthMsAccessTokenArgs = {\n token: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsApiCredentialTokenArgs = {\n accessKey: Scalars['String']['input'];\n secretKey: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsApiCredentialsArgs = {\n filter: ApiCredentialFilterRq;\n};\n\n\nexport type QueryAuthMsApiCredentialsPrivateArgs = {\n input: ApiCredentialSpecialFilter;\n};\n\n\nexport type QueryAuthMsAuthSettingsArgs = {\n input?: InputMaybe<AuthSettingsFilter>;\n};\n\n\nexport type QueryAuthMsCompanyArgs = {\n input?: InputMaybe<CompanyFilter>;\n};\n\n\nexport type QueryAuthMsGetFirebaseIdTokenArgs = {\n uid: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsMemberArgs = {\n input?: InputMaybe<UserMemberQueryCriteria>;\n};\n\n\nexport type QueryAuthMsMerchantArgs = {\n input?: InputMaybe<MerchantFilter>;\n};\n\n\nexport type QueryAuthMsPermissionArgs = {\n filter: PermissionFilter;\n};\n\n\nexport type QueryAuthMsRoleArgs = {\n filter: RoleFilter;\n};\n\n\nexport type QueryAuthMsSignatureCheckerArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsSignatureCreateArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsTokenValidatonArgs = {\n token?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsUserArgs = {\n input?: InputMaybe<UserAdminQueryCriteria>;\n};\n\n\nexport type QueryCmsMsAuthorHistoricalSlugArgs = {\n input?: InputMaybe<AuthorHistoricalSlugCriteria>;\n};\n\n\nexport type QueryCmsMsBookmarksArgs = {\n input?: InputMaybe<BookmarksQueryCriteria>;\n};\n\n\nexport type QueryCmsMsCommentReactionsArgs = {\n filter: CmsReactionCriteria;\n};\n\n\nexport type QueryCmsMsFindPostCommentReactionByHistSlugArgs = {\n urlKey: Scalars['String']['input'];\n};\n\n\nexport type QueryCmsMsLockedPostArgs = {\n input?: InputMaybe<CmsLockPostQueryCriteria>;\n};\n\n\nexport type QueryCmsMsPostCommentsArgs = {\n input?: InputMaybe<CmsPostCommentFilter>;\n};\n\n\nexport type QueryCmsMsPostExtsArgs = {\n input: CmsPostExtQueryCriteria;\n};\n\n\nexport type QueryCmsMsPostHistoricalSlugArgs = {\n input: PostHistoricalSlugCriteria;\n};\n\n\nexport type QueryCmsMsPostTermRelationshipArgs = {\n filter?: InputMaybe<CmsPostTermRelationshipQueryCriteria>;\n};\n\n\nexport type QueryCmsMsPostTermsArgs = {\n filter: CmsPostTermFilter;\n isHome: Scalars['Boolean']['input'];\n};\n\n\nexport type QueryCmsMsPostViewsArgs = {\n filter: CmsPostViewsCriteria;\n};\n\n\nexport type QueryCmsMsPostsArgs = {\n filter: CmsPostFilter;\n};\n\n\nexport type QueryCmsMsPostsPublicArgs = {\n filter: CmsPostFilterPublic;\n isHome?: Scalars['Boolean']['input'];\n};\n\n\nexport type QueryCmsMsUsersArgs = {\n filter: CmsUserFilter;\n};\n\n\nexport type QueryFileMgmtSysMsFetchFileArgs = {\n fileGuids: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\n\nexport type QueryFileMgmtSysMsFileMetadataArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryFileMgmtSysMsFileQuotaArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryFileMgmtSysMsFileSearchArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryGetHistoryAgreementArgs = {\n input?: InputMaybe<HistoryAgreementQueryCriteria>;\n};\n\n\nexport type QueryGetTableAgreementArgs = {\n input?: InputMaybe<AgreementQueryCriteria>;\n};\n\n\nexport type QueryGgwMsGameTransactionsArgs = {\n input?: InputMaybe<GameTransactionQueryCriteria>;\n};\n\n\nexport type QueryGgwMsRequiredFieldArgs = {\n data?: InputMaybe<RequiredFieldRequest>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyArgs = {\n input?: InputMaybe<VacancyQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyApplicationArgs = {\n input?: InputMaybe<VacancyApplicationQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyPublicArgs = {\n input?: InputMaybe<VacancyQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancySettingsArgs = {\n input?: InputMaybe<VacancySettingsQueryCriteria>;\n};\n\n\nexport type QueryNotificationMsEmailMessageTemplateArgs = {\n input?: InputMaybe<EmailMsgTemplateCriteria>;\n};\n\n\nexport type QueryNotificationMsNotificationAlertsArgs = {\n input?: InputMaybe<NotificationAlertCriteria>;\n};\n\n\nexport type QueryProductMsContractTemplateDetailsArgs = {\n input?: InputMaybe<ContractTemplateDetailCriteria>;\n};\n\n\nexport type QueryProductMsContractTemplatesArgs = {\n input?: InputMaybe<ContractTemplateCriteria>;\n};\n\n\nexport type QueryProductMsMerchantContractsArgs = {\n input?: InputMaybe<MerchantContractCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelArgs = {\n input?: InputMaybe<PaymentChannelQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelDenominationArgs = {\n input?: InputMaybe<PaymentChannelDenomQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelGuidelineArgs = {\n filter?: InputMaybe<PaymentChannelGuidelineQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelPublicArgs = {\n input?: InputMaybe<PaymentChannelQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentProviderArgs = {\n input?: InputMaybe<PaymentProviderQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductDenominationArgs = {\n input?: InputMaybe<ProductDenominationQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductPageArgs = {\n input?: InputMaybe<ProductPageQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductPagePublicArgs = {\n input?: InputMaybe<ProductPageQueryCriteriaPublic>;\n};\n\n\nexport type QueryProductMsProductPriceListArgs = {\n input: ProductPriceListCriteria;\n};\n\n\nexport type QueryProductMsRateCardTemplatesArgs = {\n input?: InputMaybe<RateCardTemplateCriteria>;\n};\n\n\nexport type QueryVoucherMsVoucherGroupArgs = {\n input?: InputMaybe<VoucherGroupFilter>;\n};\n\n\nexport type QueryVoucherMsVouchersArgs = {\n input?: InputMaybe<VoucherFilter>;\n};\n\n\nexport type QueryWebConfigMsCountryArgs = {\n input: CountryQueryCriteria;\n};\n\n\nexport type QueryWebConfigMsCurrencyArgs = {\n input: CurrencyQueryCriteria;\n};\n\n\nexport type QueryWebConfigMsWebConfigArgs = {\n input: WebConfigQueryCriteria;\n};\n\n\nexport type QueryWebtopupMsGetProductPageArgs = {\n productGuid: Scalars['String']['input'];\n};\n\n\nexport type QueryWebtopupMsTransactionHistoryArgs = {\n userGuid: Scalars['String']['input'];\n};\n\n\nexport type QueryWebtopupMsTransactionsArgs = {\n input: WebtopupTransactionQueryCriteria;\n};\n\nexport type RateCardTemplate = {\n __typename?: 'RateCardTemplate';\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n details?: Maybe<Array<Maybe<RateTemplateDetail>>>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n version?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type RateCardTemplateCriteria = {\n code?: InputMaybe<Scalars['String']['input']>;\n detailCriteria?: InputMaybe<RateTemplateDetailCriteria>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: Status;\n version?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport enum RateLogic {\n Fixed = 'FIXED',\n Percentage = 'PERCENTAGE'\n}\n\nexport type RateTemplateDetail = {\n __typename?: 'RateTemplateDetail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n endAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n minimumRate?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n priority?: Maybe<Scalars['Int']['output']>;\n rate?: Maybe<Scalars['Float']['output']>;\n rateLogic?: Maybe<RateLogic>;\n revision?: Maybe<Scalars['String']['output']>;\n startAt?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type RateTemplateDetailCriteria = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n rateLogic?: InputMaybe<RateLogic>;\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n status?: Status;\n};\n\nexport type RateTemplateRs = {\n __typename?: 'RateTemplateRs';\n data?: Maybe<Array<Maybe<RateCardTemplate>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ReactionType {\n Heart = 'HEART',\n Like = 'LIKE'\n}\n\nexport type RegistrationRq = {\n /** ... user extension, ex: profile photo, bio, etc */\n appLoginSubjectExt?: InputMaybe<Array<InputMaybe<AppLoginSubjectExtRq>>>;\n /** ... date with format YYYY-MM-DD */\n birthday: Scalars['Date']['input'];\n /** ... email to register user [Optional] */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... user gender */\n gender: Gender;\n /** ... mobile nunber to register user [Optional] */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user full name */\n name: Scalars['String']['input'];\n /** ... password for new user */\n password: Scalars['String']['input'];\n /** ... user pin number */\n pinNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... referal code */\n referralCode?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform for bo or public user separation */\n sourcePlatform: SourcePlatform;\n};\n\nexport enum RegistrationStatus {\n ConfirmationSuccess = 'CONFIRMATION_SUCCESS',\n EmailVerificationSuccess = 'EMAIL_VERIFICATION_SUCCESS',\n MobileVerificationSuccess = 'MOBILE_VERIFICATION_SUCCESS'\n}\n\nexport type RequiredField = {\n content: RequiredFieldContentEnum;\n name?: InputMaybe<Scalars['String']['input']>;\n placeholder?: InputMaybe<Scalars['String']['input']>;\n type: RequiredFieldTypeEnum;\n url?: InputMaybe<Scalars['String']['input']>;\n values: Array<RequiredFieldDropdownPair>;\n};\n\nexport enum RequiredFieldContentEnum {\n Alphabet = 'ALPHABET',\n Alphanumeric = 'ALPHANUMERIC',\n Api = 'API',\n Numeric = 'NUMERIC',\n Static = 'STATIC'\n}\n\nexport type RequiredFieldDropdownPair = {\n display: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type RequiredFieldRequest = {\n gameId?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type RequiredFieldResponse = {\n __typename?: 'RequiredFieldResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum RequiredFieldTypeEnum {\n Dropdown = 'DROPDOWN',\n Text = 'TEXT'\n}\n\nexport type RoleFilter = {\n /** ... to filter role by code equal */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ...to get role with all guids */\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... to filter role by name ilike */\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... to filter role by status equal */\n status?: Status;\n /** ... to get list of role attached to user */\n subjectGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type SignatureCheckerRs = {\n __typename?: 'SignatureCheckerRs';\n status?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SignatureCreateRs = {\n __typename?: 'SignatureCreateRs';\n status?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SocialLoginRq = {\n idToken: Scalars['String']['input'];\n providerPlatform: ProviderPlatform;\n sourcePlatform: SourcePlatform;\n};\n\nexport enum SourcePlatform {\n /** ... for backoffice */\n Admin = 'ADMIN',\n /** ... for public */\n CpCommerce = 'CP_COMMERCE'\n}\n\nexport enum Status {\n Active = 'ACTIVE',\n Deleted = 'DELETED',\n Expired = 'EXPIRED',\n Inactive = 'INACTIVE',\n Pending = 'PENDING',\n VerseData = 'VERSE_DATA'\n}\n\nexport enum SuggestedAction {\n /** ... suggested action if user didn't change password for x month */\n ChangePassword = 'CHANGE_PASSWORD',\n /** ... default action */\n Default = 'DEFAULT'\n}\n\nexport type SuspiciousFilter = {\n actionCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Scalars['String']['input'];\n targetCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n types?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type SuspiciousTag = {\n __typename?: 'SuspiciousTag';\n actionCode?: Maybe<Scalars['String']['output']>;\n actionJson?: Maybe<Scalars['JSON']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n intervalParam?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n targetCode?: Maybe<Scalars['String']['output']>;\n threshold?: Maybe<Scalars['Int']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type SuspiciousTagPageableRs = {\n __typename?: 'SuspiciousTagPageableRs';\n data?: Maybe<Array<Maybe<SuspiciousTag>>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type TempFileRequest = {\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type TemporaryUserDeactivationRq = {\n /** ... band type refer to UserBansType enum */\n banType: UserBanType;\n /** ... ban exipred at with format \"2023-09-01T12:00:00.000Z\" or \"2023-09-30T12:00:00.000+07:00\" */\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n /** ... admin remark */\n remark?: InputMaybe<Scalars['String']['input']>;\n /** ... user guid to deactive */\n userGuid: Scalars['String']['input'];\n};\n\nexport enum TermType {\n Category = 'CATEGORY',\n PostTag = 'POST_TAG'\n}\n\nexport type Token = {\n __typename?: 'Token';\n accessToken?: Maybe<Scalars['String']['output']>;\n refreshToken?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TransactionRefund = {\n __typename?: 'TransactionRefund';\n createdBy?: Maybe<AppLoginSubject>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum UniboxV2RequestType {\n MobileGame = 'MOBILE_GAME',\n Standard = 'STANDARD'\n}\n\nexport type UpdateApiCredentialRq = {\n activeAt?: InputMaybe<Scalars['DateTime']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionalUserGuid?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateAuthSettingRq = {\n /** ... Setting guid identifier */\n guid: Scalars['String']['input'];\n /** ... Setting name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting value */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateBookmarkRq = {\n /** Bookmark Guid. */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Post Guid that going to be saved. */\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** User Guid that saving the post. */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostExtRq = {\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n ext_type?: InputMaybe<Scalars['String']['input']>;\n /** Guid value referencing to Amazon S3 image file */\n ext_value?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n post_guid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostRq = {\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n authorName?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n /** Video thumbnail/Live thumbnail */\n contentOption?: InputMaybe<ContentOption>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid: Scalars['String']['input'];\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n /** Content of the post */\n postBody?: InputMaybe<Scalars['String']['input']>;\n /** Terms-Category guid of the post */\n postCategoryGuid?: InputMaybe<Scalars['String']['input']>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: InputMaybe<Scalars['String']['input']>;\n /** Terms-PostTag names of the post */\n postTagNames: Array<InputMaybe<Scalars['String']['input']>>;\n postTitle?: InputMaybe<Scalars['String']['input']>;\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** The current revision value is mandatory to update CMS Post */\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n /** Video/Live content option source */\n videoSource?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostTermRq = {\n guid: Scalars['String']['input'];\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName?: InputMaybe<Scalars['String']['input']>;\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsUserRq = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n picture?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCompanyRq = {\n /** ... new company code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... new company country */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n /** ... new company description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... new company displayed name */\n displayName?: InputMaybe<Scalars['String']['input']>;\n /** ... guid for company want to update */\n guid?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... new company name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision?: InputMaybe<Scalars['String']['input']>;\n /** ... new company status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateContractTemplateRq = {\n contractDetailsGuidToLink?: InputMaybe<Array<Scalars['String']['input']>>;\n contractDetailsGuidToUnlink?: InputMaybe<Array<Scalars['String']['input']>>;\n guid: Scalars['String']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n productSelection?: InputMaybe<ProductSelectionEnum>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateEmailMessageTemplateRq = {\n /** ... message template identifier */\n guid: Scalars['String']['input'];\n /** ... message id */\n messageId?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision: Scalars['String']['input'];\n /** ... message template status */\n status?: InputMaybe<Scalars['String']['input']>;\n /** ... base64 encoded html or message template */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateHistoryAgreementRq = {\n content?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n publishDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantContractRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n key?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateMerchantPaymentDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantPaymentProviderRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n providerGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantRq = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePaymentChannelDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n payamentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePaymentChannelRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n charge?: InputMaybe<Scalars['Float']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n contractorCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n field?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<PaymentChannelMetaField>>>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n parameter?: InputMaybe<Scalars['String']['input']>;\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n route?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n vatPercentage?: InputMaybe<Scalars['Float']['input']>;\n};\n\nexport type UpdatePaymentProviderRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePermRq = {\n /** ... new parent identifier */\n parentId?: InputMaybe<Scalars['String']['input']>;\n /** ... new permmission code */\n permCode?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission description */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission permission module */\n permModule?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission name */\n permName?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission permission scope */\n permScope?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission type */\n permType?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision: Scalars['String']['input'];\n /** ... new permission status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdatePrincipalRq = {\n /** ...User principal guid */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... User new Principal */\n newPrincipal: Scalars['String']['input'];\n /** ... User old principal id */\n oldPrincipal?: InputMaybe<Scalars['String']['input']>;\n /** ... user guid belong to user that we want change the principal, MANDATORY FOR UPDATE BY ADMIN if user don't have the principal type before */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... verification code, ONLY FOR UPDATE BY USER if you send guid when update by ADMIN then the data will not used */\n verificationCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductDenominationRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n imagePath?: InputMaybe<Scalars['String']['input']>;\n isAdjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductPageRq = {\n advanceSearch?: InputMaybe<Scalars['String']['input']>;\n category: ProductPageCategory;\n communityLink?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n downloadLink?: InputMaybe<Scalars['String']['input']>;\n gameCenterImage?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Scalars['String']['input']>;\n gameParentCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n huaweiDownloadLink?: InputMaybe<Scalars['String']['input']>;\n iconGuid?: InputMaybe<Scalars['String']['input']>;\n influencerLink?: InputMaybe<Scalars['String']['input']>;\n iosDownloadLink?: InputMaybe<Scalars['String']['input']>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n metaDescription?: InputMaybe<Scalars['String']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<ProductPageMetaField>>>;\n metaTitle?: InputMaybe<Scalars['String']['input']>;\n officialSiteLink?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n route?: InputMaybe<Scalars['String']['input']>;\n schemaMarkup?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n topUpGuidLink?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductPriceListRq = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n price?: InputMaybe<Scalars['Int']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Status>;\n type?: InputMaybe<PriceListType>;\n};\n\nexport type UpdateProfileRq = {\n /** ... update user birthday */\n birthday?: InputMaybe<Scalars['Date']['input']>;\n /** ... update user gender */\n gender?: InputMaybe<Gender>;\n /** ... user guid we want to update, ONLY FOR UPDATE BY ADMIN if you send guid when update by user then the data will not used */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... update user full name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... user status ACTIVE/INACTIVE, ONLY FOR UPDATE BY ADMIN if you send data when update by user then the data will not used */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateRateCardTemplateDetailRq = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid: Scalars['String']['input'];\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n minimumRate?: InputMaybe<Scalars['Int']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n rate?: InputMaybe<Scalars['Float']['input']>;\n rateLogic?: InputMaybe<RateLogic>;\n revision: Scalars['String']['input'];\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateRateCardTemplateRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n};\n\nexport type UpdateRoleRq = {\n /** ... new role code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... new role description */\n description?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... new role name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match with data version in db */\n revision: Scalars['String']['input'];\n /** ... new role status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateSuspiciousTagRq = {\n actionCode?: InputMaybe<Scalars['String']['input']>;\n actionJson?: InputMaybe<Scalars['JSON']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n intervalParam?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n targetCode?: InputMaybe<Scalars['String']['input']>;\n threshold?: InputMaybe<Scalars['Int']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateTemplateDetailRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n guid: Scalars['String']['input'];\n paymentProviderGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productSelection?: ProductSelectionEnum;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateVacancyRq = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateVacancySettingsRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type UpdateVoucherGroupRq = {\n /** Currency */\n currency?: InputMaybe<Scalars['String']['input']>;\n /** Voucher group identifier */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** to magnify value above before display to user */\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n /** Name of voucher group */\n name?: InputMaybe<Scalars['String']['input']>;\n /** Voucher that have pin, this one to set the pattern */\n pinPattern: Scalars['JSON']['input'];\n revision: Scalars['String']['input'];\n /** Voucher pattern for this voucher group, doesn't affect API type voucher */\n serialPattern: Scalars['JSON']['input'];\n /** Type of voucher group */\n type?: InputMaybe<VoucherGroupType>;\n /** Voucher price to check when redeem */\n value?: InputMaybe<Scalars['Int']['input']>;\n /** Code for API type voucher only */\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateWebConfigRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UserAdminQueryCriteria = {\n email?: InputMaybe<Scalars['String']['input']>;\n gender?: InputMaybe<Gender>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... cannot use this filter if already use optionalRole filter */\n mandatoryRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... cannot use this filter if already use mandatoryRole filter */\n optionalRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n sourcePlatform?: InputMaybe<SourcePlatform>;\n status?: InputMaybe<Array<InputMaybe<Status>>>;\n};\n\nexport enum UserBanType {\n Login = 'LOGIN'\n}\n\nexport type UserByAdmin = {\n __typename?: 'UserByAdmin';\n password?: Maybe<Scalars['String']['output']>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type UserConfirmRq = {\n /** ... verification code from email or otp notification */\n code: Scalars['String']['input'];\n /** ... email registered to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number registered to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform where principal registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type UserConsent = {\n __typename?: 'UserConsent';\n guid?: Maybe<Scalars['String']['output']>;\n historyAgreementGuid?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserInfoJsonType = {\n __typename?: 'UserInfoJsonType';\n userContact?: Maybe<Scalars['String']['output']>;\n userEmail?: Maybe<Scalars['String']['output']>;\n username?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserLogin = {\n __typename?: 'UserLogin';\n appLoginExt?: Maybe<Array<Maybe<AppLoginSubjectExt>>>;\n birthday?: Maybe<Scalars['Date']['output']>;\n category?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['String']['output']>;\n email?: Maybe<Scalars['String']['output']>;\n gender?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n mobileNumber?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n sourcePlatform?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserMemberQueryCriteria = {\n /** ... fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n /** ... fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n email?: InputMaybe<Scalars['String']['input']>;\n gender?: InputMaybe<Gender>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... cannot use this filter if already use optionalRole filter */\n mandatoryRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... cannot use this filter if already use mandatoryRole filter */\n optionalRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy: AppLoginSubjectSortByEnum;\n sortDirection?: Scalars['String']['input'];\n sourcePlatform?: InputMaybe<SourcePlatform>;\n status?: InputMaybe<Array<InputMaybe<Status>>>;\n};\n\nexport type Vacancy = {\n __typename?: 'Vacancy';\n countryCode?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n requirement?: Maybe<Scalars['String']['output']>;\n responsibility?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n title?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type VacancyApplication = {\n __typename?: 'VacancyApplication';\n attachment?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n email?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n reason?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n vacancyGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type VacancyApplicationQueryCriteria = {\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n email?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n vacancyGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VacancyQueryCriteria = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VacancySettings = {\n __typename?: 'VacancySettings';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type VacancySettingsQueryCriteria = {\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Voucher = {\n __typename?: 'Voucher';\n activationPin?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n redeemableFrom?: Maybe<Scalars['DateTime']['output']>;\n redeemableTo?: Maybe<Scalars['DateTime']['output']>;\n serialNumber?: Maybe<Scalars['String']['output']>;\n softpin?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n voucherGroupGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum VoucherAction {\n /** Voucher redeemed */\n Redeem = 'REDEEM',\n /** Voucher voided */\n Void = 'VOID'\n}\n\nexport type VoucherFilter = {\n activationPin?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n redeemableFrom?: InputMaybe<Scalars['DateTime']['input']>;\n redeemableTo?: InputMaybe<Scalars['DateTime']['input']>;\n serialNumber?: InputMaybe<Scalars['String']['input']>;\n softpin?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VoucherGroup = {\n __typename?: 'VoucherGroup';\n createdAt?: Maybe<Scalars['String']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n currency?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n pinPattern?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n serialPattern?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['Int']['output']>;\n voucherApiCode?: Maybe<Scalars['String']['output']>;\n voucherCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type VoucherGroupFilter = {\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n currency?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n pinPattern?: InputMaybe<Scalars['JSON']['input']>;\n serialPattern?: InputMaybe<Scalars['JSON']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n type?: InputMaybe<VoucherGroupType>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Scalars['Int']['input']>;\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n voucherCount?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type VoucherGroupRs = {\n __typename?: 'VoucherGroupRs';\n data: Array<Maybe<VoucherGroup>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum VoucherGroupType {\n /** Call third party API Type */\n Api = 'API',\n /** Generated voucher type */\n Generated = 'GENERATED',\n /** Imported voucher type */\n Import = 'IMPORT'\n}\n\nexport type VouchersRs = {\n __typename?: 'VouchersRs';\n data: Array<Maybe<Voucher>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WebConfig = {\n __typename?: 'WebConfig';\n code?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n jsonValue?: Maybe<Scalars['String']['output']>;\n numberValue?: Maybe<Scalars['Int']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n stringValue?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type WebConfigQueryCriteria = {\n code?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebConfigResult = {\n __typename?: 'WebConfigResult';\n data: Array<Maybe<WebConfig>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WebtopupRequest = {\n countryCode: Scalars['String']['input'];\n currencyCode: Scalars['String']['input'];\n gameFieldJson?: InputMaybe<GameRequiredFieldInput>;\n lang?: InputMaybe<Scalars['String']['input']>;\n magnifyValue: Scalars['Int']['input'];\n paymentProviderCode: Scalars['String']['input'];\n productDenomGuid: Scalars['String']['input'];\n productGuid: Scalars['String']['input'];\n providerAmount: Scalars['Int']['input'];\n type?: InputMaybe<UniboxV2RequestType>;\n userEmail?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebtopupResponse = {\n __typename?: 'WebtopupResponse';\n message?: Maybe<Scalars['String']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n paymentUrl?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransaction = {\n __typename?: 'WebtopupTransaction';\n companyGuid?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n currencyCode?: Maybe<Scalars['String']['output']>;\n gameFieldJson?: Maybe<Scalars['JSON']['output']>;\n gameGatewayRef?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isTesting?: Maybe<Scalars['Boolean']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n paymentFieldJson?: Maybe<Scalars['JSON']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n paymentProviderGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n providerAmount?: Maybe<Scalars['Int']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userEmail?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransactionHistory = {\n __typename?: 'WebtopupTransactionHistory';\n gameDetail?: Maybe<GameTransactions>;\n gameGatewayRef?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransactionQueryCriteria = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n currencyCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n gameGatewayRef?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n paymentGatewayRef?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebtopupTransactionResult = {\n __typename?: 'WebtopupTransactionResult';\n data: Array<Maybe<WebtopupTransaction>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type IsSuccess = {\n __typename?: 'isSuccess';\n isSuccess?: Maybe<Scalars['Boolean']['output']>;\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AppLoginSubject } from '../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public getByGuid(guid: string): Observable<AppLoginSubject | null>{ \n return this.apollo.query<{ authMsUser: AppLoginSubject[] }>({\n errorPolicy: 'all',\n variables: { input: { guids: [ guid ]}},\n query: gql`\n query GetUserByGuid($input: UserAdminQueryCriteria) {\n authMsUser(input: $input) {\n appLoginPrincipal {\n principalId\n principalType\n }\n appLoginExt {\n paramCode\n paramType\n file {\n publicUrl\n }\n }\n birthday\n category\n gender\n guid\n name\n status\n }\n }\n `,\n }).pipe(\n map(({ data: { authMsUser }}) => {\n if (!authMsUser || authMsUser.length === 0) return null;\n return authMsUser[0];\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Apollo, MutationResult, gql } from 'apollo-angular';\nimport { AppLoginSubject, ChangePassRq, LoginResponse, MutationAuthMsRefreshAccessTokenArgs, SourcePlatform, Token } from '../../../graphql/generated';\nimport { Observable, tap } from 'rxjs';\nimport { ProfileService } from '../profile/profile.service';\nimport { User } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n\tpublic static authToken: string = '';\n public static refreshToken: string = '';\n public user?: User;\n\n constructor(\n protected readonly apollo: Apollo,\n protected readonly profileService: ProfileService\n ) { }\n\n public login(input: { email: string, password: string, sourcePlatform: string }): Observable<MutationResult<{ authMsLogin: LoginResponse }>>{\n return this.apollo.mutate<{ authMsLogin: LoginResponse }>({ \n variables: { input },\n mutation: gql`\n mutation Login($input: LoginRq!) {\n authMsLogin(input: $input) {\n accessToken\n refreshToken\n suggestedAction\n user {\n birthday\n category\n email\n gender\n guid\n mobileNumber\n name\n status\n }\n }\n }\n `\n }).pipe(\n tap(({ data }) => {\n if (data?.authMsLogin) {\n const { accessToken, user, refreshToken } = data.authMsLogin;\n\n this.user = user as User;\n this.user!.photo = '/assets/imgs/profile.svg';\n AuthService.authToken = accessToken ?? '';\n AuthService.refreshToken = refreshToken ?? '';\n\n localStorage.setItem('userGuid', this.user!.guid);\n localStorage.setItem('authToken', AuthService.authToken);\n localStorage.setItem('refreshToken', AuthService.refreshToken);\n }\n })\n );\n }\n\n public refreshToken(variables: MutationAuthMsRefreshAccessTokenArgs): Observable<MutationResult<{ authMsRefreshAccessToken: Token }>>{\n return this.apollo.mutate({\n context: {\n headers: {\n 'operation-type': 'Mutation',\n 'operation-name': 'RefreshToken'\n }\n },\n variables,\n mutation: gql`\n mutation RefreshToken($refreshToken: String!) {\n authMsRefreshAccessToken(refreshToken: $refreshToken) {\n accessToken\n refreshToken\n }\n }\n `\n });\n }\n\n public getProfile(guid: string): Observable<AppLoginSubject | null>{\n return this.profileService.getByGuid(guid).pipe(\n tap((user: AppLoginSubject | null) => {\n if (!user) return;\n this.user = { ...user, photo: '/assets/imgs/profile.svg' } as User;\n\n user.appLoginExt?.forEach(({ paramCode, file: { publicUrl }}: any) => {\n if (paramCode === 'USER_PROFILE_PHOTO') this.user!.photo = publicUrl;\n });\n\n user.appLoginPrincipal?.forEach(({ principalId, principalType }: any) => {\n if (principalType === 'EMAIL_USERNAME') this.user!.email = principalId;\n });\n })\n );\n }\n\n public initForgotPassword(email: string): Observable<MutationResult<any>>{\n return this.apollo.mutate({ \n variables: { \n input: { \n email, \n sourcePlatform: SourcePlatform.Admin \n }\n },\n mutation: gql`\n mutation InitForgotPassword($input: ForgotPassOtpRq!) { \n authMsForgotPasswordOtp(input: $input)\n }\n `\n });\n }\n\n public createNewPassword({ newPassword, principalId, sourcePlatform, verifCode }: { confirm: string, newPassword: string, principalId: string, verifCode: string, sourcePlatform: string }): Observable<MutationResult<any>>{\n return this.apollo.mutate({ \n mutation : gql`\n mutation SubmitForgotPassword($input: ForgotPassRq!) { \n authMsForgotPassword(input: $input)\n }\n `, \n variables: { \n input: {\n newPassword,\n principalId,\n sourcePlatform,\n verifCode\n }\n }\n });\n }\n\n public updatePassword(input: { oldPassword: string, newPassword: string }): Observable<MutationResult<{ authMsChangePassword: ChangePassRq }>>{\n return this.apollo.mutate({ \n mutation: gql`\n mutation ChangePassword($input: ChangePassRq!) {\n authMsChangePassword(input: $input)\n }\n `, \n variables: { input } \n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { Country } from '../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryService {\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public query(): Observable<ApolloQueryResult<{ webConfigMsCountry: { data: Country[] }}>>{\n return this.apollo.query({\n errorPolicy: 'all',\n variables: { \n input: { \n page: 0,\n pageSize: 300,\n sortBy: 'name',\n sortDirection: 'asc'\n } \n },\n query: gql`\n query QueryCountry($input: CountryQueryCriteria!) {\n webConfigMsCountry(input: $input) {\n data {\n code\n defaultLangCode\n guid\n langCodes {\n code\n guid\n }\n name\n phoneCodes {\n code\n }\n }\n }\n }\n `,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AuthService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthResolver {\n\n public isUserLoggedIn(): boolean{ \n return AuthService.authToken !== ''; \n }\n\n public getAuthToken(): string | null{\n this.resolveUserAuthToken();\n \n if (this.isUserLoggedIn()) return AuthService.authToken;\n \treturn null;\n }\n\n protected resolveUserAuthToken(): void{\n if (!this.isUserLoggedIn() || !this.isTokenExpired(AuthService.authToken)) return;\n \n AuthService.authToken = '';\n AuthService.refreshToken = '';\n localStorage.removeItem('authToken');\n localStorage.removeItem('refreshToken');\n }\n\n protected isTokenExpired(token: string | null): boolean{\n if (!token || token === '') return true;\n const date = this.getTokenExpirationDate(token);\n\n if (date === null) return false;\n return !(<number>date.valueOf() > new Date().valueOf() + 0 * 1000);\n }\n\n protected getTokenExpirationDate(token: string | null): Date | null{\n const decoded: any = this.decodeToken(token); \n if (!decoded || !decoded.hasOwnProperty('exp')) return null;\n \n const date = new Date(0);\n date.setUTCSeconds(decoded.exp);\n\n return date;\n }\n\n protected decodeToken(token: string | null): string | null{\n if (!token || token === '') return null;\n\n const parts = token.split('.');\n if (parts.length !== 3) throw new Error(`The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.`);\n\n const decoded = this.urlBase64Decode(parts[1]);\n if (!decoded) throw new Error('Cannot decode the token.');\n\n return JSON.parse(decoded);\n }\n\n protected urlBase64Decode(str: string): string{\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n \n case 2: \n output += '==';\n break;\n\n case 3:\n output += '=';\n break;\n\n default: \n throw new Error('Illegal base64url string!');\n }\n return this.b64DecodeUnicode(output);\n }\n\n protected b64DecodeUnicode(str: string): string{\n return decodeURIComponent(Array.prototype.map.call(this.b64decode(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\n }\n\n protected b64decode(str: string): string{\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n let output = '';\n\n str = String(str).replace(/=+$/, '');\n if (str.length % 4 === 1) throw new Error(`'atob' failed: The string to be decoded is not correctly encoded.`);\n\n for (\n let bc = 0, bs: any, buffer: any, idx = 0;\n (buffer = str.charAt(idx++));\n \n ~buffer && ((bs = bc % 4? bs * 64 + buffer : buffer), bc++ % 4)? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6)))) : 0\n ) buffer = chars.indexOf(buffer);\n\n return output;\n }\n}\n","import { inject } from '@angular/core';\nimport { NavController } from '@ionic/angular';\nimport { AuthResolver } from '../../resolvers';\n\nexport const AuthGuard: () => boolean = (): boolean => {\n const resolver = inject(AuthResolver);\n const navCtrl = inject(NavController);\n\n if (!resolver.isUserLoggedIn()) navCtrl.navigateRoot('/auth/login', { queryParams: { url: `${ window.location.href }` } });\n return true;\n};\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../../services';\n\n@Injectable()\nexport class HeaderInterceptor implements HttpInterceptor {\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>{\n return next.handle(request.clone({\n headers: request.headers,\n setHeaders: {\n authorization: AuthService.authToken,\n project: 'unipin'\n }\n }));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { catchError, Observable, switchMap, throwError } from 'rxjs';\nimport { NavController } from '@ionic/angular';\nimport { AuthService } from '../../services';\n\n@Injectable()\nexport class RefreshTokenInterceptor implements HttpInterceptor {\n\n\tprotected isRefresh: boolean = false;\n\n\tconstructor(\n\t\tprotected readonly navCtrl: NavController,\n protected readonly authService: AuthService\n\t) { }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>{\n return next.handle(request).pipe(\n\t\t\tcatchError(({ error: { errors } }) => {\n if (errors[0].extensions.code === 'UNAUTHORIZED' && errors[0].message.includes('Token') && this.isRefresh) {\n\t\t\t\t\tthis.isRefresh = false;\n\n\t\t\t\t\tlocalStorage.clear();\n\t\t\t\t\tAuthService.authToken = '';\n\t\t\t\t\tAuthService.refreshToken = '';\n\t\t\t\t\tthis.authService.user = undefined;\n\n\t\t\t\t\tthis.navCtrl.navigateRoot('auth');\n\t\t\t\t\treturn throwError(() => errors[0]);\n\t\t\t\t} else if (errors[0].extensions.code === 'UNAUTHORIZED' && errors[0].message.includes('Token') && !this.isRefresh) {\n\t\t\t\t\tthis.isRefresh = true;\n\n\t\t\t\t\treturn this.authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(\n\t\t\t\t\t\tswitchMap(({ data }) => {\n\t\t\t\t\t\t\tthis.isRefresh = false;\n\n\t\t\t\t\t\t\tconst { accessToken, refreshToken } = data!.authMsRefreshAccessToken;\n\n\t\t\t\t\t\t\tAuthService.authToken = accessToken!;\n\t\t\t\t\t\t\tAuthService.refreshToken = refreshToken!;\n\n\t\t\t\t\t\t\tlocalStorage.setItem('authToken', accessToken!);\n\t\t\t\t\t\t\tlocalStorage.setItem('refreshToken', refreshToken!);\n\n\t\t\t\t\t\t\treturn next.handle(request.clone({\n\t\t\t\t\t\t\t\tsetHeaders: {\n\t\t\t\t\t\t\t\t\tauthorization: accessToken!,\n\t\t\t\t\t\t\t\t\tproject: 'unipin'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn throwError(() => errors[0]);\n\t\t\t})\n\t\t);\n }\n}\n"],"names":["i1","i2.PermissionService","i3","i1.PermissionService","i2","i4","i1.GridService","i2.AuditService","i6.TabGroupComponent","i7.TabContentComponent","i2.ProfileService","i2.AuthService"],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet.mjs","sources":["../../../projects/unipin-angular/src/lib/components/buttons/loading/btn-loading.component.ts","../../../projects/unipin-angular/src/lib/components/buttons/loading/btn-loading.component.html","../../../projects/unipin-angular/src/lib/components/buttons/group/btn-group.component.ts","../../../projects/unipin-angular/src/lib/components/buttons/group/btn-group.component.html","../../../projects/unipin-angular/src/lib/modules/micro-frontend/utils/mf-global-state.util.ts","../../../projects/unipin-angular/src/lib/modules/micro-frontend/utils/mf-bootstrap.util.ts","../../../projects/unipin-angular/src/lib/modules/permission/services/permission.service.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/loading/loading.page.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/loading/loading.page.html","../../../projects/unipin-angular/src/lib/modules/permission/directive/permission.directive.ts","../../../projects/unipin-angular/src/lib/modules/permission/guards/permission.guard.ts","../../../projects/unipin-angular/src/lib/modules/permission/permission.module.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/401/unauthorized.page.ts","../../../projects/unipin-angular/src/lib/modules/permission/pages/401/unauthorized.page.html","../../../projects/unipin-angular/src/lib/components/containers/applet-container/applet-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/applet-container/applet-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/column-container/directives/lazyr-route.directive.ts","../../../projects/unipin-angular/src/lib/components/containers/column-container/column-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/column-container/column-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/colum-header-container/column-header-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/colum-header-container/column-header-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/modal-container/modal-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/modal-container/modal-container.component.html","../../../projects/unipin-angular/src/lib/utils/form-error-message.util.ts","../../../projects/unipin-angular/src/lib/components/forms/date/form-date.component.ts","../../../projects/unipin-angular/src/lib/components/forms/date/form-date.component.html","../../../projects/unipin-angular/src/lib/components/forms/input/form-input.component.ts","../../../projects/unipin-angular/src/lib/components/forms/input/form-input.component.html","../../../projects/unipin-angular/src/lib/components/forms/password/form-password.component.ts","../../../projects/unipin-angular/src/lib/components/forms/password/form-password.component.html","../../../projects/unipin-angular/src/lib/components/forms/searchable-select/form-searchable-select.component.ts","../../../projects/unipin-angular/src/lib/components/forms/searchable-select/form-searchable-select.component.html","../../../projects/unipin-angular/src/lib/components/forms/select/form-select.component.ts","../../../projects/unipin-angular/src/lib/components/forms/select/form-select.component.html","../../../projects/unipin-angular/src/lib/components/forms/textarea/form-textarea.component.ts","../../../projects/unipin-angular/src/lib/components/forms/textarea/form-textarea.component.html","../../../projects/unipin-angular/src/lib/components/filter/filter.component.ts","../../../projects/unipin-angular/src/lib/components/filter/filter.component.html","../../../projects/unipin-angular/src/lib/components/grids/services/grid.service.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-snapshot/grid-snapshot.component.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-snapshot/grid-snapshot.component.html","../../../projects/unipin-angular/src/lib/components/grids/grid-pagination/grid-pagination.component.ts","../../../projects/unipin-angular/src/lib/components/grids/grid-pagination/grid-pagination.component.html","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.html","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.ts","../../../projects/unipin-angular/src/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tab-content/tab-content.component.ts","../../../projects/unipin-angular/src/lib/components/tabs/tab-content/tab-content.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tab-group/tab-group.component.ts","../../../projects/unipin-angular/src/lib/components/tabs/tab-group/tab-group.component.html","../../../projects/unipin-angular/src/lib/components/tabs/tabs.component.module.ts","../../../projects/unipin-angular/src/lib/components/audit/service/audit.service.ts","../../../projects/unipin-angular/src/lib/components/audit/list/audit-list.component.ts","../../../projects/unipin-angular/src/lib/components/audit/list/audit-list.component.html","../../../projects/unipin-angular/src/lib/components/audit/detail/audit-detail.component.ts","../../../projects/unipin-angular/src/lib/components/audit/detail/audit-detail.component.html","../../../projects/unipin-angular/src/graphql/generated.ts","../../../projects/unipin-angular/src/lib/services/profile/profile.service.ts","../../../projects/unipin-angular/src/lib/services/auth/auth.service.ts","../../../projects/unipin-angular/src/lib/services/country/country.service.ts","../../../projects/unipin-angular/src/lib/resolvers/auth/auth.resolver.ts","../../../projects/unipin-angular/src/lib/guards/auth/auth.guard.ts","../../../projects/unipin-angular/src/lib/interceptors/header/header.interceptor.ts","../../../projects/unipin-angular/src/lib/interceptors/refresh-token/refresh-token.interceptor.ts"],"sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonButton, IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-btn-loading',\n templateUrl: './btn-loading.component.html',\n styleUrls: ['./btn-loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n IonicModule,\n CommonModule\n ]\n})\nexport class ButtonLoadingComponent {\n\n @Input() public disabled: boolean = false;\n @Input() public form: HTMLFormElement | string | undefined;\n @Input() public type?: 'button' | 'reset' | 'submit' = 'button';\n @Input() public fill: 'clear' | 'default' | 'outline' | 'solid' = 'solid';\n @Input() public color?: 'danger' | 'dark' | 'light' | 'medium' | 'primary' | 'secondary' | 'success' | 'tertiary' | 'warning' | string = 'primary';\n @Output() public onClick: EventEmitter<ButtonLoadingComponent> = new EventEmitter();\n @ViewChild(IonButton) protected btn!: IonButton;\n public isLoading: boolean = false;\n\n constructor(\n protected readonly ch: ChangeDetectorRef,\n ) { }\n\n public clickBtn(): void{ \n this.onClick.emit(this); \n this.toggleLoading();\n }\n\n public toggleLoading(): void{\n this.isLoading = !this.isLoading;\n this.btn.disabled = !this.btn.disabled;\n \n this.ch.markForCheck();\n }\n}\n","<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n <ion-spinner *ngIf=\"isLoading;else showIcon\" />\n \n <ng-template #showIcon>\n <ng-content select=\"ion-icon\" />\n </ng-template>\n\n <ng-content />\n</ion-button>\n","import { Attribute, Component, HostBinding, Input, SimpleChanges } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule, PopoverController } from '@ionic/angular';\nimport { ButtonGroupConfig } from './interfaces/btn-group-config.interface';\nimport { ButtonLoadingComponent } from '../loading/btn-loading.component';\n\n@Component({\n standalone: true,\n selector: 'up-btn-group',\n templateUrl: './btn-group.component.html',\n styleUrls: ['./btn-group.component.scss'],\n imports: [\n IonicModule,\n CommonModule,\n ButtonLoadingComponent\n ]\n})\nexport class ButtonGroupComponent {\n\n @Input({ required: true }) public config!: ButtonGroupConfig[];\n @HostBinding('class.d-none') protected isHidden: boolean = false;\n public activeIndex: number = 0;\n\n constructor(\n @Attribute('id') public id: string,\n protected readonly popoverCtrl: PopoverController\n ) { }\n\n public ngOnChanges(changes: SimpleChanges): void{\n if (changes['config']) {\n this.isHidden = this.config.length <= 0;\n this.activeIndex = 0;\n } \n }\n\n public clickBtn(b: ButtonLoadingComponent): void{\n this.config[this.activeIndex].onClick(b);\n }\n\n public change(i: number): void{\n this.activeIndex = i;\n this.popoverCtrl.dismiss();\n }\n}\n","<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\" [disabled]=\"config.length < 2\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n</ng-container>\n","export const packageNamespace = '@angular-architects/module-federation-tools';\n\nfunction getGlobalState<T>(): T {\n const globalState = window as unknown as { [packageNamespace]: T };\n globalState[packageNamespace] = globalState[packageNamespace] || ({} as unknown as T);\n \n return globalState[packageNamespace];\n}\n\nexport function getGlobalStateSlice<T>(): T;\nexport function getGlobalStateSlice<T, R>(selector: (globalState: T) => R): R;\n\nexport function getGlobalStateSlice<T, R>(selector?: (globalState: T) => R): R | T {\n const globalState = getGlobalState<T>();\n return selector? selector(globalState) : globalState;\n}\n\nexport function setGlobalStateSlice<T extends object>(slice: T): T {\n return Object.assign(getGlobalState<T>(), slice);\n}\n","import { CompilerOptions, enableProdMode, Injector, NgModuleRef, NgZone, PlatformRef, Type, Version, VERSION } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { platformBrowser } from '@angular/platform-browser';\nimport { getGlobalStateSlice, setGlobalStateSlice } from './mf-global-state.util';\n\nexport type AppType = 'shell' | 'microfrontend';\n\nexport type Options = {\n production: boolean;\n platformFactory?: () => PlatformRef;\n compilerOptions?: CompilerOptions & BootstrapOptions;\n version?: () => string | Version;\n appType?: AppType;\n \n /**\n * Opt-out of ngZone sharing.\n * Not recommanded.\n * Default value true.\n */\n ngZoneSharing?: boolean;\n \n /**\n * Opt-out of platformSharing sharing.\n * Possible, if dependencies are not shared or each bootstrapped\n * remote app uses a different version.\n * Default value true.\n */\n platformSharing?: boolean;\n \n /**\n * Deactivate support for legacy mode.\n * Only recommanded if all used implementations depend on\n * @angular-architects/module-federation-tools > 13.0.1.\n * Default value true.\n */\n activeLegacyMode?: boolean;\n};\n\ndeclare interface BootstrapOptions {\n ngZone?: NgZone | 'zone.js' | 'noop';\n ngZoneEventCoalescing?: boolean;\n ngZoneRunCoalescing?: boolean;\n}\n\nlet ngZoneSharing = true;\nlet platformSharing = true;\nlet legacyMode = true;\n\nexport function getMajor(version: string): string{\n const pre = version.match(/\\d+/)?.at(0);\n const post = version.match(/-.*/);\n\n if (!pre) throw new Error('Cound not identify major version: ' + version);\n\n if (post) return pre + post[0];\n return pre;\n}\n\n/**\n * LEGACY IMPLEMENTATIONS START\n *\n * Can be deprecated in later major releases.\n *\n * To increase backwards compatibility legacy and current namespaces\n * within the window object are used.\n */\nexport type LegacyPlatformCache = {\n platform: Record<string, PlatformRef>;\n};\n\nfunction getLegacyPlatformCache(): LegacyPlatformCache{\n const platformCache = window as unknown as LegacyPlatformCache;\n \n platformCache.platform = platformCache.platform || {};\n return platformCache;\n}\n\nfunction getLegacyPlatform(key: string): PlatformRef | null{\n const platform = getLegacyPlatformCache().platform[key];\n /**\n * If dependencies are not shared, platform with same version is different\n * and shared platform will not be returned.\n */\n return platform instanceof PlatformRef? platform : null;\n}\n\nfunction setLegacyPlatform(key: string, platform: PlatformRef): void{\n getLegacyPlatformCache().platform[key] = platform;\n}\n\nfunction getLegacyNgZone(): NgZone{\n return (window as any)['ngZone'];\n}\n\nfunction setLegacyNgZone(zone: NgZone): void{\n (window as any)['ngZone'] = zone;\n}\n\n/**\n * LEGACY IMPLEMENTATIONS END\n */\nfunction getPlatformCache(): Map<Version, PlatformRef>{\n return (\n getGlobalStateSlice(\n (state: { platformCache: Map<Version, PlatformRef> }) => state.platformCache\n ) ||\n setGlobalStateSlice({\n platformCache: new Map<Version, PlatformRef>(),\n }).platformCache\n );\n}\n\nfunction setPlatform(version: Version, platform: PlatformRef): void{\n if (platformSharing) {\n legacyMode && setLegacyPlatform(version.full, platform);\n getPlatformCache().set(version, platform);\n }\n}\n\nfunction getPlatform(options: Options): PlatformRef | undefined{\n if (!platformSharing) {\n return options.platformFactory!();\n }\n\n const versionResult = options.version!();\n const version = versionResult === VERSION.full? VERSION : versionResult;\n const versionKey = typeof version === 'string'? version : version.full;\n\n let platform = getPlatformCache().get(version as Version) || (legacyMode && getLegacyPlatform(versionKey));\n\n if (!platform) {\n platform = options.platformFactory!();\n setPlatform(VERSION, platform);\n\n options.production && enableProdMode();\n }\n return platform;\n}\n\nfunction getNgZone(): NgZone{\n return (getGlobalStateSlice((state: { ngZone: NgZone }) => state.ngZone) || getLegacyNgZone());\n}\n\nexport function shareNgZone(zone: NgZone): void{\n if (ngZoneSharing) {\n legacyMode && setLegacyNgZone(zone);\n setGlobalStateSlice({ ngZone: zone });\n }\n}\n\nexport function bootstrap<M>(module: Type<M>, options: Options): Promise<NgModuleRef<M>> | undefined{\n ngZoneSharing = options.ngZoneSharing !== false;\n platformSharing = options.platformSharing !== false;\n legacyMode = options.activeLegacyMode !== false;\n\n options.platformFactory = options.platformFactory || (() => platformBrowser());\n options.version = options.version || (() => VERSION);\n\n if (ngZoneSharing && !options.compilerOptions?.ngZone) {\n options.compilerOptions = options.compilerOptions || {};\n options.compilerOptions.ngZone = getNgZone();\n }\n\n return getPlatform(options)?.bootstrapModule(module, options.compilerOptions).then((ref) => {\n if (options.appType === 'shell') {\n shareShellZone(ref.injector);\n } else if (options.appType === 'microfrontend') {\n connectMicroFrontendRouter(ref.injector);\n }\n return ref;\n });\n}\n\nfunction shareShellZone(injector: Injector): void{\n const ngZone = injector.get(NgZone, null);\n if (!ngZone) {\n console.warn('No NgZone to share found');\n return;\n }\n shareNgZone(ngZone);\n}\n\nfunction connectMicroFrontendRouter(injector: Injector): void{\n const router = injector.get(Router);\n const location = injector.get(Location);\n\n if (!router) {\n console.warn('No router to connect found');\n return;\n }\n router.navigateByUrl(location.path() + window.location.hash);\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AppPermDfn, PermissionFilter } from '../../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermissionService {\n\n public readonly permModules: Subject<string[]> = new Subject<string[]>();\n public isInitiated: boolean = false;\n protected permissions: Map<string, boolean> = new Map();\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public setPermission(permCodes: string[], permModules: string[] = []): void{\n for (let i = 0; i < permCodes.length; i++) this.permissions.set(permCodes[i], true);\n this.permModules.next(permModules);\n }\n\n public checkPermission(scope: string, module: string, type: string): boolean{\n if (this.permissions.has(`${ scope }.${ module }.ADMIN`)) return true;\n if (this.permissions.has(`${ scope }.${ module }.${ type }`)) return true;\n\n return false;\n }\n\n public getPermissions(filter: PermissionFilter): Observable<ApolloQueryResult<{ authMsPermission: { data: AppPermDfn[] }}>>{\n return this.apollo.query({\n variables: { filter },\n query: gql`\n query QueryPermission($filter: PermissionFilter!) {\n authMsPermission(filter: $filter) {\n data { permCode }\n }\n }\n `\n });\n }\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { IonicModule } from '@ionic/angular';\nimport { PermissionService } from '../../services/permission.service';\n\n@Component({\n standalone: true,\n selector: 'up-loading',\n templateUrl: './loading.page.html',\n styleUrls: ['./loading.page.scss'],\n host: {\n class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'\n },\n imports: [ IonicModule ]\n})\nexport class LoadingPage implements OnInit, OnDestroy {\n\n protected sub!: Subscription;\n\n constructor(\n @Inject('LOADING_CONFIG') public readonly config: {\n permModule: string[],\n permType: string[],\n subjectGuid: string\n },\n protected readonly router: Router,\n protected readonly route: ActivatedRoute,\n protected readonly permissionService: PermissionService\n ) { }\n\n public ngOnInit(): void{\n const permCodeList: string[] = [];\n\n this.sub = this.permissionService.getPermissions({ pageSize: 1000, subjectGuid: this.config.subjectGuid, permModule: this.config.permModule, permType: this.config.permType }).subscribe({\n next: ({ data: { authMsPermission: { data }}}) => {\n data.forEach(({ permCode }) => {\n if (!permCode) return;\n\n permCodeList.push(permCode);\n });\n },\n complete: () => {\n this.permissionService.isInitiated = true;\n this.permissionService.setPermission(permCodeList, this.config.permModule);\n\n this.router.navigateByUrl(this.route.snapshot.queryParamMap.get('url')?? '');\n },\n error: () => this.router.navigate([ '401' ])\n });\n }\n\n public ngOnDestroy(): void{ this.sub.unsubscribe(); }\n}\n","<ion-spinner class=\"mb-4\" />\n<h3 class=\"text-center\">Please wait, we're preparing the applet. Drink water or coffee while waiting.</h3>\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PermissionService } from '../services/permission.service';\n\n@Directive({\n selector: '[hasPermission]'\n})\nexport class PermissionDirective {\n \n protected module!: string;\n protected scope: string = 'GLOBAL';\n\n @Input() set hasPermission(m: string) {\n this.module = m; \n }\n\n @Input() set hasPermissionScope(s: string) { \n this.scope = s; \n }\n\n @Input() set hasPermissionType(t: string) {;\n if (this.permissionService.checkPermission(this.scope, this.module, t)) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n return;\n }\n\n this.viewContainer.clear();\n }\n\n constructor(\n protected readonly templateRef: TemplateRef<any>,\n protected readonly viewContainer: ViewContainerRef,\n protected readonly permissionService: PermissionService\n ) { }\n}\n","import { inject } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';\nimport { PermissionService } from '../services/permission.service';\n\nexport const PermissionGuard: CanActivateFn = (route: ActivatedRouteSnapshot): boolean => {\n \n const router: Router = inject(Router);\n const location: Location = inject(Location);\n const permissionService: PermissionService = inject(PermissionService);\n const permission: { scope: string, module: string, type: string } = route.data['requiredPermission'];\n \n if (!permission) throw new Error('Invalid config: requiredPermission is a required parameter in route data for PermissionGuard');\n\n if (!permissionService.isInitiated) {\n router.navigate([ 'loading' ], { queryParams: { url: `${ location.path() + window.location.hash }` } });\n return false;\n }\n\n const { scope, module, type } = permission;\n if (permissionService.checkPermission(scope, module, type)) return true;\n\n router.navigate([ '401' ]);\n return false;\n}\n","import { NgModule } from '@angular/core';\nimport { PermissionDirective } from './directive/permission.directive';\n\n@NgModule({\n declarations: [\n PermissionDirective\n ],\n exports: [\n PermissionDirective\n ]\n})\nexport class PermissionModule { }\n","import { Component } from '@angular/core';\nimport { IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-unauthorized',\n templateUrl: './unauthorized.page.html',\n styleUrls: ['./unauthorized.page.scss'],\n host: {\n class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'\n },\n imports: [ IonicModule ]\n})\nexport class UnauthorizedPage { }\n","<ion-icon name=\"lock-closed\" class=\"mb-4\" />\n<h3 class=\"text-center\">Oops! You're not authorized to access this page.</h3>\n<p class=\"text-center\">Please log in or re-check your permissions.</p>\n","import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { Subscription } from 'rxjs';\nimport { PermissionService } from '../../../modules';\n\n@Component({\n standalone: true,\n selector: 'up-applet-container',\n templateUrl: './applet-container.component.html',\n styleUrls: ['./applet-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex h-100 w-100'\n },\n imports: [\n IonicModule,\n RouterModule,\n CommonModule\n ]\n})\nexport class AppletContainerComponent implements OnInit, OnDestroy {\n\n public isCollapsed: boolean = false;\n public isHidden: boolean[] = Array(this.config.containers.length).fill(true);\n protected sub!: Subscription;\n\n constructor(\n @Inject('APPLET_CONFIG') public readonly config: {\n icon: string,\n name: string,\n tenantName: string,\n enabledSetting: boolean,\n containers: { icon: string, label: string, path: `/${ string }`, permModule: string }[],\n version: string\n },\n protected readonly permissionService: PermissionService\n ) { }\n\n public ngOnInit(): void {\n this.sub = this.permissionService.permModules.subscribe((permModules: string[]) => {\n this.isHidden = this.config.containers.map(({ permModule }) => !permModules.includes(permModule));\n });\n }\n\n public ngOnDestroy(): void { this.sub.unsubscribe(); }\n\n public toggleSidenav(): void{ this.isCollapsed = !this.isCollapsed; }\n}\n","<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top\" *ngIf=\"config.enabledSetting\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 overflow-y-auto\">\n <ng-content />\n</div>\n","import { Directive, Input, OnInit, ViewContainerRef } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[loadRoute]'\n})\nexport class LazyRouteDirective implements OnInit {\n \n @Input({ required: true }) public loadRoute: any;\n\n constructor(\n protected readonly vcr: ViewContainerRef\n ){}\n \n public ngOnInit(): void{\n this.loadRoute.loadComponent().then((m: any) => this.vcr.createComponent(m));\n }\n}\n","import { Component, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NavigationEnd, Router, ActivatedRoute, Route, RouterModule } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { AngularSplitModule } from 'angular-split';\nimport { LazyRouteDirective } from './directives/lazyr-route.directive';\n\n@Component({\n standalone: true,\n selector: 'up-column-container',\n templateUrl: './column-container.component.html',\n styleUrls: ['./column-container.component.scss'],\n host: {\n class: 'd-block h-100 w-100'\n },\n imports: [\n RouterModule,\n CommonModule,\n AngularSplitModule,\n LazyRouteDirective\n ]\n})\nexport class ColumnContainerComponent implements OnDestroy {\n\n public readonly areas: { visible: boolean, route: Route }[] = [];\n protected readonly openedArea: { [key: string]: number } = {};\n protected sub!: Subscription;\n\n constructor(\n protected readonly router: Router,\n protected readonly activeRoute: ActivatedRoute\n ) { }\n\n public ngOnInit(): void{\n this.sub = this.router.events.subscribe((e) => {\n if (e instanceof NavigationEnd) this.navigate();\n });\n\n const url: string | undefined = this.activeRoute.firstChild?.routeConfig?.path;\n const routeList: Route[] = ((this.activeRoute.snapshot.routeConfig) as any)._loadedRoutes;\n\n this.next(routeList[0]);\n\n for (let i = 1; i < routeList.length; i++) {\n if (url?.startsWith(<string> routeList[i].path)) this.next(routeList[i]);\n }\n }\n\n public ngOnDestroy(): void{ this.sub.unsubscribe(); }\n\n protected navigate(): void{\n const route: Route = this.activeRoute.firstChild!.routeConfig!;\n \n if (this.openedArea[`r-${ route.path }`] <= this.areas.length) this.previous(this.openedArea[`r-${ route.path }`]);\n else this.next(route); \n }\n\n protected next(route: Route): void{\n this.areas.push({ visible: true, route });\n this.openedArea[`r-${ route.path }`] = this.areas.length;\n\n if (this.areas.length > 2) this.areas[this.areas.length - 3].visible = false;\n }\n\n protected previous(pos: number): void{\n this.areas.splice(pos);\n\n if (this.areas.length === 1) this.areas[0].visible = true;\n else {\n this.areas[pos - 1].visible = true;\n this.areas[pos - 2].visible = true;\n }\n }\n}\n","<as-split [disabled]=\"true\" [useTransition]=\"true\" [gutterSize]=\"0\">\n <as-split-area [size]=\"50\" [visible]=\"a.visible\" [order]=\"i\" *ngFor=\"let a of areas; let i = index\" class=\"border-start\">\n <ng-container [loadRoute]=\"a.route\" />\n </as-split-area>\n</as-split>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-column-header-container',\n templateUrl: './column-header-container.component.html',\n styleUrls: ['./column-header-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-flex flex-column h-100' \n },\n imports: [ \n IonicModule,\n RouterModule\n ]\n})\nexport class ColumnHeaderContainerComponent {\n\n @Input() public title?: string;\n @Input() public prevUrl!: string;\n}\n","<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons>\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\t\n\t\t<div class=\"f20 fw-medium\">{{ title }}</div>\n\t</div>\n\n\t<ng-content select=\"#button\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n","import { Attribute, ChangeDetectionStrategy, Component, HostListener, OnInit } from '@angular/core';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n standalone: true,\n selector: 'up-modal-container',\n templateUrl: './modal-container.component.html',\n styleUrls: ['./modal-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ \n IonicModule \n ]\n})\nexport class ModalContainerComponent implements OnInit {\n\n protected key!: string;\n\n constructor(\n @Attribute('title') public title: string,\n protected readonly modalCtrl: ModalController\n ) { }\n\n public ngOnInit(): void{\n this.key = this.title.replace(/ /g, '-');\n history.pushState({ [this.key]: true }, '');\n }\n\n public ngOnDestroy(): void{ \n if (history.state[this.key]) history.back(); \n }\n\n @HostListener('window:popstate', [ '$event' ])\n public popState(ev: PopStateEvent): void{ \n if (!ev.state[this.key]) this.modalCtrl.dismiss(); \n }\n\n public close(): void{ \n this.modalCtrl.dismiss(); \n }\n}\n","<ion-header class=\"ion-no-border\">\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"close()\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n </ion-buttons>\n\n <ion-title class=\"p-0 fs-5\">{{ title }}</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<div class=\"p-4\">\n <ng-content/>\n</div>\n","import { ValidationErrors } from '@angular/forms';\n\nconst errMessage: { [k: string]: (l: string, arg?: number) => string } = {\n email: (label: string) => `${ label } is not a valid email`,\n required: (label: string) => `${ label } is required`,\n minlength: (label: string, length?: number) => `${ label } must be at least ${ length } characters`,\n maxlength: (label: string, length?: number) => `${ label } must not exceed ${ length } characters`,\n max: (label: string, max?: number) => `${ label } value must be lower than ${ max }`,\n min: (label: string, min?: number) => `${ label } value must be larger than ${ min }`,\n};\n\nconst extraParamKey: { [k: string]: string } = {\n minlength: 'requiredLength',\n maxlength: 'requiredLength',\n max: 'max',\n min: 'min'\n};\n\nexport function getFormErrorMessage(err: ValidationErrors | null, label?: string): string{\n if (!err) return '';\n\n const key = Object.keys(err)[0];\n return errMessage[key](label?? 'Column', err[key][extraParamKey[key]]);\n}\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-date',\n templateUrl: './form-date.component.html',\n styleUrls: ['./form-date.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block position-relative'\n },\n imports: [\n IonicModule,\n CommonModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormDateComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormDateComponent\n }\n ]\n})\nexport class FormDateComponent implements ControlValueAccessor, Validator {\n\n @Input() public label?: string;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n public isTouched: boolean = false;\n public value: string = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('name') public name: string,\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n\n public registerOnTouched(fn: any): void{ this.onTouched = fn; }\n\n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n\n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public changeDate({ detail: { value }}: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.ch.markForCheck();\n\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [required]=\"required\" [value]=\"value | date:'dd LLL yyyy'\">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\"></ion-icon>\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" presentation=\"date\" value=\"{{ value }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-input',\n templateUrl: './form-input.component.html',\n styleUrls: ['./form-input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block'\n },\n imports: [ CommonModule ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormInputComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormInputComponent\n }\n ]\n})\nexport class FormInputComponent implements ControlValueAccessor, Validator {\n\n @Input() public label?: string;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n @Output() public onInput: EventEmitter<any> = new EventEmitter<any>();\n public isTouched: boolean = false;\n public value: any = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n @Attribute('type') public type: 'email' | 'hidden' | 'number' | 'search' | 'tel' | 'text' | 'url',\n @Attribute('autocomplete') public autocomplete: 'name' | 'email' | 'tel' | 'url' | 'on' | 'off' | 'honorific-prefix' | 'given-name' | 'additional-name' | 'family-name' | 'honorific-suffix' | 'nickname' | 'username' | 'one-time-code' | 'organization-title' | 'organization' | 'street-address' | 'address-line1' | 'address-line2' | 'address-line3' | 'address-level4' | 'address-level3' | 'address-level2' | 'address-level1' | 'country' | 'country-name' | 'postal-code' | 'cc-name' | 'cc-given-name' | 'cc-additional-name' | 'cc-family-name' | 'cc-number' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-csc' | 'cc-type' | 'transaction-currency' | 'transaction-amount' | 'language' | 'bday' | 'bday-day' | 'bday-month' | 'bday-year' | 'sex' | 'tel-country-code' | 'tel-national' | 'tel-area-code' | 'tel-local' | 'tel-extension',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n\n public input(val: any): void{ this.onInput.emit(val); }\n \n public writeValue(val: any): void{\n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input type=\"{{ type }}\" autocomplete=\"{{ autocomplete }}\" placeholder=\"{{ placeholder }}\" class=\"form-control\" [required]=\"required\" [disabled]=\"disabled\" [value]=\"value\" (change)=\"change($event.target)\" (input)=\"input($event)\" />\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { CommonModule } from '@angular/common';\nimport { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { IonicModule } from '@ionic/angular';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-password',\n templateUrl: './form-password.component.html',\n styleUrls: ['./form-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block position-relative'\n },\n imports: [\n IonicModule,\n CommonModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormPasswordComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormPasswordComponent\n }\n ]\n})\nexport class FormPasswordComponent implements ControlValueAccessor, Validator {\n\n @Input() public required: boolean = false;\n @Input() public mustSame: boolean = false;\n public isTouched: boolean = false;\n public type: 'text' | 'password' = 'password';\n public value: string = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('label') public label: string,\n @Attribute('autocomplete') public autocomplete: 'current-password' | 'new-password',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public changeType(): void{ \n this.type = this.type === 'text'? 'password' : 'text';\n }\n\n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n this.value = value;\n this.onChange(this.value);\n\n if (this.formControl.parent?.errors) {\n if (this.mustSame && this.formControl.parent.hasError('isNotEqual')) {\n this.errorMsg = `${ this.label } is not the same`;\n return;\n }\n\n this.errorMsg = this.formControl.parent?.errors!['message'] || `${ this.label } has an invalid value`;\n return;\n }\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<input [type]=\"type\" autocomplete=\"{{ autocomplete }}\" [required]=\"required\" class=\"form-control pe-5\" [value]=\"value\" (change)=\"change($event.target)\" />\n<ion-icon name=\"{{ type === 'password'? 'eye' : 'eye-off' }}\" class=\"position-absolute fs-4 cursor-pointer\" (click)=\"changeType()\"></ion-icon>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { Observable, Subject, catchError, concat, debounceTime, distinctUntilChanged, of, switchMap, tap } from 'rxjs';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-searchable-select',\n templateUrl: './form-searchable-select.component.html',\n styleUrls: ['./form-searchable-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block' \n },\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormSearchableSelectComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormSearchableSelectComponent\n }\n ]\n})\nexport class FormSearchableSelectComponent implements ControlValueAccessor, Validator, OnChanges {\n\n @Input({ required: true }) public queryFunc!: (keyword: string) => Observable<any>;\n @Input() public clearable: boolean = true;\n @Input() public label: string = '';\n @Input() public initialItems: any[] = [];\n @Input() public required: boolean = false;\n @Input() public addTag: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public multiple: boolean = false;\n @Input() public bindLabel: string = 'label';\n @Input() public bindValue: string = 'value';\n @Output() public onChange: EventEmitter<any> = new EventEmitter<any>();\n public readonly typeahead: Subject<string> = new Subject<string>();\n protected readonly query$: Observable<any[]> = this.typeahead.pipe(\n distinctUntilChanged(),\n debounceTime(300),\n tap(() => this.isLoading = true),\n switchMap((k: string) => this.queryFunc(k).pipe(\n catchError(() => of([]))\n )),\n tap(() => this.isLoading = false)\n );\n public items$: Observable<any[]> = this.query$;\n public isLoading: boolean = false;\n public isTouched: boolean = false;\n public value: any | null = null;\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected changed: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public ngOnChanges(changes: SimpleChanges): void{\n if (changes['initialItems']) this.items$ = concat(of(this.initialItems), this.query$);\n }\n\n public registerOnChange(fn: any): void{ this.changed = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{ \n this.formControl = control;\n return null;\n }\n\n public change(e?: any): void{\n this.onChange.emit(e);\n\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n \n if (!this.disabled) {\n if (!e) this.value = null;\n else {\n this.value = !this.multiple? e[this.bindValue] : e.map((o: any) => o[this.bindValue]);\n }\n\n this.changed(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n<ng-select \n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\" \n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\" \n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AbstractControl, ControlValueAccessor, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-select',\n templateUrl: './form-select.component.html',\n styleUrls: ['./form-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block' \n },\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule\n ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormSelectComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormSelectComponent\n }\n ]\n})\nexport class FormSelectComponent implements ControlValueAccessor, Validator {\n\n @Input({ required: true }) public items!: any[];\n @Input() public clearable: boolean = true;\n @Input() public label: string = '';\n @Input() public multiple: boolean = false;\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public searchable: boolean = false;\n @Input() public bindLabel: string = 'label';\n @Input() public bindValue: string = 'value';\n public isTouched: boolean = false;\n public value: any | null = null;\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('placeholder') public placeholder: string,\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n\n public registerOnTouched(fn: any): void{ this.onTouched = fn; }\n\n public writeValue(val: any): void{\n this.value = val;\n this.ch.markForCheck();\n }\n\n public setDisabledState?(d: boolean): void{ \n this.disabled = d;\n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change(e?: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n if (!e) this.value = null;\n else {\n this.value = !this.multiple? e[this.bindValue] : e.map((o: any) => o[this.bindValue]);\n }\n \n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n<ng-select\n appendTo=\"body\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\"\n [clearable]=\"clearable\"\n [searchable]=\"searchable\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { CommonModule } from '@angular/common';\nimport { Attribute, ChangeDetectorRef, ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\nimport { getFormErrorMessage } from '../../../utils';\n\n@Component({\n standalone: true,\n selector: 'up-textarea',\n templateUrl: './form-textarea.component.html',\n styleUrls: ['./form-textarea.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-block'\n },\n imports: [ CommonModule ],\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: FormTextareaComponent\n },\n {\n multi: true,\n provide: NG_VALIDATORS,\n useExisting: FormTextareaComponent\n }\n ]\n})\nexport class FormTextareaComponent implements ControlValueAccessor, Validator {\n\n @Input() public required: boolean = false;\n @Input() public disabled: boolean = false;\n public isTouched: boolean = false;\n public value: any = '';\n public errorMsg!: string;\n protected formControl!: AbstractControl;\n protected onChange: (_val: any) => void = (_val: any) => {};\n protected onTouched: () => void = () => {};\n\n constructor(\n @Attribute('label') public label: string,\n @Attribute('placeholder') public placeholder: string,\n @Attribute('autocomplete') public autocomplete: 'url' | 'on' | 'off' | 'street-address' | 'address-line1' | 'address-line2' | 'address-line3' | 'address-level4' | 'address-level3' | 'address-level2' | 'address-level1',\n protected readonly ch: ChangeDetectorRef\n ) { }\n\n public registerOnChange(fn: any): void{ this.onChange = fn; }\n \n public registerOnTouched(fn: any): void{ this.onTouched = fn; } \n \n public writeValue(val: any): void{ \n this.value = val; \n this.ch.markForCheck();\n }\n \n public setDisabledState?(d: boolean): void{ \n this.disabled = d; \n this.ch.markForCheck();\n }\n\n public validate(control: AbstractControl): ValidationErrors | null{\n this.formControl = control;\n return null;\n }\n\n public change({ value }: any): void{\n if (!this.isTouched) {\n this.onTouched();\n this.isTouched = true;\n }\n\n if (!this.disabled) {\n this.value = value;\n this.onChange(this.value);\n this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);\n }\n }\n}\n","<label class=\"form-label\">{{ label }}</label>\n<textarea autocomplete=\"{{ autocomplete }}\" placeholder=\"{{ placeholder }}\" rows=\"3\" class=\"form-control\" [required]=\"required\" [disabled]=\"disabled\" [value]=\"value\" (change)=\"change($event.target)\"></textarea>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n","import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { CommonModule, formatDate } from '@angular/common';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { IonicModule, PopoverController } from '@ionic/angular';\nimport { FilterConfig } from './interfaces/filter-config.interface';\nimport { FilterField } from './interfaces/filter-field.interface';\nimport { FilterSearchEvent } from './interfaces/filter-search-event.interface';\nimport { FormInputComponent, FormSelectComponent, FormDateComponent, FormSearchableSelectComponent } from '../forms';\n\n@Component({\n standalone: true,\n selector: 'up-filter',\n templateUrl: './filter.component.html',\n styleUrls: [ './filter.component.scss' ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block position-relative' \n },\n imports: [ \n IonicModule,\n CommonModule, \n FormDateComponent,\n FormInputComponent,\n ReactiveFormsModule,\n FormSelectComponent,\n FormSearchableSelectComponent\n ]\n})\nexport class FilterComponent implements OnInit {\n\n @Input({ required: true }) public id!: string;\n @Input({ required: true }) public config!: FilterConfig;\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n @ViewChild('searchBox') protected readonly searchBox!: ElementRef;\n public readonly form: FormGroup<any> = new FormGroup({});\n public activeFilter: { label: string, key: string, value: string }[] = [];\n\n constructor(\n @Attribute('placeholder') protected placeholder: string,\n protected readonly ch: ChangeDetectorRef,\n protected readonly popoverCtrl: PopoverController\n ) { } \n\n public ngOnInit(): void{ \n this.config.fields.forEach(({ key }: FilterField) => {\n if (typeof key === 'string') this.form.addControl(key, new FormControl(''));\n else {\n key.forEach((k: string) => this.form.addControl(k, new FormControl('')));\n }\n });\n }\n\n public close(): void{ this.popoverCtrl.dismiss(); }\n\n public clear(): void{\n this.resetValue();\n this.form.reset();\n this.onSearch.emit({ mode: this.config.mode, data: null });\n }\n\n public removeFilter(i: number): void{\n this.form.controls[this.activeFilter[i].key].setValue('');\n this.activeFilter.splice(i, 1);\n this.emitValue();\n }\n\n public search(): void{\n this.resetValue();\n this.emitValue((k: string, v: string) => this.activeFilter.push({ key: k, value: v, label: `${ k }:${ k.includes('date')? formatDate(v, 'dd MMM yyyy', 'en-US') : v }` }));\n this.close();\n }\n\n public add(): void{\n const { key, value } = this.getValue(this.searchBox.nativeElement.value);\n if (this.config.fields.findIndex(({ key: k }) => k === key) === -1) {\n this.searchBox.nativeElement.value = '';\n return;\n }\n\n const i = this.activeFilter.findIndex(({ key: k }) => k === key);\n if (i === -1) this.activeFilter.push({ label: `${ key }:${ value }`, key, value });\n else {\n this.activeFilter[i].key = key;\n this.activeFilter[i].value = value;\n this.activeFilter[i].label = `${ key }:${ value }`;\n }\n\n this.form.patchValue({ [key]: value });\n this.searchBox.nativeElement.value = '';\n this.emitValue();\n }\n\n protected resetValue(): void{\n this.activeFilter.length = 0;\n this.searchBox.nativeElement.value = '';\n }\n\n protected getValue(value: string): { key: string, value: string }{\n const values: string[] = value.split(':');\n\n if (values.length === 1) return { key: <string> this.config.fields[0].key, value: values[0] };\n return { key: values[0], value: values[1] };\n }\n\n protected emitValue(extraAction?: (key: string, value: string) => void): void{\n let flag: boolean = false;\n const f = this.form.getRawValue();\n const data: { [k: string]: any } = {};\n \n Object.keys(f).forEach((k: string) => {\n if (!f[k]) return;\n \n flag = true;\n data[k] = f[k];\n extraAction?.(k, f[k]);\n });\n this.onSearch.emit({ mode: this.config.mode, data: flag? data : null });\n }\n}\n","<ion-icon name=\"search\" class=\"fs-4 position-absolute\" />\n\n<div class=\"d-flex align-items-center form-control ps-5 py-0 pe-0 gap-3\">\n <div *ngIf=\"activeFilter.length > 0\" class=\"d-flex flex-grow-1 flex-shrink-0 tag-container gap-2 text-nowrap overflow-auto\">\n <div class=\"tag-item p-1 rounded d-flex align-items-center user-select-none\" *ngFor=\"let item of activeFilter; index as i\">\n <ion-icon name=\"close\" class=\"pe-1 me-1 cursor-pointer text-primary\" (click)=\"removeFilter(i);\" />\n {{ item.label }}\n </div>\n </div>\n\n <input #searchBox type=\"search\" placeholder=\"{{ placeholder }}\" class=\"flex-shrink-1 border-0 form-control ps-0 py-2\" [class.adv]=\"config.mode === 'advanced'\" (keyup.enter)=\"add();\" />\n</div>\n\n<ng-container *ngIf=\"config.mode === 'advanced'\">\n <ion-icon name=\"filter\" class=\"position-absolute fs-4 cursor-pointer\" id=\"filter-{{ id }}\" />\n <ion-icon name=\"close\" class=\"position-absolute fs-4 cursor-pointer\" (click)=\"clear();\" />\n\n <ion-popover trigger=\"filter-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"d-flex flex-column filter\">\n <div class=\"flex-shrink-0 border-bottom p-1 pe-4 d-flex align-items-center\">\n <ion-buttons>\n <ion-button size=\"small\" (click)=\"close()\">\n <ion-icon slot=\"icon-only\" name=\"close\" />\n </ion-button>\n </ion-buttons>\n \n <div class=\"fs-5 fw-medium\">Advanced Filter</div>\n </div>\n \n <form class=\"flex-grow-1 overflow-auto px-4\" [formGroup]=\"form\">\n <ng-container *ngFor=\"let c of config.fields\">\n <ng-container [ngSwitch]=\"c.type\">\n <up-input type=\"number\" autocomplete=\"off\" class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" *ngSwitchCase=\"'number'\" />\n \n <div class=\"my-4\" *ngSwitchCase=\"'checkbox'\">\n <ion-checkbox labelPlacement=\"end\" formControlName=\"{{ c.key }}\">{{ c.label }}</ion-checkbox>\n </div>\n \n <div class=\"d-flex gap-3 my-4\" *ngSwitchCase=\"'date-range'\">\n <up-date class=\"flex-grow-1\" name=\"filter-from\" label=\"{{ c.label[0] }}\" formControlName=\"{{ c.key[0] }}\" />\n <up-date class=\"flex-grow-1\" name=\"filter-to\" label=\"{{ c.label[1] }}\" formControlName=\"{{ c.key[1] }}\" />\n </div>\n \n <up-select class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" [items]=\"c.options!\" *ngSwitchCase=\"'select'\" />\n <up-searchable-select class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" [queryFunc]=\"c.getOptions!\" [initialItems]=\"c.options!\" *ngSwitchCase=\"'searchable-select'\" />\n \n <up-input type=\"text\" autocomplete=\"off\" class=\"my-4\" label=\"{{ c.label }}\" formControlName=\"{{ c.key }}\" *ngSwitchDefault />\n </ng-container>\n </ng-container>\n </form>\n \n <div class=\"flex-shrink-0 py-3 px-4 border-top d-flex gap-3\">\n <ion-button class=\"flex-grow-1\" color=\"secondary\" (click)=\"form.reset();\">Reset</ion-button>\n <ion-button class=\"flex-grow-1\" color=\"primary\" (click)=\"search();\">Search</ion-button>\n </div>\n </div>\n </ng-template>\n </ion-popover> \n</ng-container>\n","import { Injectable } from '@angular/core';\nimport { GridApi } from '@ag-grid-community/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GridService {\n\n protected readonly apis: { [id: string]: GridApi } = {};\n\n public getApi(id: string): GridApi{ return this.apis[id]; }\n\n public setApi(id: string, api: GridApi): void{ this.apis[id] = api; }\n\n public refreshGridCache(id: string): void{\n this.apis[id].refreshInfiniteCache();\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ColDef, IDatasource, IGetRowsParams, ModuleRegistry, GridReadyEvent, DragStoppedEvent, SelectionChangedEvent, GridApi } from '@ag-grid-community/core';\nimport { AgGridModule } from '@ag-grid-community/angular';\nimport { InfiniteRowModelModule } from '@ag-grid-community/infinite-row-model';\nimport { GridConfig } from '../interfaces/grid-config.interface';\nimport { GridService } from '../services/grid.service';\n\n@Component({\n standalone: true,\n selector: 'up-snapshot-grid',\n templateUrl: './grid-snapshot.component.html',\n styleUrls: ['./grid-snapshot.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block h-100 w-100' \n },\n imports: [\n AgGridModule\n ]\n})\nexport class GridSnapshotComponent implements OnInit, OnDestroy {\n\n @Input() public id: `grid-${ string }` = 'grid-s';\n @Input({ required: true }) public config!: GridConfig;\n @Input() public rowSelection: 'single' | 'multiple' = 'single';\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSelectionChanged: EventEmitter<SelectionChangedEvent<any>> = new EventEmitter();\n public readonly defaultColDef: ColDef = { minWidth: 200, flex: 1, sortable: true, resizable: true, sortingOrder: [ 'asc', 'desc' ], cellStyle: { textAlign: 'left' }};\n protected readonly sort: { orderBy: string, order: string } = { order: '', orderBy: '' };\n protected count?: number;\n protected gridApi!: GridApi;\n protected subs?: Subscription;\n protected after?: string | null;\n\n constructor(\n protected readonly service: GridService\n ) {\n ModuleRegistry.register(InfiniteRowModelModule);\n }\n\n public ngOnInit(): void{\n if (!this.config.rowPerPage) this.config.rowPerPage = 50;\n\n this.config.noRowText = `<span class=\"f20\">${ this.config.noRowText?? 'Data not found' }</span>`;\n }\n\n public ngOnDestroy(): void{ this.subs?.unsubscribe(); }\n\n public clickRow(data: any): void{ this.onRowClick.emit(data.node); }\n\n public dragColumn({ columnApi }: DragStoppedEvent): void{ localStorage.setItem(this.id, JSON.stringify(columnApi.getColumnState())); }\n\n public changeSelected(data: SelectionChangedEvent<any>): void{ this.onSelectionChanged.emit(data); }\n\n public setDatasource(ev: GridReadyEvent): void{\n this.gridApi = ev.api;\n this.onGridReady.emit(ev);\n this.service.setApi(this.id, this.gridApi);\n\n const state = JSON.parse(localStorage.getItem(this.id) as any);\n if (state) ev.columnApi.applyColumnState({ state, applyOrder: true });\n\n this.reset();\n }\n\n public reset(): void{\n const datasource: IDatasource = {\n getRows: ({ sortModel: [{ colId, sort }], successCallback, failCallback }: IGetRowsParams) => {\n this.gridApi.showLoadingOverlay();\n\n if (colId !== this.sort.orderBy || sort !== this.sort.order) {\n this.sort.order = sort;\n this.sort.orderBy = colId;\n\n this.gridApi.paginationGoToFirstPage();\n }\n\n const page = this.gridApi.paginationGetCurrentPage();\n if (page === 0) this.after = null;\n\n this.subs = this.config.getDataSnapshot!(this.config.rowPerPage!, colId, sort, this.after).subscribe({\n next: ({ data, totalRecord }) => {\n this.gridApi.hideOverlay();\n\n const { edges, pageInfo } = data;\n if (edges.length > 0) this.after = pageInfo.endCursor;\n\n if (page === 0) {\n if (edges.length === 0) this.gridApi.showNoRowsOverlay();\n this.count = totalRecord;\n }\n\n if (!this.config.useTotalRecord && !pageInfo.hasNextPage) {\n this.count = (page * this.config.rowPerPage!) + edges.length;\n }\n successCallback(edges, this.count);\n },\n error: () => failCallback()\n });\n }\n };\n this.gridApi.setDatasource(datasource);\n }\n}\n","<ag-grid-angular class=\"ag-theme-balham h-100\"\n rowModelType=\"infinite\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n/>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ColDef, IDatasource, IGetRowsParams, ModuleRegistry, RowModelType, GridReadyEvent, DragStoppedEvent, SelectionChangedEvent, GridApi } from '@ag-grid-community/core';\nimport { InfiniteRowModelModule } from '@ag-grid-community/infinite-row-model';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport { AgGridModule } from '@ag-grid-community/angular';\nimport { GridConfig } from '../interfaces/grid-config.interface';\nimport { GridService } from '../services/grid.service';\n\n@Component({\n standalone: true,\n selector: 'up-pagination-grid',\n templateUrl: './grid-pagination.component.html',\n styleUrls: ['./grid-pagination.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { \n class: 'd-block h-100 w-100' \n },\n imports: [ \n AgGridModule \n ]\n})\nexport class GridPaginationComponent implements OnInit, OnDestroy {\n\n @Input({ required: true }) public config!: GridConfig;\n @Input() public rowData: any[] = [];\n @Input() public id: `grid-${ string }` = 'grid-p';\n @Input() public rowModelType: RowModelType = 'infinite';\n @Input() public rowSelection: 'single' | 'multiple' = 'single';\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSelectionChanged: EventEmitter<SelectionChangedEvent<any>> = new EventEmitter();\n public readonly defaultColDef: ColDef = { minWidth: 200, flex: 1, sortable: true, resizable: true, sortingOrder: [ 'asc', 'desc' ], cellStyle: { textAlign: 'left' }};\n protected count?: number;\n protected gridApi!: GridApi;\n protected subs?: Subscription;\n\n constructor(\n protected readonly service: GridService\n ) {}\n\n public ngOnInit(): void{\n ModuleRegistry.register(this.rowModelType === 'infinite'? InfiniteRowModelModule : ClientSideRowModelModule);\n\n if (!this.config.rowPerPage) this.config.rowPerPage = 50;\n this.config.noRowText = `<span class=\"f20\">${ this.config.noRowText?? 'Data not found' }</span>`;\n }\n\n public ngOnDestroy(): void{ this.subs?.unsubscribe(); }\n\n public clickRow(data: any): void{ this.onRowClick.emit(data); }\n\n public dragColumn({ columnApi }: DragStoppedEvent): void{ localStorage.setItem(this.id, JSON.stringify(columnApi.getColumnState())); }\n\n public changeSelected(data: SelectionChangedEvent<any>): void{ this.onSelectionChanged.emit(data); }\n\n public setDatasource(ev: GridReadyEvent): void{\n this.gridApi = ev.api;\n this.onGridReady.emit(ev);\n this.service.setApi(this.id, this.gridApi);\n\n const state = JSON.parse(localStorage.getItem(this.id) as any);\n if (state) ev.columnApi.applyColumnState({ state, applyOrder: true });\n\n if (this.rowModelType !== 'infinite') return;\n this.reset();\n }\n\n public reset(): void{\n if (!this.gridApi) return;\n\n const datasource: IDatasource = {\n getRows: ({ sortModel: [{ colId, sort }], successCallback, failCallback }: IGetRowsParams) => {\n this.gridApi.showLoadingOverlay();\n const offset = this.gridApi.paginationGetCurrentPage();\n\n this.subs = this.config.getData!(offset, this.config.rowPerPage!, colId, sort).subscribe({\n next: ({ data, totalRecord }) => {\n this.gridApi.hideOverlay();\n\n if (offset === 0) {\n if (data.length === 0) this.gridApi.showNoRowsOverlay();\n this.count = totalRecord;\n }\n\n if (!this.config.useTotalRecord && data.length < this.config.rowPerPage!) {\n this.count = (offset * this.config.rowPerPage!) + data.length;\n }\n successCallback(data, this.count);\n },\n error: () => failCallback()\n });\n }\n };\n \n this.gridApi?.setDatasource(datasource);\n }\n}\n","<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowData]=\"rowData\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n/>\n","import { Component, Attribute, Output, EventEmitter, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { ListContainerConfig } from '../interfaces/list-container-config.interface';\nimport { FilterSearchEvent } from '../../../filter/interfaces/filter-search-event.interface';\nimport { FilterComponent } from '../../../filter';\nimport { GridPaginationComponent } from '../../../grids';\n\n@Component({\n standalone: true,\n selector: 'up-list-pagination-container',\n templateUrl: './list-pagination-container.component.html',\n styleUrls: ['./list-pagination-container.component.scss'],\n host: {\n class: 'd-flex flex-column h-100 w-100'\n },\n imports: [\n IonicModule,\n CommonModule,\n RouterModule,\n FilterComponent,\n GridPaginationComponent\n ]\n})\nexport class ListPaginationContainerComponent {\n\n @Input({ required: true }) public config!: ListContainerConfig;\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n public gridId: `grid-${ string }` = `grid-${ this.id?? 'p' }`;\n protected gridApi!: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('title') public title: string,\n protected readonly router: Router\n ) { }\n\n public openDetail(data: any): void{ \n this.onRowClick.emit(data);\n this.router.navigate([ `${ this.config.baseUrl }${ data.guid }` ], { preserveFragment: true });\n }\n\n public setGridApi(ev: GridReadyEvent): void{ \n this.gridApi = ev.api; \n this.onGridReady.emit(ev);\n }\n\n public search(k: FilterSearchEvent): void{\n this.onSearch.emit(k);\n this.gridApi.refreshInfiniteCache();\n }\n}\n","<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ title }}</h3>\n\n <ion-button routerLink=\"{{ config.baseUrl }}create\" *ngIf=\"config.permissions.canCreate\">\n <ion-icon name=\"add\" slot=\"start\" />\n Create\n </ion-button>\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n","import { Component, Attribute, Output, EventEmitter, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterModule } from '@angular/router';\nimport { IonicModule } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { ListContainerConfig } from '../interfaces/list-container-config.interface';\nimport { FilterSearchEvent } from '../../../filter/interfaces/filter-search-event.interface';\nimport { FilterComponent } from '../../../filter';\nimport { GridSnapshotComponent } from '../../../grids';\n\n@Component({\n standalone: true,\n selector: 'up-list-snapshot-container',\n templateUrl: './list-snapshot-container.component.html',\n styleUrls: ['./list-snapshot-container.component.scss'],\n host: {\n class: 'd-flex flex-column h-100 w-100'\n },\n imports: [\n IonicModule,\n CommonModule,\n RouterModule,\n FilterComponent,\n GridSnapshotComponent\n ]\n})\nexport class ListSnapshotContainerComponent {\n\n @Input({ required: true }) public config!: ListContainerConfig;\n @Output() public readonly onRowClick: EventEmitter<any> = new EventEmitter();\n @Output() public readonly onGridReady: EventEmitter<GridReadyEvent> = new EventEmitter();\n @Output() public readonly onSearch: EventEmitter<FilterSearchEvent> = new EventEmitter();\n public gridId: `grid-${ string }` = `grid-${ this.id?? 'p' }`;\n protected gridApi!: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('title') public title: string,\n protected readonly router: Router\n ) { }\n\n public openDetail(data: any): void{ \n this.onRowClick.emit(data);\n this.router.navigate([ `${ this.config.baseUrl }${ data.guid }` ], { preserveFragment: true });\n }\n\n public setGridApi(ev: GridReadyEvent): void{ \n this.gridApi = ev.api; \n this.onGridReady.emit(ev);\n }\n\n public search(k: FilterSearchEvent): void{\n this.onSearch.emit(k);\n \n this.gridApi.paginationGoToFirstPage();\n this.gridApi.purgeInfiniteCache();\n }\n}\n","<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ title }}</h3>\n\n <ion-button routerLink=\"{{ config.baseUrl }}create\" *ngIf=\"config.permissions.canCreate\">\n <ion-icon name=\"add\" slot=\"start\" />\n Create\n </ion-button>\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n","import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'up-tab-content',\n templateUrl: './tab-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'overflow-auto'\n }\n})\nexport class TabContentComponent {\n\n @HostBinding('class.flex-grow-1') public isActive: boolean = false;\n\n constructor(\n @Attribute('title') public title: string,\n @Attribute('fragment') public fragment: string,\n protected readonly ch: ChangeDetectorRef\n ) {}\n\n public toggleVisibility(s: boolean = true): void{ \n this.isActive = s;\n this.ch.markForCheck(); \n }\n}\n","<div [hidden]=\"!isActive\" class=\"h-100\">\n <ng-content />\n</div>\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Output, QueryList } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TabContentComponent } from '../tab-content/tab-content.component';\n\n@Component({\n selector: 'up-tab-group',\n templateUrl: './tab-group.component.html',\n styleUrls: ['./tab-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex flex-column'\n }\n})\nexport class TabGroupComponent implements AfterContentInit {\n\n @Output() public readonly onChange: EventEmitter<string | null> = new EventEmitter();\n @ContentChildren(TabContentComponent, { descendants: true }) protected content!: QueryList<TabContentComponent>;\n public tabs: { label: string, fragment: string }[] = [];\n public activeFragment: string | null | undefined;\n\n constructor(\n protected readonly router: Router,\n protected readonly activeRoute: ActivatedRoute\n ) { }\n\n public ngAfterContentInit(): void{\n this.content.forEach(({ title, fragment }) => this.tabs.push({ fragment, label: title }));\n this.changeTab(this.activeRoute.snapshot.fragment);\n }\n\n public changeTab(f: string | null): void{\n this.onChange.emit(f);\n this.router.navigate([], { relativeTo: this.activeRoute, fragment: f || undefined, replaceUrl: true });\n \n let found: boolean = false;\n this.content.forEach((tab) => {\n if (tab.fragment !== f) tab.toggleVisibility(false);\n else {\n found = true;\n this.activeFragment = f;\n tab.toggleVisibility(true);\n } \n });\n \n if (!found) {\n this.content.get(0)!.toggleVisibility(true);\n this.activeFragment = this.content.get(0)!.fragment;\n }\n }\n}\n","<ion-segment [scrollable]=\"true\" [value]=\"activeFragment\" class=\"d-flex pb-4 flex-shrink-0\">\n <ion-segment-button *ngFor=\"let t of tabs\" class=\"rounded\" [value]=\"t.fragment\" (click)=\"changeTab(t.fragment)\">\n {{ t.label }}\n </ion-segment-button>\n</ion-segment>\n\n<ng-content />\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IonicModule } from '@ionic/angular';\nimport { TabGroupComponent } from './tab-group/tab-group.component';\nimport { TabContentComponent } from './tab-content/tab-content.component';\n\n@NgModule({\n imports: [\n IonicModule,\n CommonModule,\n ],\n declarations: [\n TabGroupComponent,\n TabContentComponent\n ],\n exports: [\n TabGroupComponent,\n TabContentComponent\n ]\n})\nexport class TabsComponentModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AuditTrail, AuditTrailCriteria } from './../../../../graphql/generated';\n\n@Injectable({ \n providedIn: 'root' \n})\nexport class AuditService {\n\n protected readonly baseAttr: string = `\n action\n createdAt\n description\n function\n guid\n msSource\n sourceIp\n user {\n name\n sourcePlatform\n status\n appLoginPrincipal {\n principalType\n principalId\n }\n }\n `;\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public query(input: AuditTrailCriteria, extraAttr: string = ''): Observable<ApolloQueryResult<{ auditMsAuditTrail: AuditTrail[] }>> {\n return this.apollo.query({\n variables: { input },\n query: gql`\n query QueryAudit($input: AuditTrailCriteria!) {\n auditMsAuditTrail(input: $input) {\n ${ this.baseAttr }\n ${ extraAttr }\n }\n }\n `\n });\n }\n}\n","import { Attribute, Component, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\nimport { formatDate } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { map, of } from 'rxjs';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { AuditTagEnum, AuditTrail, AuditTrailCriteria } from './../../../../graphql/generated';\nimport { GridConfig } from '../../grids/interfaces/grid-config.interface';\nimport { FilterConfig } from '../../filter/interfaces/filter-config.interface';\nimport { FilterSearchEvent } from '../../filter/interfaces/filter-search-event.interface';\nimport { AuditService } from '../service/audit.service';\nimport { FilterComponent } from '../../filter';\nimport { GridPaginationComponent } from '../../grids/grid-pagination/grid-pagination.component';\n\n@Component({\n standalone: true,\n selector: 'up-audit-list',\n templateUrl: './audit-list.component.html',\n styleUrls: ['./audit-list.component.scss'],\n host: {\n class: 'd-flex flex-column h-100'\n },\n imports: [\n FilterComponent,\n GridPaginationComponent\n ]\n})\nexport class AuditListComponent implements OnChanges {\n\n @Input({ required: true }) public relatedEntities!: string[];\n @Input() public tagKeys!: AuditTagEnum[];\n @ViewChild(GridPaginationComponent) protected gridComponent!: GridPaginationComponent;\n public readonly filterConfig: FilterConfig = { mode: 'simple', fields: [{ key: 'description', label: '', type: 'text' }] };\n public readonly gridConfig: GridConfig = {\n useTotalRecord: false,\n noRowText: 'Audit not found',\n colDefs: [\n { headerName: 'User', field: 'user.name', sortable: false },\n { headerName: 'Description', field: 'description', minWidth: 350, sortable: false },\n { headerName: 'Created Date', field: 'createdAt', sort: 'desc', valueFormatter: ({ value }) => value? formatDate(value, 'dd MMM yyyy HH:mm', 'en-US') : '' }\n ],\n getData: (page: number, pageSize: number, sortBy: string, dir: 'asc' | 'desc') => {\n if (!this.criteria.tagValues) return of({ data: [] });\n\n this.criteria.page = page;\n this.criteria.sortBy = sortBy;\n this.criteria.pageSize = pageSize;\n this.criteria.sortDirection = dir;\n \n return this.service.query(this.criteria).pipe(\n map(({ data: { auditMsAuditTrail: data }}) => ({ data }))\n );\n },\n };\n protected readonly criteria: AuditTrailCriteria = { sortBy: 'createdAt', sortDirection: 'desc', page: 0, pageSize: 50 };\n protected gridApi?: GridApi;\n\n constructor(\n @Attribute('id') public id: string,\n @Attribute('mainUrl') protected url: string,\n protected readonly router: Router,\n protected readonly service: AuditService\n ) { }\n\n public ngOnChanges(e: SimpleChanges): void{\n if (e['tagKeys']) this.criteria.tagKeys = this.tagKeys;\n if (e['relatedEntities']) this.criteria.relatedEntities = this.relatedEntities;\n }\n\n public setGridApi({ api }: GridReadyEvent): void{ this.gridApi = api; }\n\n public rowClicked({ guid }: AuditTrail): void{\n this.router.navigate([ `${ this.url }/${ this.criteria.tagValues![0] }/audit/${ guid }` ], { preserveFragment: true });\n }\n\n public search({ data }: FilterSearchEvent): void{\n this.criteria.description = data?.description;\n this.gridComponent.reset();\n }\n\n public setGuid(guid: string): void{\n this.criteria.description = null;\n this.criteria.tagValues = [ guid ];\n this.gridComponent.reset(); \n }\n}\n","<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n","import { Component, OnDestroy } from '@angular/core';\nimport { CommonModule, formatDate } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { IonicModule, NavController } from '@ionic/angular';\nimport { GridApi, GridReadyEvent } from '@ag-grid-community/core';\nimport { AuditTrail } from './../../../../graphql/generated';\nimport { AuditDetailForm } from '../types/audit-detail-form.type';\nimport { GridConfig } from '../../grids/interfaces/grid-config.interface';\nimport { AuditService } from '../service/audit.service';\nimport { FormInputComponent } from '../../forms/input/form-input.component';\nimport { FormTextareaComponent } from '../../forms/textarea/form-textarea.component';\nimport { GridPaginationComponent } from '../../grids/grid-pagination/grid-pagination.component';\nimport { TabsComponentModule } from '../../tabs/tabs.component.module';\n\n@Component({\n standalone: true,\n selector: 'up-audit-detail',\n templateUrl: './audit-detail.component.html',\n styleUrls: ['./audit-detail.component.scss'],\n imports: [\n CommonModule,\n IonicModule,\n GridPaginationComponent,\n TabsComponentModule,\n FormInputComponent,\n FormTextareaComponent,\n ReactiveFormsModule\n ]\n})\nexport class AuditDetailComponent implements OnDestroy {\n\n public readonly gridConfig: GridConfig = {\n useTotalRecord: false,\n colDefs: [\n { headerName: 'Attribute Name', field: 'attribute', sort: 'asc' },\n { headerName: 'Old Value', field: 'oldData' },\n { headerName: 'New Value', field: 'newData' }\n ]\n };\n public readonly form: FormGroup<AuditDetailForm> = this.fb.group<AuditDetailForm>({\n guid: new FormControl({ value: null, disabled: true}),\n action: new FormControl({ value: null, disabled: true}),\n description: new FormControl({ value: null, disabled: true}),\n userName: new FormControl({ value: null, disabled: true}),\n sourceIp: new FormControl({ value: null, disabled: true}),\n createdAt: new FormControl({ value: null, disabled: true}),\n msSource: new FormControl({ value: null, disabled: true}),\n sourcePlatform: new FormControl({ value: null, disabled: true}),\n function: new FormControl({ value: null, disabled: true}),\n });\n public data!: AuditTrail;\n public isLoading: boolean = true;\n protected guid: string = '';\n protected gridApi!: GridApi;\n protected sub?: Subscription;\n \n\n constructor(\n protected readonly fb: FormBuilder,\n protected readonly service: AuditService,\n protected readonly route: ActivatedRoute,\n protected readonly navCtrl: NavController\n ) { }\n\n public ngOnDestroy(): void{ this.sub?.unsubscribe(); }\n\n public setGridApi({ api }: GridReadyEvent): void{\n this.gridApi = api;\n this.getData();\n }\n\n public getData(): void{\n this.isLoading = true;\n const newGuid = this.route.children[0].snapshot.params['audit'];\n if (!newGuid || this.guid === newGuid) return;\n\n this.sub?.unsubscribe();\n this.gridApi?.showLoadingOverlay();\n\n this.guid = newGuid;\n this.sub = this.service.query({ guid: this.guid }, 'data tags { tagKey tagValue }').subscribe({\n next: ({ data: { auditMsAuditTrail: data }}) => {\n this.gridApi?.hideOverlay();\n\n if (data.length !== 1) {\n this.navCtrl.back();\n return;\n }\n\n const { guid, action, description, function: func, msSource, sourceIp, createdAt } = data[0];\n this.form.patchValue({\n guid,\n function: func, \n msSource, sourceIp,\n action, description,\n userName: data[0].user?.name,\n sourcePlatform: data[0].user?.sourcePlatform,\n createdAt: formatDate(createdAt, 'dd MMM yyyy HH:mm', 'en-US'),\n });\n\n this.isLoading = false;\n this.getChangedData(data[0].data);\n },\n error: () => this.navCtrl.back()\n });\n }\n\n protected getChangedData({ oldData, newData }: any): void{\n if (!newData || Array.isArray(JSON.parse(newData))) {\n this.gridApi.setRowData([]);\n return;\n }\n\n const objNewData = JSON.parse(newData);\n const changedData = Object.entries(oldData? JSON.parse(oldData) : JSON.parse(newData))\n .filter(([key, oldVal]) => JSON.stringify(oldData? oldVal : null) !== JSON.stringify(objNewData[key]) && !key.match(/update|created/))\n .map(([key, oldVal]) => ({\n attribute: key,\n oldData: oldData? this.formatData(oldVal) : null,\n newData: this.formatData(objNewData[key])\n })\n );\n\n this.gridApi.setRowData(changedData);\n }\n\n protected formatData(value: any): any{\n if (value === null) return value;\n if (typeof value === 'object') return JSON.stringify(value);\n if (this.isIsoDateString(value)) return formatDate(value, 'dd MMM yyyy HH:mm', 'en-US');\n return value;\n }\n\n protected isIsoDateString(str: string): boolean{\n const regex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,9})?Z$/;\n return regex.test(str);\n } \n}\n","<up-tab-group class=\"h-100\">\n <up-tab-content title=\"Detail\" fragment=\"detail\">\n <form [formGroup]=\"form\" class=\"px-4 pb-4\" *ngIf=\"!isLoading; else loading\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n\n <ng-template #loading>\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" *ngFor=\"let i of [0,1,2,3,4,5,6]\" />\n </ng-template> \n </up-tab-content>\n\n <up-tab-content title=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n","export type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string; }\n String: { input: string; output: string; }\n Boolean: { input: boolean; output: boolean; }\n Int: { input: number; output: number; }\n Float: { input: number; output: number; }\n /** An RFC-3339 compliant Full Date Scalar */\n Date: { input: any; output: any; }\n /** A slightly refined version of RFC-3339 compliant DateTime Scalar */\n DateTime: { input: any; output: any; }\n Double: { input: any; output: any; }\n /** A JSON scalar */\n JSON: { input: any; output: any; }\n /** A 64-bit signed integer */\n Long: { input: any; output: any; }\n /** An object scalar */\n Object: { input: any; output: any; }\n /** A custom scalar that represents files */\n Upload: { input: any; output: any; }\n};\n\nexport type Agreement = {\n __typename?: 'Agreement';\n code?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AgreementQueryCriteria = {\n code?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport enum AlertTypeEnum {\n PasswordReset = 'PASSWORD_RESET',\n RequestNeeded = 'REQUEST_NEEDED'\n}\n\nexport type ApiCredential = {\n __typename?: 'ApiCredential';\n accessKey?: Maybe<Scalars['String']['output']>;\n activeAt?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n deletedAt?: Maybe<Scalars['String']['output']>;\n expiredAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n permission?: Maybe<Array<Maybe<AppPermDfn>>>;\n status?: Maybe<Scalars['String']['output']>;\n transactionalUser?: Maybe<AppLoginSubject>;\n version?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialFilterRq = {\n activeAt?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ApiCredentialFilterRs = {\n __typename?: 'ApiCredentialFilterRs';\n data?: Maybe<Array<Maybe<ApiCredential>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type ApiCredentialPrivate = {\n __typename?: 'ApiCredentialPrivate';\n guid?: Maybe<Scalars['String']['output']>;\n secret?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialRole = {\n __typename?: 'ApiCredentialRole';\n apiCredentialGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n roleGuid?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApiCredentialRoleFilterRq = {\n apiCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n createdBy?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n roleGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ApiCredentialSpecialFilter = {\n accessKey?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type AppLoginPrincipal = {\n __typename?: 'AppLoginPrincipal';\n /** ... date time when user created */\n createdDate?: Maybe<Scalars['Date']['output']>;\n /** ... user creadential */\n credential?: Maybe<Scalars['String']['output']>;\n /** ... user principal identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... user principal id to store email or phone number */\n principalId?: Maybe<Scalars['String']['output']>;\n /** ... user principal type [EMAIL_USERNAME, MOBILE_USERNAME] */\n principalType?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user valid date end */\n sourcePlatform?: Maybe<SourcePlatform>;\n /** ... user status */\n status?: Maybe<PrincipalStatus>;\n /** ... date time when user last updated */\n updatedDate?: Maybe<Scalars['Date']['output']>;\n /** ... user valid date end */\n validDateEnd?: Maybe<Scalars['Date']['output']>;\n /** ... user valid date */\n validDateStart?: Maybe<Scalars['Date']['output']>;\n};\n\nexport type AppLoginRole = {\n __typename?: 'AppLoginRole';\n code?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['String']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isInternal?: Maybe<Scalars['Boolean']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AppLoginSubject = {\n __typename?: 'AppLoginSubject';\n /** ... user extension */\n appLoginExt?: Maybe<Array<Maybe<AppLoginSubjectExt>>>;\n /** ... user principal */\n appLoginPrincipal?: Maybe<Array<Maybe<AppLoginPrincipal>>>;\n /** ... date with format YYYY-MM-DD */\n birthday?: Maybe<Scalars['String']['output']>;\n /** ... user category */\n category?: Maybe<Scalars['String']['output']>;\n /** ... user company if any */\n company?: Maybe<Company>;\n /** ... date time when user created */\n createdDate?: Maybe<Scalars['String']['output']>;\n /** ... user gender */\n gender?: Maybe<Gender>;\n /** ... user unique identifier */\n guid?: Maybe<Scalars['String']['output']>;\n merchants?: Maybe<Array<Maybe<Merchant>>>;\n /** ... user full name */\n name?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user roles */\n roles?: Maybe<Array<Maybe<AppLoginRole>>>;\n /** ... soure platfrom where user registered */\n sourcePlatform?: Maybe<SourcePlatform>;\n /** ... user status */\n status?: Maybe<Status>;\n /** ... date time when user last updated */\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\n/** AppLoginSubject Connection */\nexport type AppLoginSubjectConnection = {\n __typename?: 'AppLoginSubjectConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<AppLoginSubjectEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** AppLoginSubject Edge */\nexport type AppLoginSubjectEdge = {\n __typename?: 'AppLoginSubjectEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<AppLoginSubject>;\n};\n\nexport type AppLoginSubjectExt = {\n __typename?: 'AppLoginSubjectExt';\n /** ... date time when extension created */\n createdDate?: Maybe<Scalars['String']['output']>;\n /** ... user extension code */\n extCode?: Maybe<Scalars['String']['output']>;\n /** ... user extension option */\n extOption?: Maybe<Scalars['String']['output']>;\n /** ... user extension type */\n extType?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n /** ... unique user extension identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... user guid to link column */\n loginSubjectGuid?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter code */\n paramCode?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter name */\n paramName?: Maybe<Scalars['String']['output']>;\n /** ... user extension parameter type */\n paramType?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... user extension status */\n status?: Maybe<Status>;\n /** ... date time when extension last updated */\n updatedDate?: Maybe<Scalars['String']['output']>;\n /** ... can store datetime value */\n valueDatetime?: Maybe<Scalars['String']['output']>;\n /** ... can store file value */\n valueFile?: Maybe<Scalars['String']['output']>;\n /** ... can store json value */\n valueJson?: Maybe<Scalars['String']['output']>;\n /** ... can store numeric value */\n valueNumeric?: Maybe<Scalars['Int']['output']>;\n /** ... can store string value */\n valueString?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AppLoginSubjectExtRq = {\n /** ... user extension code */\n extCode?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension option */\n extOption?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension type */\n extType?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter code */\n paramCode?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter name */\n paramName?: InputMaybe<Scalars['String']['input']>;\n /** ... user extension parameter type */\n paramType?: InputMaybe<Scalars['String']['input']>;\n /** ... can store datetime value */\n valueDatetime?: InputMaybe<Scalars['String']['input']>;\n /** ... can store file value */\n valueFile?: InputMaybe<Scalars['String']['input']>;\n /** ... can store json value */\n valueJson?: InputMaybe<Scalars['String']['input']>;\n /** ... can store numeric value */\n valueNumeric?: InputMaybe<Scalars['Int']['input']>;\n /** ... can store string value */\n valueString?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum AppLoginSubjectSortByEnum {\n CreatedDate = 'createdDate',\n UpdatedDate = 'updatedDate'\n}\n\nexport type AppPermDfn = {\n __typename?: 'AppPermDfn';\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n parentId?: Maybe<Scalars['String']['output']>;\n permCode?: Maybe<Scalars['String']['output']>;\n permDescription?: Maybe<Scalars['String']['output']>;\n permModule?: Maybe<Scalars['String']['output']>;\n permName?: Maybe<Scalars['String']['output']>;\n permScope?: Maybe<Scalars['String']['output']>;\n permType?: Maybe<Scalars['String']['output']>;\n relatedMf?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApplyVacancyRq = {\n email?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n reason?: InputMaybe<Scalars['String']['input']>;\n vacancyGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Approval = {\n __typename?: 'Approval';\n approvalGroup?: Maybe<ApprovalGroup>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n data?: Maybe<Scalars['JSON']['output']>;\n entity?: Maybe<Scalars['String']['output']>;\n entityGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n permission?: Maybe<Scalars['String']['output']>;\n reason?: Maybe<Scalars['String']['output']>;\n remark?: Maybe<Scalars['String']['output']>;\n sourcePlatform?: Maybe<Scalars['String']['output']>;\n status?: Maybe<ApprovalStatusEnum>;\n type?: Maybe<ApprovalTypeEnum>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n urlToCall?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ApprovalCriteria = {\n approvalGroupGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n approvalGroupName?: InputMaybe<Scalars['String']['input']>;\n entity?: InputMaybe<Array<Scalars['String']['input']>>;\n entityGuid?: InputMaybe<Array<Scalars['String']['input']>>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n permission?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n sourcePlatform?: InputMaybe<Array<Scalars['String']['input']>>;\n status?: InputMaybe<Array<ApprovalStatusEnum>>;\n type?: InputMaybe<Array<ApprovalTypeEnum>>;\n};\n\nexport type ApprovalGroup = {\n __typename?: 'ApprovalGroup';\n UpdatedAt?: Maybe<Scalars['DateTime']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum ApprovalStatusEnum {\n Approved = 'APPROVED',\n Declined = 'DECLINED',\n Pending = 'PENDING'\n}\n\nexport enum ApprovalTypeEnum {\n Creation = 'CREATION',\n Deletion = 'DELETION',\n Linkage = 'LINKAGE',\n Unlink = 'UNLINK',\n Update = 'UPDATE'\n}\n\nexport type AttachPermRq = {\n /** permission identifier */\n permsGuid: Array<InputMaybe<Scalars['String']['input']>>;\n /** role identifier */\n roleGuid: Scalars['String']['input'];\n};\n\nexport type AuditTag = {\n __typename?: 'AuditTag';\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n relatedEntity?: Maybe<Scalars['String']['output']>;\n tagKey: Scalars['String']['output'];\n tagValue?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum AuditTagEnum {\n AuthMsCredentialCreate = 'AUTH_MS_CREDENTIAL_CREATE',\n AuthMsCredentialDelete = 'AUTH_MS_CREDENTIAL_DELETE',\n AuthMsCredentialToRoleLink = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK',\n AuthMsCredentialToRoleLinkCredentialNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK_CREDENTIAL_NOT_FOUND',\n AuthMsCredentialToRoleLinkRoleNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsCredentialToRoleUnlink = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK',\n AuthMsCredentialToRoleUnlinkCredentialNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_CREDENTIAL_NOT_FOUND',\n AuthMsCredentialToRoleUnlinkCredentialRoleLinkNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_CREDENTIAL_ROLE_LINK_NOT_FOUND',\n AuthMsCredentialToRoleUnlinkRoleNotFound = 'AUTH_MS_CREDENTIAL_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsCredentialUpdate = 'AUTH_MS_CREDENTIAL_UPDATE',\n AuthMsPermissionCreate = 'AUTH_MS_PERMISSION_CREATE',\n AuthMsPermissionCreatePermissionAlreadyExists = 'AUTH_MS_PERMISSION_CREATE_PERMISSION_ALREADY_EXISTS',\n AuthMsPermissionDelete = 'AUTH_MS_PERMISSION_DELETE',\n AuthMsPermissionDeletePermissionNotFound = 'AUTH_MS_PERMISSION_DELETE_PERMISSION_NOT_FOUND',\n AuthMsPermissionDeleteRoleAttached = 'AUTH_MS_PERMISSION_DELETE_ROLE_ATTACHED',\n AuthMsPermissionImport = 'AUTH_MS_PERMISSION_IMPORT',\n AuthMsPermissionToRoleLink = 'AUTH_MS_PERMISSION_TO_ROLE_LINK',\n AuthMsPermissionToRoleLinkPermissionAlreadyExists = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_PERMISSION_ALREADY_EXISTS',\n AuthMsPermissionToRoleLinkPermissionEmpty = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_PERMISSION_EMPTY',\n AuthMsPermissionToRoleLinkRoleNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsPermissionToRoleUnlink = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK',\n AuthMsPermissionToRoleUnlinkPermissionEmpty = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_PERMISSION_EMPTY',\n AuthMsPermissionToRoleUnlinkPermissionNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_PERMISSION_NOT_FOUND',\n AuthMsPermissionToRoleUnlinkRoleNotFound = 'AUTH_MS_PERMISSION_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsPermissionUpdate = 'AUTH_MS_PERMISSION_UPDATE',\n AuthMsPermissionUpdatePermissionNotFound = 'AUTH_MS_PERMISSION_UPDATE_PERMISSION_NOT_FOUND',\n AuthMsRoleCreate = 'AUTH_MS_ROLE_CREATE',\n AuthMsRoleCreateRoleAlreadyExists = 'AUTH_MS_ROLE_CREATE_ROLE_ALREADY_EXISTS',\n AuthMsRoleDelete = 'AUTH_MS_ROLE_DELETE',\n AuthMsRoleDeleteRoleAttached = 'AUTH_MS_ROLE_DELETE_ROLE_ATTACHED',\n AuthMsRoleDeleteRoleNotFound = 'AUTH_MS_ROLE_DELETE_ROLE_NOT_FOUND',\n AuthMsRoleUpdate = 'AUTH_MS_ROLE_UPDATE',\n AuthMsRoleUpdateRoleNotFound = 'AUTH_MS_ROLE_UPDATE_ROLE_NOT_FOUND',\n AuthMsUserLogin = 'AUTH_MS_USER_LOGIN',\n AuthMsUserLoginPasswordNotMatch = 'AUTH_MS_USER_LOGIN_PASSWORD_NOT_MATCH',\n AuthMsUserLoginUserNotConfirmed = 'AUTH_MS_USER_LOGIN_USER_NOT_CONFIRMED',\n AuthMsUserLoginUserNotFound = 'AUTH_MS_USER_LOGIN_USER_NOT_FOUND',\n AuthMsUserLoginUserNotRegistered = 'AUTH_MS_USER_LOGIN_USER_NOT_REGISTERED',\n AuthMsUserLogout = 'AUTH_MS_USER_LOGOUT',\n AuthMsUserToRoleLink = 'AUTH_MS_USER_TO_ROLE_LINK',\n AuthMsUserToRoleLinkRoleNotFound = 'AUTH_MS_USER_TO_ROLE_LINK_ROLE_NOT_FOUND',\n AuthMsUserToRoleLinkUserNotFound = 'AUTH_MS_USER_TO_ROLE_LINK_USER_NOT_FOUND',\n AuthMsUserToRoleUnlink = 'AUTH_MS_USER_TO_ROLE_UNLINK',\n AuthMsUserToRoleUnlinkRolesToUsersNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_ROLES_TO_USERS_NOT_FOUND',\n AuthMsUserToRoleUnlinkRoleNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_ROLE_NOT_FOUND',\n AuthMsUserToRoleUnlinkUserNotFound = 'AUTH_MS_USER_TO_ROLE_UNLINK_USER_NOT_FOUND',\n ProductMsProductCreate = 'PRODUCT_MS_PRODUCT_CREATE',\n ProductMsProductUpdate = 'PRODUCT_MS_PRODUCT_UPDATE',\n ProductMsProductUpdateProductNotFound = 'PRODUCT_MS_PRODUCT_UPDATE_PRODUCT_NOT_FOUND'\n}\n\nexport type AuditTagRq = {\n relatedEntity?: InputMaybe<Scalars['String']['input']>;\n tagKey: Scalars['String']['input'];\n tagValue?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuditTrail = {\n __typename?: 'AuditTrail';\n action?: Maybe<Scalars['String']['output']>;\n class?: Maybe<Scalars['String']['output']>;\n codeLine?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n data?: Maybe<Scalars['JSON']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n function?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isActionTaken?: Maybe<Scalars['Boolean']['output']>;\n isSystemGenerated?: Maybe<Scalars['Boolean']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n msSource?: Maybe<Scalars['String']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n tags?: Maybe<Array<Maybe<AuditTag>>>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type AuditTrailCriteria = {\n /** ... audit action */\n action?: InputMaybe<Scalars['String']['input']>;\n /** ... class in microservice that send audit */\n class?: InputMaybe<Scalars['String']['input']>;\n /** ... code line in microservice that send audit */\n codeLine?: InputMaybe<Scalars['String']['input']>;\n /** ... country code */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n /** ... audit description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... function in microservice that send audit */\n function?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... merchant guid */\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... microservice where audit from */\n msSource?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n /** ... related enitity changes */\n relatedEntities?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... user ip that make changes */\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n /** ... tags key */\n tagKeys?: InputMaybe<Array<InputMaybe<AuditTagEnum>>>;\n /** ... tags value */\n tagValues?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... user guid that make changes */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthSettings = {\n __typename?: 'AuthSettings';\n /** ... Setting code */\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n /** ... user that create this setting */\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n /** ... Setting identifier */\n guid?: Maybe<Scalars['String']['output']>;\n /** ... Setting name */\n name?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n /** ... last user that update this setting */\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n /** ... Setting value */\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AuthSettingsFilter = {\n code?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthSettingsWithFilterRs = {\n __typename?: 'AuthSettingsWithFilterRs';\n data?: Maybe<Array<Maybe<AuthSettings>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type AuthorHistoricalSlug = {\n __typename?: 'AuthorHistoricalSlug';\n cmsUserGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n slug?: Maybe<Scalars['String']['output']>;\n};\n\nexport type AuthorHistoricalSlugCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n slug?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type AuthorHistoricalSlugResult = {\n __typename?: 'AuthorHistoricalSlugResult';\n data: Array<Maybe<AuthorHistoricalSlug>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type BookmarksQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ChangePassRq = {\n /** ... new password to replace registered password */\n newPassword: Scalars['String']['input'];\n /** ... old registered password */\n oldPassword: Scalars['String']['input'];\n};\n\nexport type Channel = {\n __typename?: 'Channel';\n guid?: Maybe<Scalars['String']['output']>;\n max?: Maybe<Scalars['String']['output']>;\n min?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n price?: Maybe<Scalars['String']['output']>;\n providerChannelCode?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CheckoutRequest = {\n amount?: InputMaybe<Scalars['String']['input']>;\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n denomGuid?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productId?: InputMaybe<Scalars['String']['input']>;\n txnAmount?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CheckoutResponse = {\n __typename?: 'CheckoutResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsBookmarks = {\n __typename?: 'CmsBookmarks';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n /** Bookmarked Post. */\n posts?: Maybe<Array<Maybe<CmsPost>>>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsCommentReaction = {\n __typename?: 'CmsCommentReaction';\n commentGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n lastCount?: Maybe<Scalars['String']['output']>;\n mutation?: Maybe<Scalars['String']['output']>;\n newCount?: Maybe<Scalars['Int']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n reactionType?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsLockPost = {\n __typename?: 'CmsLockPost';\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['Long']['output']>;\n user?: Maybe<AppLoginSubject>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsLockPostQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPost = {\n __typename?: 'CmsPost';\n author?: Maybe<CmsUser>;\n authorGuid?: Maybe<Scalars['String']['output']>;\n authorName?: Maybe<Scalars['String']['output']>;\n /** Bookmark status based on user guid in Authorization header */\n bookmarkStatus?: Maybe<CmsBookmarks>;\n /** Category terms of the post */\n categories?: Maybe<Array<Maybe<CmsPostTerm>>>;\n commentCount?: Maybe<Scalars['Int']['output']>;\n /** Open/Closed post comment status */\n commentStatus?: Maybe<Scalars['String']['output']>;\n /** Comments of the post */\n comments?: Maybe<Array<Maybe<CmsPostComment>>>;\n /** Video thumbnail/Live thumbnail */\n contentOption?: Maybe<ContentOption>;\n country?: Maybe<Country>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n expiredAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n /** Pin or un-pin a post */\n isPinned?: Maybe<Scalars['Boolean']['output']>;\n lockPost?: Maybe<LockPost>;\n /** Content of the post */\n postBody?: Maybe<Scalars['String']['output']>;\n /** Ext of the post */\n postExt?: Maybe<Array<Maybe<CmsPostExt>>>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: Maybe<Scalars['String']['output']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: Maybe<Scalars['String']['output']>;\n postTitle?: Maybe<Scalars['String']['output']>;\n publishedAt?: Maybe<Scalars['DateTime']['output']>;\n /** Reaction status of the post */\n reactionStatus?: Maybe<Array<Maybe<CmsReactionStatus>>>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n /** Tag terms of the post */\n tags?: Maybe<Array<Maybe<CmsPostTerm>>>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n /** Video/Live content option source */\n videoSource?: Maybe<Scalars['String']['output']>;\n /** views of the post */\n views?: Maybe<CmsPostViewsRecord>;\n};\n\nexport type CmsPostComment = {\n __typename?: 'CmsPostComment';\n /** User browser information */\n commentAgent?: Maybe<Scalars['String']['output']>;\n commentAuthor?: Maybe<AppLoginSubject>;\n commentAuthorEmail: Scalars['String']['output'];\n commentAuthorIp: Scalars['String']['output'];\n commentAuthorName: Scalars['String']['output'];\n commentContent: Scalars['String']['output'];\n commentCount?: Maybe<Scalars['Int']['output']>;\n commentEmojiNo?: Maybe<Scalars['Int']['output']>;\n commentParentGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: APPROVED/UNAPPROVED */\n commentStatus: Scalars['String']['output'];\n createdAt: Scalars['DateTime']['output'];\n createdByGuid: Scalars['String']['output'];\n guid: Scalars['String']['output'];\n postGuid?: Maybe<Scalars['String']['output']>;\n /** Reaction status of the comment */\n reactionStatus?: Maybe<Array<Maybe<CmsReactionStatus>>>;\n revision: Scalars['String']['output'];\n status: Scalars['String']['output'];\n updatedAt: Scalars['DateTime']['output'];\n updatedByGuid: Scalars['String']['output'];\n};\n\nexport type CmsPostCommentFilter = {\n /** User browser information */\n commentAgent?: InputMaybe<Scalars['String']['input']>;\n commentAuthorEmail?: InputMaybe<Scalars['String']['input']>;\n commentAuthorGuid?: InputMaybe<Scalars['String']['input']>;\n commentAuthorIp?: InputMaybe<Scalars['String']['input']>;\n commentAuthorName?: InputMaybe<Scalars['String']['input']>;\n commentContent?: InputMaybe<Scalars['String']['input']>;\n commentEmojiNo?: InputMaybe<Scalars['Int']['input']>;\n commentParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: APPROVED/UNAPPROVED */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostCommentResult = {\n __typename?: 'CmsPostCommentResult';\n data: Array<Maybe<CmsPostComment>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\n/** CmsPost Connection */\nexport type CmsPostConnection = {\n __typename?: 'CmsPostConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<CmsPostEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** CmsPost Edge */\nexport type CmsPostEdge = {\n __typename?: 'CmsPostEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<CmsPost>;\n};\n\nexport type CmsPostExt = {\n __typename?: 'CmsPostExt';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n extType?: Maybe<Scalars['String']['output']>;\n /** Guid value referencing to Amazon S3 image file */\n extValue?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostExtQueryCriteria = {\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n extType?: InputMaybe<Scalars['String']['input']>;\n /** Guid value referencing to Amazon S3 image file */\n extValue?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostFilter = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n authorName?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n pageSize?: Scalars['Int']['input'];\n /** Content of the post */\n postBody?: InputMaybe<Scalars['String']['input']>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: InputMaybe<Scalars['String']['input']>;\n postTitle?: InputMaybe<Scalars['String']['input']>;\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n sortBy: CmsPostSortByEnum;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n /** Search by termName: Name of the Category/Post tag */\n termName?: InputMaybe<Scalars['String']['input']>;\n /** Search by termType, possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostFilterPublic = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n pageSize?: Scalars['Int']['input'];\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n sortBy: CmsPostPublicSortByEnum;\n sortDirection?: Scalars['String']['input'];\n /** Search by termName: Name of the Category/Post tag */\n termName?: InputMaybe<Scalars['String']['input']>;\n /** Search by termType, possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CmsPostPublicSortByEnum {\n PublishedAt = 'publishedAt'\n}\n\nexport type CmsPostResult = {\n __typename?: 'CmsPostResult';\n data: Array<Maybe<CmsPost>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum CmsPostSortByEnum {\n ExpiredAt = 'expiredAt',\n PublishedAt = 'publishedAt',\n UpdatedAt = 'updatedAt'\n}\n\nexport type CmsPostTerm = {\n __typename?: 'CmsPostTerm';\n createdAt: Scalars['DateTime']['output'];\n createdByGuid: Scalars['String']['output'];\n guid: Scalars['String']['output'];\n isHidden?: Maybe<Scalars['Boolean']['output']>;\n /** Cms Posts under selected Term */\n posts?: Maybe<Array<Maybe<CmsPost>>>;\n revision: Scalars['String']['output'];\n status: Scalars['String']['output'];\n termDescription?: Maybe<Scalars['String']['output']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName: Scalars['String']['output'];\n termParentGuid?: Maybe<Scalars['String']['output']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n updatedAt: Scalars['DateTime']['output'];\n updatedByGuid: Scalars['String']['output'];\n urlKey?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostTermFilter = {\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName?: InputMaybe<Scalars['String']['input']>;\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType?: InputMaybe<TermType>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostTermRelationship = {\n __typename?: 'CmsPostTermRelationship';\n guid: Scalars['String']['output'];\n postGuid: Scalars['String']['output'];\n termGuid: Scalars['String']['output'];\n /** Category/Post tag ordering */\n termOrder: Scalars['Int']['output'];\n};\n\nexport type CmsPostTermRelationshipQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n termGuid?: InputMaybe<Scalars['String']['input']>;\n /** Category/Post tag ordering */\n termOrder?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type CmsPostTermResult = {\n __typename?: 'CmsPostTermResult';\n data: Array<Maybe<CmsPostTerm>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsPostViews = {\n __typename?: 'CmsPostViews';\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsPostViewsCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsPostViewsRecord = {\n __typename?: 'CmsPostViewsRecord';\n totalCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsPostViewsResult = {\n __typename?: 'CmsPostViewsResult';\n data: Array<Maybe<CmsPostViews>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsReactionCriteria = {\n commentGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isMutation?: InputMaybe<Scalars['Boolean']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: LIKE, HEART */\n reactionType?: InputMaybe<ReactionType>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CmsReactionResult = {\n __typename?: 'CmsReactionResult';\n data: Array<Maybe<CmsCommentReaction>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsReactionStatus = {\n __typename?: 'CmsReactionStatus';\n /** Possible value: 1= LIKE/HEART, -1= UNLIKE/UNHEART, null */\n mutation?: Maybe<Scalars['Int']['output']>;\n /** Possible value: LIKE, HEART */\n reactionType?: Maybe<Scalars['String']['output']>;\n totalCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CmsUser = {\n __typename?: 'CmsUser';\n authUserGuid?: Maybe<Scalars['String']['output']>;\n bio?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n url?: Maybe<Scalars['String']['output']>;\n userName?: Maybe<Scalars['String']['output']>;\n};\n\nexport type CmsUserFilter = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n picture?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['DateTime']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum CommentStatus {\n Approved = 'APPROVED',\n Unapproved = 'UNAPPROVED'\n}\n\nexport type Company = {\n __typename?: 'Company';\n /** ... company code */\n code?: Maybe<Scalars['String']['output']>;\n /** ... company country */\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n /** ... user that create this company */\n createdBy?: Maybe<AppLoginSubject>;\n /** ... company description */\n description?: Maybe<Scalars['String']['output']>;\n /** ... company displayed name */\n displayName?: Maybe<Scalars['String']['output']>;\n /** ... Company identifier */\n guid?: Maybe<Scalars['String']['output']>;\n isInternal?: Maybe<Scalars['Boolean']['output']>;\n /** ... company name */\n name?: Maybe<Scalars['String']['output']>;\n /** ... data version */\n revision?: Maybe<Scalars['String']['output']>;\n /** ... company status */\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n /** ... last user that update this company */\n updatedBy?: Maybe<AppLoginSubject>;\n};\n\nexport type CompanyFilter = {\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n displayName?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CompanyWithFilterRs = {\n __typename?: 'CompanyWithFilterRs';\n data?: Maybe<Array<Maybe<Company>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ContentOption {\n LiveThumbnail = 'LIVE_THUMBNAIL',\n VideoThumbnail = 'VIDEO_THUMBNAIL'\n}\n\nexport type ContractTemplate = {\n __typename?: 'ContractTemplate';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n details?: Maybe<Array<ContractTemplateDetail>>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ContractTemplateCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n /** ... for filter by name ilike */\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n productSelection?: InputMaybe<ProductSelectionEnum>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type ContractTemplateDetail = {\n __typename?: 'ContractTemplateDetail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentProvider?: Maybe<PaymentProvider>;\n product?: Maybe<ProductPage>;\n productDenom?: Maybe<ProductDenomination>;\n productSelection?: Maybe<ProductSelectionEnum>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ContractTemplateDetailCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentProviderGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productDenomGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n productSelection?: InputMaybe<ProductSelectionEnum>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type ContractTemplateDetailRs = PageableRs & {\n __typename?: 'ContractTemplateDetailRs';\n data?: Maybe<Array<ContractTemplateDetail>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type ContractTemplateRs = PageableRs & {\n __typename?: 'ContractTemplateRs';\n data?: Maybe<Array<ContractTemplate>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type Country = {\n __typename?: 'Country';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n defaultLangCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n langCodes?: Maybe<Array<Maybe<LangCode>>>;\n name?: Maybe<Scalars['String']['output']>;\n phoneCodes?: Maybe<Array<Maybe<PhoneCode>>>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type CountryQueryCriteria = {\n code?: InputMaybe<Array<Scalars['String']['input']>>;\n defaultLangCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Array<Scalars['String']['input']>>;\n langCode?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n phoneCode?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CountryResult = {\n __typename?: 'CountryResult';\n data: Array<Maybe<Country>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type CreateApiCredentialRoleRq = {\n apiCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n createdBy?: InputMaybe<Scalars['String']['input']>;\n roleGuid?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateApiCredentialRq = {\n accessKey?: InputMaybe<Scalars['String']['input']>;\n activeAt?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n secret?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionalUserGuid?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateApprovalRq = {\n approvalGroupGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... required valid json string */\n data?: InputMaybe<Scalars['String']['input']>;\n entity: Scalars['String']['input'];\n entityGuid: Scalars['String']['input'];\n permission: Scalars['String']['input'];\n remark?: InputMaybe<Scalars['String']['input']>;\n sourcePlatform: Scalars['String']['input'];\n type: ApprovalTypeEnum;\n urlToCall: Scalars['String']['input'];\n};\n\nexport type CreateAuditTrailRq = {\n action?: InputMaybe<Scalars['String']['input']>;\n class?: InputMaybe<Scalars['String']['input']>;\n codeLine?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n data?: InputMaybe<Scalars['JSON']['input']>;\n description: Scalars['String']['input'];\n function?: InputMaybe<Scalars['String']['input']>;\n isSystemGenerated?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n msSource: Scalars['String']['input'];\n sourceIp: Scalars['String']['input'];\n tags?: InputMaybe<Array<InputMaybe<AuditTagRq>>>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateAuthSettingRq = {\n /** ... Setting code (not editable) */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting value */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateAuthorHistoricalSlugRq = {\n slug: Scalars['String']['input'];\n userGuid: Scalars['String']['input'];\n};\n\nexport type CreateBookmarkRq = {\n /** Post Guid that going to be saved. */\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** User Guid that saving the post. */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostCommentRq = {\n commentContent: Scalars['String']['input'];\n commentParentGuid?: InputMaybe<Scalars['String']['input']>;\n postGuid: Scalars['String']['input'];\n};\n\nexport type CreateCmsPostExtRq = {\n created_at?: InputMaybe<Scalars['DateTime']['input']>;\n created_by_guid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n ext_type: Scalars['String']['input'];\n /** Guid value referencing to Amazon S3 image file */\n ext_value: Scalars['String']['input'];\n post_guid: Scalars['String']['input'];\n status: Scalars['String']['input'];\n updated_at?: InputMaybe<Scalars['DateTime']['input']>;\n updated_by_guid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostRq = {\n authorGuid: Scalars['String']['input'];\n authorName?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus: Scalars['String']['input'];\n /** Video thumbnail/Live thumbnail */\n contentOption?: InputMaybe<ContentOption>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n /** Content of the post */\n postBody: Scalars['String']['input'];\n /** Terms-Category guid of the post */\n postCategoryGuid: Scalars['String']['input'];\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus: Scalars['String']['input'];\n /** Terms-PostTag names of the post */\n postTagNames: Array<InputMaybe<Scalars['String']['input']>>;\n postTitle: Scalars['String']['input'];\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** The part of a static URL that describes the post */\n urlKey: Scalars['String']['input'];\n /** Video/Live content option source */\n videoSource?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsPostTermRelationshipRq = {\n postGuid: Scalars['String']['input'];\n termGuid: Scalars['String']['input'];\n /** Category/Post tag ordering */\n termOrder: Scalars['Int']['input'];\n};\n\nexport type CreateCmsPostTermRq = {\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName: Scalars['String']['input'];\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCmsReactionRq = {\n commentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: true = LIKE/HEART , false = UNLIKE/UNHEART */\n isMutation: Scalars['Boolean']['input'];\n postGuid: Scalars['String']['input'];\n /** Possible value: LIKE, HEART */\n reactionType: ReactionType;\n userGuid: Scalars['String']['input'];\n};\n\nexport type CreateCmsUserRq = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n picture?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateCompanyRq = {\n /** ... company code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... company country */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n /** ... company description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... company displayed name */\n displayName?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... company name */\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateConsentToAgreeRq = {\n historyAgreementGuid?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateContractTemplateRq = {\n contractTemplateDetailGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n name: Scalars['String']['input'];\n};\n\nexport type CreateHistoryAgreementRq = {\n agreementCode?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n publishDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type CreateMerchantContractRq = {\n contractTemplateGuid: Scalars['String']['input'];\n merchantGuid: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type CreateMerchantPaymentDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMerchantPaymentProviderRq = {\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n providerGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMerchantRq = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateMessageTemplateRq = {\n /** ... message id */\n messageId: Scalars['String']['input'];\n /** ... base64 encoded html or message template */\n value: Scalars['String']['input'];\n};\n\nexport type CreateNotificationAlertRq = {\n description: Scalars['String']['input'];\n receiverCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n receiverGuid?: InputMaybe<Scalars['String']['input']>;\n receiverMerchantGuid?: InputMaybe<Scalars['String']['input']>;\n receiverPermissionCode?: InputMaybe<Scalars['String']['input']>;\n status: NotifAlertStatusEnum;\n targetGuid: Scalars['String']['input'];\n targetType: Scalars['String']['input'];\n title: Scalars['String']['input'];\n type: AlertTypeEnum;\n};\n\nexport type CreatePaymentChannelDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n payamentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePaymentChannelGuidelineRq = {\n paymentChannelGuid: Scalars['String']['input'];\n postGuid: Scalars['String']['input'];\n};\n\nexport type CreatePaymentChannelRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n charge?: InputMaybe<Scalars['Float']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid: Scalars['String']['input'];\n contractorCompanyGuid: Scalars['String']['input'];\n countryCode?: InputMaybe<Scalars['String']['input']>;\n field?: InputMaybe<Scalars['String']['input']>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<PaymentChannelMetaField>>>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n parameter?: InputMaybe<Scalars['String']['input']>;\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n requiredFieldJson?: InputMaybe<Array<InputMaybe<RequiredField>>>;\n route?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid: Scalars['String']['input'];\n vatPercentage?: InputMaybe<Scalars['Float']['input']>;\n};\n\nexport type CreatePaymentProviderRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePermRq = {\n /** ... permission parent identifier */\n parentId?: InputMaybe<Scalars['String']['input']>;\n /** ... permission code */\n permCode: Scalars['String']['input'];\n /** ... permission description */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... permission module */\n permModule: Scalars['String']['input'];\n /** ... permission name */\n permName: Scalars['String']['input'];\n /** ... permission scope */\n permScope: Scalars['String']['input'];\n /** ... permission type eX: WRITE, READ, etc */\n permType: Scalars['String']['input'];\n /** ... related micro frontend */\n relatedMf?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreatePostHistoricalSlugRq = {\n postGuid: Scalars['String']['input'];\n slug: Scalars['String']['input'];\n};\n\nexport type CreateProductDenominationRq = {\n adjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n imageGuid?: InputMaybe<Scalars['String']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateProductPageRq = {\n advanceSearch?: InputMaybe<Scalars['String']['input']>;\n category: ProductPageCategory;\n communityLink?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n downloadLink?: InputMaybe<Scalars['String']['input']>;\n gameCenterImage?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Scalars['String']['input']>;\n gameParentCode?: InputMaybe<Scalars['String']['input']>;\n huaweiDownloadLink?: InputMaybe<Scalars['String']['input']>;\n iconGuid?: InputMaybe<Scalars['String']['input']>;\n influencerLink?: InputMaybe<Scalars['String']['input']>;\n iosDownloadLink?: InputMaybe<Scalars['String']['input']>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n metaDescription?: InputMaybe<Scalars['String']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<ProductPageMetaField>>>;\n metaTitle?: InputMaybe<Scalars['String']['input']>;\n officialSiteLink?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n requiredFieldJson?: InputMaybe<Array<InputMaybe<RequiredField>>>;\n route?: InputMaybe<Scalars['String']['input']>;\n schemaMarkUp?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n topUpGuideLink?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateProductPriceListRq = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid: Scalars['String']['input'];\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n price?: InputMaybe<Scalars['Int']['input']>;\n priority: Scalars['Int']['input'];\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n type: PriceListType;\n};\n\nexport type CreateRateCardTemplateDetailsRq = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n magnifyValue: Scalars['Int']['input'];\n minimumRate: Scalars['Int']['input'];\n name: Scalars['String']['input'];\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority: Scalars['Int']['input'];\n rate: Scalars['Float']['input'];\n rateLogic: RateLogic;\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n};\n\nexport type CreateRateCardTemplateRq = {\n code: Scalars['String']['input'];\n name: Scalars['String']['input'];\n};\n\nexport type CreateRoleRq = {\n /** ... role code */\n code: Scalars['String']['input'];\n /** ... role description */\n description?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... role name */\n name: Scalars['String']['input'];\n};\n\nexport type CreateSuspiciousTagRq = {\n actionCode?: InputMaybe<Scalars['String']['input']>;\n actionJson?: InputMaybe<Scalars['JSON']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n intervalParam?: InputMaybe<Scalars['String']['input']>;\n targetCode?: InputMaybe<Scalars['String']['input']>;\n threshold?: InputMaybe<Scalars['Int']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateTemplateDetailRq = {\n paymentProviderGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productSelection?: ProductSelectionEnum;\n};\n\nexport type CreateUserRq = {\n /** ... email to register user [Optional] */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... user gender [MALE/FEMALE] */\n gender: Gender;\n /** ... mobile nunber to register user [Optional] */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user full name */\n name: Scalars['String']['input'];\n};\n\nexport type CreateVacancyRq = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateVacancySettingsRq = {\n name?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type CreateVoucherGroupRq = {\n /** Currency */\n currency?: InputMaybe<Scalars['String']['input']>;\n /** to magnify value above before display to user */\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n /** Name of voucher group */\n name?: InputMaybe<Scalars['String']['input']>;\n /** Voucher that have pin, this one to set the pattern */\n pinPattern: Scalars['JSON']['input'];\n /** Voucher that have serial, this one to set the pattern */\n serialPattern: Scalars['JSON']['input'];\n /** Type of voucher group */\n type?: InputMaybe<VoucherGroupType>;\n /** Voucher price to check when redeem */\n value?: InputMaybe<Scalars['Int']['input']>;\n /** Code for API type voucher only */\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateVoucherRq = {\n /** voucher activation pin */\n activationPin?: InputMaybe<Scalars['String']['input']>;\n /** voucher name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** start date for this voucher able to redeemed */\n redeemableFrom?: InputMaybe<Scalars['DateTime']['input']>;\n /** end date for this voucher able to redeemed */\n redeemableTo?: InputMaybe<Scalars['DateTime']['input']>;\n /** voucher serial number */\n serialNumber?: InputMaybe<Scalars['String']['input']>;\n /** voucher softpin */\n softpin?: InputMaybe<Scalars['String']['input']>;\n /** voucher url key */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n /** voucher group associated with this voucher */\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type CreateWebConfigRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Currency = {\n __typename?: 'Currency';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type CurrencyQueryCriteria = {\n code?: InputMaybe<Array<Scalars['String']['input']>>;\n guid?: InputMaybe<Array<Scalars['String']['input']>>;\n magnifyValues?: InputMaybe<Array<Scalars['Int']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type CurrencyResult = {\n __typename?: 'CurrencyResult';\n data: Array<Maybe<Currency>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type DeliveryRequest = {\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n denomGuid?: InputMaybe<Scalars['String']['input']>;\n flowId?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n merchantCode?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n signature?: InputMaybe<Scalars['String']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type DeliveryResponse = {\n __typename?: 'DeliveryResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type Denomination = {\n __typename?: 'Denomination';\n amount?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n};\n\nexport type DetachPermRq = {\n /** permission identifier */\n permsGuid: Array<InputMaybe<Scalars['String']['input']>>;\n /** role identifier */\n roleGuid: Scalars['String']['input'];\n};\n\nexport type EmailMessageTemplate = {\n __typename?: 'EmailMessageTemplate';\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n messageId?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type EmailMessageTemplatePageableResult = {\n __typename?: 'EmailMessageTemplatePageableResult';\n data: Array<Maybe<EmailMessageTemplate>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type EmailMsgTemplateCriteria = {\n /** ... message template identifier */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... message id */\n messageId?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport enum ErrorDetail {\n /**\n * The deadline expired before the operation could complete.\n *\n * For operations that change the state of the system, this error\n * may be returned even if the operation has completed successfully.\n * For example, a successful response from a server could have been\n * delayed long enough for the deadline to expire.\n *\n * HTTP Mapping: 504 Gateway Timeout\n * Error Type: UNAVAILABLE\n */\n DeadlineExceeded = 'DEADLINE_EXCEEDED',\n /**\n * The server detected that the client is exhibiting a behavior that\n * might be generating excessive load.\n *\n * HTTP Mapping: 429 Too Many Requests or 420 Enhance Your Calm\n * Error Type: UNAVAILABLE\n */\n EnhanceYourCalm = 'ENHANCE_YOUR_CALM',\n /**\n * The requested field is not found in the schema.\n *\n * This differs from `NOT_FOUND` in that `NOT_FOUND` should be used when a\n * query is valid, but is unable to return a result (if, for example, a\n * specific video id doesn't exist). `FIELD_NOT_FOUND` is intended to be\n * returned by the server to signify that the requested field is not known to exist.\n * This may be returned in lieu of failing the entire query.\n * See also `PERMISSION_DENIED` for cases where the\n * requested field is invalid only for the given user or class of users.\n *\n * HTTP Mapping: 404 Not Found\n * Error Type: BAD_REQUEST\n */\n FieldNotFound = 'FIELD_NOT_FOUND',\n /**\n * The client specified an invalid argument.\n *\n * Note that this differs from `FAILED_PRECONDITION`.\n * `INVALID_ARGUMENT` indicates arguments that are problematic\n * regardless of the state of the system (e.g., a malformed file name).\n *\n * HTTP Mapping: 400 Bad Request\n * Error Type: BAD_REQUEST\n */\n InvalidArgument = 'INVALID_ARGUMENT',\n /**\n * The provided cursor is not valid.\n *\n * The most common usage for this error is when a client is paginating\n * through a list that uses stateful cursors. In that case, the provided\n * cursor may be expired.\n *\n * HTTP Mapping: 404 Not Found\n * Error Type: NOT_FOUND\n */\n InvalidCursor = 'INVALID_CURSOR',\n /**\n * Unable to perform operation because a required resource is missing.\n *\n * Example: Client is attempting to refresh a list, but the specified\n * list is expired. This requires an action by the client to get a new list.\n *\n * If the user is simply trying GET a resource that is not found,\n * use the NOT_FOUND error type. FAILED_PRECONDITION.MISSING_RESOURCE\n * is to be used particularly when the user is performing an operation\n * that requires a particular resource to exist.\n *\n * HTTP Mapping: 400 Bad Request or 500 Internal Server Error\n * Error Type: FAILED_PRECONDITION\n */\n MissingResource = 'MISSING_RESOURCE',\n /**\n * Service Error.\n *\n * There is a problem with an upstream service.\n *\n * This may be returned if a gateway receives an unknown error from a service\n * or if a service is unreachable.\n * If a request times out which waiting on a response from a service,\n * `DEADLINE_EXCEEDED` may be returned instead.\n * If a service returns a more specific error Type, the specific error Type may\n * be returned instead.\n *\n * HTTP Mapping: 502 Bad Gateway\n * Error Type: UNAVAILABLE\n */\n ServiceError = 'SERVICE_ERROR',\n /**\n * Request failed due to network errors.\n *\n * HTTP Mapping: 503 Unavailable\n * Error Type: UNAVAILABLE\n */\n TcpFailure = 'TCP_FAILURE',\n /**\n * Request throttled based on server concurrency limits.\n *\n * HTTP Mapping: 503 Unavailable\n * Error Type: UNAVAILABLE\n */\n ThrottledConcurrency = 'THROTTLED_CONCURRENCY',\n /**\n * Request throttled based on server CPU limits\n *\n * HTTP Mapping: 503 Unavailable.\n * Error Type: UNAVAILABLE\n */\n ThrottledCpu = 'THROTTLED_CPU',\n /**\n * The operation is not implemented or is not currently supported/enabled.\n *\n * HTTP Mapping: 501 Not Implemented\n * Error Type: BAD_REQUEST\n */\n Unimplemented = 'UNIMPLEMENTED',\n /**\n * Unknown error.\n *\n * This error should only be returned when no other error detail applies.\n * If a client sees an unknown errorDetail, it will be interpreted as UNKNOWN.\n *\n * HTTP Mapping: 500 Internal Server Error\n */\n Unknown = 'UNKNOWN'\n}\n\nexport enum ErrorType {\n /**\n * Bad Request.\n *\n * There is a problem with the request.\n * Retrying the same request is not likely to succeed.\n * An example would be a query or argument that cannot be deserialized.\n *\n * HTTP Mapping: 400 Bad Request\n */\n BadRequest = 'BAD_REQUEST',\n /**\n * The operation was rejected because the system is not in a state\n * required for the operation's execution. For example, the directory\n * to be deleted is non-empty, an rmdir operation is applied to\n * a non-directory, etc.\n *\n * Service implementers can use the following guidelines to decide\n * between `FAILED_PRECONDITION` and `UNAVAILABLE`:\n *\n * - Use `UNAVAILABLE` if the client can retry just the failing call.\n * - Use `FAILED_PRECONDITION` if the client should not retry until\n * the system state has been explicitly fixed. E.g., if an \"rmdir\"\n * fails because the directory is non-empty, `FAILED_PRECONDITION`\n * should be returned since the client should not retry unless\n * the files are deleted from the directory.\n *\n * HTTP Mapping: 400 Bad Request or 500 Internal Server Error\n */\n FailedPrecondition = 'FAILED_PRECONDITION',\n /**\n * Internal error.\n *\n * An unexpected internal error was encountered. This means that some\n * invariants expected by the underlying system have been broken.\n * This error code is reserved for serious errors.\n *\n * HTTP Mapping: 500 Internal Server Error\n */\n Internal = 'INTERNAL',\n /**\n * The requested entity was not found.\n *\n * This could apply to a resource that has never existed (e.g. bad resource id),\n * or a resource that no longer exists (e.g. cache expired.)\n *\n * Note to server developers: if a request is denied for an entire class\n * of users, such as gradual feature rollout or undocumented allowlist,\n * `NOT_FOUND` may be used. If a request is denied for some users within\n * a class of users, such as user-based access control, `PERMISSION_DENIED`\n * must be used.\n *\n * HTTP Mapping: 404 Not Found\n */\n NotFound = 'NOT_FOUND',\n /**\n * The caller does not have permission to execute the specified\n * operation.\n *\n * `PERMISSION_DENIED` must not be used for rejections\n * caused by exhausting some resource or quota.\n * `PERMISSION_DENIED` must not be used if the caller\n * cannot be identified (use `UNAUTHENTICATED`\n * instead for those errors).\n *\n * This error Type does not imply the\n * request is valid or the requested entity exists or satisfies\n * other pre-conditions.\n *\n * HTTP Mapping: 403 Forbidden\n */\n PermissionDenied = 'PERMISSION_DENIED',\n /**\n * The request does not have valid authentication credentials.\n *\n * This is intended to be returned only for routes that require\n * authentication.\n *\n * HTTP Mapping: 401 Unauthorized\n */\n Unauthenticated = 'UNAUTHENTICATED',\n /**\n * Currently Unavailable.\n *\n * The service is currently unavailable. This is most likely a\n * transient condition, which can be corrected by retrying with\n * a backoff.\n *\n * HTTP Mapping: 503 Unavailable\n */\n Unavailable = 'UNAVAILABLE',\n /**\n * Unknown error.\n *\n * For example, this error may be returned when\n * an error code received from another address space belongs to\n * an error space that is not known in this address space. Also\n * errors raised by APIs that do not return enough error information\n * may be converted to this error.\n *\n * If a client sees an unknown errorType, it will be interpreted as UNKNOWN.\n * Unknown errors MUST NOT trigger any special behavior. These MAY be treated\n * by an implementation as being equivalent to INTERNAL.\n *\n * When possible, a more specific error should be provided.\n *\n * HTTP Mapping: 520 Unknown Error\n */\n Unknown = 'UNKNOWN'\n}\n\nexport type FetchFileResponse = {\n __typename?: 'FetchFileResponse';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n publicUrl?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type File = {\n __typename?: 'File';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type FileUploadResponse = {\n __typename?: 'FileUploadResponse';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n fileName?: Maybe<Scalars['String']['output']>;\n filePath?: Maybe<Scalars['String']['output']>;\n fileSize?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isPublic?: Maybe<Scalars['Boolean']['output']>;\n publicUrl?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type FirebaseIdTokenRes = {\n __typename?: 'FirebaseIdTokenRes';\n expiresIn?: Maybe<Scalars['String']['output']>;\n idToken?: Maybe<Scalars['String']['output']>;\n isNewUser?: Maybe<Scalars['Boolean']['output']>;\n refreshToken?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ForgotPassOtpRq = {\n /** ... email attached to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number attached to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type ForgotPassRq = {\n /** ... new user password to replace old password */\n newPassword: Scalars['String']['input'];\n /** ... email or mobile nummber attached to user */\n principalId: Scalars['String']['input'];\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n /** ... verification code requested before restet password */\n verifCode: Scalars['String']['input'];\n};\n\nexport type GameRequiredField = {\n __typename?: 'GameRequiredField';\n dependant?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n options?: Maybe<Array<Maybe<Option>>>;\n type?: Maybe<Scalars['String']['output']>;\n};\n\nexport type GameRequiredFieldInput = {\n serverId?: InputMaybe<Scalars['String']['input']>;\n userId?: InputMaybe<Scalars['String']['input']>;\n username?: InputMaybe<Scalars['String']['input']>;\n zoneId?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTrail = {\n __typename?: 'GameTrail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n eventType?: Maybe<Scalars['String']['output']>;\n gameId?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n requestData?: Maybe<Scalars['JSON']['output']>;\n requestPlatform?: Maybe<Scalars['String']['output']>;\n responseData?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n txnRef?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type GameTransactionCreateRequest = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n transactionRef?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactionQueryCriteria = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n createdAt?: InputMaybe<Scalars['String']['input']>;\n gameRef?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n limit?: InputMaybe<Scalars['Int']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n offset?: InputMaybe<Scalars['Int']['input']>;\n orderBy?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionRef?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n updatedAt?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactionUpdateRequest = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n requestPlatform?: InputMaybe<Scalars['String']['input']>;\n sourceIp?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n txnCountryCode?: InputMaybe<Scalars['String']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type GameTransactions = {\n __typename?: 'GameTransactions';\n ccyCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['String']['output']>;\n gameRef?: Maybe<Scalars['String']['output']>;\n gameTrail?: Maybe<GameTrail>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n requestPlatform?: Maybe<Scalars['String']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n transactionRef?: Maybe<Scalars['String']['output']>;\n txnCountryCode?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum Gender {\n Female = 'FEMALE',\n Male = 'MALE'\n}\n\nexport type GenerateVoucherRq = {\n expiredDate?: InputMaybe<Scalars['DateTime']['input']>;\n quantity?: InputMaybe<Scalars['Int']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type HistoryAgreement = {\n __typename?: 'HistoryAgreement';\n agreementCode?: Maybe<Scalars['String']['output']>;\n agreementGuid?: Maybe<Scalars['String']['output']>;\n content?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n publishDate?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n version?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type HistoryAgreementQueryCriteria = {\n agreementCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n countryCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n version?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;\n};\n\nexport type InquiryRequest = {\n amount?: InputMaybe<Scalars['String']['input']>;\n ccy?: InputMaybe<Scalars['String']['input']>;\n channelCode?: InputMaybe<Scalars['String']['input']>;\n gameFieldJson?: InputMaybe<Scalars['JSON']['input']>;\n gameId?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n productId?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type InquiryResponse = {\n __typename?: 'InquiryResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type LangCode = {\n __typename?: 'LangCode';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Link = {\n __typename?: 'Link';\n android?: Maybe<Scalars['String']['output']>;\n apple?: Maybe<Scalars['String']['output']>;\n community?: Maybe<Scalars['String']['output']>;\n huawei?: Maybe<Scalars['String']['output']>;\n influencer?: Maybe<Scalars['String']['output']>;\n website?: Maybe<Scalars['String']['output']>;\n};\n\nexport type LockPost = {\n __typename?: 'LockPost';\n guid?: Maybe<Scalars['String']['output']>;\n timestamp?: Maybe<Scalars['DateTime']['output']>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type LoginResponse = {\n __typename?: 'LoginResponse';\n /** ... simple access token */\n accessToken?: Maybe<Scalars['String']['output']>;\n /** ... refresh token can use to request access token */\n refreshToken?: Maybe<Scalars['String']['output']>;\n /** ... suggested action */\n suggestedAction?: Maybe<SuggestedAction>;\n /** ... user detail */\n user?: Maybe<UserLogin>;\n};\n\nexport type LoginRq = {\n /** ... email registered to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number registered to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user password */\n password: Scalars['String']['input'];\n /** ... source platform where user registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type Merchant = {\n __typename?: 'Merchant';\n company?: Maybe<Company>;\n createBy?: Maybe<AppLoginSubject>;\n createdAt?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n logoGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n transactionalUser?: Maybe<AppLoginSubject>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n};\n\nexport type MerchantContract = {\n __typename?: 'MerchantContract';\n contractTemplate?: Maybe<ContractTemplate>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type MerchantContractCriteria = {\n code?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n};\n\nexport type MerchantContractRs = PageableRs & {\n __typename?: 'MerchantContractRs';\n data?: Maybe<Array<Maybe<MerchantContract>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type MerchantFilter = {\n companyGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n companyName?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Status;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type MerchantFilterRs = {\n __typename?: 'MerchantFilterRs';\n data?: Maybe<Array<Maybe<Merchant>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type MerchantPaymentDenomination = {\n __typename?: 'MerchantPaymentDenomination';\n amount?: Maybe<Scalars['Double']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n paymentChannelGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type MerchantPaymentProvider = {\n __typename?: 'MerchantPaymentProvider';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n providerGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Message = {\n __typename?: 'Message';\n message?: Maybe<Scalars['String']['output']>;\n};\n\nexport type Mutation = {\n __typename?: 'Mutation';\n /** Create Author Historical Slug if user already exists */\n CmsMsCreateAuthorHistoricalSlug?: Maybe<AuthorHistoricalSlug>;\n approvalMsApproveOrDeclineRequest?: Maybe<Scalars['String']['output']>;\n approvalMsCreateApprovalRequest?: Maybe<Array<Maybe<Approval>>>;\n /** used by other ms to send their data changes audit */\n auditMsCreateAuditTrail?: Maybe<AuditTrail>;\n /** create supicious tag configuration */\n auditMsCreateSuspiciousTag?: Maybe<SuspiciousTag>;\n /** update supicious tag configuration */\n auditMsDeleteSuspiciousTag?: Maybe<SuspiciousTag>;\n /** update supicious tag configuration */\n auditMsUpdateSuspiciousTag?: Maybe<SuspiciousTag>;\n /** add permission to role */\n authMsAttachPermToRole?: Maybe<Scalars['String']['output']>;\n /**\n * add role to user.\n * expiredDuration (number of days) is use to calculated expired date (current date + expiredDuration)\n */\n authMsAttachRolesToUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to change their password, need Authorization Header */\n authMsChangePassword?: Maybe<Scalars['String']['output']>;\n authMsCreateApiCredential?: Maybe<ApiCredential>;\n /** create auth ms settings */\n authMsCreateAuthSettings?: Maybe<AuthSettings>;\n /** create new Company */\n authMsCreateCompany?: Maybe<Company>;\n /** create new Merchant */\n authMsCreateMerchant?: Maybe<Merchant>;\n /** create new permission */\n authMsCreatePermission?: Maybe<AppPermDfn>;\n /** create new role */\n authMsCreateRole?: Maybe<AppLoginRole>;\n /** This query allow you to create super admin user. Cant create super admin if super admin already exists */\n authMsCreateSuperAdmin?: Maybe<Scalars['String']['output']>;\n /** create user by admin, need authorization and project header */\n authMsCreateUserProfile?: Maybe<UserByAdmin>;\n authMsDeleteApiCredential?: Maybe<ApiCredential>;\n /** delete existing auth ms settings */\n authMsDeleteAuthSettings?: Maybe<AuthSettings>;\n /** delete existing company */\n authMsDeleteCompany?: Maybe<Company>;\n /** delete existing Merchant */\n authMsDeleteMerchant?: Maybe<Merchant>;\n /** delete existiing permission */\n authMsDeletePermission?: Maybe<Scalars['String']['output']>;\n /** delete existing role */\n authMsDeleteRole?: Maybe<AppLoginRole>;\n /** revoke permission to role */\n authMsDetachPermToRole?: Maybe<Scalars['String']['output']>;\n /** extend role to user linkage expired duration by days. */\n authMsExtendsRolesToUsersExpiredDate?: Maybe<Scalars['String']['output']>;\n /** This query allow user to reset their password */\n authMsForgotPassword?: Maybe<Scalars['String']['output']>;\n /** This query allow user to request reset password verification code */\n authMsForgotPasswordOtp?: Maybe<Scalars['String']['output']>;\n /** link company to merchants */\n authMsLinkCompanyToMerchants?: Maybe<Scalars['String']['output']>;\n /** link company to user */\n authMsLinkCompanyToUsers?: Maybe<Scalars['String']['output']>;\n /** link merchants to users */\n authMsLinkMerchantsToUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to login */\n authMsLogin?: Maybe<LoginResponse>;\n /** This query allow user to refresh their access token */\n authMsRefreshAccessToken?: Maybe<Token>;\n /** This query allow user to do self registration */\n authMsRegister?: Maybe<AppLoginSubject>;\n /** This query use to resend email verification code */\n authMsResendEmailVerif?: Maybe<Scalars['String']['output']>;\n /** This query use to resend Mobile/OTP verification code */\n authMsResendMobileVerif?: Maybe<Scalars['String']['output']>;\n /** revole roles in from user */\n authMsRevokeRolesInUsers?: Maybe<Scalars['String']['output']>;\n /** This query allow user to validate firebase id token and login */\n authMsSocialLogin?: Maybe<LoginResponse>;\n /** temporary deactive user */\n authMsTemporaryUserDeactivation?: Maybe<Scalars['String']['output']>;\n /** unlink company to user */\n authMsUnLinkCompanyFromUsers?: Maybe<Scalars['String']['output']>;\n /** unlink company from merchants */\n authMsUnlinkCompanyFromMerchants?: Maybe<Scalars['String']['output']>;\n /** unlink merchnats from users */\n authMsUnlinkMerchantsFromUsers?: Maybe<Scalars['String']['output']>;\n authMsUpdateApiCredential?: Maybe<ApiCredential>;\n /** update existing auth ms settings */\n authMsUpdateAuthSettings?: Maybe<AuthSettings>;\n /** Update existion company */\n authMsUpdateCompany?: Maybe<Company>;\n /** update existing Merchant */\n authMsUpdateMerchant?: Maybe<Merchant>;\n /** update existing permission */\n authMsUpdatePermission?: Maybe<AppPermDfn>;\n /** update user principal by admin */\n authMsUpdatePrincipalForAdmin?: Maybe<AppLoginSubject>;\n /** update existing role */\n authMsUpdateRole?: Maybe<AppLoginRole>;\n /** update user by admin */\n authMsUpdateUserForAdmin?: Maybe<AppLoginSubject>;\n /** update principal id by user owner */\n authMsUpdateUserPrincipalByOwner?: Maybe<AppLoginSubject>;\n /** request otp for update principal by owned user */\n authMsUpdateUserPrincipalOtp?: Maybe<Scalars['String']['output']>;\n /** update user profile by user it self, need authorization header */\n authMsUpdateUserProfile?: Maybe<AppLoginSubject>;\n /** This query allow user to do user confirmation after registration */\n authMsUserConfirm?: Maybe<Scalars['String']['output']>;\n cmsMsAssignTermToPost?: Maybe<CmsPostTermRelationship>;\n cmsMsCreateBookmark?: Maybe<CmsBookmarks>;\n cmsMsCreateComment?: Maybe<CmsPostComment>;\n cmsMsCreatePost?: Maybe<CmsPost>;\n cmsMsCreatePostExts?: Maybe<CmsPostExt>;\n cmsMsCreatePostHistoricalSlug?: Maybe<PostHistoricalSlug>;\n cmsMsCreatePostTerm?: Maybe<CmsPostTerm>;\n /** This query is used to insert post views, Authorization header [userGuid] is optional */\n cmsMsCreatePostViews?: Maybe<CmsPostViews>;\n cmsMsCreateReaction?: Maybe<CmsCommentReaction>;\n cmsMsCreateUser?: Maybe<CmsUser>;\n cmsMsDeleteBookmark?: Maybe<CmsBookmarks>;\n cmsMsDeleteComment?: Maybe<CmsPostComment>;\n cmsMsDeletePost?: Maybe<CmsPost>;\n cmsMsDeletePostExts?: Maybe<CmsPostExt>;\n cmsMsDeletePostTerm?: Maybe<Array<Maybe<CmsPostTerm>>>;\n cmsMsDeleteUser?: Maybe<Scalars['String']['output']>;\n /** This query is used to update the heartbeat timestamps for edited posts if exists for the given postGuid otherwise create a new entry, need Authorization Header */\n cmsMsLockingPost?: Maybe<IsSuccess>;\n cmsMsRemoveTermFromPost?: Maybe<Scalars['String']['output']>;\n cmsMsUpdateBookmark?: Maybe<CmsBookmarks>;\n cmsMsUpdatePost?: Maybe<CmsPost>;\n cmsMsUpdatePostExts?: Maybe<CmsPostExt>;\n cmsMsUpdatePostTerm?: Maybe<CmsPostTerm>;\n cmsMsUpdateUser?: Maybe<CmsUser>;\n consentToAgree?: Maybe<UserConsent>;\n createHistoryAgreement?: Maybe<HistoryAgreement>;\n deletePaymentProviderExt?: Maybe<Scalars['String']['output']>;\n /** remove this when there is field under mutation */\n emptyField?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileAccessControl?: Maybe<File>;\n fileMgmtSysMsFileDeletion?: Maybe<IsSuccess>;\n fileMgmtSysMsFileDownload?: Maybe<File>;\n fileMgmtSysMsFileNotification?: Maybe<File>;\n fileMgmtSysMsFileSharing?: Maybe<File>;\n fileMgmtSysMsFileStreaming?: Maybe<File>;\n fileMgmtSysMsFileUpload?: Maybe<FileUploadResponse>;\n fileMgmtSysMsFileVersioning?: Maybe<File>;\n ggwMsCheckout?: Maybe<CheckoutResponse>;\n ggwMsCreateGameTransaction?: Maybe<GameTransactions>;\n ggwMsDeleteGameTransaction?: Maybe<GameTransactions>;\n ggwMsDelivery?: Maybe<DeliveryResponse>;\n ggwMsInquiry?: Maybe<InquiryResponse>;\n ggwMsUpdateGameTransaction?: Maybe<GameTransactions>;\n /**\n * This mutation is replaced by REST endpoint due to file upload issue on graphql\n * @deprecated No longer supported\n */\n humanResourcesMsApply?: Maybe<VacancyApplication>;\n humanResourcesMsCreateVacancy?: Maybe<Vacancy>;\n humanResourcesMsCreateVacancySettings?: Maybe<VacancySettings>;\n humanResourcesMsDeleteVacancy?: Maybe<Vacancy>;\n humanResourcesMsDeleteVacancySettings?: Maybe<VacancySettings>;\n humanResourcesMsUpdateVacancy?: Maybe<Vacancy>;\n humanResourcesMsUpdateVacancySettings?: Maybe<VacancySettings>;\n /** create new message template */\n notificationMsCreateEmailMessageTemplate?: Maybe<EmailMessageTemplate>;\n notificationMsCreateNotificationAlert?: Maybe<NotificationAlert>;\n /** update existing message template */\n notificationMsUpdateEmailMessageTemplate?: Maybe<EmailMessageTemplate>;\n notificationMsUpdateReadStatus?: Maybe<NotificationAlert>;\n productMsCreateContractTemplate?: Maybe<ContractTemplate>;\n productMsCreateContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsCreateMerchantContract?: Maybe<MerchantContract>;\n productMsCreateMerchantPaymentDenomination?: Maybe<MerchantPaymentDenomination>;\n productMsCreateMerchantPaymentProvider?: Maybe<MerchantPaymentProvider>;\n productMsCreatePaymentChannel?: Maybe<PaymentChannel>;\n productMsCreatePaymentChannelDenomination?: Maybe<PaymentChannelDenomination>;\n productMsCreatePaymentChannelGuideline?: Maybe<PaymentChannelGuideline>;\n productMsCreatePaymentProvider?: Maybe<PaymentProvider>;\n productMsCreateProductDenomination?: Maybe<ProductDenomination>;\n productMsCreateProductPage?: Maybe<ProductPage>;\n productMsCreateProductPriceList?: Maybe<ProductPriceList>;\n productMsCreateRateCardTemplate?: Maybe<RateCardTemplate>;\n productMsCreateRateCardTemplateDetails?: Maybe<RateCardTemplate>;\n productMsDeleteContractTemplate?: Maybe<ContractTemplate>;\n productMsDeleteContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsDeleteMerchantContract?: Maybe<MerchantContract>;\n productMsDeletePaymentChannel?: Maybe<PaymentChannel>;\n productMsDeletePaymentChannelGuideline?: Maybe<PaymentChannelGuideline>;\n productMsDeletePaymentProvider?: Maybe<PaymentProvider>;\n productMsDeleteProductPriceList?: Maybe<ProductPriceList>;\n productMsDeleteRateCardTemplate?: Maybe<Scalars['String']['output']>;\n productMsDeleteRateCardTemplateDetail?: Maybe<Scalars['String']['output']>;\n productMsUpdateContractTemplate?: Maybe<ContractTemplate>;\n productMsUpdateContractTemplateDetail?: Maybe<ContractTemplateDetail>;\n productMsUpdateMerchantContract?: Maybe<MerchantContract>;\n productMsUpdateMerchantPaymentDenomination?: Maybe<MerchantPaymentDenomination>;\n productMsUpdateMerchantPaymentProvider?: Maybe<MerchantPaymentProvider>;\n productMsUpdatePaymentChannel?: Maybe<PaymentChannel>;\n productMsUpdatePaymentChannelDenomination?: Maybe<PaymentChannelDenomination>;\n productMsUpdatePaymentProvider?: Maybe<PaymentProvider>;\n productMsUpdateProductDenomination?: Maybe<ProductDenomination>;\n productMsUpdateProductPage?: Maybe<ProductPage>;\n productMsUpdateProductPriceList?: Maybe<ProductPriceList>;\n productMsUpdateRateCardTemplate?: Maybe<RateCardTemplate>;\n productMsUpdateRateCardTemplateDetail?: Maybe<RateCardTemplate>;\n updateHistoryAgreement?: Maybe<HistoryAgreement>;\n voucherMsBoughtVoucher?: Maybe<Voucher>;\n voucherMsCreateVoucher?: Maybe<Voucher>;\n voucherMsCreateVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsDeleteVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsGenerateVoucher?: Maybe<Message>;\n voucherMsRedeemVoucher?: Maybe<Voucher>;\n voucherMsUpdateVoucherGroup?: Maybe<VoucherGroup>;\n voucherMsVoidVoucher?: Maybe<Scalars['String']['output']>;\n webConfigMsCreateWebConfig?: Maybe<WebConfig>;\n webConfigMsSetDefaultLangCode?: Maybe<Country>;\n webConfigMsUpdateSupportLanguage?: Maybe<Scalars['String']['output']>;\n webConfigMsUpdateWebConfig?: Maybe<WebConfig>;\n webtopupMsDeleteWebtopupTrx?: Maybe<WebtopupTransaction>;\n webtopupMsInitWebtopupTrx?: Maybe<WebtopupResponse>;\n};\n\n\nexport type MutationCmsMsCreateAuthorHistoricalSlugArgs = {\n input?: InputMaybe<CreateAuthorHistoricalSlugRq>;\n};\n\n\nexport type MutationApprovalMsApproveOrDeclineRequestArgs = {\n approvalGroupGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isApprove?: InputMaybe<Scalars['Boolean']['input']>;\n reason?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationApprovalMsCreateApprovalRequestArgs = {\n input?: InputMaybe<Array<InputMaybe<CreateApprovalRq>>>;\n};\n\n\nexport type MutationAuditMsCreateAuditTrailArgs = {\n input?: InputMaybe<CreateAuditTrailRq>;\n};\n\n\nexport type MutationAuditMsCreateSuspiciousTagArgs = {\n input?: InputMaybe<CreateSuspiciousTagRq>;\n};\n\n\nexport type MutationAuditMsDeleteSuspiciousTagArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuditMsUpdateSuspiciousTagArgs = {\n input?: InputMaybe<UpdateSuspiciousTagRq>;\n};\n\n\nexport type MutationAuthMsAttachPermToRoleArgs = {\n input: AttachPermRq;\n};\n\n\nexport type MutationAuthMsAttachRolesToUsersArgs = {\n expiredDuration: Scalars['Int']['input'];\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n subjectGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsChangePasswordArgs = {\n input: ChangePassRq;\n};\n\n\nexport type MutationAuthMsCreateApiCredentialArgs = {\n input: CreateApiCredentialRq;\n};\n\n\nexport type MutationAuthMsCreateAuthSettingsArgs = {\n input?: InputMaybe<CreateAuthSettingRq>;\n};\n\n\nexport type MutationAuthMsCreateCompanyArgs = {\n input?: InputMaybe<CreateCompanyRq>;\n};\n\n\nexport type MutationAuthMsCreateMerchantArgs = {\n input?: InputMaybe<CreateMerchantRq>;\n};\n\n\nexport type MutationAuthMsCreatePermissionArgs = {\n input: CreatePermRq;\n};\n\n\nexport type MutationAuthMsCreateRoleArgs = {\n input: CreateRoleRq;\n};\n\n\nexport type MutationAuthMsCreateUserProfileArgs = {\n input?: InputMaybe<CreateUserRq>;\n};\n\n\nexport type MutationAuthMsDeleteApiCredentialArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDeleteAuthSettingsArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeleteCompanyArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeleteMerchantArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationAuthMsDeletePermissionArgs = {\n permGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDeleteRoleArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsDetachPermToRoleArgs = {\n input: DetachPermRq;\n};\n\n\nexport type MutationAuthMsExtendsRolesToUsersExpiredDateArgs = {\n extendDuration: Scalars['Int']['input'];\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n subjectGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsForgotPasswordArgs = {\n input: ForgotPassRq;\n};\n\n\nexport type MutationAuthMsForgotPasswordOtpArgs = {\n input: ForgotPassOtpRq;\n};\n\n\nexport type MutationAuthMsLinkCompanyToMerchantsArgs = {\n companyGuid: Scalars['String']['input'];\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLinkCompanyToUsersArgs = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLinkMerchantsToUsersArgs = {\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsLoginArgs = {\n input: LoginRq;\n};\n\n\nexport type MutationAuthMsRefreshAccessTokenArgs = {\n refreshToken: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsRegisterArgs = {\n input: RegistrationRq;\n};\n\n\nexport type MutationAuthMsResendEmailVerifArgs = {\n email: Scalars['String']['input'];\n sourcePlatform: SourcePlatform;\n};\n\n\nexport type MutationAuthMsResendMobileVerifArgs = {\n mobileNum: Scalars['String']['input'];\n sourcePlatform: SourcePlatform;\n};\n\n\nexport type MutationAuthMsRevokeRolesInUsersArgs = {\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsSocialLoginArgs = {\n input: SocialLoginRq;\n};\n\n\nexport type MutationAuthMsTemporaryUserDeactivationArgs = {\n input?: InputMaybe<TemporaryUserDeactivationRq>;\n};\n\n\nexport type MutationAuthMsUnLinkCompanyFromUsersArgs = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUnlinkCompanyFromMerchantsArgs = {\n companyGuid: Scalars['String']['input'];\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUnlinkMerchantsFromUsersArgs = {\n merchantGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n userGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationAuthMsUpdateApiCredentialArgs = {\n input: UpdateApiCredentialRq;\n};\n\n\nexport type MutationAuthMsUpdateAuthSettingsArgs = {\n input?: InputMaybe<UpdateAuthSettingRq>;\n};\n\n\nexport type MutationAuthMsUpdateCompanyArgs = {\n input?: InputMaybe<UpdateCompanyRq>;\n};\n\n\nexport type MutationAuthMsUpdateMerchantArgs = {\n input?: InputMaybe<UpdateMerchantRq>;\n};\n\n\nexport type MutationAuthMsUpdatePermissionArgs = {\n guid: Scalars['String']['input'];\n input: UpdatePermRq;\n};\n\n\nexport type MutationAuthMsUpdatePrincipalForAdminArgs = {\n input?: InputMaybe<UpdatePrincipalRq>;\n};\n\n\nexport type MutationAuthMsUpdateRoleArgs = {\n guid: Scalars['String']['input'];\n input: UpdateRoleRq;\n};\n\n\nexport type MutationAuthMsUpdateUserForAdminArgs = {\n input?: InputMaybe<UpdateProfileRq>;\n};\n\n\nexport type MutationAuthMsUpdateUserPrincipalByOwnerArgs = {\n input?: InputMaybe<UpdatePrincipalRq>;\n};\n\n\nexport type MutationAuthMsUpdateUserPrincipalOtpArgs = {\n newPrincipal?: InputMaybe<Scalars['String']['input']>;\n sendTo: Scalars['String']['input'];\n};\n\n\nexport type MutationAuthMsUpdateUserProfileArgs = {\n input?: InputMaybe<UpdateProfileRq>;\n};\n\n\nexport type MutationAuthMsUserConfirmArgs = {\n input: UserConfirmRq;\n};\n\n\nexport type MutationCmsMsAssignTermToPostArgs = {\n input: CreateCmsPostTermRelationshipRq;\n};\n\n\nexport type MutationCmsMsCreateBookmarkArgs = {\n input?: InputMaybe<CreateBookmarkRq>;\n};\n\n\nexport type MutationCmsMsCreateCommentArgs = {\n input: CreateCmsPostCommentRq;\n};\n\n\nexport type MutationCmsMsCreatePostArgs = {\n input: CreateCmsPostRq;\n};\n\n\nexport type MutationCmsMsCreatePostExtsArgs = {\n input: CreateCmsPostExtRq;\n};\n\n\nexport type MutationCmsMsCreatePostHistoricalSlugArgs = {\n input: CreatePostHistoricalSlugRq;\n};\n\n\nexport type MutationCmsMsCreatePostTermArgs = {\n input: CreateCmsPostTermRq;\n};\n\n\nexport type MutationCmsMsCreatePostViewsArgs = {\n postGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsCreateReactionArgs = {\n input: CreateCmsReactionRq;\n};\n\n\nexport type MutationCmsMsCreateUserArgs = {\n input: CreateCmsUserRq;\n};\n\n\nexport type MutationCmsMsDeleteBookmarkArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationCmsMsDeleteCommentArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostExtsArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsDeletePostTermArgs = {\n guids: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\n\nexport type MutationCmsMsDeleteUserArgs = {\n guid: Scalars['String']['input'];\n subject_guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsLockingPostArgs = {\n postGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationCmsMsRemoveTermFromPostArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationCmsMsUpdateBookmarkArgs = {\n input?: InputMaybe<UpdateBookmarkRq>;\n};\n\n\nexport type MutationCmsMsUpdatePostArgs = {\n input: UpdateCmsPostRq;\n};\n\n\nexport type MutationCmsMsUpdatePostExtsArgs = {\n input: UpdateCmsPostExtRq;\n};\n\n\nexport type MutationCmsMsUpdatePostTermArgs = {\n input: UpdateCmsPostTermRq;\n};\n\n\nexport type MutationCmsMsUpdateUserArgs = {\n guid: Scalars['String']['input'];\n input: UpdateCmsUserRq;\n};\n\n\nexport type MutationConsentToAgreeArgs = {\n input?: InputMaybe<CreateConsentToAgreeRq>;\n};\n\n\nexport type MutationCreateHistoryAgreementArgs = {\n input?: InputMaybe<CreateHistoryAgreementRq>;\n};\n\n\nexport type MutationDeletePaymentProviderExtArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileAccessControlArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileDeletionArgs = {\n fileGuid?: InputMaybe<Scalars['String']['input']>;\n hardDelete?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileDownloadArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileNotificationArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileSharingArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileStreamingArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationFileMgmtSysMsFileUploadArgs = {\n attachment?: InputMaybe<Scalars['Upload']['input']>;\n isPublic?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n\nexport type MutationFileMgmtSysMsFileVersioningArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type MutationGgwMsCheckoutArgs = {\n data?: InputMaybe<CheckoutRequest>;\n};\n\n\nexport type MutationGgwMsCreateGameTransactionArgs = {\n input?: InputMaybe<GameTransactionCreateRequest>;\n};\n\n\nexport type MutationGgwMsDeleteGameTransactionArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationGgwMsDeliveryArgs = {\n data?: InputMaybe<DeliveryRequest>;\n};\n\n\nexport type MutationGgwMsInquiryArgs = {\n data?: InputMaybe<InquiryRequest>;\n};\n\n\nexport type MutationGgwMsUpdateGameTransactionArgs = {\n input?: InputMaybe<GameTransactionUpdateRequest>;\n};\n\n\nexport type MutationHumanResourcesMsApplyArgs = {\n input?: InputMaybe<ApplyVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsCreateVacancyArgs = {\n input?: InputMaybe<CreateVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsCreateVacancySettingsArgs = {\n input?: InputMaybe<CreateVacancySettingsRq>;\n};\n\n\nexport type MutationHumanResourcesMsDeleteVacancyArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationHumanResourcesMsDeleteVacancySettingsArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationHumanResourcesMsUpdateVacancyArgs = {\n input?: InputMaybe<UpdateVacancyRq>;\n};\n\n\nexport type MutationHumanResourcesMsUpdateVacancySettingsArgs = {\n input?: InputMaybe<UpdateVacancySettingsRq>;\n};\n\n\nexport type MutationNotificationMsCreateEmailMessageTemplateArgs = {\n input?: InputMaybe<CreateMessageTemplateRq>;\n};\n\n\nexport type MutationNotificationMsCreateNotificationAlertArgs = {\n input?: InputMaybe<CreateNotificationAlertRq>;\n};\n\n\nexport type MutationNotificationMsUpdateEmailMessageTemplateArgs = {\n input?: InputMaybe<UpdateEmailMessageTemplateRq>;\n};\n\n\nexport type MutationNotificationMsUpdateReadStatusArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsCreateContractTemplateArgs = {\n input?: InputMaybe<CreateContractTemplateRq>;\n};\n\n\nexport type MutationProductMsCreateContractTemplateDetailArgs = {\n input?: InputMaybe<CreateTemplateDetailRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantContractArgs = {\n input?: InputMaybe<CreateMerchantContractRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantPaymentDenominationArgs = {\n input?: InputMaybe<CreateMerchantPaymentDenomRq>;\n};\n\n\nexport type MutationProductMsCreateMerchantPaymentProviderArgs = {\n input?: InputMaybe<CreateMerchantPaymentProviderRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelArgs = {\n input?: InputMaybe<CreatePaymentChannelRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelDenominationArgs = {\n input?: InputMaybe<CreatePaymentChannelDenomRq>;\n};\n\n\nexport type MutationProductMsCreatePaymentChannelGuidelineArgs = {\n input: CreatePaymentChannelGuidelineRq;\n};\n\n\nexport type MutationProductMsCreatePaymentProviderArgs = {\n input?: InputMaybe<CreatePaymentProviderRq>;\n};\n\n\nexport type MutationProductMsCreateProductDenominationArgs = {\n input?: InputMaybe<CreateProductDenominationRq>;\n};\n\n\nexport type MutationProductMsCreateProductPageArgs = {\n input?: InputMaybe<CreateProductPageRq>;\n};\n\n\nexport type MutationProductMsCreateProductPriceListArgs = {\n input: CreateProductPriceListRq;\n};\n\n\nexport type MutationProductMsCreateRateCardTemplateArgs = {\n input?: InputMaybe<CreateRateCardTemplateRq>;\n};\n\n\nexport type MutationProductMsCreateRateCardTemplateDetailsArgs = {\n input?: InputMaybe<Array<InputMaybe<CreateRateCardTemplateDetailsRq>>>;\n rateTemplateGuid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsDeleteContractTemplateArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteContractTemplateDetailArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteMerchantContractArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentChannelArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentChannelGuidelineArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeletePaymentProviderArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteProductPriceListArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationProductMsDeleteRateCardTemplateArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsDeleteRateCardTemplateDetailArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationProductMsUpdateContractTemplateArgs = {\n input?: InputMaybe<UpdateContractTemplateRq>;\n};\n\n\nexport type MutationProductMsUpdateContractTemplateDetailArgs = {\n input?: InputMaybe<UpdateTemplateDetailRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantContractArgs = {\n input?: InputMaybe<UpdateMerchantContractRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantPaymentDenominationArgs = {\n input?: InputMaybe<UpdateMerchantPaymentDenomRq>;\n};\n\n\nexport type MutationProductMsUpdateMerchantPaymentProviderArgs = {\n input?: InputMaybe<UpdateMerchantPaymentProviderRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentChannelArgs = {\n input?: InputMaybe<UpdatePaymentChannelRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentChannelDenominationArgs = {\n input?: InputMaybe<UpdatePaymentChannelDenomRq>;\n};\n\n\nexport type MutationProductMsUpdatePaymentProviderArgs = {\n input?: InputMaybe<UpdatePaymentProviderRq>;\n};\n\n\nexport type MutationProductMsUpdateProductDenominationArgs = {\n input?: InputMaybe<UpdateProductDenominationRq>;\n};\n\n\nexport type MutationProductMsUpdateProductPageArgs = {\n input?: InputMaybe<UpdateProductPageRq>;\n};\n\n\nexport type MutationProductMsUpdateProductPriceListArgs = {\n input: UpdateProductPriceListRq;\n};\n\n\nexport type MutationProductMsUpdateRateCardTemplateArgs = {\n input?: InputMaybe<UpdateRateCardTemplateRq>;\n};\n\n\nexport type MutationProductMsUpdateRateCardTemplateDetailArgs = {\n input?: InputMaybe<UpdateRateCardTemplateDetailRq>;\n};\n\n\nexport type MutationUpdateHistoryAgreementArgs = {\n input?: InputMaybe<UpdateHistoryAgreementRq>;\n};\n\n\nexport type MutationVoucherMsBoughtVoucherArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsCreateVoucherArgs = {\n input?: InputMaybe<CreateVoucherRq>;\n};\n\n\nexport type MutationVoucherMsCreateVoucherGroupArgs = {\n input?: InputMaybe<CreateVoucherGroupRq>;\n};\n\n\nexport type MutationVoucherMsDeleteVoucherGroupArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsGenerateVoucherArgs = {\n input?: InputMaybe<GenerateVoucherRq>;\n};\n\n\nexport type MutationVoucherMsRedeemVoucherArgs = {\n guid?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationVoucherMsUpdateVoucherGroupArgs = {\n input?: InputMaybe<UpdateVoucherGroupRq>;\n};\n\n\nexport type MutationVoucherMsVoidVoucherArgs = {\n guid?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\n\nexport type MutationWebConfigMsCreateWebConfigArgs = {\n input?: InputMaybe<CreateWebConfigRq>;\n};\n\n\nexport type MutationWebConfigMsSetDefaultLangCodeArgs = {\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n langCode?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationWebConfigMsUpdateSupportLanguageArgs = {\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n langCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type MutationWebConfigMsUpdateWebConfigArgs = {\n input?: InputMaybe<UpdateWebConfigRq>;\n};\n\n\nexport type MutationWebtopupMsDeleteWebtopupTrxArgs = {\n guid: Scalars['String']['input'];\n};\n\n\nexport type MutationWebtopupMsInitWebtopupTrxArgs = {\n input: WebtopupRequest;\n};\n\nexport enum NotifAlertStatusEnum {\n Danger = 'DANGER',\n Info = 'INFO',\n Success = 'SUCCESS',\n Warning = 'WARNING'\n}\n\nexport type NotificationAlert = {\n __typename?: 'NotificationAlert';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid: Scalars['String']['output'];\n isRead?: Maybe<Scalars['Boolean']['output']>;\n receiverCompanyGuid?: Maybe<Scalars['String']['output']>;\n receiverGuid?: Maybe<Scalars['String']['output']>;\n receiverMerchantGuid?: Maybe<Scalars['String']['output']>;\n receiverPermissionCode?: Maybe<Scalars['String']['output']>;\n status?: Maybe<NotifAlertStatusEnum>;\n targetGuid: Scalars['String']['output'];\n targetType: Scalars['String']['output'];\n title: Scalars['String']['output'];\n type?: Maybe<AlertTypeEnum>;\n};\n\nexport type NotificationAlertCriteria = {\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n isRead?: Scalars['Boolean']['input'];\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n receiverCompanyGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverMerchantGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n receiverPermissionCodes?: InputMaybe<Array<Scalars['String']['input']>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Array<NotifAlertStatusEnum>>;\n targetGuids?: InputMaybe<Array<Scalars['String']['input']>>;\n targetTypes?: InputMaybe<Array<Scalars['String']['input']>>;\n title?: InputMaybe<Scalars['String']['input']>;\n types?: InputMaybe<Array<AlertTypeEnum>>;\n};\n\nexport type Option = {\n __typename?: 'Option';\n display?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PageInfo = {\n __typename?: 'PageInfo';\n /** Field endCursor */\n endCursor?: Maybe<Scalars['String']['output']>;\n /** Field hasNextPage */\n hasNextPage: Scalars['Boolean']['output'];\n /** Field hasPreviousPage */\n hasPreviousPage: Scalars['Boolean']['output'];\n /** Field startCursor */\n startCursor?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PageableResponse = {\n __typename?: 'PageableResponse';\n data?: Maybe<Array<Maybe<Approval>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PageableRs = {\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaginationPermissionResponse = {\n __typename?: 'PaginationPermissionResponse';\n data: Array<Maybe<AppPermDfn>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationRoleResponse = {\n __typename?: 'PaginationRoleResponse';\n data: Array<Maybe<AppLoginRole>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationVacancyApplicationResponse = {\n __typename?: 'PaginationVacancyApplicationResponse';\n data: Array<Maybe<VacancyApplication>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaginationVacancyResponse = {\n __typename?: 'PaginationVacancyResponse';\n data: Array<Maybe<Vacancy>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type PaymentChannel = {\n __typename?: 'PaymentChannel';\n category?: Maybe<Scalars['String']['output']>;\n charge?: Maybe<Scalars['Float']['output']>;\n chargeType?: Maybe<Scalars['String']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n companyCredentialGuid?: Maybe<Scalars['String']['output']>;\n contractorCompanyGuid?: Maybe<Scalars['String']['output']>;\n countryByCode?: Maybe<Country>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n currencyByCode?: Maybe<Currency>;\n field?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isWhitelabel?: Maybe<Scalars['Boolean']['output']>;\n maxAmount?: Maybe<Scalars['Long']['output']>;\n metaFieldJson?: Maybe<Scalars['JSON']['output']>;\n minAmount?: Maybe<Scalars['Long']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n parameter?: Maybe<Scalars['String']['output']>;\n providerCode?: Maybe<Scalars['String']['output']>;\n providerCompanyGuid?: Maybe<Scalars['String']['output']>;\n providerPriority?: Maybe<Scalars['String']['output']>;\n rateTemplate?: Maybe<Array<Maybe<RateCardTemplate>>>;\n remark?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n route?: Maybe<Scalars['String']['output']>;\n serviceCompanyGuid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n vatPercentage?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type PaymentChannelDenomQueryCriteria = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelDenomination = {\n __typename?: 'PaymentChannelDenomination';\n amount?: Maybe<Scalars['Double']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n credit?: Maybe<Scalars['Long']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentChannelGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type PaymentChannelGuideline = {\n __typename?: 'PaymentChannelGuideline';\n guid: Scalars['String']['output'];\n paymentChannelGuid: Scalars['String']['output'];\n post?: Maybe<CmsPost>;\n};\n\nexport type PaymentChannelGuidelineQueryCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n postGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelMetaField = {\n apiType: Array<PaymentChannelMetaFieldApiEnum>;\n desc?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum PaymentChannelMetaFieldApiEnum {\n Callback = 'CALLBACK',\n CreateOrder = 'CREATE_ORDER',\n Inquiry = 'INQUIRY',\n Otp = 'OTP'\n}\n\nexport type PaymentChannelPublic = {\n __typename?: 'PaymentChannelPublic';\n code?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n providerCode?: Maybe<Scalars['String']['output']>;\n providerPriority?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type PaymentChannelPublicRs = {\n __typename?: 'PaymentChannelPublicRs';\n data?: Maybe<Array<Maybe<PaymentChannelPublic>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaymentChannelQueryCriteria = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n contractorCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentChannelRs = {\n __typename?: 'PaymentChannelRs';\n data?: Maybe<Array<Maybe<PaymentChannel>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PaymentProvider = {\n __typename?: 'PaymentProvider';\n category?: Maybe<Scalars['String']['output']>;\n ccyCode?: Maybe<Scalars['String']['output']>;\n code?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n exts?: Maybe<Array<Maybe<PaymentProviderExt>>>;\n guid?: Maybe<Scalars['String']['output']>;\n maxAmount?: Maybe<Scalars['Long']['output']>;\n minAmount?: Maybe<Scalars['Long']['output']>;\n providerExternalName?: Maybe<Scalars['String']['output']>;\n providerInternalName?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PaymentProviderExt = {\n __typename?: 'PaymentProviderExt';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n extType?: Maybe<Scalars['String']['output']>;\n extValue?: Maybe<Scalars['String']['output']>;\n file?: Maybe<FetchFileResponse>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentProviderGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PaymentProviderQueryCriteria = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PaymentProviderRs = {\n __typename?: 'PaymentProviderRs';\n data?: Maybe<Array<Maybe<PaymentProvider>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type PermissionCheckRq = {\n /** ... user guid */\n subjectGuid: Scalars['String']['input'];\n /** ... target permission that want to check */\n targetPerms: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\nexport type PermissionFilter = {\n /** ...get permission by perm guid */\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n /** ... filter permission by perCode equal */\n permCode?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by description ilike */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by permission module in */\n permModule?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... filter permission by name ilike */\n permName?: InputMaybe<Scalars['String']['input']>;\n /** ... filter for perm scope equal */\n permScope?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by permType in */\n permType?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... filter permission by related micro fe equal */\n relatedMf?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by role(s) */\n roleGuids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... filter permission by status equal */\n status?: Status;\n /** ...get permission by user guid */\n subjectGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type PhoneCode = {\n __typename?: 'PhoneCode';\n code?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type Post = {\n __typename?: 'Post';\n postGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PostHistoricalSlug = {\n __typename?: 'PostHistoricalSlug';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n postGuid?: Maybe<Scalars['String']['output']>;\n slug?: Maybe<Scalars['String']['output']>;\n};\n\nexport type PostHistoricalSlugCriteria = {\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n postGuid?: InputMaybe<Scalars['String']['input']>;\n slug?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type PostHistoricalSlugResult = {\n __typename?: 'PostHistoricalSlugResult';\n data: Array<Maybe<PostHistoricalSlug>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum PostStatus {\n Draft = 'DRAFT',\n OnReview = 'ON_REVIEW',\n Published = 'PUBLISHED'\n}\n\nexport enum PriceListType {\n Directtopup = 'DIRECTTOPUP',\n Unibox = 'UNIBOX',\n Webtopup = 'WEBTOPUP'\n}\n\nexport enum PrincipalStatus {\n Deleted = 'DELETED',\n Inactive = 'INACTIVE',\n UserConfirmed = 'USER_CONFIRMED',\n UserUnconfirmed = 'USER_UNCONFIRMED'\n}\n\nexport type Product = {\n __typename?: 'Product';\n companyName?: Maybe<Scalars['String']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n iconPath?: Maybe<Scalars['String']['output']>;\n links?: Maybe<Link>;\n productCode?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n topUpGuideUrl?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductDenomination = {\n __typename?: 'ProductDenomination';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n imagePath?: Maybe<Scalars['String']['output']>;\n isAdjustableSellingPrice?: Maybe<Scalars['Boolean']['output']>;\n isDirectVoucher?: Maybe<Scalars['Boolean']['output']>;\n isVoucherApi?: Maybe<Scalars['Boolean']['output']>;\n itemCode?: Maybe<Scalars['String']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n partnerProductId?: Maybe<Scalars['String']['output']>;\n productPageGuid?: Maybe<Scalars['String']['output']>;\n remark?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n stock?: Maybe<VoucherGroup>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductDenominationQueryCriteria = {\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isAdjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductDetailsResponse = {\n __typename?: 'ProductDetailsResponse';\n channel?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n denomination?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n gameRequiredField?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;\n product?: Maybe<Scalars['JSON']['output']>;\n};\n\nexport type ProductPage = {\n __typename?: 'ProductPage';\n advanceSearch?: Maybe<Scalars['String']['output']>;\n category?: Maybe<ProductPageCategory>;\n communityLink?: Maybe<Scalars['String']['output']>;\n company?: Maybe<Company>;\n companyGuid?: Maybe<Scalars['String']['output']>;\n content?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n denominations?: Maybe<Array<Maybe<ProductDenomination>>>;\n downloadLink?: Maybe<Scalars['String']['output']>;\n gameCenterImage?: Maybe<Scalars['String']['output']>;\n gameChildCode?: Maybe<Scalars['String']['output']>;\n gameParentCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n huaweiDownloadLink?: Maybe<Scalars['String']['output']>;\n iconPath?: Maybe<Scalars['String']['output']>;\n influencerLink?: Maybe<Scalars['String']['output']>;\n iosDownloadLink?: Maybe<Scalars['String']['output']>;\n isEvent?: Maybe<Scalars['Boolean']['output']>;\n isNew?: Maybe<Scalars['Boolean']['output']>;\n isPromo?: Maybe<Scalars['Boolean']['output']>;\n isShowOnLandingPage?: Maybe<Scalars['Boolean']['output']>;\n isTesting?: Maybe<Scalars['Boolean']['output']>;\n merchant?: Maybe<Merchant>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n metaDescription?: Maybe<Scalars['String']['output']>;\n metaFieldJson?: Maybe<Scalars['JSON']['output']>;\n metaTitle?: Maybe<Scalars['String']['output']>;\n officialSiteLink?: Maybe<Scalars['String']['output']>;\n providerCompanyGuid?: Maybe<Scalars['String']['output']>;\n requiredFieldJson?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n route?: Maybe<Scalars['String']['output']>;\n schemaMarkUp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n tags?: Maybe<Scalars['String']['output']>;\n title?: Maybe<Scalars['String']['output']>;\n topUpGuidLink?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum ProductPageCategory {\n Voucher = 'VOUCHER',\n Webtopup = 'WEBTOPUP'\n}\n\n/** ProductPage Connection */\nexport type ProductPageConnection = {\n __typename?: 'ProductPageConnection';\n /** Field edges */\n edges?: Maybe<Array<Maybe<ProductPageEdge>>>;\n /** Field pageInfo */\n pageInfo: PageInfo;\n};\n\n/** ProductPage Edge */\nexport type ProductPageEdge = {\n __typename?: 'ProductPageEdge';\n /** Field cursor */\n cursor?: Maybe<Scalars['String']['output']>;\n /** Field node */\n node?: Maybe<ProductPage>;\n};\n\nexport type ProductPageMetaField = {\n apiType: Array<ProductPageMetaFieldApiEnum>;\n desc?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum ProductPageMetaFieldApiEnum {\n Checkout = 'CHECKOUT',\n Delivery = 'DELIVERY',\n Inquiry = 'INQUIRY',\n Server = 'SERVER'\n}\n\nexport type ProductPageQueryCriteria = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n gameParentCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type ProductPageQueryCriteriaPublic = {\n /** fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n /** fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n gameParentCode?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n pageSize?: Scalars['Int']['input'];\n sortBy: ProductPageSortByEnum;\n sortDirection?: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport enum ProductPageSortByEnum {\n CreatedAt = 'createdAt',\n UpdatedAt = 'updatedAt'\n}\n\nexport type ProductPriceList = {\n __typename?: 'ProductPriceList';\n ccyCode?: Maybe<Scalars['String']['output']>;\n contractTemplateGuid?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdByUserGuid?: Maybe<Scalars['String']['output']>;\n endDate?: Maybe<Scalars['DateTime']['output']>;\n eventCode?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n price?: Maybe<Scalars['Int']['output']>;\n priority?: Maybe<Scalars['Int']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productPage?: Maybe<ProductPage>;\n productPageGuid?: Maybe<Scalars['String']['output']>;\n rateTemplateGuid?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n startDate?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Status>;\n type?: Maybe<PriceListType>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedByUserGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type ProductPriceListCriteria = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: Status;\n type?: InputMaybe<PriceListType>;\n};\n\nexport type ProductPriceListRs = PageableRs & {\n __typename?: 'ProductPriceListRs';\n data?: Maybe<Array<ProductPriceList>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ProductSelectionEnum {\n All = 'ALL',\n Selective = 'SELECTIVE'\n}\n\nexport enum ProviderPlatform {\n Facebook = 'FACEBOOK',\n Google = 'GOOGLE'\n}\n\nexport type Query = {\n __typename?: 'Query';\n approvalMsApprovals?: Maybe<PageableResponse>;\n /** get all audit trail with criteria */\n auditMsAuditTrail?: Maybe<Array<Maybe<AuditTrail>>>;\n /** get suspicious tags */\n auditMsSuspiciousTag?: Maybe<SuspiciousTagPageableRs>;\n /** acessToken query used by gateway to get user access permission */\n authMsAccessToken?: Maybe<Scalars['String']['output']>;\n /** Generate token from api credential */\n authMsApiCredentialToken?: Maybe<Scalars['String']['output']>;\n authMsApiCredentials?: Maybe<ApiCredentialFilterRs>;\n authMsApiCredentialsPrivate?: Maybe<Array<Maybe<ApiCredentialPrivate>>>;\n /** get all auth ms settings with filter */\n authMsAuthSettings?: Maybe<AuthSettingsWithFilterRs>;\n /** get all company with filter */\n authMsCompany?: Maybe<CompanyWithFilterRs>;\n /** This query allow to get firebase id token from uid (testing) */\n authMsGetFirebaseIdToken?: Maybe<FirebaseIdTokenRes>;\n /** get all member with criteria for CP_COMMERCE sourcePlatform */\n authMsMember?: Maybe<AppLoginSubjectConnection>;\n /** get all merchant by guid */\n authMsMerchant?: Maybe<MerchantFilterRs>;\n /** get user profile by authorization header */\n authMsMyProfile?: Maybe<AppLoginSubject>;\n /** get list of permission available */\n authMsPermission?: Maybe<PaginationPermissionResponse>;\n /** get list of available role */\n authMsRole?: Maybe<PaginationRoleResponse>;\n authMsSignatureChecker?: Maybe<SignatureCheckerRs>;\n authMsSignatureCreate?: Maybe<SignatureCreateRs>;\n /** This query allow to validate token */\n authMsTokenValidaton?: Maybe<Scalars['String']['output']>;\n /** get all user with criteria for ADMIN sourcePlatform */\n authMsUser?: Maybe<Array<Maybe<AppLoginSubject>>>;\n /**\n * Get Author Historical Slug by criteria\n * For urlKey use slug with pageSize 1\n */\n cmsMsAuthorHistoricalSlug?: Maybe<AuthorHistoricalSlugResult>;\n cmsMsBookmarks?: Maybe<Array<Maybe<CmsBookmarks>>>;\n cmsMsCommentReactions?: Maybe<CmsReactionResult>;\n /** This query is used to get post, comment and its reaction status based on its historical slug */\n cmsMsFindPostCommentReactionByHistSlug?: Maybe<CmsPost>;\n /** This query is used to get locked post by guid or post guid */\n cmsMsLockedPost?: Maybe<Array<Maybe<CmsLockPost>>>;\n cmsMsPostComments?: Maybe<CmsPostCommentResult>;\n cmsMsPostExts?: Maybe<Array<Maybe<CmsPostExt>>>;\n /**\n * This query is used to get post historical slug by criteria\n * can use 'slug' for search urlKey\n */\n cmsMsPostHistoricalSlug?: Maybe<PostHistoricalSlugResult>;\n cmsMsPostTermRelationship?: Maybe<Array<Maybe<CmsPostTermRelationship>>>;\n cmsMsPostTerms?: Maybe<CmsPostTermResult>;\n cmsMsPostViews?: Maybe<CmsPostViewsResult>;\n cmsMsPosts?: Maybe<CmsPostConnection>;\n cmsMsPostsPublic?: Maybe<CmsPostConnection>;\n cmsMsUsers?: Maybe<Array<Maybe<CmsUser>>>;\n /** remove this when there is field under query */\n emptyField?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFetchFile?: Maybe<Array<Maybe<FetchFileResponse>>>;\n fileMgmtSysMsFileMetadata?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileQuota?: Maybe<Scalars['String']['output']>;\n fileMgmtSysMsFileSearch?: Maybe<Scalars['String']['output']>;\n getHistoryAgreement?: Maybe<Array<Maybe<HistoryAgreement>>>;\n getTableAgreement?: Maybe<Array<Maybe<Agreement>>>;\n ggwMsGameTransactions?: Maybe<Array<Maybe<GameTransactions>>>;\n ggwMsRequiredField?: Maybe<RequiredFieldResponse>;\n humanResourcesMsVacancy?: Maybe<PaginationVacancyResponse>;\n humanResourcesMsVacancyApplication?: Maybe<PaginationVacancyApplicationResponse>;\n humanResourcesMsVacancyPublic?: Maybe<PaginationVacancyResponse>;\n humanResourcesMsVacancySettings?: Maybe<Array<Maybe<VacancySettings>>>;\n /** get all message template with criteria */\n notificationMsEmailMessageTemplate?: Maybe<EmailMessageTemplatePageableResult>;\n notificationMsNotificationAlerts?: Maybe<Array<Maybe<NotificationAlert>>>;\n productMsContractTemplateDetails?: Maybe<ContractTemplateDetailRs>;\n productMsContractTemplates?: Maybe<ContractTemplateRs>;\n productMsMerchantContracts?: Maybe<MerchantContractRs>;\n productMsPaymentChannel?: Maybe<PaymentChannelRs>;\n productMsPaymentChannelDenomination?: Maybe<Array<Maybe<PaymentChannelDenomination>>>;\n productMsPaymentChannelGuideline?: Maybe<Array<Maybe<PaymentChannelGuideline>>>;\n productMsPaymentChannelPublic?: Maybe<PaymentChannelPublicRs>;\n productMsPaymentProvider?: Maybe<PaymentProviderRs>;\n productMsProductDenomination?: Maybe<Array<Maybe<ProductDenomination>>>;\n productMsProductPage?: Maybe<Array<Maybe<ProductPage>>>;\n productMsProductPagePublic?: Maybe<ProductPageConnection>;\n productMsProductPriceList?: Maybe<ProductPriceListRs>;\n productMsRateCardTemplates?: Maybe<RateTemplateRs>;\n voucherMsVoucherGroup?: Maybe<VoucherGroupRs>;\n voucherMsVouchers?: Maybe<VouchersRs>;\n webConfigMsCountry?: Maybe<CountryResult>;\n webConfigMsCurrency?: Maybe<CurrencyResult>;\n webConfigMsWebConfig?: Maybe<WebConfigResult>;\n webtopupMsGetProductPage?: Maybe<ProductDetailsResponse>;\n webtopupMsTransactionHistory?: Maybe<Array<Maybe<WebtopupTransactionHistory>>>;\n webtopupMsTransactions?: Maybe<WebtopupTransactionResult>;\n};\n\n\nexport type QueryApprovalMsApprovalsArgs = {\n input?: InputMaybe<ApprovalCriteria>;\n};\n\n\nexport type QueryAuditMsAuditTrailArgs = {\n input?: InputMaybe<AuditTrailCriteria>;\n};\n\n\nexport type QueryAuditMsSuspiciousTagArgs = {\n input?: InputMaybe<SuspiciousFilter>;\n};\n\n\nexport type QueryAuthMsAccessTokenArgs = {\n token: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsApiCredentialTokenArgs = {\n accessKey: Scalars['String']['input'];\n secretKey: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsApiCredentialsArgs = {\n filter: ApiCredentialFilterRq;\n};\n\n\nexport type QueryAuthMsApiCredentialsPrivateArgs = {\n input: ApiCredentialSpecialFilter;\n};\n\n\nexport type QueryAuthMsAuthSettingsArgs = {\n input?: InputMaybe<AuthSettingsFilter>;\n};\n\n\nexport type QueryAuthMsCompanyArgs = {\n input?: InputMaybe<CompanyFilter>;\n};\n\n\nexport type QueryAuthMsGetFirebaseIdTokenArgs = {\n uid: Scalars['String']['input'];\n};\n\n\nexport type QueryAuthMsMemberArgs = {\n input?: InputMaybe<UserMemberQueryCriteria>;\n};\n\n\nexport type QueryAuthMsMerchantArgs = {\n input?: InputMaybe<MerchantFilter>;\n};\n\n\nexport type QueryAuthMsPermissionArgs = {\n filter: PermissionFilter;\n};\n\n\nexport type QueryAuthMsRoleArgs = {\n filter: RoleFilter;\n};\n\n\nexport type QueryAuthMsSignatureCheckerArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsSignatureCreateArgs = {\n input?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsTokenValidatonArgs = {\n token?: InputMaybe<Scalars['String']['input']>;\n};\n\n\nexport type QueryAuthMsUserArgs = {\n input?: InputMaybe<UserAdminQueryCriteria>;\n};\n\n\nexport type QueryCmsMsAuthorHistoricalSlugArgs = {\n input?: InputMaybe<AuthorHistoricalSlugCriteria>;\n};\n\n\nexport type QueryCmsMsBookmarksArgs = {\n input?: InputMaybe<BookmarksQueryCriteria>;\n};\n\n\nexport type QueryCmsMsCommentReactionsArgs = {\n filter: CmsReactionCriteria;\n};\n\n\nexport type QueryCmsMsFindPostCommentReactionByHistSlugArgs = {\n urlKey: Scalars['String']['input'];\n};\n\n\nexport type QueryCmsMsLockedPostArgs = {\n input?: InputMaybe<CmsLockPostQueryCriteria>;\n};\n\n\nexport type QueryCmsMsPostCommentsArgs = {\n input?: InputMaybe<CmsPostCommentFilter>;\n};\n\n\nexport type QueryCmsMsPostExtsArgs = {\n input: CmsPostExtQueryCriteria;\n};\n\n\nexport type QueryCmsMsPostHistoricalSlugArgs = {\n input: PostHistoricalSlugCriteria;\n};\n\n\nexport type QueryCmsMsPostTermRelationshipArgs = {\n filter?: InputMaybe<CmsPostTermRelationshipQueryCriteria>;\n};\n\n\nexport type QueryCmsMsPostTermsArgs = {\n filter: CmsPostTermFilter;\n isHome: Scalars['Boolean']['input'];\n};\n\n\nexport type QueryCmsMsPostViewsArgs = {\n filter: CmsPostViewsCriteria;\n};\n\n\nexport type QueryCmsMsPostsArgs = {\n filter: CmsPostFilter;\n};\n\n\nexport type QueryCmsMsPostsPublicArgs = {\n filter: CmsPostFilterPublic;\n isHome?: Scalars['Boolean']['input'];\n};\n\n\nexport type QueryCmsMsUsersArgs = {\n filter: CmsUserFilter;\n};\n\n\nexport type QueryFileMgmtSysMsFetchFileArgs = {\n fileGuids: Array<InputMaybe<Scalars['String']['input']>>;\n};\n\n\nexport type QueryFileMgmtSysMsFileMetadataArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryFileMgmtSysMsFileQuotaArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryFileMgmtSysMsFileSearchArgs = {\n input?: InputMaybe<TempFileRequest>;\n};\n\n\nexport type QueryGetHistoryAgreementArgs = {\n input?: InputMaybe<HistoryAgreementQueryCriteria>;\n};\n\n\nexport type QueryGetTableAgreementArgs = {\n input?: InputMaybe<AgreementQueryCriteria>;\n};\n\n\nexport type QueryGgwMsGameTransactionsArgs = {\n input?: InputMaybe<GameTransactionQueryCriteria>;\n};\n\n\nexport type QueryGgwMsRequiredFieldArgs = {\n data?: InputMaybe<RequiredFieldRequest>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyArgs = {\n input?: InputMaybe<VacancyQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyApplicationArgs = {\n input?: InputMaybe<VacancyApplicationQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancyPublicArgs = {\n input?: InputMaybe<VacancyQueryCriteria>;\n};\n\n\nexport type QueryHumanResourcesMsVacancySettingsArgs = {\n input?: InputMaybe<VacancySettingsQueryCriteria>;\n};\n\n\nexport type QueryNotificationMsEmailMessageTemplateArgs = {\n input?: InputMaybe<EmailMsgTemplateCriteria>;\n};\n\n\nexport type QueryNotificationMsNotificationAlertsArgs = {\n input?: InputMaybe<NotificationAlertCriteria>;\n};\n\n\nexport type QueryProductMsContractTemplateDetailsArgs = {\n input?: InputMaybe<ContractTemplateDetailCriteria>;\n};\n\n\nexport type QueryProductMsContractTemplatesArgs = {\n input?: InputMaybe<ContractTemplateCriteria>;\n};\n\n\nexport type QueryProductMsMerchantContractsArgs = {\n input?: InputMaybe<MerchantContractCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelArgs = {\n input?: InputMaybe<PaymentChannelQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelDenominationArgs = {\n input?: InputMaybe<PaymentChannelDenomQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelGuidelineArgs = {\n filter?: InputMaybe<PaymentChannelGuidelineQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentChannelPublicArgs = {\n input?: InputMaybe<PaymentChannelQueryCriteria>;\n};\n\n\nexport type QueryProductMsPaymentProviderArgs = {\n input?: InputMaybe<PaymentProviderQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductDenominationArgs = {\n input?: InputMaybe<ProductDenominationQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductPageArgs = {\n input?: InputMaybe<ProductPageQueryCriteria>;\n};\n\n\nexport type QueryProductMsProductPagePublicArgs = {\n input?: InputMaybe<ProductPageQueryCriteriaPublic>;\n};\n\n\nexport type QueryProductMsProductPriceListArgs = {\n input: ProductPriceListCriteria;\n};\n\n\nexport type QueryProductMsRateCardTemplatesArgs = {\n input?: InputMaybe<RateCardTemplateCriteria>;\n};\n\n\nexport type QueryVoucherMsVoucherGroupArgs = {\n input?: InputMaybe<VoucherGroupFilter>;\n};\n\n\nexport type QueryVoucherMsVouchersArgs = {\n input?: InputMaybe<VoucherFilter>;\n};\n\n\nexport type QueryWebConfigMsCountryArgs = {\n input: CountryQueryCriteria;\n};\n\n\nexport type QueryWebConfigMsCurrencyArgs = {\n input: CurrencyQueryCriteria;\n};\n\n\nexport type QueryWebConfigMsWebConfigArgs = {\n input: WebConfigQueryCriteria;\n};\n\n\nexport type QueryWebtopupMsGetProductPageArgs = {\n productGuid: Scalars['String']['input'];\n};\n\n\nexport type QueryWebtopupMsTransactionHistoryArgs = {\n userGuid: Scalars['String']['input'];\n};\n\n\nexport type QueryWebtopupMsTransactionsArgs = {\n input: WebtopupTransactionQueryCriteria;\n};\n\nexport type RateCardTemplate = {\n __typename?: 'RateCardTemplate';\n code?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n details?: Maybe<Array<Maybe<RateTemplateDetail>>>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n version?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type RateCardTemplateCriteria = {\n code?: InputMaybe<Scalars['String']['input']>;\n detailCriteria?: InputMaybe<RateTemplateDetailCriteria>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: Status;\n version?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport enum RateLogic {\n Fixed = 'FIXED',\n Percentage = 'PERCENTAGE'\n}\n\nexport type RateTemplateDetail = {\n __typename?: 'RateTemplateDetail';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n endAt?: Maybe<Scalars['DateTime']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n minimumRate?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n priority?: Maybe<Scalars['Int']['output']>;\n rate?: Maybe<Scalars['Float']['output']>;\n rateLogic?: Maybe<RateLogic>;\n revision?: Maybe<Scalars['String']['output']>;\n startAt?: Maybe<Scalars['DateTime']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type RateTemplateDetailCriteria = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n guids?: InputMaybe<Array<Scalars['String']['input']>>;\n name?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n rateLogic?: InputMaybe<RateLogic>;\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n status?: Status;\n};\n\nexport type RateTemplateRs = {\n __typename?: 'RateTemplateRs';\n data?: Maybe<Array<Maybe<RateCardTemplate>>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum ReactionType {\n Heart = 'HEART',\n Like = 'LIKE'\n}\n\nexport type RegistrationRq = {\n /** ... user extension, ex: profile photo, bio, etc */\n appLoginSubjectExt?: InputMaybe<Array<InputMaybe<AppLoginSubjectExtRq>>>;\n /** ... date with format YYYY-MM-DD */\n birthday: Scalars['Date']['input'];\n /** ... email to register user [Optional] */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... user gender */\n gender: Gender;\n /** ... mobile nunber to register user [Optional] */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... user full name */\n name: Scalars['String']['input'];\n /** ... password for new user */\n password: Scalars['String']['input'];\n /** ... user pin number */\n pinNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... referal code */\n referralCode?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform for bo or public user separation */\n sourcePlatform: SourcePlatform;\n};\n\nexport enum RegistrationStatus {\n ConfirmationSuccess = 'CONFIRMATION_SUCCESS',\n EmailVerificationSuccess = 'EMAIL_VERIFICATION_SUCCESS',\n MobileVerificationSuccess = 'MOBILE_VERIFICATION_SUCCESS'\n}\n\nexport type RequiredField = {\n content: RequiredFieldContentEnum;\n name?: InputMaybe<Scalars['String']['input']>;\n placeholder?: InputMaybe<Scalars['String']['input']>;\n type: RequiredFieldTypeEnum;\n url?: InputMaybe<Scalars['String']['input']>;\n values: Array<RequiredFieldDropdownPair>;\n};\n\nexport enum RequiredFieldContentEnum {\n Alphabet = 'ALPHABET',\n Alphanumeric = 'ALPHANUMERIC',\n Api = 'API',\n Numeric = 'NUMERIC',\n Static = 'STATIC'\n}\n\nexport type RequiredFieldDropdownPair = {\n display: Scalars['String']['input'];\n value: Scalars['String']['input'];\n};\n\nexport type RequiredFieldRequest = {\n gameId?: InputMaybe<Scalars['String']['input']>;\n platform?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type RequiredFieldResponse = {\n __typename?: 'RequiredFieldResponse';\n data?: Maybe<Scalars['JSON']['output']>;\n error?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum RequiredFieldTypeEnum {\n Dropdown = 'DROPDOWN',\n Text = 'TEXT'\n}\n\nexport type RoleFilter = {\n /** ... to filter role by code equal */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ...to get role with all guids */\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... to filter role by name ilike */\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n /** ... to filter role by status equal */\n status?: Status;\n /** ... to get list of role attached to user */\n subjectGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type SignatureCheckerRs = {\n __typename?: 'SignatureCheckerRs';\n status?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SignatureCreateRs = {\n __typename?: 'SignatureCreateRs';\n status?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type SocialLoginRq = {\n idToken: Scalars['String']['input'];\n providerPlatform: ProviderPlatform;\n sourcePlatform: SourcePlatform;\n};\n\nexport enum SourcePlatform {\n /** ... for backoffice */\n Admin = 'ADMIN',\n /** ... for public */\n CpCommerce = 'CP_COMMERCE'\n}\n\nexport enum Status {\n Active = 'ACTIVE',\n Deleted = 'DELETED',\n Expired = 'EXPIRED',\n Inactive = 'INACTIVE',\n Pending = 'PENDING',\n VerseData = 'VERSE_DATA'\n}\n\nexport enum SuggestedAction {\n /** ... suggested action if user didn't change password for x month */\n ChangePassword = 'CHANGE_PASSWORD',\n /** ... default action */\n Default = 'DEFAULT'\n}\n\nexport type SuspiciousFilter = {\n actionCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n description?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: Scalars['Int']['input'];\n pageSize?: Scalars['Int']['input'];\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: Scalars['String']['input'];\n status?: Scalars['String']['input'];\n targetCodes?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n types?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type SuspiciousTag = {\n __typename?: 'SuspiciousTag';\n actionCode?: Maybe<Scalars['String']['output']>;\n actionJson?: Maybe<Scalars['JSON']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n intervalParam?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n targetCode?: Maybe<Scalars['String']['output']>;\n threshold?: Maybe<Scalars['Int']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type SuspiciousTagPageableRs = {\n __typename?: 'SuspiciousTagPageableRs';\n data?: Maybe<Array<Maybe<SuspiciousTag>>>;\n totalRecord: Scalars['Int']['output'];\n};\n\nexport type TempFileRequest = {\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type TemporaryUserDeactivationRq = {\n /** ... band type refer to UserBansType enum */\n banType: UserBanType;\n /** ... ban exipred at with format \"2023-09-01T12:00:00.000Z\" or \"2023-09-30T12:00:00.000+07:00\" */\n expiredAt?: InputMaybe<Scalars['String']['input']>;\n /** ... admin remark */\n remark?: InputMaybe<Scalars['String']['input']>;\n /** ... user guid to deactive */\n userGuid: Scalars['String']['input'];\n};\n\nexport enum TermType {\n Category = 'CATEGORY',\n PostTag = 'POST_TAG'\n}\n\nexport type Token = {\n __typename?: 'Token';\n accessToken?: Maybe<Scalars['String']['output']>;\n refreshToken?: Maybe<Scalars['String']['output']>;\n};\n\nexport type TransactionRefund = {\n __typename?: 'TransactionRefund';\n createdBy?: Maybe<AppLoginSubject>;\n createdByGuid?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedByGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum UniboxV2RequestType {\n MobileGame = 'MOBILE_GAME',\n Standard = 'STANDARD'\n}\n\nexport type UpdateApiCredentialRq = {\n activeAt?: InputMaybe<Scalars['DateTime']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n transactionalUserGuid?: InputMaybe<Scalars['String']['input']>;\n version?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateAuthSettingRq = {\n /** ... Setting guid identifier */\n guid: Scalars['String']['input'];\n /** ... Setting name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... Setting value */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateBookmarkRq = {\n /** Bookmark Guid. */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** Post Guid that going to be saved. */\n postGuid?: InputMaybe<Scalars['String']['input']>;\n /** User Guid that saving the post. */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostExtRq = {\n /** Possible value: CONTENT_IMAGE_POST/SQUARE_THUMBNAIL */\n ext_type?: InputMaybe<Scalars['String']['input']>;\n /** Guid value referencing to Amazon S3 image file */\n ext_value?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n post_guid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostRq = {\n authorGuid?: InputMaybe<Scalars['String']['input']>;\n authorName?: InputMaybe<Scalars['String']['input']>;\n commentCount?: InputMaybe<Scalars['Int']['input']>;\n /** Open/Closed post comment status */\n commentStatus?: InputMaybe<Scalars['String']['input']>;\n /** Video thumbnail/Live thumbnail */\n contentOption?: InputMaybe<ContentOption>;\n /** Country guid of the post */\n countryGuid?: InputMaybe<Scalars['String']['input']>;\n expiredAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid: Scalars['String']['input'];\n /** Pin or un-pin a post */\n isPinned?: InputMaybe<Scalars['Boolean']['input']>;\n /** Content of the post */\n postBody?: InputMaybe<Scalars['String']['input']>;\n /** Terms-Category guid of the post */\n postCategoryGuid?: InputMaybe<Scalars['String']['input']>;\n /** For SEO purposes. Max length: 160 */\n postMetaDescription?: InputMaybe<Scalars['String']['input']>;\n /** DRAFT/ON_REVIEW/PUBLISHED post status */\n postStatus?: InputMaybe<Scalars['String']['input']>;\n /** Terms-PostTag names of the post */\n postTagNames: Array<InputMaybe<Scalars['String']['input']>>;\n postTitle?: InputMaybe<Scalars['String']['input']>;\n publishedAt?: InputMaybe<Scalars['DateTime']['input']>;\n /** The current revision value is mandatory to update CMS Post */\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n /** The part of a static URL that describes the post */\n urlKey?: InputMaybe<Scalars['String']['input']>;\n /** Video/Live content option source */\n videoSource?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsPostTermRq = {\n guid: Scalars['String']['input'];\n isHidden?: InputMaybe<Scalars['Boolean']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n termDescription?: InputMaybe<Scalars['String']['input']>;\n /** Name of the Category/Tag. Ex: Anime & Manga, Profile */\n termName?: InputMaybe<Scalars['String']['input']>;\n termParentGuid?: InputMaybe<Scalars['String']['input']>;\n /** Possible value: CATEGORY/POST_TAG */\n termType: TermType;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCmsUserRq = {\n authUserGuid?: InputMaybe<Scalars['String']['input']>;\n bio?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n picture?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n url?: InputMaybe<Scalars['String']['input']>;\n userName?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateCompanyRq = {\n /** ... new company code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... new company country */\n countryCode?: InputMaybe<Scalars['String']['input']>;\n /** ... new company description */\n description?: InputMaybe<Scalars['String']['input']>;\n /** ... new company displayed name */\n displayName?: InputMaybe<Scalars['String']['input']>;\n /** ... guid for company want to update */\n guid?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... new company name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision?: InputMaybe<Scalars['String']['input']>;\n /** ... new company status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateContractTemplateRq = {\n contractDetailsGuidToLink?: InputMaybe<Array<Scalars['String']['input']>>;\n contractDetailsGuidToUnlink?: InputMaybe<Array<Scalars['String']['input']>>;\n guid: Scalars['String']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n productSelection?: InputMaybe<ProductSelectionEnum>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateEmailMessageTemplateRq = {\n /** ... message template identifier */\n guid: Scalars['String']['input'];\n /** ... message id */\n messageId?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision: Scalars['String']['input'];\n /** ... message template status */\n status?: InputMaybe<Scalars['String']['input']>;\n /** ... base64 encoded html or message template */\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateHistoryAgreementRq = {\n content?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n publishDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantContractRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n key?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateMerchantPaymentDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n paymentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantPaymentProviderRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n providerGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateMerchantRq = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePaymentChannelDenomRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n credit?: InputMaybe<Scalars['Long']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n payamentChannelGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePaymentChannelRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n charge?: InputMaybe<Scalars['Float']['input']>;\n chargeType?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n companyCredentialGuid?: InputMaybe<Scalars['String']['input']>;\n contractorCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n field?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n isWhitelabel?: InputMaybe<Scalars['Boolean']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<PaymentChannelMetaField>>>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n parameter?: InputMaybe<Scalars['String']['input']>;\n providerCode?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n providerPriority?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n route?: InputMaybe<Scalars['String']['input']>;\n serviceCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n vatPercentage?: InputMaybe<Scalars['Float']['input']>;\n};\n\nexport type UpdatePaymentProviderRq = {\n category?: InputMaybe<Scalars['String']['input']>;\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n code?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n maxAmount?: InputMaybe<Scalars['Long']['input']>;\n minAmount?: InputMaybe<Scalars['Long']['input']>;\n providerExternalName?: InputMaybe<Scalars['String']['input']>;\n providerInternalName?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdatePermRq = {\n /** ... new parent identifier */\n parentId?: InputMaybe<Scalars['String']['input']>;\n /** ... new permmission code */\n permCode?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission description */\n permDescription?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission permission module */\n permModule?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission name */\n permName?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission permission scope */\n permScope?: InputMaybe<Scalars['String']['input']>;\n /** ... new permission type */\n permType?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match data version in db */\n revision: Scalars['String']['input'];\n /** ... new permission status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdatePrincipalRq = {\n /** ...User principal guid */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... User new Principal */\n newPrincipal: Scalars['String']['input'];\n /** ... User old principal id */\n oldPrincipal?: InputMaybe<Scalars['String']['input']>;\n /** ... user guid belong to user that we want change the principal, MANDATORY FOR UPDATE BY ADMIN if user don't have the principal type before */\n userGuid?: InputMaybe<Scalars['String']['input']>;\n /** ... verification code, ONLY FOR UPDATE BY USER if you send guid when update by ADMIN then the data will not used */\n verificationCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductDenominationRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n imagePath?: InputMaybe<Scalars['String']['input']>;\n isAdjustableSellingPrice?: InputMaybe<Scalars['Boolean']['input']>;\n isDirectVoucher?: InputMaybe<Scalars['Boolean']['input']>;\n isVoucherApi?: InputMaybe<Scalars['Boolean']['input']>;\n itemCode?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n partnerProductId?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n remark?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductPageRq = {\n advanceSearch?: InputMaybe<Scalars['String']['input']>;\n category: ProductPageCategory;\n communityLink?: InputMaybe<Scalars['String']['input']>;\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n content?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n downloadLink?: InputMaybe<Scalars['String']['input']>;\n gameCenterImage?: InputMaybe<Scalars['String']['input']>;\n gameChildCode?: InputMaybe<Scalars['String']['input']>;\n gameParentCode?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n huaweiDownloadLink?: InputMaybe<Scalars['String']['input']>;\n iconGuid?: InputMaybe<Scalars['String']['input']>;\n influencerLink?: InputMaybe<Scalars['String']['input']>;\n iosDownloadLink?: InputMaybe<Scalars['String']['input']>;\n isEvent?: InputMaybe<Scalars['Boolean']['input']>;\n isNew?: InputMaybe<Scalars['Boolean']['input']>;\n isPromo?: InputMaybe<Scalars['Boolean']['input']>;\n isShowOnLandingPage?: InputMaybe<Scalars['Boolean']['input']>;\n isTesting?: InputMaybe<Scalars['Boolean']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n metaDescription?: InputMaybe<Scalars['String']['input']>;\n metaFieldJson?: InputMaybe<Array<InputMaybe<ProductPageMetaField>>>;\n metaTitle?: InputMaybe<Scalars['String']['input']>;\n officialSiteLink?: InputMaybe<Scalars['String']['input']>;\n providerCompanyGuid?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n route?: InputMaybe<Scalars['String']['input']>;\n schemaMarkup?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n tags?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n topUpGuidLink?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateProductPriceListRq = {\n ccyCode?: InputMaybe<Scalars['String']['input']>;\n contractTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n endDate?: InputMaybe<Scalars['DateTime']['input']>;\n eventCode?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n price?: InputMaybe<Scalars['Int']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productPageGuid?: InputMaybe<Scalars['String']['input']>;\n rateTemplateGuid?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n startDate?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Status>;\n type?: InputMaybe<PriceListType>;\n};\n\nexport type UpdateProfileRq = {\n /** ... update user birthday */\n birthday?: InputMaybe<Scalars['Date']['input']>;\n /** ... update user gender */\n gender?: InputMaybe<Gender>;\n /** ... user guid we want to update, ONLY FOR UPDATE BY ADMIN if you send guid when update by user then the data will not used */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** ... update user full name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... user status ACTIVE/INACTIVE, ONLY FOR UPDATE BY ADMIN if you send data when update by user then the data will not used */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateRateCardTemplateDetailRq = {\n endAt?: InputMaybe<Scalars['DateTime']['input']>;\n guid: Scalars['String']['input'];\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n minimumRate?: InputMaybe<Scalars['Int']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n priority?: InputMaybe<Scalars['Int']['input']>;\n rate?: InputMaybe<Scalars['Float']['input']>;\n rateLogic?: InputMaybe<RateLogic>;\n revision: Scalars['String']['input'];\n startAt?: InputMaybe<Scalars['DateTime']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateRateCardTemplateRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n name?: InputMaybe<Scalars['String']['input']>;\n revision: Scalars['String']['input'];\n};\n\nexport type UpdateRoleRq = {\n /** ... new role code */\n code?: InputMaybe<Scalars['String']['input']>;\n /** ... new role description */\n description?: InputMaybe<Scalars['String']['input']>;\n isInternal?: InputMaybe<Scalars['Boolean']['input']>;\n /** ... new role name */\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... data version, must match with data version in db */\n revision: Scalars['String']['input'];\n /** ... new role status */\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateSuspiciousTagRq = {\n actionCode?: InputMaybe<Scalars['String']['input']>;\n actionJson?: InputMaybe<Scalars['JSON']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n intervalParam?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n targetCode?: InputMaybe<Scalars['String']['input']>;\n threshold?: InputMaybe<Scalars['Int']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateTemplateDetailRq = {\n amount?: InputMaybe<Scalars['Double']['input']>;\n guid: Scalars['String']['input'];\n paymentProviderGuid?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n productSelection?: ProductSelectionEnum;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Status>;\n};\n\nexport type UpdateVacancyRq = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n revision?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateVacancySettingsRq = {\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n};\n\nexport type UpdateVoucherGroupRq = {\n /** Currency */\n currency?: InputMaybe<Scalars['String']['input']>;\n /** Voucher group identifier */\n guid?: InputMaybe<Scalars['String']['input']>;\n /** to magnify value above before display to user */\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n /** Name of voucher group */\n name?: InputMaybe<Scalars['String']['input']>;\n /** Voucher that have pin, this one to set the pattern */\n pinPattern: Scalars['JSON']['input'];\n revision: Scalars['String']['input'];\n /** Voucher pattern for this voucher group, doesn't affect API type voucher */\n serialPattern: Scalars['JSON']['input'];\n /** Type of voucher group */\n type?: InputMaybe<VoucherGroupType>;\n /** Voucher price to check when redeem */\n value?: InputMaybe<Scalars['Int']['input']>;\n /** Code for API type voucher only */\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UpdateWebConfigRq = {\n code?: InputMaybe<Scalars['String']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid: Scalars['String']['input'];\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n revision: Scalars['String']['input'];\n status?: InputMaybe<Scalars['String']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type UserAdminQueryCriteria = {\n email?: InputMaybe<Scalars['String']['input']>;\n gender?: InputMaybe<Gender>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... cannot use this filter if already use optionalRole filter */\n mandatoryRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... cannot use this filter if already use mandatoryRole filter */\n optionalRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n sourcePlatform?: InputMaybe<SourcePlatform>;\n status?: InputMaybe<Array<InputMaybe<Status>>>;\n};\n\nexport enum UserBanType {\n Login = 'LOGIN'\n}\n\nexport type UserByAdmin = {\n __typename?: 'UserByAdmin';\n password?: Maybe<Scalars['String']['output']>;\n user?: Maybe<AppLoginSubject>;\n};\n\nexport type UserConfirmRq = {\n /** ... verification code from email or otp notification */\n code: Scalars['String']['input'];\n /** ... email registered to user */\n email?: InputMaybe<Scalars['String']['input']>;\n /** ... mobile number registered to user */\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n /** ... source platform where principal registered */\n sourcePlatform: SourcePlatform;\n};\n\nexport type UserConsent = {\n __typename?: 'UserConsent';\n guid?: Maybe<Scalars['String']['output']>;\n historyAgreementGuid?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserInfoJsonType = {\n __typename?: 'UserInfoJsonType';\n userContact?: Maybe<Scalars['String']['output']>;\n userEmail?: Maybe<Scalars['String']['output']>;\n username?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserLogin = {\n __typename?: 'UserLogin';\n appLoginExt?: Maybe<Array<Maybe<AppLoginSubjectExt>>>;\n birthday?: Maybe<Scalars['Date']['output']>;\n category?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['String']['output']>;\n email?: Maybe<Scalars['String']['output']>;\n gender?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n mobileNumber?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n sourcePlatform?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Status>;\n updatedDate?: Maybe<Scalars['String']['output']>;\n};\n\nexport type UserMemberQueryCriteria = {\n /** ... fill with end cursor id to get next data/page, cannot use this if already use 'before' filter */\n after?: InputMaybe<Scalars['String']['input']>;\n /** ... fill with start cursor id to get prev data/page, cannot use this if already use 'after' filter */\n before?: InputMaybe<Scalars['String']['input']>;\n email?: InputMaybe<Scalars['String']['input']>;\n gender?: InputMaybe<Gender>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n /** ... cannot use this filter if already use optionalRole filter */\n mandatoryRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n mobileNumber?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n /** ... cannot use this filter if already use mandatoryRole filter */\n optionalRole?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy: AppLoginSubjectSortByEnum;\n sortDirection?: Scalars['String']['input'];\n sourcePlatform?: InputMaybe<SourcePlatform>;\n status?: InputMaybe<Array<InputMaybe<Status>>>;\n};\n\nexport type Vacancy = {\n __typename?: 'Vacancy';\n countryCode?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n requirement?: Maybe<Scalars['String']['output']>;\n responsibility?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n title?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type VacancyApplication = {\n __typename?: 'VacancyApplication';\n attachment?: Maybe<Scalars['String']['output']>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n email?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n reason?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n vacancyGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport type VacancyApplicationQueryCriteria = {\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n email?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n vacancyGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VacancyQueryCriteria = {\n countryCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n requirement?: InputMaybe<Scalars['String']['input']>;\n responsibility?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n title?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VacancySettings = {\n __typename?: 'VacancySettings';\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n value?: Maybe<Scalars['String']['output']>;\n};\n\nexport type VacancySettingsQueryCriteria = {\n guids?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type Voucher = {\n __typename?: 'Voucher';\n activationPin?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n redeemableFrom?: Maybe<Scalars['DateTime']['output']>;\n redeemableTo?: Maybe<Scalars['DateTime']['output']>;\n serialNumber?: Maybe<Scalars['String']['output']>;\n softpin?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n urlKey?: Maybe<Scalars['String']['output']>;\n voucherGroupGuid?: Maybe<Scalars['String']['output']>;\n};\n\nexport enum VoucherAction {\n /** Voucher redeemed */\n Redeem = 'REDEEM',\n /** Voucher voided */\n Void = 'VOID'\n}\n\nexport type VoucherFilter = {\n activationPin?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n redeemableFrom?: InputMaybe<Scalars['DateTime']['input']>;\n redeemableTo?: InputMaybe<Scalars['DateTime']['input']>;\n serialNumber?: InputMaybe<Scalars['String']['input']>;\n softpin?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n urlKey?: InputMaybe<Scalars['String']['input']>;\n voucherGroupGuid?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type VoucherGroup = {\n __typename?: 'VoucherGroup';\n createdAt?: Maybe<Scalars['String']['output']>;\n createdBySubjectGuid?: Maybe<Scalars['String']['output']>;\n currency?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n name?: Maybe<Scalars['String']['output']>;\n pinPattern?: Maybe<Scalars['JSON']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n serialPattern?: Maybe<Scalars['JSON']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['String']['output']>;\n updatedBySubjectGuid?: Maybe<Scalars['String']['output']>;\n value?: Maybe<Scalars['Int']['output']>;\n voucherApiCode?: Maybe<Scalars['String']['output']>;\n voucherCount?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type VoucherGroupFilter = {\n createdByGuid?: InputMaybe<Scalars['String']['input']>;\n currency?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n magnifyValue?: InputMaybe<Scalars['Int']['input']>;\n name?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n pinPattern?: InputMaybe<Scalars['JSON']['input']>;\n serialPattern?: InputMaybe<Scalars['JSON']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecords?: InputMaybe<Scalars['Boolean']['input']>;\n type?: InputMaybe<VoucherGroupType>;\n updatedByGuid?: InputMaybe<Scalars['String']['input']>;\n value?: InputMaybe<Scalars['Int']['input']>;\n voucherApiCode?: InputMaybe<Scalars['String']['input']>;\n voucherCount?: InputMaybe<Scalars['Int']['input']>;\n};\n\nexport type VoucherGroupRs = {\n __typename?: 'VoucherGroupRs';\n data: Array<Maybe<VoucherGroup>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport enum VoucherGroupType {\n /** Call third party API Type */\n Api = 'API',\n /** Generated voucher type */\n Generated = 'GENERATED',\n /** Imported voucher type */\n Import = 'IMPORT'\n}\n\nexport type VouchersRs = {\n __typename?: 'VouchersRs';\n data: Array<Maybe<Voucher>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WebConfig = {\n __typename?: 'WebConfig';\n code?: Maybe<Scalars['String']['output']>;\n createdBy?: Maybe<AppLoginSubject>;\n createdDate?: Maybe<Scalars['DateTime']['output']>;\n description?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n jsonValue?: Maybe<Scalars['String']['output']>;\n numberValue?: Maybe<Scalars['Int']['output']>;\n revision?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n stringValue?: Maybe<Scalars['String']['output']>;\n type?: Maybe<Scalars['String']['output']>;\n updatedBy?: Maybe<AppLoginSubject>;\n updatedDate?: Maybe<Scalars['DateTime']['output']>;\n};\n\nexport type WebConfigQueryCriteria = {\n code?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n description?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n jsonValue?: InputMaybe<Scalars['String']['input']>;\n numberValue?: InputMaybe<Scalars['Int']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n stringValue?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n type?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebConfigResult = {\n __typename?: 'WebConfigResult';\n data: Array<Maybe<WebConfig>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type WebtopupRequest = {\n countryCode: Scalars['String']['input'];\n currencyCode: Scalars['String']['input'];\n gameFieldJson?: InputMaybe<GameRequiredFieldInput>;\n lang?: InputMaybe<Scalars['String']['input']>;\n magnifyValue: Scalars['Int']['input'];\n paymentProviderCode: Scalars['String']['input'];\n productDenomGuid: Scalars['String']['input'];\n productGuid: Scalars['String']['input'];\n providerAmount: Scalars['Int']['input'];\n type?: InputMaybe<UniboxV2RequestType>;\n userEmail?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebtopupResponse = {\n __typename?: 'WebtopupResponse';\n message?: Maybe<Scalars['String']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n paymentUrl?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['Int']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransaction = {\n __typename?: 'WebtopupTransaction';\n companyGuid?: Maybe<Scalars['String']['output']>;\n countryCode?: Maybe<Scalars['String']['output']>;\n createdAt?: Maybe<Scalars['DateTime']['output']>;\n currencyCode?: Maybe<Scalars['String']['output']>;\n gameFieldJson?: Maybe<Scalars['JSON']['output']>;\n gameGatewayRef?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n isTesting?: Maybe<Scalars['Boolean']['output']>;\n magnifyValue?: Maybe<Scalars['Int']['output']>;\n merchantGuid?: Maybe<Scalars['String']['output']>;\n paymentFieldJson?: Maybe<Scalars['JSON']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n paymentProviderCode?: Maybe<Scalars['String']['output']>;\n paymentProviderGuid?: Maybe<Scalars['String']['output']>;\n productDenomGuid?: Maybe<Scalars['String']['output']>;\n productGuid?: Maybe<Scalars['String']['output']>;\n providerAmount?: Maybe<Scalars['Int']['output']>;\n sourceIp?: Maybe<Scalars['String']['output']>;\n status?: Maybe<Scalars['String']['output']>;\n updatedAt?: Maybe<Scalars['DateTime']['output']>;\n userEmail?: Maybe<Scalars['String']['output']>;\n userGuid?: Maybe<Scalars['String']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransactionHistory = {\n __typename?: 'WebtopupTransactionHistory';\n gameDetail?: Maybe<GameTransactions>;\n gameGatewayRef?: Maybe<Scalars['String']['output']>;\n guid?: Maybe<Scalars['String']['output']>;\n paymentGatewayRef?: Maybe<Scalars['String']['output']>;\n webtopupRef?: Maybe<Scalars['String']['output']>;\n};\n\nexport type WebtopupTransactionQueryCriteria = {\n companyGuid?: InputMaybe<Scalars['String']['input']>;\n countryCode?: InputMaybe<Scalars['String']['input']>;\n currencyCode?: InputMaybe<Scalars['String']['input']>;\n dateFrom?: InputMaybe<Scalars['DateTime']['input']>;\n dateTo?: InputMaybe<Scalars['DateTime']['input']>;\n gameGatewayRef?: InputMaybe<Scalars['String']['input']>;\n guid?: InputMaybe<Scalars['String']['input']>;\n merchantGuid?: InputMaybe<Scalars['String']['input']>;\n page?: InputMaybe<Scalars['Int']['input']>;\n pageSize?: InputMaybe<Scalars['Int']['input']>;\n paymentGatewayRef?: InputMaybe<Scalars['String']['input']>;\n paymentProviderCode?: InputMaybe<Scalars['String']['input']>;\n productDenomGuid?: InputMaybe<Scalars['String']['input']>;\n productGuid?: InputMaybe<Scalars['String']['input']>;\n sortBy?: InputMaybe<Scalars['String']['input']>;\n sortDirection?: InputMaybe<Scalars['String']['input']>;\n status?: InputMaybe<Scalars['String']['input']>;\n totalRecord?: InputMaybe<Scalars['Boolean']['input']>;\n webtopupRef?: InputMaybe<Scalars['String']['input']>;\n};\n\nexport type WebtopupTransactionResult = {\n __typename?: 'WebtopupTransactionResult';\n data: Array<Maybe<WebtopupTransaction>>;\n totalRecord?: Maybe<Scalars['Int']['output']>;\n};\n\nexport type IsSuccess = {\n __typename?: 'isSuccess';\n isSuccess?: Maybe<Scalars['Boolean']['output']>;\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { Apollo, gql } from 'apollo-angular';\nimport { AppLoginSubject } from '../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public getByGuid(guid: string): Observable<AppLoginSubject | null>{ \n return this.apollo.query<{ authMsUser: AppLoginSubject[] }>({\n errorPolicy: 'all',\n variables: { input: { guids: [ guid ]}},\n query: gql`\n query GetUserByGuid($input: UserAdminQueryCriteria) {\n authMsUser(input: $input) {\n appLoginPrincipal {\n principalId\n principalType\n }\n appLoginExt {\n paramCode\n paramType\n file {\n publicUrl\n }\n }\n birthday\n category\n gender\n guid\n name\n status\n }\n }\n `,\n }).pipe(\n map(({ data: { authMsUser }}) => {\n if (!authMsUser || authMsUser.length === 0) return null;\n return authMsUser[0];\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Apollo, MutationResult, gql } from 'apollo-angular';\nimport { AppLoginSubject, ChangePassRq, LoginResponse, MutationAuthMsRefreshAccessTokenArgs, SourcePlatform, Token } from '../../../graphql/generated';\nimport { Observable, tap } from 'rxjs';\nimport { ProfileService } from '../profile/profile.service';\nimport { User } from '../../interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n\tpublic static authToken: string = '';\n public static refreshToken: string = '';\n public user?: User;\n\n constructor(\n protected readonly apollo: Apollo,\n protected readonly profileService: ProfileService\n ) { }\n\n public login(input: { email: string, password: string, sourcePlatform: string }): Observable<MutationResult<{ authMsLogin: LoginResponse }>>{\n return this.apollo.mutate<{ authMsLogin: LoginResponse }>({ \n variables: { input },\n mutation: gql`\n mutation Login($input: LoginRq!) {\n authMsLogin(input: $input) {\n accessToken\n refreshToken\n suggestedAction\n user {\n birthday\n category\n email\n gender\n guid\n mobileNumber\n name\n status\n }\n }\n }\n `\n }).pipe(\n tap(({ data }) => {\n if (data?.authMsLogin) {\n const { accessToken, user, refreshToken } = data.authMsLogin;\n\n this.user = user as User;\n this.user!.photo = '/assets/imgs/profile.svg';\n AuthService.authToken = accessToken ?? '';\n AuthService.refreshToken = refreshToken ?? '';\n\n localStorage.setItem('userGuid', this.user!.guid);\n localStorage.setItem('authToken', AuthService.authToken);\n localStorage.setItem('refreshToken', AuthService.refreshToken);\n }\n })\n );\n }\n\n public refreshToken(variables: MutationAuthMsRefreshAccessTokenArgs): Observable<MutationResult<{ authMsRefreshAccessToken: Token }>>{\n return this.apollo.mutate({\n context: {\n headers: {\n 'operation-type': 'Mutation',\n 'operation-name': 'RefreshToken'\n }\n },\n variables,\n mutation: gql`\n mutation RefreshToken($refreshToken: String!) {\n authMsRefreshAccessToken(refreshToken: $refreshToken) {\n accessToken\n refreshToken\n }\n }\n `\n });\n }\n\n public getProfile(guid: string): Observable<AppLoginSubject | null>{\n return this.profileService.getByGuid(guid).pipe(\n tap((user: AppLoginSubject | null) => {\n if (!user) return;\n this.user = { ...user, photo: '/assets/imgs/profile.svg' } as User;\n\n user.appLoginExt?.forEach(({ paramCode, file: { publicUrl }}: any) => {\n if (paramCode === 'USER_PROFILE_PHOTO') this.user!.photo = publicUrl;\n });\n\n user.appLoginPrincipal?.forEach(({ principalId, principalType }: any) => {\n if (principalType === 'EMAIL_USERNAME') this.user!.email = principalId;\n });\n })\n );\n }\n\n public initForgotPassword(email: string): Observable<MutationResult<any>>{\n return this.apollo.mutate({ \n variables: { \n input: { \n email, \n sourcePlatform: SourcePlatform.Admin \n }\n },\n mutation: gql`\n mutation InitForgotPassword($input: ForgotPassOtpRq!) { \n authMsForgotPasswordOtp(input: $input)\n }\n `\n });\n }\n\n public createNewPassword({ newPassword, principalId, sourcePlatform, verifCode }: { confirm: string, newPassword: string, principalId: string, verifCode: string, sourcePlatform: string }): Observable<MutationResult<any>>{\n return this.apollo.mutate({ \n mutation : gql`\n mutation SubmitForgotPassword($input: ForgotPassRq!) { \n authMsForgotPassword(input: $input)\n }\n `, \n variables: { \n input: {\n newPassword,\n principalId,\n sourcePlatform,\n verifCode\n }\n }\n });\n }\n\n public updatePassword(input: { oldPassword: string, newPassword: string }): Observable<MutationResult<{ authMsChangePassword: ChangePassRq }>>{\n return this.apollo.mutate({ \n mutation: gql`\n mutation ChangePassword($input: ChangePassRq!) {\n authMsChangePassword(input: $input)\n }\n `, \n variables: { input } \n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApolloQueryResult } from '@apollo/client/core';\nimport { Apollo, gql } from 'apollo-angular';\nimport { Country } from '../../../graphql/generated';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryService {\n\n constructor(\n protected readonly apollo: Apollo\n ) { }\n\n public query(): Observable<ApolloQueryResult<{ webConfigMsCountry: { data: Country[] }}>>{\n return this.apollo.query({\n errorPolicy: 'all',\n variables: { \n input: { \n page: 0,\n pageSize: 300,\n sortBy: 'name',\n sortDirection: 'asc'\n } \n },\n query: gql`\n query QueryCountry($input: CountryQueryCriteria!) {\n webConfigMsCountry(input: $input) {\n data {\n code\n defaultLangCode\n guid\n langCodes {\n code\n guid\n }\n name\n phoneCodes {\n code\n }\n }\n }\n }\n `,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AuthService } from '../../services';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthResolver {\n\n public isUserLoggedIn(): boolean{ \n return AuthService.authToken !== ''; \n }\n\n public getAuthToken(): string | null{\n this.resolveUserAuthToken();\n \n if (this.isUserLoggedIn()) return AuthService.authToken;\n \treturn null;\n }\n\n protected resolveUserAuthToken(): void{\n if (!this.isUserLoggedIn() || !this.isTokenExpired(AuthService.authToken)) return;\n \n AuthService.authToken = '';\n AuthService.refreshToken = '';\n localStorage.removeItem('authToken');\n localStorage.removeItem('refreshToken');\n }\n\n protected isTokenExpired(token: string | null): boolean{\n if (!token || token === '') return true;\n const date = this.getTokenExpirationDate(token);\n\n if (date === null) return false;\n return !(<number>date.valueOf() > new Date().valueOf() + 0 * 1000);\n }\n\n protected getTokenExpirationDate(token: string | null): Date | null{\n const decoded: any = this.decodeToken(token); \n if (!decoded || !decoded.hasOwnProperty('exp')) return null;\n \n const date = new Date(0);\n date.setUTCSeconds(decoded.exp);\n\n return date;\n }\n\n protected decodeToken(token: string | null): string | null{\n if (!token || token === '') return null;\n\n const parts = token.split('.');\n if (parts.length !== 3) throw new Error(`The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.`);\n\n const decoded = this.urlBase64Decode(parts[1]);\n if (!decoded) throw new Error('Cannot decode the token.');\n\n return JSON.parse(decoded);\n }\n\n protected urlBase64Decode(str: string): string{\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n \n case 2: \n output += '==';\n break;\n\n case 3:\n output += '=';\n break;\n\n default: \n throw new Error('Illegal base64url string!');\n }\n return this.b64DecodeUnicode(output);\n }\n\n protected b64DecodeUnicode(str: string): string{\n return decodeURIComponent(Array.prototype.map.call(this.b64decode(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\n }\n\n protected b64decode(str: string): string{\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n let output = '';\n\n str = String(str).replace(/=+$/, '');\n if (str.length % 4 === 1) throw new Error(`'atob' failed: The string to be decoded is not correctly encoded.`);\n\n for (\n let bc = 0, bs: any, buffer: any, idx = 0;\n (buffer = str.charAt(idx++));\n \n ~buffer && ((bs = bc % 4? bs * 64 + buffer : buffer), bc++ % 4)? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6)))) : 0\n ) buffer = chars.indexOf(buffer);\n\n return output;\n }\n}\n","import { inject } from '@angular/core';\nimport { NavController } from '@ionic/angular';\nimport { AuthResolver } from '../../resolvers';\n\nexport const AuthGuard: () => boolean = (): boolean => {\n const resolver = inject(AuthResolver);\n const navCtrl = inject(NavController);\n\n if (!resolver.isUserLoggedIn()) navCtrl.navigateRoot('/auth/login', { queryParams: { url: `${ window.location.href }` } });\n return true;\n};\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../../services';\n\n@Injectable()\nexport class HeaderInterceptor implements HttpInterceptor {\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>{\n return next.handle(request.clone({\n headers: request.headers,\n setHeaders: {\n authorization: AuthService.authToken,\n project: 'unipin'\n }\n }));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { catchError, Observable, switchMap, throwError } from 'rxjs';\nimport { NavController } from '@ionic/angular';\nimport { AuthService } from '../../services';\n\n@Injectable()\nexport class RefreshTokenInterceptor implements HttpInterceptor {\n\n\tprotected isRefresh: boolean = false;\n\n\tconstructor(\n\t\tprotected readonly navCtrl: NavController,\n protected readonly authService: AuthService\n\t) { }\n\n public intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>{\n return next.handle(request).pipe(\n\t\t\tcatchError(({ error: { errors } }) => {\n if (errors[0].extensions.code === 'UNAUTHORIZED' && errors[0].message.includes('Token') && this.isRefresh) {\n\t\t\t\t\tthis.isRefresh = false;\n\n\t\t\t\t\tlocalStorage.clear();\n\t\t\t\t\tAuthService.authToken = '';\n\t\t\t\t\tAuthService.refreshToken = '';\n\t\t\t\t\tthis.authService.user = undefined;\n\n\t\t\t\t\tthis.navCtrl.navigateRoot('auth');\n\t\t\t\t\treturn throwError(() => errors[0]);\n\t\t\t\t} else if (errors[0].extensions.code === 'UNAUTHORIZED' && errors[0].message.includes('Token') && !this.isRefresh) {\n\t\t\t\t\tthis.isRefresh = true;\n\n\t\t\t\t\treturn this.authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(\n\t\t\t\t\t\tswitchMap(({ data }) => {\n\t\t\t\t\t\t\tthis.isRefresh = false;\n\n\t\t\t\t\t\t\tconst { accessToken, refreshToken } = data!.authMsRefreshAccessToken;\n\n\t\t\t\t\t\t\tAuthService.authToken = accessToken!;\n\t\t\t\t\t\t\tAuthService.refreshToken = refreshToken!;\n\n\t\t\t\t\t\t\tlocalStorage.setItem('authToken', accessToken!);\n\t\t\t\t\t\t\tlocalStorage.setItem('refreshToken', refreshToken!);\n\n\t\t\t\t\t\t\treturn next.handle(request.clone({\n\t\t\t\t\t\t\t\tsetHeaders: {\n\t\t\t\t\t\t\t\t\tauthorization: accessToken!,\n\t\t\t\t\t\t\t\t\tproject: 'unipin'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn throwError(() => errors[0]);\n\t\t\t})\n\t\t);\n }\n}\n"],"names":["i1","i2.PermissionService","i3","i1.PermissionService","i2","i4","i1.GridService","i2.AuditService","i6.TabGroupComponent","i7.TabContentComponent","i2.ProfileService","i2.AuthService"],"mappings":"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"}