188 lines
6.3 KiB
TypeScript
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 => {});
|