Rework sidebar pages

* Move sidebar pages from workspace to space level
* Replace array sorting with lexicographical fractional indexing
* Fixes and updates
This commit is contained in:
Philipinho
2024-04-16 21:55:24 +01:00
parent f1bdce1662
commit df9110268c
35 changed files with 775 additions and 982 deletions

View File

@ -1,10 +1,6 @@
import { IsOptional, IsString, IsUUID } from 'class-validator';
export class CreatePageDto {
@IsOptional()
@IsUUID()
pageId?: string;
@IsOptional()
@IsString()
title?: string;

View File

@ -1,18 +1,21 @@
import { IsString, IsOptional, IsUUID } from 'class-validator';
import {
IsString,
IsUUID,
IsOptional,
MinLength,
MaxLength,
} from 'class-validator';
export class MovePageDto {
@IsUUID()
pageId: string;
@IsOptional()
@IsString()
after?: string;
@MinLength(5)
@MaxLength(12)
position: string;
@IsOptional()
@IsString()
before?: string;
@IsOptional()
@IsString()
parentId?: string | null;
parentPageId?: string | null;
}

View File

@ -0,0 +1,8 @@
import { IsOptional, IsUUID } from 'class-validator';
import { SpaceIdDto } from './page.dto';
export class SidebarPageDto extends SpaceIdDto {
@IsOptional()
@IsUUID()
pageId: string;
}