Files
DigitalData.UserManager/DigitalData.UserManager.NgWebUI/ClientApp/src/main.ts
Developer 02 58f87e2be5 first commit
2024-03-07 11:15:47 +01:00

147 lines
4.6 KiB
TypeScript

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { User, UserRep } from './app/models/user-management.api.models';
export function getBaseUrl() {
return document.getElementsByTagName('base')[0].href;
}
export function getUserManagerUrl() {
return document.getElementsByTagName("user-manager-api")[0].getAttribute("href");
}
export function getUserUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("user-route")}`;
}
export function getGroupUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("group-route")}`;
}
export function getModuleUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("module-route")}`;
}
export function getModuleOfUserUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("module-of-user-route")}`;
}
export function getGroupOfUserUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("group-of-user-route")}`;
}
export function getUserRepUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("user-representation-route")}`;
}
export function getADGroupUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("ad-group-route")}`;
}
var columnNames = {
user: [
{
header: 'Benutzername',
field: 'username'
},
{
header: 'Vorname',
field: 'prename'
},
{
header: 'Name',
field: 'name'
},
{
header: 'E-email',
field: 'email'
}],
group: {
complete: [
{
header: "Gruppe",
field: "name"
},
{
header: "Kommentar",
field: "comment"
}
],
representative: [
{
header: "Repräsentation",
field: "name"
}
],
right: [
{
header: "Richtiger",
field: "name"
}
]
},
adGroup: [
{
header: "SAM-Account-Name",
field: "samAccountName"
}
],
module: [
{
header: "Produkt",
field: "name"
},
{
header: "Kurzname",
field: "shortName"
}
],
groupOfUser: [
{
header: "Benutzername",
field: (gou: any) => gou.user.username
},
{
header: "Gruppen",
field: (gou: any) => gou.group.name
},
],
userRep: [
{
header: "Repr. Gruppen",
field: (ur: UserRep) => ur.repGroup?.name
},
{
header: "Rechte Gruppen",
field: (ur: UserRep) => ur.rightGroup?.name
},
{
header: "Repr. Benutzer",
field: (ur: UserRep) => ur.repUser?.username
},
]
}
const providers = [
{ provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] },
{ provide: 'USER_MANAGER_URL', useFactory: getUserManagerUrl, deps: [] },
{ provide: 'USER_URL', useFactory: getUserUrl, deps: [] },
{ provide: 'MODULE_URL', useFactory: getModuleUrl, deps: [] },
{ provide: 'GROUP_URL', useFactory: getGroupUrl, deps: [] },
{ provide: 'MODULE_OF_USER_URL', useFactory: getModuleOfUserUrl, deps: [] },
{ provide: 'GROUP_OF_USER_URL', useFactory: getGroupOfUserUrl, deps: [] },
{ provide: 'USER_REP_URL', useFactory: getUserRepUrl, deps: [] },
{ provide: 'AD_GROUP_URL', useFactory: getADGroupUrl, deps: [] },
{ provide: 'USER_TABLE_COLUMNS', useFactory: () => columnNames.user, deps: [] },
{ provide: 'GROUP_COMPLETE_TABLE_COLUMNS', useFactory: () => columnNames.group.complete, deps: [] },
{ provide: 'GROUP_RIGHT_TABLE_COLUMNS', useFactory: () => columnNames.group.right, deps: [] },
{ provide: 'GROUP_REP_TABLE_COLUMNS', useFactory: () => columnNames.group.representative, deps: [] },
{ provide: 'MODULE_TABLE_COLUMNS', useFactory: () => columnNames.module, deps: [] },
{ provide: 'GROUP_USER_TABLE_COLUMNS', useFactory: () => columnNames.groupOfUser, deps: [] },
{ provide: 'USER_REP_TABLE_COLUMNS', useFactory: () => columnNames.userRep, deps: [] }, //
{ provide: 'ADGROUP_COMPLETE_TABLE_COLUMNS', useFactory: () => columnNames.adGroup, deps: [] },
];
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic(providers).bootstrapModule(AppModule)
.catch(err => console.log(err));