Skip to content

Commit 8f476c0

Browse files
committed
feat: refactor DNamespaceMember service for improved abstraction and structure
1 parent 6810dca commit 8f476c0

File tree

1 file changed

+16
-24
lines changed

1 file changed

+16
-24
lines changed

src/components/d-namespace/member/DNamespaceMember.service.ts

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,38 @@ import {
22
Maybe,
33
NamespacesMembersAssignRolesInput,
44
NamespacesMembersDeleteInput,
5-
NamespacesMembersInviteInput, Scalars
5+
NamespacesMembersInviteInput,
6+
Scalars
67
} from "@code0-tech/sagittarius-graphql-types";
78
import {DNamespaceMemberView} from "./DNamespaceMember.view";
89
import {ReactiveArrayService, ReactiveArrayStore} from "../../../utils/reactiveArrayService";
910

10-
export interface DNamespaceMemberService {
11-
membersInvite(payload: NamespacesMembersInviteInput): DNamespaceMemberView | undefined
11+
export abstract class DNamespaceMemberService extends ReactiveArrayService<DNamespaceMemberView> {
1212

13-
membersDelete(payload: NamespacesMembersDeleteInput): void
13+
constructor(payload: ReactiveArrayStore<DNamespaceMemberView>) {
14+
super(payload);
15+
}
1416

15-
membersAssignRoles(payload: NamespacesMembersAssignRolesInput): DNamespaceMemberView | undefined
17+
abstract membersInvite(payload: NamespacesMembersInviteInput): DNamespaceMemberView | undefined
1618

17-
findById(id: Maybe<Scalars['NamespaceMemberID']['output']>): DNamespaceMemberView | undefined
18-
}
19+
abstract membersDelete(payload: NamespacesMembersDeleteInput): void
1920

20-
export class DNamespaceMemberReactiveService extends ReactiveArrayService<DNamespaceMemberView> implements DNamespaceMemberService {
21+
abstract membersAssignRoles(payload: NamespacesMembersAssignRolesInput): DNamespaceMemberView | undefined
2122

22-
constructor(payload: ReactiveArrayStore<DNamespaceMemberView>) {
23-
super(payload);
24-
}
23+
abstract findById(id: Maybe<Scalars['NamespaceMemberID']['output']>): DNamespaceMemberView | undefined
24+
}
25+
26+
export abstract class DNamespaceMemberReactiveService extends DNamespaceMemberService {
2527

2628
findById(id: Maybe<Scalars["NamespaceMemberID"]["output"]>): DNamespaceMemberView | undefined {
2729
return this.values().find(member => member.id === id);
2830
}
2931

30-
membersAssignRoles(payload: NamespacesMembersAssignRolesInput): DNamespaceMemberView | undefined {
31-
return undefined;
32-
}
32+
abstract override membersAssignRoles(payload: NamespacesMembersAssignRolesInput): DNamespaceMemberView | undefined
3333

34-
membersDelete(payload: NamespacesMembersDeleteInput): void {
35-
if (this.findById(payload.namespaceMemberId)) {
36-
const index = this.values().findIndex(member => member.id === payload.namespaceMemberId);
37-
this.delete(index);
38-
this.update()
39-
}
40-
}
34+
abstract override membersDelete(payload: NamespacesMembersDeleteInput): void
4135

42-
membersInvite(payload: NamespacesMembersInviteInput): DNamespaceMemberView | undefined {
43-
return undefined;
44-
}
36+
abstract override membersInvite(payload: NamespacesMembersInviteInput): DNamespaceMemberView | undefined
4537

4638

4739
}

0 commit comments

Comments
 (0)