@masterteam/audit-logs 0.0.2 → 0.0.3

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.
@@ -6,6 +6,7 @@
6
6
  "user": "المستخدم",
7
7
  "activity": "النشاط",
8
8
  "ip-address": "عنوان IP",
9
- "date": "التاريخ"
9
+ "date": "التاريخ",
10
+ "start-date": "تاريخ البداية"
10
11
  }
11
12
  }
@@ -6,6 +6,7 @@
6
6
  "user": "User",
7
7
  "activity": "Activity",
8
8
  "ip-address": "IP Address",
9
- "date": "Date"
9
+ "date": "Date",
10
+ "start-date": "Start Date"
10
11
  }
11
12
  }
@@ -235,7 +235,7 @@ class AuditLogsList {
235
235
  customCellTpl: this.userCol(),
236
236
  filterConfig: {
237
237
  type: 'user',
238
- label: 'User',
238
+ label: this.translocoService.translate('audit-logs.user'),
239
239
  context: this.context,
240
240
  apiUrl: 'Identity/users',
241
241
  },
@@ -251,7 +251,10 @@ class AuditLogsList {
251
251
  {
252
252
  key: 'date.displayValue',
253
253
  label: this.translocoService.translate('audit-logs.date'),
254
- filterConfig: { type: 'date', label: 'Start Date' },
254
+ filterConfig: {
255
+ type: 'date',
256
+ label: this.translocoService.translate('audit-logs.start-date'),
257
+ },
255
258
  },
256
259
  ], ...(ngDevMode ? [{ debugName: "tableColumns" }] : []));
257
260
  loading = this.facade.isLoadingAuditLogs;
@@ -280,7 +283,7 @@ class AuditLogsList {
280
283
  this.facade.getAuditLogs(event.currentPage, event.pageSize, apiFilters);
281
284
  }
