mirror of
https://github.com/swissmakers/swiss-datashare.git
synced 2026-04-11 10:27:01 +02:00
* fix: set link default value to random * fix: add auto EOL and add conventional-changelog package * feat: Adding reverse shares' shares a clickable link (#178) * Add clickable link to reverse share's shares * Ran format * Apply suggestions from code review * fix: set link default value to random (#181) * fix: set link default value to random * fix: add auto EOL and add conventional-changelog package * Apply suggestions from code review --------- Co-authored-by: Elias Schneider <login@eliasschneider.com> * feat: Adding reverse share ability to copy the link (#179) --------- Co-authored-by: Elias Schneider <login@eliasschneider.com>
34 lines
807 B
TypeScript
34 lines
807 B
TypeScript
import { Expose, plainToClass, Type } from "class-transformer";
|
|
import { ShareDTO } from "./share.dto";
|
|
import { FileDTO } from "../../file/dto/file.dto";
|
|
import { OmitType } from "@nestjs/swagger";
|
|
|
|
export class MyShareDTO extends OmitType(ShareDTO, [
|
|
"files",
|
|
"from",
|
|
"fromList",
|
|
] as const) {
|
|
@Expose()
|
|
views: number;
|
|
|
|
@Expose()
|
|
createdAt: Date;
|
|
|
|
@Expose()
|
|
recipients: string[];
|
|
|
|
@Expose()
|
|
@Type(() => OmitType(FileDTO, ["share", "from"] as const))
|
|
files: Omit<FileDTO, "share" | "from">[];
|
|
|
|
from(partial: Partial<MyShareDTO>) {
|
|
return plainToClass(MyShareDTO, partial, { excludeExtraneousValues: true });
|
|
}
|
|
|
|
fromList(partial: Partial<MyShareDTO>[]) {
|
|
return partial.map((part) =>
|
|
plainToClass(MyShareDTO, part, { excludeExtraneousValues: true })
|
|
);
|
|
}
|
|
}
|