@mysteryinfosolutions/api-core 1.2.1 → 1.3.1

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":"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}","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
@@ -66,6 +56,16 @@ interface IResponse<T> {
66
56
  type PagedResponse<T> = IResponse<IMultiresult<T>>;
67
57
  type SingleResponse<T> = IResponse<T>;
68
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
+
69
69
  declare abstract class BaseService<T, // Full model type
70
70
  TFilter extends Partial<T> & Filter = Partial<T> & Filter, // Filter: model fields + pagination/sorting
71
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.1",
3
+ "version": "1.3.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0",