282
285
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AuditLogsList, deps: [], target: i0.ɵɵFactoryTarget.Component });
283
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.3", type: AuditLogsList, isStandalone: true, selector: "mt-audit-logs-list", viewQueries: [{ propertyName: "userCol", first: true, predicate: ["userCol"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <mt-table\r\n [data]=\"auditLogs()\"\r\n [columns]=\"tableColumns()\"\r\n [loading]=\"loading()\"\r\n [lazy]=\"true\"\r\n [showFilters]=\"true\"\r\n [exportable]=\"true\"\r\n [generalSearch]=\"true\"\r\n [lazyTotalRecords]=\"fullDataAuditLogs().totalCount\"\r\n (lazyLoad)=\"onLazyLoad($event)\"\r\n >\r\n </mt-table>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"> </mt-avatar>\r\n {{ row.originalUserId?.displayName }}\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: Table, selector: "mt-table", inputs: ["filters", "data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "clickableRows", "generalSearch", "showFilters", "loading", "updating", "lazy", "lazyTotalRecords", "reorderableColumns", "reorderableRows", "dataKey", "exportable", "exportFilename", "actionShape", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "lazyLoad", "columnReorder", "rowReorder", "rowClick", "filtersChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.3", type: AuditLogsList, isStandalone: true, selector: "mt-audit-logs-list", viewQueries: [{ propertyName: "userCol", first: true, predicate: ["userCol"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <mt-table\r\n [data]=\"auditLogs()\"\r\n [columns]=\"tableColumns()\"\r\n [loading]=\"loading()\"\r\n [lazy]=\"true\"\r\n [showFilters]=\"true\"\r\n [exportable]=\"true\"\r\n [generalSearch]=\"true\"\r\n [lazyTotalRecords]=\"fullDataAuditLogs().totalCount\"\r\n (lazyLoad)=\"onLazyLoad($event)\"\r\n >\r\n </mt-table>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"> </mt-avatar>\r\n {{ row.originalUserId?.displayName }}\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkeletonModule }, { kind: "component", type: Table, selector: "mt-table", inputs: ["filters", "data", "columns", "rowActions", "size", "showGridlines", "stripedRows", "selectableRows", "clickableRows", "generalSearch", "lazyLocalSearch", "showFilters", "loading", "updating", "lazy", "lazyLocalSort", "lazyTotalRecords", "reorderableColumns", "reorderableRows", "dataKey", "exportable", "exportFilename", "actionShape", "tabs", "tabsOptionLabel", "tabsOptionValue", "activeTab", "actions", "paginatorPosition", "pageSize", "currentPage", "first", "filterTerm"], outputs: ["selectionChange", "cellChange", "lazyLoad", "columnReorder", "rowReorder", "rowClick", "filtersChange", "activeTabChange", "onTabChange", "pageSizeChange", "currentPageChange", "firstChange", "filterTermChange"] }, { kind: "component", type: Avatar, selector: "mt-avatar", inputs: ["label", "icon", "image", "styleClass", "size", "shape", "badge", "badgeSize", "badgeSeverity"], outputs: ["onImageError"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
284
287
  }
285
288
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: AuditLogsList, decorators: [{
286
289
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"masterteam-audit-logs.mjs","sources":["../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs.html","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.model.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.actions.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.state.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.facade.ts","../../../../packages/masterteam/audit-logs/src/lib/utils/date-normalizer.util.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs-list/audit-logs-list.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs-list/audit-logs-list.html","../../../../packages/masterteam/audit-logs/src/store/index.ts","../../../../packages/masterteam/audit-logs/src/masterteam-audit-logs.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Page } from '@masterteam/components/page';\r\n\r\n@Component({\r\n selector: 'mt-audit-logs',\r\n imports: [Page, RouterOutlet, TranslocoDirective, Breadcrumb],\r\n templateUrl: './audit-logs.html',\r\n styleUrl: './audit-logs.scss',\r\n})\r\nexport default class AuditLogs {\r\n private readonly router = inject(Router);\r\n private readonly translocoService = inject(TranslocoService);\r\n\r\n breadcrumbItems: { label?: string; routerLink?: string; icon?: string }[] = [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'product-settings.product-settings',\r\n ),\r\n routerLink: '/control-panel/product-settings',\r\n },\r\n { label: this.translocoService.translate('audit-logs.audit-logs') },\r\n ];\r\n goBack() {\r\n this.router.navigate(['control-panel/product-settings']);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('audit-logs.audit-logs')\"\r\n [avatarIcon]=\"'time.clock-fast-forward'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-lime-50)',\r\n '--p-avatar-color': 'var(--p-lime-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <h3 class=\"font-bold text-xl\">{{ t(\"audit-logs.audit-logs\") }}</h3>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems\"\r\n [styleClass]=\"'flex justify-start mx-1 mb-4'\"\r\n ></mt-breadcrumb>\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n","import { LoadingStateShape } from '../utils/state-helpers';\r\n\r\nexport interface AuditLog {\r\n event?: string;\r\n module?: string;\r\n originalUserId?: {\r\n id?: string;\r\n userId?: string;\r\n displayName?: string;\r\n mobile?: string;\r\n userName?: string;\r\n email?: string;\r\n photo?: string;\r\n };\r\n date?: {\r\n displayValue?: string;\r\n actualValue?: string;\r\n };\r\n description?: string;\r\n title?: string;\r\n userIpAddress?: string;\r\n}\r\n\r\nexport enum AuditLogsActionKey {\r\n GetAuditLogs = 'getAuditLogs',\r\n}\r\n\r\nexport interface AuditLogsStateModel extends LoadingStateShape<AuditLogsActionKey> {\r\n auditLogs: {\r\n items: AuditLog[];\r\n page?: number;\r\n pageSize?: number;\r\n totalCount?: number;\r\n };\r\n page: number;\r\n pageSize: number;\r\n}\r\n","export class GetAuditLogs {\r\n static readonly type = '[AuditLogs] Get Audit Logs';\r\n constructor(\r\n public page: number,\r\n public pageSize: number,\r\n public filters?: Record<string, any>,\r\n ) {}\r\n}\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport { GetAuditLogs } from './audit-logs.actions';\r\nimport {\r\n AuditLog,\r\n AuditLogsActionKey,\r\n AuditLogsStateModel,\r\n} from './audit-logs.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { Response } from './api.model';\r\nimport { CrudStateBase, handleApiRequest } from '@masterteam/components';\r\n\r\n@State<AuditLogsStateModel>({\r\n name: 'auditLogs',\r\n defaults: {\r\n auditLogs: { items: [] },\r\n page: 1,\r\n pageSize: 10,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class AuditLogsState extends CrudStateBase<\r\n AuditLog,\r\n AuditLogsStateModel,\r\n AuditLogsActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Selectors - Individual data selectors for fine-grained reactivity\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getAuditLogs(state: AuditLogsStateModel) {\r\n return state.auditLogs;\r\n }\r\n\r\n @Selector()\r\n static getPage(state: AuditLogsStateModel): number {\r\n return state.page;\r\n }\r\n\r\n @Selector()\r\n static getPageSize(state: AuditLogsStateModel): number {\r\n return state.pageSize;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - REQUIRED for optimal performance\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getLoadingActive(state: AuditLogsStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(state: AuditLogsStateModel): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // Actions\r\n // ============================================================================\r\n\r\n @Action(GetAuditLogs)\r\n getAuditLogs(\r\n ctx: StateContext<AuditLogsStateModel>,\r\n { page, pageSize, filters }: GetAuditLogs,\r\n ) {\r\n const params = {\r\n page: page.toString(),\r\n pageSize: pageSize.toString(),\r\n ...filters,\r\n };\r\n const req$ = this.http.get<Response<AuditLog[]>>(`app/audittrail`, {\r\n params: params,\r\n });\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: AuditLogsActionKey.GetAuditLogs,\r\n request$: req$,\r\n onSuccess: (response: any) => ({\r\n auditLogs: response.data ?? [],\r\n page,\r\n pageSize,\r\n }),\r\n });\r\n }\r\n}\r\n","import { Injectable, computed, inject } from '@angular/core';\r\nimport { Store, select } from '@ngxs/store';\r\nimport { GetAuditLogs } from './audit-logs.actions';\r\nimport { AuditLogsActionKey } from './audit-logs.model';\r\nimport { AuditLogsState } from './audit-logs.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuditLogsFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly auditLogs = select(AuditLogsState.getAuditLogs);\r\n readonly page = select(AuditLogsState.getPage);\r\n readonly pageSize = select(AuditLogsState.getPageSize);\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(AuditLogsState.getLoadingActive);\r\n private readonly errors = select(AuditLogsState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingAuditLogs = computed(() =>\r\n this.loadingActive().includes(AuditLogsActionKey.GetAuditLogs),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly getAuditLogsError = computed(\r\n () => this.errors()[AuditLogsActionKey.GetAuditLogs] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n getAuditLogs(\r\n page: number = 1,\r\n pageSize: number = 10,\r\n filters?: Record<string, any>,\r\n ) {\r\n return this.store.dispatch(new GetAuditLogs(page, pageSize, filters));\r\n }\r\n}\r\n","/**\r\n * Recursively normalizes Date objects to YYYY-MM-DDTHH:mm:ss format.\r\n * Prevents UTC timezone leaks by converting dates to local datetime strings.\r\n */\r\nexport function normalizeDates(value: any): any {\r\n if (value instanceof Date) {\r\n const y = value.getFullYear();\r\n const m = String(value.getMonth() + 1).padStart(2, '0');\r\n const d = String(value.getDate()).padStart(2, '0');\r\n const h = String(value.getHours()).padStart(2, '0');\r\n const min = String(value.getMinutes()).padStart(2, '0');\r\n const s = String(value.getSeconds()).padStart(2, '0');\r\n return `${y}-${m}-${d}T${h}:${min}:${s}`;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map((v) => normalizeDates(v));\r\n }\r\n\r\n // Skip special objects that shouldn't be normalized (FormData, File, Blob, etc.)\r\n if (value !== null && typeof value === 'object') {\r\n // Check if it's a plain object (not FormData, File, Blob, or other special objects)\r\n if (value.constructor !== Object) {\r\n return value;\r\n }\r\n\r\n return Object.keys(value).reduce((acc, key) => {\r\n acc[key] = normalizeDates(value[key]);\r\n return acc;\r\n }, {} as any);\r\n }\r\n\r\n return value;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n computed,\r\n inject,\r\n linkedSignal,\r\n TemplateRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { ColumnDef, Table } from '@masterteam/components/table';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { Avatar } from '@masterteam/components/avatar';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { AuditLogsFacade } from '../../../store/audit-logs';\r\nimport { normalizeDates } from '../../utils/date-normalizer.util';\r\nimport { HttpContext } from '@angular/common/http';\r\nimport { REQUEST_CONTEXT } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-audit-logs-list',\r\n styleUrl: './audit-logs-list.css',\r\n templateUrl: './audit-logs-list.html',\r\n standalone: true,\r\n imports: [CommonModule, SkeletonModule, Table, Avatar, TranslocoDirective],\r\n})\r\nexport default class AuditLogsList {\r\n userCol = viewChild.required<TemplateRef<any>>('userCol');\r\n\r\n private readonly facade = inject(AuditLogsFacade);\r\n private readonly translocoService = inject(TranslocoService);\r\n context = new HttpContext().set(REQUEST_CONTEXT, {\r\n useBaseUrl: true,\r\n });\r\n auditLogs = computed(() => this.facade.auditLogs()?.items);\r\n fullDataAuditLogs = computed(() => this.facade.auditLogs());\r\n\r\n tableColumns = linkedSignal<ColumnDef[]>(() => [\r\n {\r\n key: 'name',\r\n label: this.translocoService.translate('audit-logs.title'),\r\n },\r\n {\r\n key: 'module',\r\n label: this.translocoService.translate('audit-logs.module'),\r\n },\r\n {\r\n key: 'originalUserId.userName',\r\n label: this.translocoService.translate('audit-logs.user'),\r\n type: 'custom',\r\n customCellTpl: this.userCol(),\r\n filterConfig: {\r\n type: 'user',\r\n label: 'User',\r\n context: this.context,\r\n apiUrl: 'Identity/users',\r\n },\r\n },\r\n {\r\n key: 'description',\r\n label: this.translocoService.translate('audit-logs.activity'),\r\n },\r\n {\r\n key: 'userIpAddress',\r\n label: this.translocoService.translate('audit-logs.ip-address'),\r\n },\r\n {\r\n key: 'date.displayValue',\r\n label: this.translocoService.translate('audit-logs.date'),\r\n filterConfig: { type: 'date', label: 'Start Date' },\r\n },\r\n ]);\r\n\r\n loading = this.facade.isLoadingAuditLogs;\r\n\r\n onLazyLoad(event: any) {\r\n // Transform filters to API format\r\n const apiFilters: Record<string, any> = {};\r\n\r\n if (event.filters) {\r\n // Handle date filter transformation\r\n if (event.filters['date.displayValue']) {\r\n const dateFilter = event.filters['date.displayValue'];\r\n if (dateFilter.from) {\r\n apiFilters['startDate'] = normalizeDates(dateFilter.from);\r\n }\r\n if (dateFilter.to) {\r\n apiFilters['endDate'] = normalizeDates(dateFilter.to);\r\n }\r\n }\r\n if (event.filters['generalSearch']) {\r\n apiFilters['searchTerm'] = event.filters['generalSearch'];\r\n }\r\n if (event.filters['originalUserId.userName']) {\r\n const userFilter = event.filters['originalUserId.userName'];\r\n apiFilters['userId'] = userFilter?.userId;\r\n }\r\n }\r\n\r\n this.facade.getAuditLogs(event.currentPage, event.pageSize, apiFilters);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-table\r\n [data]=\"auditLogs()\"\r\n [columns]=\"tableColumns()\"\r\n [loading]=\"loading()\"\r\n [lazy]=\"true\"\r\n [showFilters]=\"true\"\r\n [exportable]=\"true\"\r\n [generalSearch]=\"true\"\r\n [lazyTotalRecords]=\"fullDataAuditLogs().totalCount\"\r\n (lazyLoad)=\"onLazyLoad($event)\"\r\n >\r\n </mt-table>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"> </mt-avatar>\r\n {{ row.originalUserId?.displayName }}\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n","// store/index.ts\r\nexport * from './audit-logs';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"masterteam-audit-logs.mjs","sources":["../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs.html","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.model.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.actions.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.state.ts","../../../../packages/masterteam/audit-logs/src/store/audit-logs/audit-logs.facade.ts","../../../../packages/masterteam/audit-logs/src/lib/utils/date-normalizer.util.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs-list/audit-logs-list.ts","../../../../packages/masterteam/audit-logs/src/lib/audit-logs/audit-logs-list/audit-logs-list.html","../../../../packages/masterteam/audit-logs/src/store/index.ts","../../../../packages/masterteam/audit-logs/src/masterteam-audit-logs.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { Breadcrumb } from '@masterteam/components/breadcrumb';\r\nimport { Page } from '@masterteam/components/page';\r\n\r\n@Component({\r\n selector: 'mt-audit-logs',\r\n imports: [Page, RouterOutlet, TranslocoDirective, Breadcrumb],\r\n templateUrl: './audit-logs.html',\r\n styleUrl: './audit-logs.scss',\r\n})\r\nexport default class AuditLogs {\r\n private readonly router = inject(Router);\r\n private readonly translocoService = inject(TranslocoService);\r\n\r\n breadcrumbItems: { label?: string; routerLink?: string; icon?: string }[] = [\r\n {\r\n label: '',\r\n icon: 'general.home-line',\r\n routerLink: '/control-panel/workspaces',\r\n },\r\n {\r\n label: this.translocoService.translate(\r\n 'product-settings.product-settings',\r\n ),\r\n routerLink: '/control-panel/product-settings',\r\n },\r\n { label: this.translocoService.translate('audit-logs.audit-logs') },\r\n ];\r\n goBack() {\r\n this.router.navigate(['control-panel/product-settings']);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-page\r\n [title]=\"t('audit-logs.audit-logs')\"\r\n [avatarIcon]=\"'time.clock-fast-forward'\"\r\n [avatarStyle]=\"{\r\n '--p-avatar-background': 'var(--p-lime-50)',\r\n '--p-avatar-color': 'var(--p-lime-700)',\r\n }\"\r\n (backButtonClick)=\"goBack()\"\r\n backButton\r\n >\r\n <h3 class=\"font-bold text-xl\">{{ t(\"audit-logs.audit-logs\") }}</h3>\r\n <mt-breadcrumb\r\n [items]=\"breadcrumbItems\"\r\n [styleClass]=\"'flex justify-start mx-1 mb-4'\"\r\n ></mt-breadcrumb>\r\n <router-outlet />\r\n </mt-page>\r\n</ng-container>\r\n","import { LoadingStateShape } from '../utils/state-helpers';\r\n\r\nexport interface AuditLog {\r\n event?: string;\r\n module?: string;\r\n originalUserId?: {\r\n id?: string;\r\n userId?: string;\r\n displayName?: string;\r\n mobile?: string;\r\n userName?: string;\r\n email?: string;\r\n photo?: string;\r\n };\r\n date?: {\r\n displayValue?: string;\r\n actualValue?: string;\r\n };\r\n description?: string;\r\n title?: string;\r\n userIpAddress?: string;\r\n}\r\n\r\nexport enum AuditLogsActionKey {\r\n GetAuditLogs = 'getAuditLogs',\r\n}\r\n\r\nexport interface AuditLogsStateModel extends LoadingStateShape<AuditLogsActionKey> {\r\n auditLogs: {\r\n items: AuditLog[];\r\n page?: number;\r\n pageSize?: number;\r\n totalCount?: number;\r\n };\r\n page: number;\r\n pageSize: number;\r\n}\r\n","export class GetAuditLogs {\r\n static readonly type = '[AuditLogs] Get Audit Logs';\r\n constructor(\r\n public page: number,\r\n public pageSize: number,\r\n public filters?: Record<string, any>,\r\n ) {}\r\n}\r\n","import { State, Action, StateContext, Selector } from '@ngxs/store';\r\nimport { GetAuditLogs } from './audit-logs.actions';\r\nimport {\r\n AuditLog,\r\n AuditLogsActionKey,\r\n AuditLogsStateModel,\r\n} from './audit-logs.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { Response } from './api.model';\r\nimport { CrudStateBase, handleApiRequest } from '@masterteam/components';\r\n\r\n@State<AuditLogsStateModel>({\r\n name: 'auditLogs',\r\n defaults: {\r\n auditLogs: { items: [] },\r\n page: 1,\r\n pageSize: 10,\r\n loadingActive: [],\r\n errors: {},\r\n },\r\n})\r\n@Injectable()\r\nexport class AuditLogsState extends CrudStateBase<\r\n AuditLog,\r\n AuditLogsStateModel,\r\n AuditLogsActionKey\r\n> {\r\n private http = inject(HttpClient);\r\n\r\n // ============================================================================\r\n // Selectors - Individual data selectors for fine-grained reactivity\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getAuditLogs(state: AuditLogsStateModel) {\r\n return state.auditLogs;\r\n }\r\n\r\n @Selector()\r\n static getPage(state: AuditLogsStateModel): number {\r\n return state.page;\r\n }\r\n\r\n @Selector()\r\n static getPageSize(state: AuditLogsStateModel): number {\r\n return state.pageSize;\r\n }\r\n\r\n // ============================================================================\r\n // Loading/Error Slice Selectors - REQUIRED for optimal performance\r\n // ============================================================================\r\n\r\n @Selector()\r\n static getLoadingActive(state: AuditLogsStateModel): string[] {\r\n return state.loadingActive;\r\n }\r\n\r\n @Selector()\r\n static getErrors(state: AuditLogsStateModel): Record<string, string | null> {\r\n return state.errors;\r\n }\r\n\r\n // ============================================================================\r\n // Actions\r\n // ============================================================================\r\n\r\n @Action(GetAuditLogs)\r\n getAuditLogs(\r\n ctx: StateContext<AuditLogsStateModel>,\r\n { page, pageSize, filters }: GetAuditLogs,\r\n ) {\r\n const params = {\r\n page: page.toString(),\r\n pageSize: pageSize.toString(),\r\n ...filters,\r\n };\r\n const req$ = this.http.get<Response<AuditLog[]>>(`app/audittrail`, {\r\n params: params,\r\n });\r\n\r\n return handleApiRequest({\r\n ctx,\r\n key: AuditLogsActionKey.GetAuditLogs,\r\n request$: req$,\r\n onSuccess: (response: any) => ({\r\n auditLogs: response.data ?? [],\r\n page,\r\n pageSize,\r\n }),\r\n });\r\n }\r\n}\r\n","import { Injectable, computed, inject } from '@angular/core';\r\nimport { Store, select } from '@ngxs/store';\r\nimport { GetAuditLogs } from './audit-logs.actions';\r\nimport { AuditLogsActionKey } from './audit-logs.model';\r\nimport { AuditLogsState } from './audit-logs.state';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuditLogsFacade {\r\n private readonly store = inject(Store);\r\n\r\n // ============================================================================\r\n // Data Selectors - Memoized by NGXS (fine-grained reactivity)\r\n // ============================================================================\r\n readonly auditLogs = select(AuditLogsState.getAuditLogs);\r\n readonly page = select(AuditLogsState.getPage);\r\n readonly pageSize = select(AuditLogsState.getPageSize);\r\n\r\n // ============================================================================\r\n // Loading/Error Slices - Memoized by NGXS\r\n // ============================================================================\r\n private readonly loadingActive = select(AuditLogsState.getLoadingActive);\r\n private readonly errors = select(AuditLogsState.getErrors);\r\n\r\n // ============================================================================\r\n // Loading Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly isLoadingAuditLogs = computed(() =>\r\n this.loadingActive().includes(AuditLogsActionKey.GetAuditLogs),\r\n );\r\n\r\n // ============================================================================\r\n // Error Signals - Computed from slice (minimal reactivity)\r\n // ============================================================================\r\n readonly getAuditLogsError = computed(\r\n () => this.errors()[AuditLogsActionKey.GetAuditLogs] ?? null,\r\n );\r\n\r\n // ============================================================================\r\n // Action Dispatchers\r\n // ============================================================================\r\n getAuditLogs(\r\n page: number = 1,\r\n pageSize: number = 10,\r\n filters?: Record<string, any>,\r\n ) {\r\n return this.store.dispatch(new GetAuditLogs(page, pageSize, filters));\r\n }\r\n}\r\n","/**\r\n * Recursively normalizes Date objects to YYYY-MM-DDTHH:mm:ss format.\r\n * Prevents UTC timezone leaks by converting dates to local datetime strings.\r\n */\r\nexport function normalizeDates(value: any): any {\r\n if (value instanceof Date) {\r\n const y = value.getFullYear();\r\n const m = String(value.getMonth() + 1).padStart(2, '0');\r\n const d = String(value.getDate()).padStart(2, '0');\r\n const h = String(value.getHours()).padStart(2, '0');\r\n const min = String(value.getMinutes()).padStart(2, '0');\r\n const s = String(value.getSeconds()).padStart(2, '0');\r\n return `${y}-${m}-${d}T${h}:${min}:${s}`;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.map((v) => normalizeDates(v));\r\n }\r\n\r\n // Skip special objects that shouldn't be normalized (FormData, File, Blob, etc.)\r\n if (value !== null && typeof value === 'object') {\r\n // Check if it's a plain object (not FormData, File, Blob, or other special objects)\r\n if (value.constructor !== Object) {\r\n return value;\r\n }\r\n\r\n return Object.keys(value).reduce((acc, key) => {\r\n acc[key] = normalizeDates(value[key]);\r\n return acc;\r\n }, {} as any);\r\n }\r\n\r\n return value;\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n computed,\r\n inject,\r\n linkedSignal,\r\n TemplateRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport { ColumnDef, Table } from '@masterteam/components/table';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { Avatar } from '@masterteam/components/avatar';\r\nimport { TranslocoDirective, TranslocoService } from '@jsverse/transloco';\r\nimport { AuditLogsFacade } from '../../../store/audit-logs';\r\nimport { normalizeDates } from '../../utils/date-normalizer.util';\r\nimport { HttpContext } from '@angular/common/http';\r\nimport { REQUEST_CONTEXT } from '@masterteam/components';\r\n\r\n@Component({\r\n selector: 'mt-audit-logs-list',\r\n styleUrl: './audit-logs-list.css',\r\n templateUrl: './audit-logs-list.html',\r\n standalone: true,\r\n imports: [CommonModule, SkeletonModule, Table, Avatar, TranslocoDirective],\r\n})\r\nexport default class AuditLogsList {\r\n userCol = viewChild.required<TemplateRef<any>>('userCol');\r\n\r\n private readonly facade = inject(AuditLogsFacade);\r\n private readonly translocoService = inject(TranslocoService);\r\n context = new HttpContext().set(REQUEST_CONTEXT, {\r\n useBaseUrl: true,\r\n });\r\n auditLogs = computed(() => this.facade.auditLogs()?.items);\r\n fullDataAuditLogs = computed(() => this.facade.auditLogs());\r\n\r\n tableColumns = linkedSignal<ColumnDef[]>(() => [\r\n {\r\n key: 'name',\r\n label: this.translocoService.translate('audit-logs.title'),\r\n },\r\n {\r\n key: 'module',\r\n label: this.translocoService.translate('audit-logs.module'),\r\n },\r\n {\r\n key: 'originalUserId.userName',\r\n label: this.translocoService.translate('audit-logs.user'),\r\n type: 'custom',\r\n customCellTpl: this.userCol(),\r\n filterConfig: {\r\n type: 'user',\r\n label: this.translocoService.translate('audit-logs.user'),\r\n context: this.context,\r\n apiUrl: 'Identity/users',\r\n },\r\n },\r\n {\r\n key: 'description',\r\n label: this.translocoService.translate('audit-logs.activity'),\r\n },\r\n {\r\n key: 'userIpAddress',\r\n label: this.translocoService.translate('audit-logs.ip-address'),\r\n },\r\n {\r\n key: 'date.displayValue',\r\n label: this.translocoService.translate('audit-logs.date'),\r\n filterConfig: {\r\n type: 'date',\r\n label: this.translocoService.translate('audit-logs.start-date'),\r\n },\r\n },\r\n ]);\r\n\r\n loading = this.facade.isLoadingAuditLogs;\r\n\r\n onLazyLoad(event: any) {\r\n // Transform filters to API format\r\n const apiFilters: Record<string, any> = {};\r\n\r\n if (event.filters) {\r\n // Handle date filter transformation\r\n if (event.filters['date.displayValue']) {\r\n const dateFilter = event.filters['date.displayValue'];\r\n if (dateFilter.from) {\r\n apiFilters['startDate'] = normalizeDates(dateFilter.from);\r\n }\r\n if (dateFilter.to) {\r\n apiFilters['endDate'] = normalizeDates(dateFilter.to);\r\n }\r\n }\r\n if (event.filters['generalSearch']) {\r\n apiFilters['searchTerm'] = event.filters['generalSearch'];\r\n }\r\n if (event.filters['originalUserId.userName']) {\r\n const userFilter = event.filters['originalUserId.userName'];\r\n apiFilters['userId'] = userFilter?.userId;\r\n }\r\n }\r\n\r\n this.facade.getAuditLogs(event.currentPage, event.pageSize, apiFilters);\r\n }\r\n}\r\n","<ng-container *transloco=\"let t\">\r\n <mt-table\r\n [data]=\"auditLogs()\"\r\n [columns]=\"tableColumns()\"\r\n [loading]=\"loading()\"\r\n [lazy]=\"true\"\r\n [showFilters]=\"true\"\r\n [exportable]=\"true\"\r\n [generalSearch]=\"true\"\r\n [lazyTotalRecords]=\"fullDataAuditLogs().totalCount\"\r\n (lazyLoad)=\"onLazyLoad($event)\"\r\n >\r\n </mt-table>\r\n\r\n <ng-template #userCol let-row>\r\n <div class=\"flex items-center gap-2\">\r\n <mt-avatar [icon]=\"'custom.user-pp'\"> </mt-avatar>\r\n {{ row.originalUserId?.displayName }}\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n","// store/index.ts\r\nexport * from './audit-logs';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/audit-logs",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/audit-logs",
6
6
  "linkDirectory": false,
@@ -20,9 +20,9 @@
20
20
  "tailwindcss": "^4.1.17",
21
21
  "tailwindcss-primeui": "^0.6.1",
22
22
  "@ngxs/store": "^20.1.0",
23
- "@masterteam/forms": "^0.0.56",
24
- "@masterteam/components": "^0.0.116",
25
- "@masterteam/icons": "^0.0.14"
23
+ "@masterteam/icons": "^0.0.14",
24
+ "@masterteam/components": "^0.0.124",
25
+ "@masterteam/forms": "^0.0.59"
26
26
  },
27
27
  "sideEffects": false,
28
28
  "exports": {