Josh 86f98b66fe
chore(admin): convert settings pages (#18820)
* chore(wip): convert settings pages

* chore: add api-tokens contract

* fix: types

* chore: convert webhooks page (#18682)

* chore: convert webhooks

* fix: configurations provider

* chore: add all contracts

* chore(admin): add workflow contracts (#18707)

* chore(admin): add audit-logs contracts (#18708)

* chore: convert users page to TS (#18710)

* chore(admin): convert Roles Settings (#18774)

* chore(admin): fix types from merge

* chore(admin): convert Single Sign On settings page to TS and refactoring

* chore: pretty

---------

Co-authored-by: HichamELBSI <elabbassih@gmail.com>
2023-11-21 11:40:51 +00:00

197 lines
4.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { errors } from '@strapi/utils';
import type { File } from 'formidable';
export interface Logo {
name: string;
url: string;
width: number;
height: number;
ext: string;
size: number;
}
/**
* /init - Initialize the admin panel
*/
export declare namespace Init {
export interface Request {
body: {};
query: {};
}
export interface Response {
data: {
uuid: string | false;
hasAdmin: boolean;
menuLogo: string | null;
authLogo: string | null;
};
error?: errors.ApplicationError;
}
}
/**
* /project-settings - Get the project settings
*/
export declare namespace GetProjectSettings {
export interface Request {
body: {};
query: {};
}
export interface Response {
menuLogo: Logo;
authLogo: Logo;
error?: errors.ApplicationError;
}
}
/**
* /project-settings - Update the project settings
*/
export declare namespace UpdateProjectSettings {
export interface Request {
body: {
menuLogo: Logo | null;
authLogo: Logo | null;
};
query: {};
files: {
menuLogo?: File | null;
authLogo?: File | null;
};
}
export interface Response {
menuLogo: Partial<Logo>;
authLogo: Partial<Logo>;
error?: errors.ApplicationError | errors.YupValidationError;
}
}
/**
* /information - get project information
*/
export declare namespace Information {
export interface Request {
body: {};
query: {};
}
export interface Response {
data: {
currentEnvironment: string;
autoReload: boolean;
strapiVersion: string | null;
dependencies: Record<string, string>;
projectId: string | null;
nodeVersion: string;
communityEdition: boolean;
useYarn: boolean;
};
error?: errors.ApplicationError;
}
}
/**
* /telemetry-properties - get telemetry properties
*/
export declare namespace TelemetryProperties {
export interface Request {
body: {};
query: {};
}
export interface Response {
data: {
useTypescriptOnServer: boolean;
useTypescriptOnAdmin: boolean;
isHostedOnStrapiCloud: boolean;
numberOfAllContentTypes: number;
numberOfComponents: number;
numberOfDynamicZones: number;
};
error?: errors.ApplicationError;
}
}
/**
* /plugins - get plugin information
*/
export declare namespace Plugins {
interface Plugin {
name: string;
displayName: string;
description: string;
}
export interface Request {
body: {};
query: {};
}
export interface Response {
plugins: Plugin[];
error?: errors.ApplicationError;
}
}
/**
* /providers/options - Single Sign On setting options
*/
export declare namespace ProvidersOptions {
interface SSOProviderOptions {
autoRegister: boolean;
defaultRole: string | null;
ssoLockedRoles: string[] | null;
}
export interface Request {
body: SSOProviderOptions;
query: {};
}
export interface Response {
data: SSOProviderOptions;
error?: errors.ApplicationError | errors.ValidationError | errors.YupValidationError;
}
}
/**
* /license-limit-information get license limit information
*/
export interface SSOFeature {
name: 'sso';
}
export interface AuditLogsFeature {
name: 'audit-logs';
options: {
retentionDays: number | null;
};
}
export interface ReviewWorkflowsFeature {
name: 'review-workflows';
}
/**
* TODO: this response needs refactoring because we're mixing the admin seat limit info with
* regular EE feature info.
*/
export declare namespace GetLicenseLimitInformation {
export interface Request {
body: {};
query: {};
}
export interface Response {
data: {
currentActiveUserCount: number;
enforcementUserCount: number;
features: (SSOFeature | AuditLogsFeature | ReviewWorkflowsFeature)[];
isHostedOnStrapiCloud: boolean;
licenseLimitStatus: unknown;
permittedSeats: number;
shouldNotify: boolean;
shouldStopCreate: boolean;
};
error?: errors.ApplicationError;
}
}