188 lines
6.3 KiB
TypeScript

/// <reference types="@angular/localize" />
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { DirGroup, DirUser, 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 getDirGroupUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("dir-group-route")}`;
}
export function getDirUserUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("dir-user-route")}`;
}
export function getDirUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("dir-route")}`;
}
export function getLogInUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("login-route")}`;
}
export function getLogOutUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("logout-route")}`;
}
export function getLoginCheckUrl() {
return `${getUserManagerUrl()}${document.getElementsByTagName("user-manager-api")[0].getAttribute("login-check-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"
}
]
},
dirGroup: [
{
header: "SAM-Account-Name",
field: (dirGroup: DirGroup) => dirGroup?.samaccountname[0]
}
],
dirUser: [
{
header: 'Benutzername',
field: (dirUser: DirUser) => dirUser?.samaccountname?.[0] ?? ""
},
{
header: 'Vorname',
field: (dirUser: DirUser) => dirUser?.givenname?.[0] ?? ""
},
{
header: 'Name',
field: (dirUser: DirUser) => dirUser?.sn?.[0] ?? ""
},
{
header: 'E-email',
field: (dirUser: DirUser) => dirUser?.mail?.[0] ?? ""
}
],
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: 'DIR_GROUP_URL', useFactory: getDirGroupUrl, deps: [] },
{ provide: 'DIR_USER_URL', useFactory: getDirUserUrl, deps: [] },
{ provide: 'DIR_URL', useFactory: getDirUserUrl, deps: [] },
{ provide: 'LOGIN_URL', useFactory: getLogInUrl, deps: [] },
{ provide: 'LOGOUT_URL', useFactory: getLogOutUrl, deps: [] },
{ provide: 'LOGIN_CHECK_URL', useFactory: getLoginCheckUrl, 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: 'DIR_GROUP_TABLE_COLUMNS', useFactory: () => columnNames.dirGroup, deps: [] },
{ provide: 'DIR_USER_TABLE_COLUMNS', useFactory: () => columnNames.dirUser, deps: [] }
];
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic(providers).bootstrapModule(AppModule)
.catch(err => {});