Browse Source

feat(settings): Add settings api.

pull/1061/head
colin 1 year ago
parent
commit
c5fbc78207
  1. 3
      apps/vben5/packages/@abp/settings/src/api/index.ts
  2. 71
      apps/vben5/packages/@abp/settings/src/api/settings.ts
  3. 1
      apps/vben5/packages/@abp/settings/src/types/index.ts
  4. 56
      apps/vben5/packages/@abp/settings/src/types/settings.ts

3
apps/vben5/packages/@abp/settings/src/api/index.ts

@ -1 +1,2 @@
export * as settingDefintiionsApi from './definitions';
export * as settingDefinitionsApi from './definitions';
export * as settingsApi from './settings';

71
apps/vben5/packages/@abp/settings/src/api/settings.ts

@ -0,0 +1,71 @@
import type { ListResultDto } from '@abp/core';
import type { SettingGroup, SettingsUpdateInput } from '../types/settings';
import { requestClient } from '@abp/request';
/**
*
* @returns
*/
export function getGlobalSettingsApi(): Promise<ListResultDto<SettingGroup>> {
return requestClient.get<ListResultDto<SettingGroup>>(
`/api/setting-management/settings/by-global`,
);
}
/**
*
* @returns
*/
export function setGlobalSettingsApi(
input: SettingsUpdateInput,
): Promise<void> {
return requestClient.put(
`/api/setting-management/settings/change-global`,
input,
);
}
/**
*
* @returns
*/
export function getTenantSettingsApi(): Promise<ListResultDto<SettingGroup>> {
return requestClient.get<ListResultDto<SettingGroup>>(
`/api/setting-management/settings/by-current-tenant`,
);
}
/**
*
* @returns
*/
export function setTenantSettingsApi(
input: SettingsUpdateInput,
): Promise<void> {
return requestClient.put(
`/api/setting-management/settings/change-current-tenant`,
input,
);
}
/**
*
* @returns
*/
export function getUserSettingsApi(): Promise<ListResultDto<SettingGroup>> {
return requestClient.get<ListResultDto<SettingGroup>>(
`/api/setting-management/settings/by-current-user`,
);
}
/**
*
* @returns
*/
export function setUserSettingsApi(input: SettingsUpdateInput): Promise<void> {
return requestClient.put(
`/api/setting-management/settings/change-current-user`,
input,
);
}

1
apps/vben5/packages/@abp/settings/src/types/index.ts

@ -1 +1,2 @@
export * from './definitions';
export * from './settings';

56
apps/vben5/packages/@abp/settings/src/types/settings.ts

@ -0,0 +1,56 @@
interface SettingBase {
/** 名称 */
name: string;
/** 当前设置值 */
value: any;
}
/** 配置变更对象 */
type SettingUpdateInput = SettingBase;
/** 配置变更集合对象 */
interface SettingsUpdateInput {
/** 配置集合 */
settings: SettingUpdateInput[];
}
export enum ValueType {
Array = 4,
Boolean = 2,
Date = 3,
Number = 1,
Object = 10,
Option = 5,
String = 0,
}
interface Option {
name: string;
value: string;
}
interface SettingDetail {
defaultValue: string;
description?: string;
displayName: string;
isEncrypted: boolean;
name: string;
options: Option[];
slot?: string;
value?: string;
valueType: ValueType;
}
interface Setting {
description?: string;
details: SettingDetail[];
displayName: string;
}
interface SettingGroup {
description: string;
displayName: string;
settings: Setting[];
}
export type { SettingGroup, SettingsUpdateInput };
Loading…
Cancel
Save