mirror of https://github.com/abpframework/abp.git
13 changed files with 5419 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||
{ |
|||
"$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", |
|||
"dest": "../../../dist/packages/feature-management/proxy", |
|||
"lib": { |
|||
"entryFile": "src/public-api.ts" |
|||
} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
export * from './proxy/feature-management'; |
|||
export * from './proxy/validation'; |
|||
@ -0,0 +1,17 @@ |
|||
# Proxy Generation Output |
|||
|
|||
This directory includes the output of the latest proxy generation. |
|||
The files and folders in it will be overwritten when proxy generation is run again. |
|||
Therefore, please do not place your own content in this folder. |
|||
|
|||
In addition, `generate-proxy.json` works like a lock file. |
|||
It includes information used by the proxy generator, so please do not delete or modify it. |
|||
|
|||
Finally, the name of the files and folders should not be changed for two reasons: |
|||
- Proxy generator will keep creating them at those paths and you will have multiple copies of the same content. |
|||
- ABP Suite generates files which include imports from this folder. |
|||
|
|||
> **Important Notice:** If you are building a module and are planning to publish to npm, |
|||
> some of the generated proxies are likely to be exported from public-api.ts file. In such a case, |
|||
> please make sure you export files directly and not from barrel exports. In other words, |
|||
> do not include index.ts exports in your public-api.ts exports. |
|||
@ -0,0 +1,29 @@ |
|||
import type { GetFeatureListResultDto, UpdateFeaturesDto } from './models'; |
|||
import { RestService } from '@abp/ng.core'; |
|||
import { Injectable } from '@angular/core'; |
|||
|
|||
@Injectable({ |
|||
providedIn: 'root', |
|||
}) |
|||
export class FeaturesService { |
|||
apiName = 'AbpFeatureManagement'; |
|||
|
|||
get = (providerName: string, providerKey: string) => |
|||
this.restService.request<any, GetFeatureListResultDto>({ |
|||
method: 'GET', |
|||
url: '/api/feature-management/features', |
|||
params: { providerName, providerKey }, |
|||
}, |
|||
{ apiName: this.apiName }); |
|||
|
|||
update = (providerName: string, providerKey: string, input: UpdateFeaturesDto) => |
|||
this.restService.request<any, void>({ |
|||
method: 'PUT', |
|||
url: '/api/feature-management/features', |
|||
params: { providerName, providerKey }, |
|||
body: input, |
|||
}, |
|||
{ apiName: this.apiName }); |
|||
|
|||
constructor(private restService: RestService) {} |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
export * from './features.service'; |
|||
export * from './models'; |
|||
@ -0,0 +1,36 @@ |
|||
import type { IStringValueType } from '../validation/string-values/models'; |
|||
|
|||
export interface FeatureDto { |
|||
name?: string; |
|||
displayName?: string; |
|||
value?: string; |
|||
provider: FeatureProviderDto; |
|||
description?: string; |
|||
valueType: IStringValueType; |
|||
depth: number; |
|||
parentName?: string; |
|||
} |
|||
|
|||
export interface FeatureGroupDto { |
|||
name?: string; |
|||
displayName?: string; |
|||
features: FeatureDto[]; |
|||
} |
|||
|
|||
export interface FeatureProviderDto { |
|||
name?: string; |
|||
key?: string; |
|||
} |
|||
|
|||
export interface GetFeatureListResultDto { |
|||
groups: FeatureGroupDto[]; |
|||
} |
|||
|
|||
export interface UpdateFeatureDto { |
|||
name?: string; |
|||
value?: string; |
|||
} |
|||
|
|||
export interface UpdateFeaturesDto { |
|||
features: UpdateFeatureDto[]; |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,3 @@ |
|||
import * as FeatureManagement from './feature-management'; |
|||
import * as Validation from './validation'; |
|||
export { FeatureManagement, Validation }; |
|||
@ -0,0 +1,2 @@ |
|||
import * as StringValues from './string-values'; |
|||
export { StringValues }; |
|||
@ -0,0 +1 @@ |
|||
export * from './models'; |
|||
@ -0,0 +1,13 @@ |
|||
|
|||
export interface IStringValueType { |
|||
name?: string; |
|||
item: object; |
|||
properties: Record<string, object>; |
|||
validator: IValueValidator; |
|||
} |
|||
|
|||
export interface IValueValidator { |
|||
name?: string; |
|||
item: object; |
|||
properties: Record<string, object>; |
|||
} |
|||
@ -0,0 +1 @@ |
|||
export * from './lib'; |
|||
Loading…
Reference in new issue