2024-01-12 18:43:36 -06:00
|
|
|
import { ApiProperty } from '@nestjs/swagger';
|
2022-08-15 19:11:08 -05:00
|
|
|
import { Transform } from 'class-transformer';
|
2024-01-12 18:43:36 -06:00
|
|
|
import { IsBoolean, IsEmail, IsNotEmpty, IsNumber, IsPositive, IsString } from 'class-validator';
|
2023-09-04 15:45:59 -04:00
|
|
|
import { Optional, toEmail, toSanitized } from '../../domain.util';
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
export class CreateUserDto {
|
2023-06-14 22:26:17 +01:00
|
|
|
@IsEmail({ require_tld: false })
|
2023-05-21 23:18:10 -04:00
|
|
|
@Transform(toEmail)
|
2022-06-25 19:53:06 +02:00
|
|
|
email!: string;
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
2022-06-25 19:53:06 +02:00
|
|
|
password!: string;
|
2022-05-21 02:23:55 -05:00
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
2023-11-11 20:03:32 -05:00
|
|
|
name!: string;
|
2023-05-21 23:18:10 -04:00
|
|
|
|
2023-09-01 12:40:00 -04:00
|
|
|
@Optional({ nullable: true })
|
2023-05-21 23:18:10 -04:00
|
|
|
@IsString()
|
|
|
|
|
@Transform(toSanitized)
|
|
|
|
|
storageLabel?: string | null;
|
feat(server): support for read-only assets and importing existing items in the filesystem (#2715)
* Added read-only flag for assets, endpoint to trigger file import vs upload
* updated fixtures with new property
* if upload is 'read-only', ensure there is no existing asset at the designated originalPath
* added test for file import as well as detecting existing image at read-only destination location
* Added storage service test for a case where it should not move read-only assets
* upload doesn't need the read-only flag available, just importing
* default isReadOnly on import endpoint to true
* formatting fixes
* create-asset dto needs isReadOnly, so set it to false by default on create, updated api generation
* updated code to reflect changes in MR
* fixed read stream promise return type
* new index for originalPath, check for existing path on import, reglardless of user, to prevent duplicates
* refactor: import asset
* chore: open api
* chore: tests
* Added externalPath support for individual users, updated UI to allow this to be set by admin
* added missing var for externalPath in ui
* chore: open api
* fix: compilation issues
* fix: server test
* built api, fixed user-response dto to include externalPath
* reverted accidental commit
* bad commit of duplicate externalPath in user response dto
* fixed tests to include externalPath on expected result
* fix: unit tests
* centralized supported filetypes, perform file type checking of asset and sidecar during file import process
* centralized supported filetype check method to keep regex DRY
* fixed typo
* combined migrations into one
* update api
* Removed externalPath from shared-link code, added column to admin user page whether external paths / import is enabled or not
* update mimetype
* Fixed detect correct mimetype
* revert asset-upload config
* reverted domain.constant
* refactor
* fix mime-type issue
* fix format
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-21 22:33:20 -04:00
|
|
|
|
2023-09-01 12:40:00 -04:00
|
|
|
@Optional()
|
2023-08-09 22:01:16 -04:00
|
|
|
@IsBoolean()
|
|
|
|
|
memoriesEnabled?: boolean;
|
2024-01-12 18:43:36 -06:00
|
|
|
|
|
|
|
|
@Optional({ nullable: true })
|
|
|
|
|
@IsNumber()
|
|
|
|
|
@IsPositive()
|
|
|
|
|
@ApiProperty({ type: 'integer', format: 'int64' })
|
|
|
|
|
quotaSizeInBytes?: number | null;
|
2022-05-21 02:23:55 -05:00
|
|
|
}
|
2022-12-23 21:08:50 +01:00
|
|
|
|
|
|
|
|
export class CreateAdminDto {
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
isAdmin!: true;
|
|
|
|
|
|
2023-06-14 22:26:17 +01:00
|
|
|
@IsEmail({ require_tld: false })
|
2022-12-23 21:08:50 +01:00
|
|
|
@Transform(({ value }) => value?.toLowerCase())
|
|
|
|
|
email!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
password!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
2023-11-11 20:03:32 -05:00
|
|
|
name!: string;
|
2022-12-23 21:08:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export class CreateUserOAuthDto {
|
2023-06-14 22:26:17 +01:00
|
|
|
@IsEmail({ require_tld: false })
|
2022-12-23 21:08:50 +01:00
|
|
|
@Transform(({ value }) => value?.toLowerCase())
|
|
|
|
|
email!: string;
|
|
|
|
|
|
|
|
|
|
@IsNotEmpty()
|
|
|
|
|
oauthId!: string;
|
|
|
|
|
|
2023-11-11 20:03:32 -05:00
|
|
|
name?: string;
|
2022-12-23 21:08:50 +01:00
|
|
|
}
|