Skip to content
This repository has been archived by the owner on Feb 10, 2024. It is now read-only.

Commit

Permalink
Added DTO for content data: heusalagroup/hghs#22
Browse files Browse the repository at this point in the history
  • Loading branch information
thejhh committed Apr 24, 2022
1 parent 0367ca5 commit 6c1575e
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions types/event/roomGuestAccess/RoomGuestAccessContentDTO.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Copyright (c) 2022. Heusala Group Oy <info@heusalagroup.fi>. All rights reserved.

import { hasNoOtherKeys, isRegularObject } from "../../../../core/modules/lodash";
import { isMatrixGuestAccess, MatrixGuestAccess } from "./MatrixGuestAccess";

export interface RoomGuestAccessContentDTO {
readonly guest_access : MatrixGuestAccess;
}

export function createRoomGuestAccessContentDTO (
guest_access: MatrixGuestAccess
): RoomGuestAccessContentDTO {
return {
guest_access
};
}

export function isRoomGuestAccessContentDTO (value: any): value is RoomGuestAccessContentDTO {
return (
isRegularObject(value)
&& hasNoOtherKeys(value, [
'guest_access'
])
&& isMatrixGuestAccess(value?.guest_access)
);
}

export function stringifyRoomGuestAccessContentDTO (value: RoomGuestAccessContentDTO): string {
return `RoomGuestAccessContentDTO(${value})`;
}

export function parseRoomGuestAccessContentDTO (value: any): RoomGuestAccessContentDTO | undefined {
if ( isRoomGuestAccessContentDTO(value) ) return value;
return undefined;
}

0 comments on commit 6c1575e

Please sign in to comment.