web: provide default endpoint api configuration (#10319)
* web: fix esbuild issue with style sheets Getting ESBuild, Lit, and Storybook to all agree on how to read and parse stylesheets is a serious pain. This fix better identifies the value types (instances) being passed from various sources in the repo to the three *different* kinds of style processors we're using (the native one, the polyfill one, and whatever the heck Storybook does internally). Falling back to using older CSS instantiating techniques one era at a time seems to do the trick. It's ugly, but in the face of the aggressive styling we use to avoid Flashes of Unstyled Content (FLoUC), it's the logic with which we're left. In standard mode, the following warning appears on the console when running a Flow: ``` Autofocus processing was blocked because a document already has a focused element. ``` In compatibility mode, the following **error** appears on the console when running a Flow: ``` crawler-inject.js:1106 Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. at initDomMutationObservers (crawler-inject.js:1106:18) at crawler-inject.js:1114:24 at Array.forEach (<anonymous>) at initDomMutationObservers (crawler-inject.js:1114:10) at crawler-inject.js:1549:1 initDomMutationObservers @ crawler-inject.js:1106 (anonymous) @ crawler-inject.js:1114 initDomMutationObservers @ crawler-inject.js:1114 (anonymous) @ crawler-inject.js:1549 ``` Despite this error, nothing seems to be broken and flows work as anticipated. * Intermediate; prepping for remove that may fail. * web: provide a default table endpoint configuration This commit finds 19 places where the exact same configuration is used to describe a table's API endpoint, and replaces that configuration with a provided default from a parent class. While examining the logs for our build, I noted that this particular sequence is duplicated multiple times throughout our code base, accounting for a bloat of 169 lines or so of the estimated 5552 lines of bloat. By providing a default endpoint configuration and substituting it (mechanically) wherever the default is required, we reduce our code duplication issue from 9.26% of the codesabe to 8.99%. ... which is a start. * Didn't need the duplication. * remove page argument while we're at it Signed-off-by: Jens Langhammer <jens@goauthentik.io> * actually use it everywhere Signed-off-by: Jens Langhammer <jens@goauthentik.io> * web: fix inconsistent method signature for LogViewer Removed the `_page` parameter from LogViewer's apiEndpoint() method. The `page: number` parameter is no longer a part of this method's signature. * web: restore reduced page size to Overview:Recent Events card --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
@ -27,12 +27,10 @@ export class RecentEventsCard extends Table<Event> {
|
|||||||
@property({ type: Number })
|
@property({ type: Number })
|
||||||
pageSize = 10;
|
pageSize = 10;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Event>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Event>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: this.pageSize,
|
pageSize: this.pageSize,
|
||||||
search: this.search || "",
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/applications/ApplicationForm";
|
import "@goauthentik/admin/applications/ApplicationForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-app-icon";
|
import "@goauthentik/components/ak-app-icon";
|
||||||
import MDApplication from "@goauthentik/docs/applications/index.md";
|
import MDApplication from "@goauthentik/docs/applications/index.md";
|
||||||
import "@goauthentik/elements/Markdown";
|
import "@goauthentik/elements/Markdown";
|
||||||
@ -63,12 +62,9 @@ export class ApplicationListPage extends TablePage<Application> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Application>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Application>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreApplicationsList({
|
return new CoreApi(DEFAULT_CONFIG).coreApplicationsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
superuserFullList: true,
|
superuserFullList: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
import { TableColumn } from "@goauthentik/elements/table/Table";
|
import { TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
@ -28,12 +27,9 @@ export class ProviderSelectModal extends TableModal<Provider> {
|
|||||||
|
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Provider>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Provider>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersAllList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersAllList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
backchannel: this.backchannel,
|
backchannel: this.backchannel,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/blueprints/BlueprintForm";
|
import "@goauthentik/admin/blueprints/BlueprintForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/ActionButton";
|
import "@goauthentik/elements/buttons/ActionButton";
|
||||||
@ -68,13 +67,10 @@ export class BlueprintListPage extends TablePage<BlueprintInstance> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<BlueprintInstance>> {
|
async apiEndpoint(): Promise<PaginatedResponse<BlueprintInstance>> {
|
||||||
return new ManagedApi(DEFAULT_CONFIG).managedBlueprintsList({
|
return new ManagedApi(DEFAULT_CONFIG).managedBlueprintsList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/brands/BrandForm";
|
import "@goauthentik/admin/brands/BrandForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -39,13 +38,8 @@ export class BrandListPage extends TablePage<Brand> {
|
|||||||
@property()
|
@property()
|
||||||
order = "domain";
|
order = "domain";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Brand>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Brand>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreBrandsList({
|
return new CoreApi(DEFAULT_CONFIG).coreBrandsList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/crypto/CertificateGenerateForm";
|
import "@goauthentik/admin/crypto/CertificateGenerateForm";
|
||||||
import "@goauthentik/admin/crypto/CertificateKeyPairForm";
|
import "@goauthentik/admin/crypto/CertificateKeyPairForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -53,13 +52,10 @@ export class CertificateKeyPairListPage extends TablePage<CertificateKeyPair> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<CertificateKeyPair>> {
|
async apiEndpoint(): Promise<PaginatedResponse<CertificateKeyPair>> {
|
||||||
return new CryptoApi(DEFAULT_CONFIG).cryptoCertificatekeypairsList({
|
return new CryptoApi(DEFAULT_CONFIG).cryptoCertificatekeypairsList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/enterprise/EnterpriseLicenseForm";
|
import "@goauthentik/admin/enterprise/EnterpriseLicenseForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/Spinner";
|
import "@goauthentik/elements/Spinner";
|
||||||
@ -82,18 +81,15 @@ export class EnterpriseLicenseListPage extends TablePage<License> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<License>> {
|
async apiEndpoint(): Promise<PaginatedResponse<License>> {
|
||||||
this.forecast = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseForecastRetrieve();
|
this.forecast = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseForecastRetrieve();
|
||||||
this.summary = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseSummaryRetrieve();
|
this.summary = await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseSummaryRetrieve();
|
||||||
this.installID = (
|
this.installID = (
|
||||||
await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseGetInstallIdRetrieve()
|
await new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseGetInstallIdRetrieve()
|
||||||
).installId;
|
).installId;
|
||||||
return new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseList({
|
return new EnterpriseApi(DEFAULT_CONFIG).enterpriseLicenseList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -3,7 +3,6 @@ import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
@ -45,13 +44,8 @@ export class EventListPage extends TablePage<Event> {
|
|||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Event>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Event>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
return new EventsApi(DEFAULT_CONFIG).eventsEventsList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -2,7 +2,6 @@ import "@goauthentik/admin/events/RuleForm";
|
|||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { severityToLabel } from "@goauthentik/common/labels";
|
import { severityToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -47,13 +46,8 @@ export class RuleListPage extends TablePage<NotificationRule> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<NotificationRule>> {
|
async apiEndpoint(): Promise<PaginatedResponse<NotificationRule>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsRulesList({
|
return new EventsApi(DEFAULT_CONFIG).eventsRulesList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/events/TransportForm";
|
import "@goauthentik/admin/events/TransportForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/ActionButton";
|
import "@goauthentik/elements/buttons/ActionButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -43,13 +42,10 @@ export class TransportListPage extends TablePage<NotificationTransport> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<NotificationTransport>> {
|
async apiEndpoint(): Promise<PaginatedResponse<NotificationTransport>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsTransportsList({
|
return new EventsApi(DEFAULT_CONFIG).eventsTransportsList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -2,7 +2,6 @@ import "@goauthentik/admin/flows/StageBindingForm";
|
|||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/stages/StageWizard";
|
import "@goauthentik/admin/stages/StageWizard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -28,12 +27,10 @@ export class BoundStagesList extends Table<FlowStageBinding> {
|
|||||||
@property()
|
@property()
|
||||||
target?: string;
|
target?: string;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<FlowStageBinding>> {
|
async apiEndpoint(): Promise<PaginatedResponse<FlowStageBinding>> {
|
||||||
return new FlowsApi(DEFAULT_CONFIG).flowsBindingsList({
|
return new FlowsApi(DEFAULT_CONFIG).flowsBindingsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
target: this.target || "",
|
target: this.target || "",
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ import "@goauthentik/admin/flows/FlowForm";
|
|||||||
import "@goauthentik/admin/flows/FlowImportForm";
|
import "@goauthentik/admin/flows/FlowImportForm";
|
||||||
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
||||||
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/ConfirmationForm";
|
import "@goauthentik/elements/forms/ConfirmationForm";
|
||||||
@ -42,13 +41,8 @@ export class FlowListPage extends TablePage<Flow> {
|
|||||||
@property()
|
@property()
|
||||||
order = "slug";
|
order = "slug";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Flow>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Flow>> {
|
||||||
return new FlowsApi(DEFAULT_CONFIG).flowsInstancesList({
|
return new FlowsApi(DEFAULT_CONFIG).flowsInstancesList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
groupBy(items: Flow[]): [string, Flow[]][] {
|
groupBy(items: Flow[]): [string, Flow[]][] {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/groups/GroupForm";
|
import "@goauthentik/admin/groups/GroupForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -36,12 +35,9 @@ export class GroupListPage extends TablePage<Group> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Group>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Group>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
includeUsers: false,
|
includeUsers: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -27,12 +26,9 @@ export class MemberSelectTable extends TableModal<User> {
|
|||||||
|
|
||||||
order = "username";
|
order = "username";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<User>> {
|
async apiEndpoint(): Promise<PaginatedResponse<User>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
return new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
includeGroups: false,
|
includeGroups: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ import "@goauthentik/admin/groups/GroupForm";
|
|||||||
import "@goauthentik/admin/groups/GroupForm";
|
import "@goauthentik/admin/groups/GroupForm";
|
||||||
import "@goauthentik/admin/users/GroupSelectModal";
|
import "@goauthentik/admin/users/GroupSelectModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -98,12 +97,9 @@ export class RelatedGroupList extends Table<Group> {
|
|||||||
@property({ attribute: false })
|
@property({ attribute: false })
|
||||||
targetUser?: User;
|
targetUser?: User;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Group>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Group>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
membersByPk: this.targetUser ? [this.targetUser.pk] : [],
|
membersByPk: this.targetUser ? [this.targetUser.pk] : [],
|
||||||
includeUsers: false,
|
includeUsers: false,
|
||||||
});
|
});
|
||||||
|
@ -5,7 +5,6 @@ import "@goauthentik/admin/users/UserPasswordForm";
|
|||||||
import "@goauthentik/admin/users/UserResetEmailForm";
|
import "@goauthentik/admin/users/UserResetEmailForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { MessageLevel } from "@goauthentik/common/messages";
|
import { MessageLevel } from "@goauthentik/common/messages";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
@ -135,12 +134,9 @@ export class RelatedUserList extends WithBrandConfig(WithCapabilitiesConfig(Tabl
|
|||||||
return super.styles.concat(PFDescriptionList, PFAlert, PFBanner);
|
return super.styles.concat(PFDescriptionList, PFAlert, PFBanner);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<User>> {
|
async apiEndpoint(): Promise<PaginatedResponse<User>> {
|
||||||
const users = await new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
const users = await new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
groupsByPk: this.targetGroup ? [this.targetGroup.pk] : [],
|
groupsByPk: this.targetGroup ? [this.targetGroup.pk] : [],
|
||||||
type: this.hideServiceAccounts
|
type: this.hideServiceAccounts
|
||||||
? [CoreUsersListTypeEnum.External, CoreUsersListTypeEnum.Internal]
|
? [CoreUsersListTypeEnum.External, CoreUsersListTypeEnum.Internal]
|
||||||
|
@ -5,7 +5,6 @@ import "@goauthentik/admin/outposts/OutpostHealth";
|
|||||||
import "@goauthentik/admin/outposts/OutpostHealthSimple";
|
import "@goauthentik/admin/outposts/OutpostHealthSimple";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -67,13 +66,10 @@ export class OutpostListPage extends TablePage<Outpost> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Outpost>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Outpost>> {
|
||||||
const outposts = await new OutpostsApi(DEFAULT_CONFIG).outpostsInstancesList({
|
const outposts = await new OutpostsApi(DEFAULT_CONFIG).outpostsInstancesList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
Promise.all(
|
Promise.all(
|
||||||
outposts.results.map((outpost) => {
|
outposts.results.map((outpost) => {
|
||||||
return new OutpostsApi(DEFAULT_CONFIG)
|
return new OutpostsApi(DEFAULT_CONFIG)
|
||||||
|
@ -3,7 +3,6 @@ import "@goauthentik/admin/outposts/ServiceConnectionDockerForm";
|
|||||||
import "@goauthentik/admin/outposts/ServiceConnectionKubernetesForm";
|
import "@goauthentik/admin/outposts/ServiceConnectionKubernetesForm";
|
||||||
import "@goauthentik/admin/outposts/ServiceConnectionWizard";
|
import "@goauthentik/admin/outposts/ServiceConnectionWizard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -43,14 +42,9 @@ export class OutpostServiceConnectionListPage extends TablePage<ServiceConnectio
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<ServiceConnection>> {
|
async apiEndpoint(): Promise<PaginatedResponse<ServiceConnection>> {
|
||||||
const connections = await new OutpostsApi(DEFAULT_CONFIG).outpostsServiceConnectionsAllList(
|
const connections = await new OutpostsApi(DEFAULT_CONFIG).outpostsServiceConnectionsAllList(
|
||||||
{
|
await this.defaultEndpointConfig(),
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
Promise.all(
|
Promise.all(
|
||||||
connections.results.map((connection) => {
|
connections.results.map((connection) => {
|
||||||
|
@ -4,7 +4,6 @@ import "@goauthentik/admin/policies/PolicyWizard";
|
|||||||
import "@goauthentik/admin/users/UserForm";
|
import "@goauthentik/admin/users/UserForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -33,12 +32,10 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
|
|||||||
|
|
||||||
order = "order";
|
order = "order";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<PolicyBinding>> {
|
async apiEndpoint(): Promise<PaginatedResponse<PolicyBinding>> {
|
||||||
return new PoliciesApi(DEFAULT_CONFIG).policiesBindingsList({
|
return new PoliciesApi(DEFAULT_CONFIG).policiesBindingsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
target: this.target || "",
|
target: this.target || "",
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import "@goauthentik/admin/policies/expression/ExpressionPolicyForm";
|
|||||||
import "@goauthentik/admin/policies/password/PasswordPolicyForm";
|
import "@goauthentik/admin/policies/password/PasswordPolicyForm";
|
||||||
import "@goauthentik/admin/policies/reputation/ReputationPolicyForm";
|
import "@goauthentik/admin/policies/reputation/ReputationPolicyForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/forms/ConfirmationForm";
|
import "@goauthentik/elements/forms/ConfirmationForm";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -49,13 +48,8 @@ export class PolicyListPage extends TablePage<Policy> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Policy>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Policy>> {
|
||||||
return new PoliciesApi(DEFAULT_CONFIG).policiesAllList({
|
return new PoliciesApi(DEFAULT_CONFIG).policiesAllList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/buttons/ModalButton";
|
import "@goauthentik/elements/buttons/ModalButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -44,12 +43,9 @@ export class ReputationListPage extends TablePage<Reputation> {
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Reputation>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Reputation>> {
|
||||||
return new PoliciesApi(DEFAULT_CONFIG).policiesReputationScoresList({
|
return new PoliciesApi(DEFAULT_CONFIG).policiesReputationScoresList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,6 @@ import "@goauthentik/admin/property-mappings/PropertyMappingScopeForm";
|
|||||||
import "@goauthentik/admin/property-mappings/PropertyMappingTestForm";
|
import "@goauthentik/admin/property-mappings/PropertyMappingTestForm";
|
||||||
import "@goauthentik/admin/property-mappings/PropertyMappingWizard";
|
import "@goauthentik/admin/property-mappings/PropertyMappingWizard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
import "@goauthentik/elements/forms/ProxyForm";
|
import "@goauthentik/elements/forms/ProxyForm";
|
||||||
@ -51,12 +50,9 @@ export class PropertyMappingListPage extends TablePage<PropertyMapping> {
|
|||||||
@state()
|
@state()
|
||||||
hideManaged = getURLParam<boolean>("hideManaged", true);
|
hideManaged = getURLParam<boolean>("hideManaged", true);
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<PropertyMapping>> {
|
async apiEndpoint(): Promise<PaginatedResponse<PropertyMapping>> {
|
||||||
return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsAllList({
|
return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsAllList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
managedIsnull: this.hideManaged ? true : undefined,
|
managedIsnull: this.hideManaged ? true : undefined,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@ import "@goauthentik/admin/providers/radius/RadiusProviderForm";
|
|||||||
import "@goauthentik/admin/providers/saml/SAMLProviderForm";
|
import "@goauthentik/admin/providers/saml/SAMLProviderForm";
|
||||||
import "@goauthentik/admin/providers/scim/SCIMProviderForm";
|
import "@goauthentik/admin/providers/scim/SCIMProviderForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -47,13 +46,10 @@ export class ProviderListPage extends TablePage<Provider> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Provider>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Provider>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersAllList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersAllList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -40,12 +39,9 @@ export class GoogleWorkspaceProviderGroupList extends Table<GoogleWorkspaceProvi
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<GoogleWorkspaceProviderGroup>> {
|
async apiEndpoint(): Promise<PaginatedResponse<GoogleWorkspaceProviderGroup>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersGoogleWorkspaceGroupsList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersGoogleWorkspaceGroupsList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -40,12 +39,9 @@ export class GoogleWorkspaceProviderUserList extends Table<GoogleWorkspaceProvid
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<GoogleWorkspaceProviderUser>> {
|
async apiEndpoint(): Promise<PaginatedResponse<GoogleWorkspaceProviderUser>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersGoogleWorkspaceUsersList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersGoogleWorkspaceUsersList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -37,12 +36,9 @@ export class MicrosoftEntraProviderGroupList extends Table<MicrosoftEntraProvide
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<MicrosoftEntraProviderGroup>> {
|
async apiEndpoint(): Promise<PaginatedResponse<MicrosoftEntraProviderGroup>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersMicrosoftEntraGroupsList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersMicrosoftEntraGroupsList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -40,12 +39,9 @@ export class MicrosoftEntraProviderUserList extends Table<MicrosoftEntraProvider
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<MicrosoftEntraProviderUser>> {
|
async apiEndpoint(): Promise<PaginatedResponse<MicrosoftEntraProviderUser>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersMicrosoftEntraUsersList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersMicrosoftEntraUsersList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -37,12 +36,9 @@ export class ConnectionTokenListPage extends Table<ConnectionToken> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<ConnectionToken>> {
|
async apiEndpoint(): Promise<PaginatedResponse<ConnectionToken>> {
|
||||||
return new RacApi(DEFAULT_CONFIG).racConnectionTokensList({
|
return new RacApi(DEFAULT_CONFIG).racConnectionTokensList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
provider: this.provider?.pk,
|
provider: this.provider?.pk,
|
||||||
sessionUser: this.userId,
|
sessionUser: this.userId,
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/providers/rac/EndpointForm";
|
import "@goauthentik/admin/providers/rac/EndpointForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -43,12 +42,9 @@ export class EndpointListPage extends Table<Endpoint> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Endpoint>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Endpoint>> {
|
||||||
return new RacApi(DEFAULT_CONFIG).racEndpointsList({
|
return new RacApi(DEFAULT_CONFIG).racEndpointsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
provider: this.provider?.pk,
|
provider: this.provider?.pk,
|
||||||
superuserFullList: true,
|
superuserFullList: true,
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -38,12 +37,9 @@ export class SCIMProviderGroupList extends Table<SCIMProviderGroup> {
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<SCIMProviderGroup>> {
|
async apiEndpoint(): Promise<PaginatedResponse<SCIMProviderGroup>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersScimGroupsList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersScimGroupsList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
@ -38,12 +37,9 @@ export class SCIMProviderUserList extends Table<SCIMProviderUser> {
|
|||||||
</ak-forms-delete-bulk>`;
|
</ak-forms-delete-bulk>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<SCIMProviderUser>> {
|
async apiEndpoint(): Promise<PaginatedResponse<SCIMProviderUser>> {
|
||||||
return new ProvidersApi(DEFAULT_CONFIG).providersScimUsersList({
|
return new ProvidersApi(DEFAULT_CONFIG).providersScimUsersList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
providerId: this.providerId,
|
providerId: this.providerId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -25,12 +25,10 @@ export class RoleAssignedGlobalPermissionsTable extends Table<Permission> {
|
|||||||
|
|
||||||
order = "content_type__app_label,content_type__model";
|
order = "content_type__app_label,content_type__model";
|
||||||
|
|
||||||
apiEndpoint(page: number): Promise<PaginatedResponse<Permission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Permission>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({
|
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
role: this.roleUuid,
|
role: this.roleUuid,
|
||||||
page: page,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,12 +22,10 @@ export class RoleAssignedObjectPermissionTable extends Table<ExtraRoleObjectPerm
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
apiEndpoint(page: number): Promise<PaginatedResponse<ExtraRoleObjectPermission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<ExtraRoleObjectPermission>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsRolesList({
|
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsRolesList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
uuid: this.roleUuid || "",
|
uuid: this.roleUuid || "",
|
||||||
page: page,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/roles/RoleForm";
|
import "@goauthentik/admin/roles/RoleForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -42,13 +41,8 @@ export class RoleListPage extends TablePage<Role> {
|
|||||||
return [...super.styles, PFBanner];
|
return [...super.styles, PFBanner];
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Role>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Role>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacRolesList({
|
return new RbacApi(DEFAULT_CONFIG).rbacRolesList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -4,7 +4,6 @@ import "@goauthentik/admin/sources/oauth/OAuthSourceForm";
|
|||||||
import "@goauthentik/admin/sources/plex/PlexSourceForm";
|
import "@goauthentik/admin/sources/plex/PlexSourceForm";
|
||||||
import "@goauthentik/admin/sources/saml/SAMLSourceForm";
|
import "@goauthentik/admin/sources/saml/SAMLSourceForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
@ -44,13 +43,8 @@ export class SourceListPage extends TablePage<Source> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Source>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Source>> {
|
||||||
return new SourcesApi(DEFAULT_CONFIG).sourcesAllList({
|
return new SourcesApi(DEFAULT_CONFIG).sourcesAllList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
@ -18,12 +17,9 @@ export class SCIMSourceGroupList extends Table<SCIMSourceGroup> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<SCIMSourceGroup>> {
|
async apiEndpoint(): Promise<PaginatedResponse<SCIMSourceGroup>> {
|
||||||
return new SourcesApi(DEFAULT_CONFIG).sourcesScimGroupsList({
|
return new SourcesApi(DEFAULT_CONFIG).sourcesScimGroupsList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
sourceSlug: this.sourceSlug,
|
sourceSlug: this.sourceSlug,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
@ -18,12 +17,9 @@ export class SCIMSourceUserList extends Table<SCIMSourceUser> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<SCIMSourceUser>> {
|
async apiEndpoint(): Promise<PaginatedResponse<SCIMSourceUser>> {
|
||||||
return new SourcesApi(DEFAULT_CONFIG).sourcesScimUsersList({
|
return new SourcesApi(DEFAULT_CONFIG).sourcesScimUsersList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
sourceSlug: this.sourceSlug,
|
sourceSlug: this.sourceSlug,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ import "@goauthentik/admin/stages/user_login/UserLoginStageForm";
|
|||||||
import "@goauthentik/admin/stages/user_logout/UserLogoutStageForm";
|
import "@goauthentik/admin/stages/user_logout/UserLogoutStageForm";
|
||||||
import "@goauthentik/admin/stages/user_write/UserWriteStageForm";
|
import "@goauthentik/admin/stages/user_write/UserWriteStageForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
import "@goauthentik/elements/forms/ProxyForm";
|
import "@goauthentik/elements/forms/ProxyForm";
|
||||||
@ -61,13 +60,8 @@ export class StageListPage extends TablePage<Stage> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Stage>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Stage>> {
|
||||||
return new StagesApi(DEFAULT_CONFIG).stagesAllList({
|
return new StagesApi(DEFAULT_CONFIG).stagesAllList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/stages/invitation/InvitationForm";
|
import "@goauthentik/admin/stages/invitation/InvitationForm";
|
||||||
import "@goauthentik/admin/stages/invitation/InvitationListLink";
|
import "@goauthentik/admin/stages/invitation/InvitationListLink";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/ModalButton";
|
import "@goauthentik/elements/buttons/ModalButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
@ -62,7 +61,7 @@ export class InvitationListPage extends TablePage<Invitation> {
|
|||||||
@state()
|
@state()
|
||||||
multipleEnrollmentFlows = false;
|
multipleEnrollmentFlows = false;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Invitation>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Invitation>> {
|
||||||
try {
|
try {
|
||||||
// Check if any invitation stages exist
|
// Check if any invitation stages exist
|
||||||
const stages = await new StagesApi(DEFAULT_CONFIG).stagesInvitationStagesList({
|
const stages = await new StagesApi(DEFAULT_CONFIG).stagesInvitationStagesList({
|
||||||
@ -82,10 +81,7 @@ export class InvitationListPage extends TablePage<Invitation> {
|
|||||||
// assuming we can't fetch stages, ignore the error
|
// assuming we can't fetch stages, ignore the error
|
||||||
}
|
}
|
||||||
return new StagesApi(DEFAULT_CONFIG).stagesInvitationInvitationsList({
|
return new StagesApi(DEFAULT_CONFIG).stagesInvitationInvitationsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import "@goauthentik/admin/stages/prompt/PromptForm";
|
import "@goauthentik/admin/stages/prompt/PromptForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/elements/buttons/ModalButton";
|
import "@goauthentik/elements/buttons/ModalButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
@ -38,13 +37,10 @@ export class PromptListPage extends TablePage<Prompt> {
|
|||||||
@property()
|
@property()
|
||||||
order = "name";
|
order = "name";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Prompt>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Prompt>> {
|
||||||
return new StagesApi(DEFAULT_CONFIG).stagesPromptPromptsList({
|
return new StagesApi(DEFAULT_CONFIG).stagesPromptPromptsList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/ActionButton";
|
import "@goauthentik/elements/buttons/ActionButton";
|
||||||
@ -44,13 +43,10 @@ export class SystemTaskListPage extends TablePage<SystemTask> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<SystemTask>> {
|
async apiEndpoint(): Promise<PaginatedResponse<SystemTask>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsSystemTasksList({
|
return new EventsApi(DEFAULT_CONFIG).eventsSystemTasksList(
|
||||||
ordering: this.order,
|
await this.defaultEndpointConfig(),
|
||||||
page: page,
|
);
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import "@goauthentik/admin/tokens/TokenForm";
|
import "@goauthentik/admin/tokens/TokenForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { intentToLabel } from "@goauthentik/common/labels";
|
import { intentToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/Dropdown";
|
import "@goauthentik/elements/buttons/Dropdown";
|
||||||
@ -48,13 +47,8 @@ export class TokenListPage extends TablePage<Token> {
|
|||||||
@property()
|
@property()
|
||||||
order = "expires";
|
order = "expires";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Token>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Token>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreTokensList({
|
return new CoreApi(DEFAULT_CONFIG).coreTokensList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
@ -32,12 +31,9 @@ export class GroupSelectModal extends TableModal<Group> {
|
|||||||
return super.styles.concat(PFBanner);
|
return super.styles.concat(PFBanner);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Group>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Group>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
return new CoreApi(DEFAULT_CONFIG).coreGroupsList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
includeUsers: false,
|
includeUsers: false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { applicationListStyle } from "@goauthentik/admin/applications/ApplicationListPage";
|
import { applicationListStyle } from "@goauthentik/admin/applications/ApplicationListPage";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import "@goauthentik/components/ak-app-icon";
|
import "@goauthentik/components/ak-app-icon";
|
||||||
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse, Table, TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
import "@patternfly/elements/pf-tooltip/pf-tooltip.js";
|
import "@patternfly/elements/pf-tooltip/pf-tooltip.js";
|
||||||
@ -21,13 +20,10 @@ export class UserApplicationTable extends Table<Application> {
|
|||||||
return super.styles.concat(applicationListStyle);
|
return super.styles.concat(applicationListStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Application>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Application>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreApplicationsList({
|
return new CoreApi(DEFAULT_CONFIG).coreApplicationsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
forUser: this.user?.pk,
|
forUser: this.user?.pk,
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,12 +21,10 @@ export class UserAssignedGlobalPermissionsTable extends Table<Permission> {
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
apiEndpoint(page: number): Promise<PaginatedResponse<Permission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Permission>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({
|
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
user: this.userId || 0,
|
user: this.userId || 0,
|
||||||
page: page,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,12 +18,10 @@ export class UserAssignedObjectPermissionsTable extends Table<ExtraUserObjectPer
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
apiEndpoint(page: number): Promise<PaginatedResponse<ExtraUserObjectPermission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<ExtraUserObjectPermission>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsUsersList({
|
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsUsersList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
userId: this.userId || 0,
|
userId: this.userId || 0,
|
||||||
page: page,
|
|
||||||
ordering: this.order,
|
|
||||||
search: this.search,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,12 +138,9 @@ export class UserListPage extends WithBrandConfig(WithCapabilitiesConfig(TablePa
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<User>> {
|
async apiEndpoint(): Promise<PaginatedResponse<User>> {
|
||||||
const users = await new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
const users = await new CoreApi(DEFAULT_CONFIG).coreUsersList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
pathStartswith: getURLParam("path", ""),
|
pathStartswith: getURLParam("path", ""),
|
||||||
isActive: this.hideDeactivated ? true : undefined,
|
isActive: this.hideDeactivated ? true : undefined,
|
||||||
includeGroups: false,
|
includeGroups: false,
|
||||||
|
@ -2,7 +2,6 @@ import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
@ -34,7 +33,7 @@ export class ObjectChangelog extends Table<Event> {
|
|||||||
@property()
|
@property()
|
||||||
targetModelName = "";
|
targetModelName = "";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Event>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Event>> {
|
||||||
let modelName = this.targetModelName;
|
let modelName = this.targetModelName;
|
||||||
let appName = this.targetModelApp;
|
let appName = this.targetModelApp;
|
||||||
if (this.targetModelName.indexOf(".") !== -1) {
|
if (this.targetModelName.indexOf(".") !== -1) {
|
||||||
@ -46,10 +45,8 @@ export class ObjectChangelog extends Table<Event> {
|
|||||||
return Promise.reject();
|
return Promise.reject();
|
||||||
}
|
}
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
action: "model_",
|
action: "model_",
|
||||||
page: page,
|
|
||||||
ordering: this.order,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
contextModelApp: appName,
|
contextModelApp: appName,
|
||||||
contextModelName: modelName,
|
contextModelName: modelName,
|
||||||
contextModelPk: this.targetModelPk.toString(),
|
contextModelPk: this.targetModelPk.toString(),
|
||||||
|
@ -2,7 +2,6 @@ import { EventUser } from "@goauthentik/admin/events/utils";
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
@ -27,11 +26,9 @@ export class UserEvents extends Table<Event> {
|
|||||||
@property()
|
@property()
|
||||||
targetUser!: string;
|
targetUser!: string;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Event>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Event>> {
|
||||||
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
return new EventsApi(DEFAULT_CONFIG).eventsEventsList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
ordering: this.order,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
username: this.targetUser,
|
username: this.targetUser,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ export class LogViewer extends Table<LogEvent> {
|
|||||||
return super.styles.concat(PFDescriptionList);
|
return super.styles.concat(PFDescriptionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(_page: number): Promise<PaginatedResponse<LogEvent>> {
|
async apiEndpoint(): Promise<PaginatedResponse<LogEvent>> {
|
||||||
return {
|
return {
|
||||||
pagination: {
|
pagination: {
|
||||||
next: 0,
|
next: 0,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/chips/Chip";
|
import "@goauthentik/elements/chips/Chip";
|
||||||
@ -27,17 +26,15 @@ export class UserOAuthAccessTokenList extends Table<TokenModel> {
|
|||||||
return super.styles.concat(PFFlex);
|
return super.styles.concat(PFFlex);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<TokenModel>> {
|
async apiEndpoint(): Promise<PaginatedResponse<TokenModel>> {
|
||||||
return new Oauth2Api(DEFAULT_CONFIG).oauth2AccessTokensList({
|
return new Oauth2Api(DEFAULT_CONFIG).oauth2AccessTokensList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
user: this.userId,
|
user: this.userId,
|
||||||
ordering: "expires",
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
checkbox = true;
|
checkbox = true;
|
||||||
order = "-expires";
|
order = "expires";
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
return [
|
return [
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/chips/Chip";
|
import "@goauthentik/elements/chips/Chip";
|
||||||
@ -27,18 +26,16 @@ export class UserOAuthRefreshTokenList extends Table<TokenModel> {
|
|||||||
return super.styles.concat(PFFlex);
|
return super.styles.concat(PFFlex);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<TokenModel>> {
|
async apiEndpoint(): Promise<PaginatedResponse<TokenModel>> {
|
||||||
return new Oauth2Api(DEFAULT_CONFIG).oauth2RefreshTokensList({
|
return new Oauth2Api(DEFAULT_CONFIG).oauth2RefreshTokensList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
user: this.userId,
|
user: this.userId,
|
||||||
ordering: "expires",
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
order = "-expires";
|
order = "expires";
|
||||||
|
|
||||||
columns(): TableColumn[] {
|
columns(): TableColumn[] {
|
||||||
return [
|
return [
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
@ -32,13 +31,8 @@ export class PermissionSelectModal extends TableModal<Permission> {
|
|||||||
return super.styles.concat(PFBanner);
|
return super.styles.concat(PFBanner);
|
||||||
}
|
}
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Permission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Permission>> {
|
||||||
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({
|
return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList(await this.defaultEndpointConfig());
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
groupBy(items: Permission[]): [string, Permission[]][] {
|
groupBy(items: Permission[]): [string, Permission[]][] {
|
||||||
|
@ -31,9 +31,9 @@ export class RoleAssignedObjectPermissionTable extends Table<RoleAssignedObjectP
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<RoleAssignedObjectPermission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<RoleAssignedObjectPermission>> {
|
||||||
const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesList({
|
const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
// TODO: better default
|
// TODO: better default
|
||||||
model: this.model || RbacPermissionsAssignedByRolesListModelEnum.CoreUser,
|
model: this.model || RbacPermissionsAssignedByRolesListModelEnum.CoreUser,
|
||||||
objectPk: this.objectPk?.toString(),
|
objectPk: this.objectPk?.toString(),
|
||||||
|
@ -31,9 +31,9 @@ export class UserAssignedObjectPermissionTable extends Table<UserAssignedObjectP
|
|||||||
checkbox = true;
|
checkbox = true;
|
||||||
clearOnRefresh = true;
|
clearOnRefresh = true;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<UserAssignedObjectPermission>> {
|
async apiEndpoint(): Promise<PaginatedResponse<UserAssignedObjectPermission>> {
|
||||||
const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersList({
|
const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersList({
|
||||||
page: page,
|
...(await this.defaultEndpointConfig()),
|
||||||
// TODO: better default
|
// TODO: better default
|
||||||
model: this.model || RbacPermissionsAssignedByUsersListModelEnum.CoreUser,
|
model: this.model || RbacPermissionsAssignedByUsersListModelEnum.CoreUser,
|
||||||
objectPk: this.objectPk?.toString(),
|
objectPk: this.objectPk?.toString(),
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
||||||
import { APIErrorTypes, parseAPIError } from "@goauthentik/common/errors";
|
import { APIErrorTypes, parseAPIError } from "@goauthentik/common/errors";
|
||||||
|
import { uiConfig } from "@goauthentik/common/ui/config";
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/EmptyState";
|
import "@goauthentik/elements/EmptyState";
|
||||||
@ -95,7 +96,7 @@ export interface PaginatedResponse<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export abstract class Table<T> extends AKElement implements TableLike {
|
export abstract class Table<T> extends AKElement implements TableLike {
|
||||||
abstract apiEndpoint(page: number): Promise<PaginatedResponse<T>>;
|
abstract apiEndpoint(): Promise<PaginatedResponse<T>>;
|
||||||
abstract columns(): TableColumn[];
|
abstract columns(): TableColumn[];
|
||||||
abstract row(item: T): TemplateResult[];
|
abstract row(item: T): TemplateResult[];
|
||||||
|
|
||||||
@ -203,6 +204,15 @@ export abstract class Table<T> extends AKElement implements TableLike {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async defaultEndpointConfig() {
|
||||||
|
return {
|
||||||
|
ordering: this.order,
|
||||||
|
page: this.page,
|
||||||
|
pageSize: (await uiConfig()).pagination.perPage,
|
||||||
|
search: this.searchEnabled() ? this.search || "" : undefined,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public groupBy(items: T[]): [string, T[]][] {
|
public groupBy(items: T[]): [string, T[]][] {
|
||||||
return groupBy(items, () => {
|
return groupBy(items, () => {
|
||||||
return "";
|
return "";
|
||||||
@ -215,7 +225,7 @@ export abstract class Table<T> extends AKElement implements TableLike {
|
|||||||
}
|
}
|
||||||
this.isLoading = true;
|
this.isLoading = true;
|
||||||
try {
|
try {
|
||||||
this.data = await this.apiEndpoint(this.page);
|
this.data = await this.apiEndpoint();
|
||||||
this.error = undefined;
|
this.error = undefined;
|
||||||
this.page = this.data.pagination.current;
|
this.page = this.data.pagination.current;
|
||||||
const newExpanded: T[] = [];
|
const newExpanded: T[] = [];
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
@ -17,12 +16,10 @@ export class AuthenticatedSessionList extends Table<AuthenticatedSession> {
|
|||||||
@property()
|
@property()
|
||||||
targetUser!: string;
|
targetUser!: string;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<AuthenticatedSession>> {
|
async apiEndpoint(): Promise<PaginatedResponse<AuthenticatedSession>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreAuthenticatedSessionsList({
|
return new CoreApi(DEFAULT_CONFIG).coreAuthenticatedSessionsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
userUsername: this.targetUser,
|
userUsername: this.targetUser,
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/chips/Chip";
|
import "@goauthentik/elements/chips/Chip";
|
||||||
import "@goauthentik/elements/chips/ChipGroup";
|
import "@goauthentik/elements/chips/ChipGroup";
|
||||||
@ -18,12 +17,10 @@ export class UserConsentList extends Table<UserConsent> {
|
|||||||
@property({ type: Number })
|
@property({ type: Number })
|
||||||
userId?: number;
|
userId?: number;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<UserConsent>> {
|
async apiEndpoint(): Promise<PaginatedResponse<UserConsent>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreUserConsentList({
|
return new CoreApi(DEFAULT_CONFIG).coreUserConsentList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
user: this.userId,
|
user: this.userId,
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
@ -20,16 +19,14 @@ export class UserReputationList extends Table<Reputation> {
|
|||||||
@property()
|
@property()
|
||||||
targetEmail!: string | undefined;
|
targetEmail!: string | undefined;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Reputation>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Reputation>> {
|
||||||
const identifiers = [this.targetUsername];
|
const identifiers = [this.targetUsername];
|
||||||
if (this.targetEmail !== undefined) {
|
if (this.targetEmail !== undefined) {
|
||||||
identifiers.push(this.targetEmail);
|
identifiers.push(this.targetEmail);
|
||||||
}
|
}
|
||||||
return new PoliciesApi(DEFAULT_CONFIG).policiesReputationScoresList({
|
return new PoliciesApi(DEFAULT_CONFIG).policiesReputationScoresList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
identifierIn: identifiers,
|
identifierIn: identifiers,
|
||||||
ordering: this.order,
|
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,11 +29,10 @@ export class RACLaunchEndpointModal extends TableModal<Endpoint> {
|
|||||||
@property({ attribute: false })
|
@property({ attribute: false })
|
||||||
app?: Application;
|
app?: Application;
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Endpoint>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Endpoint>> {
|
||||||
const endpoints = await new RacApi(DEFAULT_CONFIG).racEndpointsList({
|
const endpoints = await new RacApi(DEFAULT_CONFIG).racEndpointsList({
|
||||||
|
...(await this.defaultEndpointConfig()),
|
||||||
provider: this.app?.provider || 0,
|
provider: this.app?.provider || 0,
|
||||||
page: page,
|
|
||||||
search: this.search,
|
|
||||||
});
|
});
|
||||||
if (this.open && endpoints.pagination.count === 1) {
|
if (this.open && endpoints.pagination.count === 1) {
|
||||||
this.clickHandler(endpoints.results[0]);
|
this.clickHandler(endpoints.results[0]);
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
||||||
import { intentToLabel } from "@goauthentik/common/labels";
|
import { intentToLabel } from "@goauthentik/common/labels";
|
||||||
import { uiConfig } from "@goauthentik/common/ui/config";
|
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
@ -35,12 +34,9 @@ export class UserTokenList extends Table<Token> {
|
|||||||
@property()
|
@property()
|
||||||
order = "expires";
|
order = "expires";
|
||||||
|
|
||||||
async apiEndpoint(page: number): Promise<PaginatedResponse<Token>> {
|
async apiEndpoint(): Promise<PaginatedResponse<Token>> {
|
||||||
return new CoreApi(DEFAULT_CONFIG).coreTokensList({
|
return new CoreApi(DEFAULT_CONFIG).coreTokensList({
|
||||||
ordering: this.order,
|
...(await this.defaultEndpointConfig()),
|
||||||
page: page,
|
|
||||||
pageSize: (await uiConfig()).pagination.perPage,
|
|
||||||
search: this.search || "",
|
|
||||||
managed: "",
|
managed: "",
|
||||||
// The user might have access to other tokens that aren't for their user
|
// The user might have access to other tokens that aren't for their user
|
||||||
// but only show tokens for their user here
|
// but only show tokens for their user here
|
||||||
|
Reference in New Issue
Block a user