-
+ @if (isManagerUi() === false) {
+
+ }
@if (partyIdControl.value) {
{{ user()?.username }}
diff --git a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
index 8f517e74f..e4ef19ea5 100644
--- a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
+++ b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
@@ -1,11 +1,15 @@
-import { Injectable } from '@angular/core';
+import { Injectable, inject } from '@angular/core';
import { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
import { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';
import { environment } from '../../../../environments/environment';
+import { ManagerUiService } from './manager-ui.service';
+
@Injectable({ providedIn: 'root' })
export class AppAuthGuardService extends KeycloakAuthGuard {
+ private managerUiService = inject(ManagerUiService);
+
constructor(
// eslint-disable-next-line @angular-eslint/prefer-inject
protected override router: Router,
@@ -17,8 +21,14 @@ export class AppAuthGuardService extends KeycloakAuthGuard {
async isAccessAllowed(
route: ActivatedRouteSnapshot,
- _state: RouterStateSnapshot,
+ state: RouterStateSnapshot,
): Promise {
+ if (this.managerUiService.isManagerUi() === true) {
+ const partyId = this.managerUiService.partyId();
+ if (partyId && !state.url.startsWith(`/party/${partyId}`)) {
+ return this.router.createUrlTree(['/party', partyId]);
+ }
+ }
return (
this.userHasSomeServiceMethods(route.data['services']) ||
this.router.createUrlTree(['404'])
diff --git a/apps/control-center/src/app/shared/services/app-auth-guard/manager-ui.service.ts b/apps/control-center/src/app/shared/services/app-auth-guard/manager-ui.service.ts
index 06b18d0fd..21620e1ee 100644
--- a/apps/control-center/src/app/shared/services/app-auth-guard/manager-ui.service.ts
+++ b/apps/control-center/src/app/shared/services/app-auth-guard/manager-ui.service.ts
@@ -11,8 +11,8 @@ export class ManagerUiService {
private keycloakUserService = inject(KeycloakUserService);
private keycloakService = inject(KeycloakService);
- isManagerUi = computed(() => (this.keycloakUserService.user.value() ? !!this.getRole() : null));
- partyId = computed(() => (this.keycloakUserService.user.value() ? this.getParty() : null));
+ isManagerUi = computed(() => (this.keycloakUserService.user.value(), !!this.getRole()));
+ partyId = computed(() => (this.keycloakUserService.user.value(), this.getParty()));
private getRole() {
return this.keycloakService
From dfda05ce54924aae9992ce5b44cfea0bac4d3158 Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com>
Date: Tue, 21 Oct 2025 22:14:01 +0700
Subject: [PATCH 3/7] fix
---
.../src/lib/components/input-field/input-field.component.scss | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libs/matez/src/lib/components/input-field/input-field.component.scss b/libs/matez/src/lib/components/input-field/input-field.component.scss
index 0537df3b9..d2016eafa 100644
--- a/libs/matez/src/lib/components/input-field/input-field.component.scss
+++ b/libs/matez/src/lib/components/input-field/input-field.component.scss
@@ -1,4 +1,6 @@
.v-input-field {
+ width: 100%;
+
.postfix {
white-space: nowrap;
}
From 82e38f1faf50a728096af7c7aa0699f52c18e800 Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com>
Date: Tue, 21 Oct 2025 22:17:29 +0700
Subject: [PATCH 4/7] add publish for epics
---
.github/workflows/main.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index e63d74323..fd0ad5326 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -1,7 +1,7 @@
name: Main
on:
push:
- branches: ['master', 'main']
+ branches: ['master', 'main', 'epic/*']
jobs:
deploy:
name: Deploy
@@ -46,6 +46,7 @@ jobs:
name: Notify
runs-on: ubuntu-latest
needs: [deploy]
+ if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- uses: valitydev/action-mattermost-notify@v0.1.4
From 348ca3e1a0551d1c6df494a53867cfd519ee0ea7 Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com>
Date: Tue, 21 Oct 2025 22:30:50 +0700
Subject: [PATCH 5/7] hide del & edit
---
.../domain-object-card.component.html | 10 ++++++----
.../domain-object-card/domain-object-card.component.ts | 3 +++
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.html b/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.html
index 5c429b4d7..24066ef40 100644
--- a/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.html
+++ b/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.html
@@ -6,8 +6,10 @@
type="DomainObject"
(kindChange)="kind.set($event)"
>
-
- Delete
- Edit
-
+ @if (!managerUiService.isManagerUi()) {
+
+ Delete
+ Edit
+
+ }
diff --git a/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.ts b/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.ts
index 88dfe7d0e..182db5f4f 100644
--- a/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.ts
+++ b/apps/control-center/src/app/shared/components/thrift-api-crud/domain/domain-object-card/domain-object-card.component.ts
@@ -15,6 +15,7 @@ import { ReplaySubject, combineLatest, switchMap } from 'rxjs';
import { first, map, shareReplay } from 'rxjs/operators';
import { DomainStoreService } from '../../../../../api/domain-config/stores/domain-store.service';
+import { ManagerUiService } from '../../../../services';
import { SidenavInfoModule } from '../../../sidenav-info';
import { CardComponent } from '../../../sidenav-info/components/card/card.component';
import { DomainThriftViewerComponent } from '../domain-thrift-viewer';
@@ -38,6 +39,8 @@ export class DomainObjectCardComponent implements OnChanges {
private domainStoreService = inject(DomainStoreService);
private destroyRef = inject(DestroyRef);
private dialogService = inject(DialogService);
+ managerUiService = inject(ManagerUiService);
+
@Input() ref!: Reference;
ref$ = new ReplaySubject(1);
From 4a1e33c9b7302ddce0a9dfad1f07ffa788ba2426 Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com>
Date: Tue, 21 Oct 2025 22:42:01 +0700
Subject: [PATCH 6/7] try log
---
.../services/app-auth-guard/app-auth-guard.service.ts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
index e4ef19ea5..5f31bacc6 100644
--- a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
+++ b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
@@ -23,6 +23,12 @@ export class AppAuthGuardService extends KeycloakAuthGuard {
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot,
): Promise {
+ console.log(
+ this.managerUiService.partyId(),
+ this.managerUiService.isManagerUi(),
+ route.data['services'],
+ this.userHasSomeServiceMethods(route.data['services']),
+ );
if (this.managerUiService.isManagerUi() === true) {
const partyId = this.managerUiService.partyId();
if (partyId && !state.url.startsWith(`/party/${partyId}`)) {
From 6413465d4f59b4e732e858f2b19e45f98a23ff8f Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+A77AY@users.noreply.github.com>
Date: Wed, 22 Oct 2025 15:06:18 +0700
Subject: [PATCH 7/7] clean
---
.../services/app-auth-guard/app-auth-guard.service.ts | 6 ------
1 file changed, 6 deletions(-)
diff --git a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
index 5f31bacc6..e4ef19ea5 100644
--- a/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
+++ b/apps/control-center/src/app/shared/services/app-auth-guard/app-auth-guard.service.ts
@@ -23,12 +23,6 @@ export class AppAuthGuardService extends KeycloakAuthGuard {
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot,
): Promise {
- console.log(
- this.managerUiService.partyId(),
- this.managerUiService.isManagerUi(),
- route.data['services'],
- this.userHasSomeServiceMethods(route.data['services']),
- );
if (this.managerUiService.isManagerUi() === true) {
const partyId = this.managerUiService.partyId();
if (partyId && !state.url.startsWith(`/party/${partyId}`)) {