@mysteryinfosolutions/api-core 1.2.0 → 1.3.0

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.
@@ -65,15 +65,6 @@ class Filter {
65
65
  searchColumns;
66
66
  selectColumns;
67
67
  selectMode;
68
- toQueryParams() {
69
- const result = {};
70
- Object.entries(this).forEach(([key, value]) => {
71
- if (value !== undefined && value !== null && value !== '') {
72
- result[key] = value;
73
- }
74
- });
75
- return result;
76
- }
77
68
  }
78
69
 
79
70
  class BaseService {
@@ -1 +1 @@
1
- {"version":3,"file":"mysteryinfosolutions-api-core.mjs","sources":["../../../projects/api-core/src/lib/api-core.ts","../../../projects/api-core/src/lib/utils/query-utils.ts","../../../projects/api-core/src/lib/models/sort.model.ts","../../../projects/api-core/src/lib/models/filter.model.ts","../../../projects/api-core/src/lib/services/base.service.ts","../../../projects/api-core/src/public-api.ts","../../../projects/api-core/src/mysteryinfosolutions-api-core.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-api-core',\r\n imports: [],\r\n template: `\r\n <p>\r\n api-core works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class ApiCore {\r\n\r\n}\r\n","import { SortItem } from '../models/sort.model';\r\n\r\nexport const sortObjectToString = (sortItems: SortItem[]): string => {\r\n if (!Array.isArray(sortItems) || sortItems.length === 0) return '';\r\n return sortItems.map(s => `${s.field}:${s.order}`).join(',');\r\n};\r\n\r\nexport const jsonToQueryString = (json: any): string => {\r\n if (!json || typeof json !== 'object') return '';\r\n\r\n if (json.hasOwnProperty('sort')) {\r\n json.sort = sortObjectToString(json.sort);\r\n }\r\n\r\n const queryArray = Object.keys(json)\r\n .filter(key => json[key] !== undefined && json[key] !== null)\r\n .map(key => {\r\n if (Array.isArray(json[key])) {\r\n return `${encodeURIComponent(key)}=${encodeURIComponent('[' + json[key].toString() + ']')}`;\r\n } else {\r\n return `${encodeURIComponent(key)}=${encodeURIComponent(json[key])}`;\r\n }\r\n });\r\n\r\n return queryArray.length > 0 ? `?${queryArray.join('&')}` : '';\r\n};\r\n\r\nexport const isEmpty = (obj: any): boolean => {\r\n return !obj || Object.keys(obj).length === 0;\r\n};\r\n","export class SortItem {\r\n constructor(\r\n public field: string,\r\n public order: 'ASC' | 'DESC'\r\n ) {}\r\n}\r\n\r\n","import { SortItem } from './sort.model';\r\nimport { SELECT_MODE } from '../enums/selectmodes.enum';\r\n\r\nexport abstract class Filter {\r\n dateRangeColumn?: string;\r\n dateRangeFrom?: string;\r\n dateRangeTo?: string;\r\n\r\n page: number = 1;\r\n pageLength: number = 10;\r\n\r\n sort?: SortItem[] = [];\r\n\r\n search?: string;\r\n searchColumns?: string;\r\n selectColumns?: string;\r\n selectMode?: SELECT_MODE;\r\n\r\n toQueryParams(): Record<string, any> {\r\n const result: any = {};\r\n Object.entries(this).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null && value !== '') {\r\n result[key] = value;\r\n }\r\n });\r\n return result;\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { jsonToQueryString, isEmpty } from '../utils/query-utils';\r\nimport { IMultiresult, IResponse } from '../models/response.model';\r\nimport { Filter } from '../models/filter.model';\r\n\r\nexport abstract class BaseService<\r\n T, // Full model type\r\n TFilter extends Partial<T> & Filter = Partial<T> & Filter, // Filter: model fields + pagination/sorting\r\n TCreate = Partial<T>, // DTO for create\r\n TUpdate = Partial<T> // DTO for update\r\n> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected baseUrl: string\r\n ) { }\r\n\r\n getAll(filter: TFilter = {} as TFilter): Observable<IResponse<IMultiresult<T>>> {\r\n const query = !isEmpty(filter) ? jsonToQueryString(filter) : '';\r\n return this.http.get<IResponse<IMultiresult<T>>>(`${this.baseUrl}${query}`);\r\n }\r\n\r\n getDetails(id: number): Observable<IResponse<T>> {\r\n return this.http.get<IResponse<T>>(`${this.baseUrl}/${id}`);\r\n }\r\n\r\n create(data: TCreate): Observable<IResponse<T>> {\r\n return this.http.post<IResponse<T>>(this.baseUrl, data);\r\n }\r\n\r\n update(id: number, data: TUpdate): Observable<IResponse<T>> {\r\n return this.http.put<IResponse<T>>(`${this.baseUrl}/${id}`, data);\r\n }\r\n\r\n delete(id: number, method: 'soft' | 'hard' = 'soft'): Observable<any> {\r\n const methodQuery = `?method=${method}`;\r\n if (method === 'soft') {\r\n return this.http.put(`${this.baseUrl}/${id}${methodQuery}`, {});\r\n }\r\n return this.http.delete(`${this.baseUrl}/${id}${methodQuery}`);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of api-core\r\n */\r\n\r\nexport * from './lib/api-core';\r\nexport * from './lib/utils/query-utils';\r\nexport * from './lib/models/sort.model';\r\nexport * from './lib/models/filter.model';\r\nexport * from './lib/models/response.model';\r\nexport * from './lib/services/base.service';\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":"mysteryinfosolutions-api-core.mjs","sources":["../../../projects/api-core/src/lib/api-core.ts","../../../projects/api-core/src/lib/utils/query-utils.ts","../../../projects/api-core/src/lib/models/sort.model.ts","../../../projects/api-core/src/lib/models/filter.model.ts","../../../projects/api-core/src/lib/services/base.service.ts","../../../projects/api-core/src/public-api.ts","../../../projects/api-core/src/mysteryinfosolutions-api-core.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-api-core',\r\n imports: [],\r\n template: `\r\n <p>\r\n api-core works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class ApiCore {\r\n\r\n}\r\n","import { SortItem } from '../models';\r\n\r\nexport const sortObjectToString = (sortItems: SortItem[]): string => {\r\n if (!Array.isArray(sortItems) || sortItems.length === 0) return '';\r\n return sortItems.map(s => `${s.field}:${s.order}`).join(',');\r\n};\r\n\r\nexport const jsonToQueryString = (json: any): string => {\r\n if (!json || typeof json !== 'object') return '';\r\n\r\n if (json.hasOwnProperty('sort')) {\r\n json.sort = sortObjectToString(json.sort);\r\n }\r\n\r\n const queryArray = Object.keys(json)\r\n .filter(key => json[key] !== undefined && json[key] !== null)\r\n .map(key => {\r\n if (Array.isArray(json[key])) {\r\n return `${encodeURIComponent(key)}=${encodeURIComponent('[' + json[key].toString() + ']')}`;\r\n } else {\r\n return `${encodeURIComponent(key)}=${encodeURIComponent(json[key])}`;\r\n }\r\n });\r\n\r\n return queryArray.length > 0 ? `?${queryArray.join('&')}` : '';\r\n};\r\n\r\nexport const isEmpty = (obj: any): boolean => {\r\n return !obj || Object.keys(obj).length === 0;\r\n};\r\n","export class SortItem {\r\n constructor(\r\n public field: string,\r\n public order: 'ASC' | 'DESC'\r\n ) {}\r\n}\r\n\r\n","import { SortItem } from './';\r\nimport { SELECT_MODE } from '../enums';\r\n\r\nexport abstract class Filter {\r\n dateRangeColumn?: string;\r\n dateRangeFrom?: string;\r\n dateRangeTo?: string;\r\n\r\n page: number = 1;\r\n pageLength: number = 10;\r\n\r\n sort?: SortItem[] = [];\r\n\r\n search?: string;\r\n searchColumns?: string;\r\n selectColumns?: string;\r\n selectMode?: SELECT_MODE;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { jsonToQueryString, isEmpty } from '../utils/query-utils';\r\nimport { IMultiresult, IResponse, Filter } from '../models';\r\n\r\nexport abstract class BaseService<\r\n T, // Full model type\r\n TFilter extends Partial<T> & Filter = Partial<T> & Filter, // Filter: model fields + pagination/sorting\r\n TCreate = Partial<T>, // DTO for create\r\n TUpdate = Partial<T> // DTO for update\r\n> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected baseUrl: string\r\n ) { }\r\n\r\n getAll(filter: TFilter = {} as TFilter): Observable<IResponse<IMultiresult<T>>> {\r\n const query = !isEmpty(filter) ? jsonToQueryString(filter) : '';\r\n return this.http.get<IResponse<IMultiresult<T>>>(`${this.baseUrl}${query}`);\r\n }\r\n\r\n getDetails(id: number): Observable<IResponse<T>> {\r\n return this.http.get<IResponse<T>>(`${this.baseUrl}/${id}`);\r\n }\r\n\r\n create(data: TCreate): Observable<IResponse<T>> {\r\n return this.http.post<IResponse<T>>(this.baseUrl, data);\r\n }\r\n\r\n update(id: number, data: TUpdate): Observable<IResponse<T>> {\r\n return this.http.put<IResponse<T>>(`${this.baseUrl}/${id}`, data);\r\n }\r\n\r\n delete(id: number, method: 'soft' | 'hard' = 'soft'): Observable<any> {\r\n const methodQuery = `?method=${method}`;\r\n if (method === 'soft') {\r\n return this.http.put(`${this.baseUrl}/${id}${methodQuery}`, {});\r\n }\r\n return this.http.delete(`${this.baseUrl}/${id}${methodQuery}`);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of api-core\r\n */\r\n\r\nexport * from './lib/api-core';\r\nexport * from './lib/utils/query-utils';\r\nexport * from './lib/models/sort.model';\r\nexport * from './lib/models/filter.model';\r\nexport * from './lib/models/response.model';\r\nexport * from './lib/services/base.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -7,16 +7,6 @@ declare class ApiCore {
7
7
  static ɵcmp: i0.ɵɵComponentDeclaration<ApiCore, "lib-api-core", never, {}, {}, never, never, true, never>;
8
8
  }
9
9
 
10
- declare class SortItem {
11
- field: string;
12
- order: 'ASC' | 'DESC';
13
- constructor(field: string, order: 'ASC' | 'DESC');
14
- }
15
-
16
- declare const sortObjectToString: (sortItems: SortItem[]) => string;
17
- declare const jsonToQueryString: (json: any) => string;
18
- declare const isEmpty: (obj: any) => boolean;
19
-
20
10
  declare enum SELECT_MODE {
21
11
  ALL = 1,
22
12
  ONLYCOLUMNS = 2
@@ -33,7 +23,6 @@ declare abstract class Filter {
33
23
  searchColumns?: string;
34
24
  selectColumns?: string;
35
25
  selectMode?: SELECT_MODE;
36
- toQueryParams(): Record<string, any>;
37
26
  }
38
27
 
39
28
  interface IMisError {
@@ -67,6 +56,16 @@ interface IResponse<T> {
67
56
  type PagedResponse<T> = IResponse<IMultiresult<T>>;
68
57
  type SingleResponse<T> = IResponse<T>;
69
58
 
59
+ declare class SortItem {
60
+ field: string;
61
+ order: 'ASC' | 'DESC';
62
+ constructor(field: string, order: 'ASC' | 'DESC');
63
+ }
64
+
65
+ declare const sortObjectToString: (sortItems: SortItem[]) => string;
66
+ declare const jsonToQueryString: (json: any) => string;
67
+ declare const isEmpty: (obj: any) => boolean;
68
+
70
69
  declare abstract class BaseService<T, // Full model type
71
70
  TFilter extends Partial<T> & Filter = Partial<T> & Filter, // Filter: model fields + pagination/sorting
72
71
  TCreate = Partial<T>, // DTO for create
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mysteryinfosolutions/api-core",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0",