reorganizing
This commit is contained in:
parent
59c50d9236
commit
0ac46696c8
|
@ -5,8 +5,8 @@ import { ImageModule } from './routes/image/imageroute.module';
|
||||||
import { ServeStaticModule } from '@nestjs/serve-static';
|
import { ServeStaticModule } from '@nestjs/serve-static';
|
||||||
import Config from './env';
|
import Config from './env';
|
||||||
import { DemoManagerModule } from './managers/demo/demomanager.module';
|
import { DemoManagerModule } from './managers/demo/demomanager.module';
|
||||||
import { EImageBackend } from './backenddto/image.entity';
|
import { EImageBackend } from './models/entities/image.entity';
|
||||||
import { EUserBackend } from './backenddto/user.entity';
|
import { EUserBackend } from './models/entities/user.entity';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||||
import { EImageBackend } from '../../backenddto/image.entity';
|
import { EImageBackend } from '../../models/entities/image.entity';
|
||||||
import { ImageDBService } from './imagedb.service';
|
import { ImageDBService } from './imagedb.service';
|
||||||
import { MimesService } from './mimes.service';
|
import { MimesService } from './mimes.service';
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ import {
|
||||||
import { SupportedMime } from 'picsur-shared/dist/dto/mimes.dto';
|
import { SupportedMime } from 'picsur-shared/dist/dto/mimes.dto';
|
||||||
import { GetCols } from '../collectionutils';
|
import { GetCols } from '../collectionutils';
|
||||||
import { plainToClass } from 'class-transformer';
|
import { plainToClass } from 'class-transformer';
|
||||||
import { EImageBackend } from '../../backenddto/image.entity';
|
import { EImageBackend } from '../../models/entities/image.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ImageDBService {
|
export class ImageDBService {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||||
import { EUserBackend } from '../../backenddto/user.entity';
|
import { EUserBackend } from '../../models/entities/user.entity';
|
||||||
import { UsersService } from './userdb.service';
|
import { UsersService } from './userdb.service';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
|
|
|
@ -9,7 +9,7 @@ import {
|
||||||
HasSuccess,
|
HasSuccess,
|
||||||
} from 'picsur-shared/dist/types';
|
} from 'picsur-shared/dist/types';
|
||||||
import { Repository } from 'typeorm';
|
import { Repository } from 'typeorm';
|
||||||
import { EUserBackend } from '../../backenddto/user.entity';
|
import { EUserBackend } from '../../models/entities/user.entity';
|
||||||
import { GetCols } from '../collectionutils';
|
import { GetCols } from '../collectionutils';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { FastifyRequest } from 'fastify';
|
||||||
import { Multipart, MultipartFields, MultipartFile } from 'fastify-multipart';
|
import { Multipart, MultipartFields, MultipartFile } from 'fastify-multipart';
|
||||||
import { Newable } from 'picsur-shared/dist/types';
|
import { Newable } from 'picsur-shared/dist/types';
|
||||||
import Config from '../env';
|
import Config from '../env';
|
||||||
import { MultiPartFieldDto, MultiPartFileDto } from '../backenddto/multipart.dto';
|
import { MultiPartFieldDto, MultiPartFileDto } from '../models/dto/multipart.dto';
|
||||||
|
|
||||||
const logger = new Logger('MultiPart');
|
const logger = new Logger('MultiPart');
|
||||||
export interface MPFile {
|
export interface MPFile {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Res, ValidationPipe } from '@nestjs/common';
|
import { ValidationPipe } from '@nestjs/common';
|
||||||
import { NestFactory } from '@nestjs/core';
|
import { NestFactory } from '@nestjs/core';
|
||||||
import {
|
import {
|
||||||
FastifyAdapter,
|
FastifyAdapter,
|
||||||
|
@ -7,7 +7,7 @@ import {
|
||||||
import { AppModule } from './app.module';
|
import { AppModule } from './app.module';
|
||||||
|
|
||||||
import * as multipart from 'fastify-multipart';
|
import * as multipart from 'fastify-multipart';
|
||||||
import { MainExceptionFilter } from './layers/http-exception/http-exception.filter';
|
import { MainExceptionFilter } from './layers/httpexception/httpexception.filter';
|
||||||
import { SuccessInterceptor } from './layers/success/success.interceptor';
|
import { SuccessInterceptor } from './layers/success/success.interceptor';
|
||||||
import Config from './env';
|
import Config from './env';
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common';
|
||||||
import { fileTypeFromBuffer, FileTypeResult } from 'file-type';
|
import { fileTypeFromBuffer, FileTypeResult } from 'file-type';
|
||||||
import { FullMime } from 'picsur-shared/dist/dto/mimes.dto';
|
import { FullMime } from 'picsur-shared/dist/dto/mimes.dto';
|
||||||
import { AsyncFailable, HasFailed } from 'picsur-shared/dist/types';
|
import { AsyncFailable, HasFailed } from 'picsur-shared/dist/types';
|
||||||
import { EImageBackend } from '../../backenddto/image.entity';
|
import { EImageBackend } from '../../models/entities/image.entity';
|
||||||
import { ImageDBService } from '../../collections/imagedb/imagedb.service';
|
import { ImageDBService } from '../../collections/imagedb/imagedb.service';
|
||||||
import { MimesService } from '../../collections/imagedb/mimes.service';
|
import { MimesService } from '../../collections/imagedb/mimes.service';
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ import {
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { plainToClass } from 'class-transformer';
|
import { plainToClass } from 'class-transformer';
|
||||||
import { validate } from 'class-validator';
|
import { validate } from 'class-validator';
|
||||||
import { EUserBackend } from '../../../backenddto/user.entity';
|
import { EUserBackend } from '../../../models/entities/user.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AdminGuard implements CanActivate {
|
export class AdminGuard implements CanActivate {
|
||||||
|
|
|
@ -9,7 +9,7 @@ import {
|
||||||
NotFoundException,
|
NotFoundException,
|
||||||
InternalServerErrorException,
|
InternalServerErrorException,
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { LocalAuthGuard } from './local-auth.guard';
|
import { LocalAuthGuard } from './localauth.guard';
|
||||||
import { AuthService } from './auth.service';
|
import { AuthService } from './auth.service';
|
||||||
import { JwtAuthGuard } from './jwt.guard';
|
import { JwtAuthGuard } from './jwt.guard';
|
||||||
import { AdminGuard } from './admin.guard';
|
import { AdminGuard } from './admin.guard';
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
import {
|
import {
|
||||||
Logger,
|
Logger,
|
||||||
MiddlewareConsumer,
|
|
||||||
Module,
|
Module,
|
||||||
NestModule,
|
|
||||||
OnModuleInit,
|
OnModuleInit,
|
||||||
} from '@nestjs/common';
|
} from '@nestjs/common';
|
||||||
import { PassportModule } from '@nestjs/passport';
|
import { PassportModule } from '@nestjs/passport';
|
||||||
import { AuthService } from './auth.service';
|
import { AuthService } from './auth.service';
|
||||||
import { LocalStrategy } from './local.strategy';
|
import { LocalAuthStrategy } from './localauth.strategy';
|
||||||
import { AuthController } from './auth.controller';
|
import { AuthController } from './auth.controller';
|
||||||
import { JwtModule } from '@nestjs/jwt';
|
import { JwtModule } from '@nestjs/jwt';
|
||||||
import { JwtStrategy } from './jwt.strategy';
|
import { JwtStrategy } from './jwt.strategy';
|
||||||
|
@ -23,7 +21,7 @@ import Config from '../../../env';
|
||||||
signOptions: { expiresIn: Config.jwt.expiresIn },
|
signOptions: { expiresIn: Config.jwt.expiresIn },
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
providers: [AuthService, LocalStrategy, JwtStrategy],
|
providers: [AuthService, LocalAuthStrategy, JwtStrategy],
|
||||||
controllers: [AuthController],
|
controllers: [AuthController],
|
||||||
})
|
})
|
||||||
export class AuthModule implements OnModuleInit {
|
export class AuthModule implements OnModuleInit {
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { instanceToPlain, plainToClass } from 'class-transformer';
|
||||||
import { validate } from 'class-validator';
|
import { validate } from 'class-validator';
|
||||||
import { JwtDataDto } from 'picsur-shared/dist/dto/auth.dto';
|
import { JwtDataDto } from 'picsur-shared/dist/dto/auth.dto';
|
||||||
import { AsyncFailable, HasFailed, Fail } from 'picsur-shared/dist/types';
|
import { AsyncFailable, HasFailed, Fail } from 'picsur-shared/dist/types';
|
||||||
import { EUserBackend } from '../../../backenddto/user.entity';
|
import { EUserBackend } from '../../../models/entities/user.entity';
|
||||||
import { UsersService } from '../../../collections/userdb/userdb.service';
|
import { UsersService } from '../../../collections/userdb/userdb.service';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { FastifyRequest } from 'fastify';
|
import { FastifyRequest } from 'fastify';
|
||||||
import { EUserBackend } from '../../../backenddto/user.entity';
|
import { EUserBackend } from '../../../models/entities/user.entity';
|
||||||
|
|
||||||
export default interface AuthFasityRequest extends FastifyRequest {
|
export default interface AuthFasityRequest extends FastifyRequest {
|
||||||
user: EUserBackend;
|
user: EUserBackend;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { validate } from 'class-validator';
|
||||||
import { plainToClass } from 'class-transformer';
|
import { plainToClass } from 'class-transformer';
|
||||||
import Config from '../../../env';
|
import Config from '../../../env';
|
||||||
import { JwtDataDto } from 'picsur-shared/dist/dto/auth.dto';
|
import { JwtDataDto } from 'picsur-shared/dist/dto/auth.dto';
|
||||||
import { EUserBackend } from '../../../backenddto/user.entity';
|
import { EUserBackend } from '../../../models/entities/user.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
|
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
|
||||||
|
|
|
@ -3,10 +3,10 @@ import { PassportStrategy } from '@nestjs/passport';
|
||||||
import { Injectable, UnauthorizedException } from '@nestjs/common';
|
import { Injectable, UnauthorizedException } from '@nestjs/common';
|
||||||
import { AuthService } from './auth.service';
|
import { AuthService } from './auth.service';
|
||||||
import { AsyncFailable, HasFailed } from 'picsur-shared/dist/types';
|
import { AsyncFailable, HasFailed } from 'picsur-shared/dist/types';
|
||||||
import { EUserBackend } from '../../../backenddto/user.entity';
|
import { EUserBackend } from '../../../models/entities/user.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class LocalStrategy extends PassportStrategy(Strategy, 'local') {
|
export class LocalAuthStrategy extends PassportStrategy(Strategy, 'local') {
|
||||||
constructor(private authService: AuthService) {
|
constructor(private authService: AuthService) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
|
@ -13,8 +13,8 @@ import { FastifyReply, FastifyRequest } from 'fastify';
|
||||||
import { HasFailed } from 'picsur-shared/dist/types';
|
import { HasFailed } from 'picsur-shared/dist/types';
|
||||||
import { MultiPart } from '../../decorators/multipart.decorator';
|
import { MultiPart } from '../../decorators/multipart.decorator';
|
||||||
import { ImageManagerService } from '../../managers/imagemanager/imagemanager.service';
|
import { ImageManagerService } from '../../managers/imagemanager/imagemanager.service';
|
||||||
import { ImageUploadDto } from '../../backenddto/imageroute.dto';
|
|
||||||
import { isHash } from 'class-validator';
|
import { isHash } from 'class-validator';
|
||||||
|
import { ImageUploadDto } from '../../models/dto/imageroute.dto';
|
||||||
@Controller('i')
|
@Controller('i')
|
||||||
export class ImageController {
|
export class ImageController {
|
||||||
constructor(private readonly imagesService: ImageManagerService) {}
|
constructor(private readonly imagesService: ImageManagerService) {}
|
||||||
|
|
|
@ -4,9 +4,9 @@ import { SnackBarType } from 'src/app/models/snack-bar-type';
|
||||||
import { UtilService } from 'src/app/util/util.service';
|
import { UtilService } from 'src/app/util/util.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'copy-field',
|
selector: 'copyfield',
|
||||||
templateUrl: './copy-field.component.html',
|
templateUrl: './copyfield.component.html',
|
||||||
styleUrls: ['./copy-field.component.scss'],
|
styleUrls: ['./copyfield.component.scss'],
|
||||||
})
|
})
|
||||||
export class CopyFieldComponent {
|
export class CopyFieldComponent {
|
||||||
// Two paramets: name, value
|
// Two paramets: name, value
|
|
@ -1,6 +1,6 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { CommonModule } from '@angular/common';
|
import { CommonModule } from '@angular/common';
|
||||||
import { CopyFieldComponent } from './copy-field.component';
|
import { CopyFieldComponent } from './copyfield.component';
|
||||||
import { MatInputModule } from '@angular/material/input';
|
import { MatInputModule } from '@angular/material/input';
|
||||||
import { MatIconModule } from '@angular/material/icon';
|
import { MatIconModule } from '@angular/material/icon';
|
||||||
import { MatButtonModule } from '@angular/material/button';
|
import { MatButtonModule } from '@angular/material/button';
|
|
@ -8,7 +8,7 @@ import { ApiModule } from '../api/api.module';
|
||||||
import { PageNotFoundModule } from '../components/pagenotfound/pagenotfound.module';
|
import { PageNotFoundModule } from '../components/pagenotfound/pagenotfound.module';
|
||||||
import { PageNotFoundComponent } from '../components/pagenotfound/pagenotfound.component';
|
import { PageNotFoundComponent } from '../components/pagenotfound/pagenotfound.component';
|
||||||
import { ViewComponent } from '../routes/view/view.component';
|
import { ViewComponent } from '../routes/view/view.component';
|
||||||
import { CopyFieldModule } from '../components/copy-field/copy-field.module';
|
import { CopyFieldModule } from '../components/copyfield/copyfield.module';
|
||||||
import { MatButtonModule } from '@angular/material/button';
|
import { MatButtonModule } from '@angular/material/button';
|
||||||
import { UtilModule } from '../util/util.module';
|
import { UtilModule } from '../util/util.module';
|
||||||
import { LoginComponent } from '../routes/login/login.component';
|
import { LoginComponent } from '../routes/login/login.component';
|
||||||
|
|
|
@ -10,19 +10,19 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<copy-field label="Image URL" [value]="imageUrl"></copy-field>
|
<copyfield label="Image URL" [value]="imageUrl"></copyfield>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-12">
|
<div class="col-md-6 col-12">
|
||||||
<copy-field label="Markdown" [value]="imageLinks.markdown"></copy-field>
|
<copyfield label="Markdown" [value]="imageLinks.markdown"></copyfield>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-12">
|
<div class="col-md-6 col-12">
|
||||||
<copy-field label="HTML" [value]="imageLinks.html"></copy-field>
|
<copyfield label="HTML" [value]="imageLinks.html"></copyfield>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-12">
|
<div class="col-md-6 col-12">
|
||||||
<copy-field label="BBCode" [value]="imageLinks.bbcode"></copy-field>
|
<copyfield label="BBCode" [value]="imageLinks.bbcode"></copyfield>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-12">
|
<div class="col-md-6 col-12">
|
||||||
<copy-field label="Rst" [value]="imageLinks.rst"></copy-field>
|
<copyfield label="Rst" [value]="imageLinks.rst"></copyfield>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<button mat-raised-button color="accent" (click)="goBackHome()">
|
<button mat-raised-button color="accent" (click)="goBackHome()">
|
||||||
|
|
12
shared/src/entities/syspreference.entity.ts
Normal file
12
shared/src/entities/syspreference.entity.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import { IsNotEmpty, IsOptional } from 'class-validator';
|
||||||
|
|
||||||
|
export class ESysPreference {
|
||||||
|
@IsOptional()
|
||||||
|
id?: number;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
@IsNotEmpty()
|
||||||
|
value: string;
|
||||||
|
}
|
Loading…
Reference in a new issue