tenantApi.ts 2.53 KB
import { getPageData } from '../base';
import {
  SendResetPasswordEmailMsg,
  TenantAdminPageRequestParams,
  TenantDTO,
  TenantPageRequestParams,
  TenantRequestDTO,
  UserDTO,
  tenantProfileDTO,
} from './tenantInfo';
import { defHttp } from '/@/utils/http/axios';
import { BasicPageParams } from '/@/api/model/baseModel';
export type QueryTenantProfilesParam = BasicPageParams & OtherParams;
export type OtherParams = {
  sortProperty?: string;
  sortOrder?: string;
};

enum Api {
  userPage = '/user/page',
  tenantPage = '/admin/tenant/page',
  saveTenantAdmin = '/user/saveTenantAdmin',
  updateOrCreateTenant = '/admin/tenant/updateOrCreateTenant',
  deleteTenant = '/admin/tenant',
  resetTenantAdminPassword = '/tenant/resetPassword/',
  sendMessageOrEmail = '/tenant/sendRestPasswordMsg',
  deleteTenantAdmin = '/admin/user/deleteTenantAdmin',
  getTenantRoles = '/admin/tenant/roles/',
  postAddTenantProfile = '/tenantProfile',
  getTenantProfile = '/tenantProfiles',
}

export const getTableTenantProfileApi = (params?: QueryTenantProfilesParam) => {
  return defHttp.get({
    params: params,
    url: Api.getTenantProfile,
  });
};

export async function saveTenantProfileApi(params: tenantProfileDTO) {
  await defHttp.post({
    params: params,
    url: Api.postAddTenantProfile,
  });
}

export function getTenantPage(params: TenantPageRequestParams) {
  return getPageData<TenantDTO>(params, Api.tenantPage);
}

export function getTenantAdminPage(params: TenantAdminPageRequestParams) {
  return getPageData<UserDTO>(params, Api.userPage);
}

export async function saveTenantAdmin(params: UserDTO) {
  await defHttp.post({
    params: params,
    url: Api.saveTenantAdmin,
  });
}

export async function updateOrCreateTenant(params: TenantRequestDTO) {
  await defHttp.post({
    params: params,
    url: Api.updateOrCreateTenant,
  });
}

export async function deleteTenant(tenantIds: Array<string>) {
  await defHttp.delete({
    data: tenantIds,
    url: Api.deleteTenant,
  });
}

export async function deleteTenantAdmin(adminIds: Array<string>) {
  await defHttp.delete({
    data: adminIds,
    url: Api.deleteTenantAdmin,
  });
}

export async function resetPassword(params: string) {
  await defHttp.post({
    url: Api.resetTenantAdminPassword + params,
  });
}

export async function sendMessageOrEmail(params: SendResetPasswordEmailMsg) {
  await defHttp.post({
    params: params,
    url: Api.sendMessageOrEmail,
  });
}

export function getTenantRoles(tenantCode: string) {
  return defHttp.get({
    params: tenantCode,
    url: Api.getTenantRoles,
  });
}