diff options
author | crupest <crupest@outlook.com> | 2020-10-31 00:42:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-31 00:42:06 +0800 |
commit | 1b80b699e477a0c14a069401cf39126d19668bf0 (patch) | |
tree | 0d1c10cd42398bea87e0169e8a4ec385b71f49bc | |
parent | 0062a22423806c9501752132133e14de02355760 (diff) | |
parent | 5875e7a19ff8eb244e2849647ba35aa898de6b52 (diff) | |
download | timeline-1b80b699e477a0c14a069401cf39126d19668bf0.tar.gz timeline-1b80b699e477a0c14a069401cf39126d19668bf0.tar.bz2 timeline-1b80b699e477a0c14a069401cf39126d19668bf0.zip |
Merge pull request #161 from crupest/upgrade
Upgrade packages and split front end and back end.
-rw-r--r-- | .dockerignore | 44 | ||||
-rw-r--r-- | .github/workflows/back-ci.yaml | 16 | ||||
-rw-r--r-- | .github/workflows/front-ci.yaml | 12 | ||||
-rw-r--r-- | .vscode/settings.json | 8 | ||||
-rw-r--r-- | BackEnd/Directory.Build.props (renamed from Directory.Build.props) | 0 | ||||
-rw-r--r-- | BackEnd/Nuget.Config (renamed from Nuget.Config) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes.CodeGenerator/Program.cs (renamed from Timeline.ErrorCodes.CodeGenerator/Program.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj (renamed from Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes.CodeGenerator/packages.lock.json (renamed from Timeline.ErrorCodes.CodeGenerator/packages.lock.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes/ErrorCodes.cs (renamed from Timeline.ErrorCodes/ErrorCodes.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes/Timeline.ErrorCodes.csproj (renamed from Timeline.ErrorCodes/Timeline.ErrorCodes.csproj) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.ErrorCodes/packages.lock.json (renamed from Timeline.ErrorCodes/packages.lock.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/ErrorCodeTest.cs (renamed from Timeline.Tests/ErrorCodeTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/GlobalSuppressions.cs (renamed from Timeline.Tests/GlobalSuppressions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs (renamed from Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/CacheTestHelper.cs (renamed from Timeline.Tests/Helpers/CacheTestHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/HttpClientExtensions.cs (renamed from Timeline.Tests/Helpers/HttpClientExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/HttpResponseExtensions.cs (renamed from Timeline.Tests/Helpers/HttpResponseExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/ImageHelper.cs (renamed from Timeline.Tests/Helpers/ImageHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/ParameterInfoAssertions.cs (renamed from Timeline.Tests/Helpers/ParameterInfoAssertions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/ReflectionHelper.cs (renamed from Timeline.Tests/Helpers/ReflectionHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/ResponseAssertions.cs (renamed from Timeline.Tests/Helpers/ResponseAssertions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/TestApplication.cs (renamed from Timeline.Tests/Helpers/TestApplication.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/TestClock.cs (renamed from Timeline.Tests/Helpers/TestClock.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Helpers/TestDatabase.cs (renamed from Timeline.Tests/Helpers/TestDatabase.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/AuthorizationTest.cs (renamed from Timeline.Tests/IntegratedTests/AuthorizationTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs (renamed from Timeline.Tests/IntegratedTests/FrontEndTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs (renamed from Timeline.Tests/IntegratedTests/IntegratedTestBase.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs (renamed from Timeline.Tests/IntegratedTests/TimelineTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs (renamed from Timeline.Tests/IntegratedTests/TokenTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs (renamed from Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs (renamed from Timeline.Tests/IntegratedTests/UserAvatarTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs (renamed from Timeline.Tests/IntegratedTests/UserTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/PasswordGenerator.cs (renamed from Timeline.Tests/PasswordGenerator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Properties/launchSettings.json (renamed from Timeline.Tests/Properties/launchSettings.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Services/TimelineServiceTest.cs (renamed from Timeline.Tests/Services/TimelineServiceTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Timeline.Tests.csproj (renamed from Timeline.Tests/Timeline.Tests.csproj) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/UsernameValidatorUnitTest.cs (renamed from Timeline.Tests/UsernameValidatorUnitTest.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/coverletArgs.runsettings (renamed from Timeline.Tests/coverletArgs.runsettings) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/packages.lock.json (renamed from Timeline.Tests/packages.lock.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline.sln (renamed from Timeline.sln) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Auth/Attribute.cs (renamed from Timeline/Auth/Attribute.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Auth/MyAuthenticationHandler.cs (renamed from Timeline/Auth/MyAuthenticationHandler.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Auth/PrincipalExtensions.cs (renamed from Timeline/Auth/PrincipalExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Configs/ApplicationConfiguration.cs (renamed from Timeline/Configs/ApplicationConfiguration.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Configs/JwtConfiguration.cs (renamed from Timeline/Configs/JwtConfiguration.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/ControllerAuthExtensions.cs (renamed from Timeline/Controllers/ControllerAuthExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/Testing/TestingAuthController.cs (renamed from Timeline/Controllers/Testing/TestingAuthController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/TimelineController.cs (renamed from Timeline/Controllers/TimelineController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/TokenController.cs (renamed from Timeline/Controllers/TokenController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/UserAvatarController.cs (renamed from Timeline/Controllers/UserAvatarController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Controllers/UserController.cs (renamed from Timeline/Controllers/UserController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/DataEntity.cs (renamed from Timeline/Entities/DataEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/DatabaseContext.cs (renamed from Timeline/Entities/DatabaseContext.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/JwtTokenEntity.cs (renamed from Timeline/Entities/JwtTokenEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/TimelineEntity.cs (renamed from Timeline/Entities/TimelineEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/TimelineMemberEntity.cs (renamed from Timeline/Entities/TimelineMemberEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/TimelinePostEntity.cs (renamed from Timeline/Entities/TimelinePostEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UserAvatarEntity.cs (renamed from Timeline/Entities/UserAvatarEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UserEntity.cs (renamed from Timeline/Entities/UserEntity.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Entities/UtcDateAnnotation.cs (renamed from Timeline/Entities/UtcDateAnnotation.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Filters/Header.cs (renamed from Timeline/Filters/Header.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Filters/Timeline.cs (renamed from Timeline/Filters/Timeline.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Formatters/BytesInputFormatter.cs (renamed from Timeline/Formatters/BytesInputFormatter.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Formatters/StringInputFormatter.cs (renamed from Timeline/Formatters/StringInputFormatter.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/GlobalSuppressions.cs (renamed from Timeline/GlobalSuppressions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Helpers/DataCacheHelper.cs (renamed from Timeline/Helpers/DataCacheHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Helpers/DateTimeExtensions.cs (renamed from Timeline/Helpers/DateTimeExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Helpers/InvalidModelResponseFactory.cs (renamed from Timeline/Helpers/InvalidModelResponseFactory.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Helpers/LanguageHelper.cs (renamed from Timeline/Helpers/LanguageHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Helpers/Log.cs (renamed from Timeline/Helpers/Log.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200105150407_Initialize.Designer.cs (renamed from Timeline/Migrations/20200105150407_Initialize.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200105150407_Initialize.cs (renamed from Timeline/Migrations/20200105150407_Initialize.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs (renamed from Timeline/Migrations/20200131100517_RefactorUser.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200131100517_RefactorUser.cs (renamed from Timeline/Migrations/20200131100517_RefactorUser.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs (renamed from Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.cs (renamed from Timeline/Migrations/20200221064341_AddJwtToken.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs (renamed from Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.cs (renamed from Timeline/Migrations/20200229103848_AddPostLocalId.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs (renamed from Timeline/Migrations/20200306110049_AddDataTable.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200306110049_AddDataTable.cs (renamed from Timeline/Migrations/20200306110049_AddDataTable.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs (renamed from Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.cs (renamed from Timeline/Migrations/20200306111553_DropUserDetails.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs (renamed from Timeline/Migrations/20200312112552_AddImagePost.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200312112552_AddImagePost.cs (renamed from Timeline/Migrations/20200312112552_AddImagePost.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs (renamed from Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs (renamed from Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs (renamed from Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs (renamed from Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs (renamed from Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.cs (renamed from Timeline/Migrations/20200808071611_UserAddUniqueId.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs (renamed from Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.cs (renamed from Timeline/Migrations/20200810155908_AddTimesToUser.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs (renamed from Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs (renamed from Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs (renamed from Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs (renamed from Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs (renamed from Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.cs (renamed from Timeline/Migrations/20200826164553_TimelineAddTitle.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Migrations/DatabaseContextModelSnapshot.cs (renamed from Timeline/Migrations/DatabaseContextModelSnapshot.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/MockClientApp/index.html (renamed from Timeline/MockClientApp/index.html) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/ByteData.cs (renamed from Timeline/Models/ByteData.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Converters/JsonDateTimeConverter.cs (renamed from Timeline/Models/Converters/JsonDateTimeConverter.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Converters/MyDateTimeConverter.cs (renamed from Timeline/Models/Converters/MyDateTimeConverter.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/ActionContextAccessorExtensions.cs (renamed from Timeline/Models/Http/ActionContextAccessorExtensions.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/Common.cs (renamed from Timeline/Models/Http/Common.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/ErrorResponse.cs (renamed from Timeline/Models/Http/ErrorResponse.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/Timeline.cs (renamed from Timeline/Models/Http/Timeline.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/TimelineController.cs (renamed from Timeline/Models/Http/TimelineController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/TokenController.cs (renamed from Timeline/Models/Http/TokenController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/UserController.cs (renamed from Timeline/Models/Http/UserController.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Http/UserInfo.cs (renamed from Timeline/Models/Http/UserInfo.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Timeline.cs (renamed from Timeline/Models/Timeline.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/User.cs (renamed from Timeline/Models/User.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/GeneralTimelineNameValidator.cs (renamed from Timeline/Models/Validation/GeneralTimelineNameValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/NameValidator.cs (renamed from Timeline/Models/Validation/NameValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/NicknameValidator.cs (renamed from Timeline/Models/Validation/NicknameValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/TimelineNameValidator.cs (renamed from Timeline/Models/Validation/TimelineNameValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/UsernameValidator.cs (renamed from Timeline/Models/Validation/UsernameValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Models/Validation/Validator.cs (renamed from Timeline/Models/Validation/Validator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Program.cs (renamed from Timeline/Program.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Properties/launchSettings.json (renamed from Timeline/Properties/launchSettings.json) | 6 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Authentication/AuthHandler.Designer.cs (renamed from Timeline/Resources/Authentication/AuthHandler.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Authentication/AuthHandler.resx (renamed from Timeline/Resources/Authentication/AuthHandler.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs (renamed from Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.resx (renamed from Timeline/Resources/Controllers/ControllerAuthExtensions.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/TimelineController.Designer.cs (renamed from Timeline/Resources/Controllers/TimelineController.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/TimelineController.resx (renamed from Timeline/Resources/Controllers/TimelineController.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/TokenController.Designer.cs (renamed from Timeline/Resources/Controllers/TokenController.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/TokenController.resx (renamed from Timeline/Resources/Controllers/TokenController.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/UserAvatarController.Designer.cs (renamed from Timeline/Resources/Controllers/UserAvatarController.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/UserAvatarController.resx (renamed from Timeline/Resources/Controllers/UserAvatarController.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/UserController.Designer.cs (renamed from Timeline/Resources/Controllers/UserController.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Controllers/UserController.resx (renamed from Timeline/Resources/Controllers/UserController.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Entities.Designer.cs (renamed from Timeline/Resources/Entities.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Entities.resx (renamed from Timeline/Resources/Entities.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Filters.Designer.cs (renamed from Timeline/Resources/Filters.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Filters.resx (renamed from Timeline/Resources/Filters.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Helper/DataCacheHelper.Designer.cs (renamed from Timeline/Resources/Helper/DataCacheHelper.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Helper/DataCacheHelper.resx (renamed from Timeline/Resources/Helper/DataCacheHelper.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Messages.Designer.cs (renamed from Timeline/Resources/Messages.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Messages.resx (renamed from Timeline/Resources/Messages.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Http/Common.Designer.cs (renamed from Timeline/Resources/Models/Http/Common.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Http/Common.resx (renamed from Timeline/Resources/Models/Http/Common.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Http/Exception.Designer.cs (renamed from Timeline/Resources/Models/Http/Exception.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Http/Exception.resx (renamed from Timeline/Resources/Models/Http/Exception.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/NameValidator.Designer.cs (renamed from Timeline/Resources/Models/Validation/NameValidator.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/NameValidator.resx (renamed from Timeline/Resources/Models/Validation/NameValidator.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs (renamed from Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.resx (renamed from Timeline/Resources/Models/Validation/NicknameValidator.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/Validator.Designer.cs (renamed from Timeline/Resources/Models/Validation/Validator.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Models/Validation/Validator.resx (renamed from Timeline/Resources/Models/Validation/Validator.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/DataManager.Designer.cs (renamed from Timeline/Resources/Services/DataManager.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/DataManager.resx (renamed from Timeline/Resources/Services/DataManager.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/Exception.Designer.cs (renamed from Timeline/Resources/Services/Exception.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/Exception.resx (renamed from Timeline/Resources/Services/Exception.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/Exceptions.Designer.cs (renamed from Timeline/Resources/Services/Exceptions.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/Exceptions.resx (renamed from Timeline/Resources/Services/Exceptions.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/TimelineService.Designer.cs (renamed from Timeline/Resources/Services/TimelineService.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/TimelineService.resx (renamed from Timeline/Resources/Services/TimelineService.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserAvatarService.Designer.cs (renamed from Timeline/Resources/Services/UserAvatarService.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserAvatarService.resx (renamed from Timeline/Resources/Services/UserAvatarService.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserService.Designer.cs (renamed from Timeline/Resources/Services/UserService.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserService.resx (renamed from Timeline/Resources/Services/UserService.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserTokenService.Designer.cs (renamed from Timeline/Resources/Services/UserTokenService.Designer.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Resources/Services/UserTokenService.resx (renamed from Timeline/Resources/Services/UserTokenService.resx) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Routes/ApiRoutePrefixConvention.cs (renamed from Timeline/Routes/ApiRoutePrefixConvention.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Routes/UnknownEndpointMiddleware.cs (renamed from Timeline/Routes/UnknownEndpointMiddleware.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/BadPasswordException.cs (renamed from Timeline/Services/BadPasswordException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Clock.cs (renamed from Timeline/Services/Clock.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/DataManager.cs (renamed from Timeline/Services/DataManager.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/DatabaseBackupService.cs (renamed from Timeline/Services/DatabaseBackupService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/DatabaseCorruptedException.cs (renamed from Timeline/Services/DatabaseCorruptedException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/ETagGenerator.cs (renamed from Timeline/Services/ETagGenerator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/EntityNames.cs (renamed from Timeline/Services/EntityNames.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/EntityAlreadyExistError.cs (renamed from Timeline/Services/Exceptions/EntityAlreadyExistError.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/EntityNotExistError.cs (renamed from Timeline/Services/Exceptions/EntityNotExistError.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/ExceptionMessageHelper.cs (renamed from Timeline/Services/Exceptions/ExceptionMessageHelper.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/ImageException.cs (renamed from Timeline/Services/Exceptions/ImageException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/TimelineNotExistException.cs (renamed from Timeline/Services/Exceptions/TimelineNotExistException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs (renamed from Timeline/Services/Exceptions/TimelinePostNoDataException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/TimelinePostNotExistException.cs (renamed from Timeline/Services/Exceptions/TimelinePostNotExistException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/Exceptions/UserNotExistException.cs (renamed from Timeline/Services/Exceptions/UserNotExistException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/ImageValidator.cs (renamed from Timeline/Services/ImageValidator.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/JwtUserTokenBadFormatException.cs (renamed from Timeline/Services/JwtUserTokenBadFormatException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/PasswordBadFormatException.cs (renamed from Timeline/Services/PasswordBadFormatException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/PasswordService.cs (renamed from Timeline/Services/PasswordService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/PathProvider.cs (renamed from Timeline/Services/PathProvider.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/TimelineService.cs (renamed from Timeline/Services/TimelineService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserAvatarService.cs (renamed from Timeline/Services/UserAvatarService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserDeleteService.cs (renamed from Timeline/Services/UserDeleteService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserRoleConvert.cs (renamed from Timeline/Services/UserRoleConvert.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserService.cs (renamed from Timeline/Services/UserService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserTokenException.cs (renamed from Timeline/Services/UserTokenException.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserTokenManager.cs (renamed from Timeline/Services/UserTokenManager.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Services/UserTokenService.cs (renamed from Timeline/Services/UserTokenService.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Startup.cs (renamed from Timeline/Startup.cs) | 4 | ||||
-rw-r--r-- | BackEnd/Timeline/Swagger/ApiConvention.cs (renamed from Timeline/Swagger/ApiConvention.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Swagger/ByteDataRequestOperationProcessor.cs (renamed from Timeline/Swagger/ByteDataRequestOperationProcessor.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Swagger/DefaultDescriptionOperationProcessor.cs (renamed from Timeline/Swagger/DefaultDescriptionOperationProcessor.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs (renamed from Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/Timeline.csproj (renamed from Timeline/Timeline.csproj) | 34 | ||||
-rw-r--r-- | BackEnd/Timeline/appsettings.Development.json (renamed from Timeline/appsettings.Development.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/appsettings.json (renamed from Timeline/appsettings.json) | 0 | ||||
-rw-r--r-- | BackEnd/Timeline/default-avatar.png (renamed from Timeline/ClientApp/src/app/http/mock/default-avatar.png) | bin | 26442 -> 26442 bytes | |||
-rw-r--r-- | BackEnd/Timeline/packages.lock.json (renamed from Timeline/packages.lock.json) | 0 | ||||
-rw-r--r-- | BackEnd/tools/convert-eol.py (renamed from tools/convert-eol.py) | 0 | ||||
-rw-r--r-- | Dockerfile | 26 | ||||
-rw-r--r-- | FrontEnd/.babelrc (renamed from Timeline/ClientApp/.babelrc) | 0 | ||||
-rw-r--r-- | FrontEnd/.editorconfig (renamed from Timeline/ClientApp/.editorconfig) | 0 | ||||
-rw-r--r-- | FrontEnd/.eslintignore (renamed from Timeline/ClientApp/.eslintignore) | 1 | ||||
-rw-r--r-- | FrontEnd/.eslintrc.js (renamed from Timeline/ClientApp/.eslintrc.js) | 0 | ||||
-rw-r--r-- | FrontEnd/.gitattributes (renamed from Timeline/ClientApp/.gitattributes) | 0 | ||||
-rw-r--r-- | FrontEnd/.gitignore (renamed from Timeline/ClientApp/.gitignore) | 0 | ||||
-rw-r--r-- | FrontEnd/.vscode/extensions.json (renamed from Timeline/ClientApp/.vscode/extensions.json) | 0 | ||||
-rw-r--r-- | FrontEnd/.vscode/preview.yml (renamed from Timeline/ClientApp/.vscode/preview.yml) | 20 | ||||
-rw-r--r-- | FrontEnd/.vscode/settings.json (renamed from Timeline/ClientApp/.vscode/settings.json) | 0 | ||||
-rw-r--r-- | FrontEnd/.yarnrc.yml (renamed from Timeline/ClientApp/.yarnrc.yml) | 0 | ||||
-rw-r--r-- | FrontEnd/LICENSE (renamed from Timeline/ClientApp/LICENSE) | 0 | ||||
-rw-r--r-- | FrontEnd/package.json | 113 | ||||
-rw-r--r-- | FrontEnd/postcss.config.js | 10 | ||||
-rw-r--r-- | FrontEnd/public/android-chrome-192x192.png (renamed from Timeline/ClientApp/public/android-chrome-192x192.png) | bin | 8519 -> 8519 bytes | |||
-rw-r--r-- | FrontEnd/public/android-chrome-512x512.png (renamed from Timeline/ClientApp/public/android-chrome-512x512.png) | bin | 23619 -> 23619 bytes | |||
-rw-r--r-- | FrontEnd/public/apple-touch-icon.png (renamed from Timeline/ClientApp/public/apple-touch-icon.png) | bin | 2088 -> 2088 bytes | |||
-rw-r--r-- | FrontEnd/public/browserconfig.xml (renamed from Timeline/ClientApp/public/browserconfig.xml) | 0 | ||||
-rw-r--r-- | FrontEnd/public/favicon-16x16.png (renamed from Timeline/ClientApp/public/favicon-16x16.png) | bin | 682 -> 682 bytes | |||
-rw-r--r-- | FrontEnd/public/favicon-32x32.png (renamed from Timeline/ClientApp/public/favicon-32x32.png) | bin | 821 -> 821 bytes | |||
-rw-r--r-- | FrontEnd/public/favicon.ico (renamed from Timeline/ClientApp/public/favicon.ico) | bin | 15086 -> 15086 bytes | |||
-rw-r--r-- | FrontEnd/public/mstile-144x144.png (renamed from Timeline/ClientApp/public/mstile-144x144.png) | bin | 2259 -> 2259 bytes | |||
-rw-r--r-- | FrontEnd/public/mstile-150x150.png (renamed from Timeline/ClientApp/public/mstile-150x150.png) | bin | 2240 -> 2240 bytes | |||
-rw-r--r-- | FrontEnd/public/mstile-310x150.png (renamed from Timeline/ClientApp/public/mstile-310x150.png) | bin | 2482 -> 2482 bytes | |||
-rw-r--r-- | FrontEnd/public/mstile-310x310.png (renamed from Timeline/ClientApp/public/mstile-310x310.png) | bin | 4937 -> 4937 bytes | |||
-rw-r--r-- | FrontEnd/public/mstile-70x70.png (renamed from Timeline/ClientApp/public/mstile-70x70.png) | bin | 1561 -> 1561 bytes | |||
-rw-r--r-- | FrontEnd/public/safari-pinned-tab.svg (renamed from Timeline/ClientApp/public/safari-pinned-tab.svg) | 0 | ||||
-rw-r--r-- | FrontEnd/public/site.webmanifest (renamed from Timeline/ClientApp/public/site.webmanifest) | 0 | ||||
-rw-r--r-- | FrontEnd/sandbox.config.json (renamed from Timeline/ClientApp/sandbox.config.json) | 22 | ||||
-rw-r--r-- | FrontEnd/src/app/App.tsx (renamed from Timeline/ClientApp/src/app/App.tsx) | 3 | ||||
-rw-r--r-- | FrontEnd/src/app/common.ts (renamed from Timeline/ClientApp/src/app/common.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/http/common.ts (renamed from Timeline/ClientApp/src/app/http/common.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/http/timeline.ts (renamed from Timeline/ClientApp/src/app/http/timeline.ts) | 2 | ||||
-rw-r--r-- | FrontEnd/src/app/http/token.ts (renamed from Timeline/ClientApp/src/app/http/token.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/http/user.ts (renamed from Timeline/ClientApp/src/app/http/user.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/i18n.ts (renamed from Timeline/ClientApp/src/app/i18n.ts) | 12 | ||||
-rw-r--r-- | FrontEnd/src/app/index.ejs (renamed from Timeline/ClientApp/src/app/index.ejs) | 58 | ||||
-rw-r--r-- | FrontEnd/src/app/index.sass (renamed from Timeline/ClientApp/src/app/index.sass) | 132 | ||||
-rw-r--r-- | FrontEnd/src/app/index.tsx (renamed from Timeline/ClientApp/src/app/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/locales/en/translation.ts (renamed from Timeline/ClientApp/src/app/locales/en/translation.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/locales/scheme.ts (renamed from Timeline/ClientApp/src/app/locales/scheme.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/locales/zh/translation.ts (renamed from Timeline/ClientApp/src/app/locales/zh/translation.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/service-worker.tsx (renamed from Timeline/ClientApp/src/app/service-worker.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/services/DataHub.ts (renamed from Timeline/ClientApp/src/app/services/DataHub.ts) | 2 | ||||
-rw-r--r-- | FrontEnd/src/app/services/alert.ts (renamed from Timeline/ClientApp/src/app/services/alert.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/services/common.ts (renamed from Timeline/ClientApp/src/app/services/common.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/services/timeline.ts (renamed from Timeline/ClientApp/src/app/services/timeline.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/services/user.ts (renamed from Timeline/ClientApp/src/app/services/user.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/tsconfig.json (renamed from Timeline/ClientApp/src/app/tsconfig.json) | 26 | ||||
-rw-r--r-- | FrontEnd/src/app/typings.d.ts (renamed from Timeline/ClientApp/src/app/typings.d.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/utilities/rxjs.ts (renamed from Timeline/ClientApp/src/app/utilities/rxjs.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/utilities/url.ts (renamed from Timeline/ClientApp/src/app/utilities/url.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/about/about.sass (renamed from Timeline/ClientApp/src/app/views/about/about.sass) | 8 | ||||
-rw-r--r-- | FrontEnd/src/app/views/about/author-avatar.png (renamed from Timeline/ClientApp/src/app/views/about/author-avatar.png) | bin | 12038 -> 12038 bytes | |||
-rw-r--r-- | FrontEnd/src/app/views/about/github.png (renamed from Timeline/ClientApp/src/app/views/about/github.png) | bin | 4268 -> 4268 bytes | |||
-rw-r--r-- | FrontEnd/src/app/views/about/index.tsx (renamed from Timeline/ClientApp/src/app/views/about/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/admin/Admin.tsx (renamed from Timeline/ClientApp/src/app/views/admin/Admin.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/admin/UserAdmin.tsx (renamed from Timeline/ClientApp/src/app/views/admin/UserAdmin.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/AppBar.tsx (renamed from Timeline/ClientApp/src/app/views/common/AppBar.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/BlobImage.tsx (renamed from Timeline/ClientApp/src/app/views/common/BlobImage.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/ImageCropper.tsx (renamed from Timeline/ClientApp/src/app/views/common/ImageCropper.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/LoadingButton.tsx (renamed from Timeline/ClientApp/src/app/views/common/LoadingButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/LoadingPage.tsx (renamed from Timeline/ClientApp/src/app/views/common/LoadingPage.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/OperationDialog.tsx (renamed from Timeline/ClientApp/src/app/views/common/OperationDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/SearchInput.tsx (renamed from Timeline/ClientApp/src/app/views/common/SearchInput.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/TimelineLogo.tsx (renamed from Timeline/ClientApp/src/app/views/common/TimelineLogo.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/UserTimelineLogo.tsx (renamed from Timeline/ClientApp/src/app/views/common/UserTimelineLogo.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/alert/AlertHost.tsx (renamed from Timeline/ClientApp/src/app/views/common/alert/AlertHost.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/alert/alert.sass (renamed from Timeline/ClientApp/src/app/views/common/alert/alert.sass) | 30 | ||||
-rw-r--r-- | FrontEnd/src/app/views/common/common.sass (renamed from Timeline/ClientApp/src/app/views/common/common.sass) | 66 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/BoardWithUser.tsx (renamed from Timeline/ClientApp/src/app/views/home/BoardWithUser.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/BoardWithoutUser.tsx (renamed from Timeline/ClientApp/src/app/views/home/BoardWithoutUser.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/OfflineBoard.tsx (renamed from Timeline/ClientApp/src/app/views/home/OfflineBoard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/TimelineBoard.tsx (renamed from Timeline/ClientApp/src/app/views/home/TimelineBoard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/TimelineCreateDialog.tsx (renamed from Timeline/ClientApp/src/app/views/home/TimelineCreateDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/home.sass (renamed from Timeline/ClientApp/src/app/views/home/home.sass) | 26 | ||||
-rw-r--r-- | FrontEnd/src/app/views/home/index.tsx (renamed from Timeline/ClientApp/src/app/views/home/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/login/index.tsx (renamed from Timeline/ClientApp/src/app/views/login/index.tsx) | 2 | ||||
-rw-r--r-- | FrontEnd/src/app/views/login/login.sass (renamed from Timeline/ClientApp/src/app/views/login/login.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/settings/index.tsx (renamed from Timeline/ClientApp/src/app/views/settings/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/CollapseButton.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/CollapseButton.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/InfoCardTemplate.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/InfoCardTemplate.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/SyncStatusBadge.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/SyncStatusBadge.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/Timeline.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/Timeline.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelineItem.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelineItem.tsx) | 4 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelineMember.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelineMember.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplate.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplateUI.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelinePostEdit.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/TimelineTop.tsx (renamed from Timeline/ClientApp/src/app/views/timeline-common/TimelineTop.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline-common/timeline-common.sass (renamed from Timeline/ClientApp/src/app/views/timeline-common/timeline-common.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx (renamed from Timeline/ClientApp/src/app/views/timeline/TimelineDeleteDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline/TimelineInfoCard.tsx (renamed from Timeline/ClientApp/src/app/views/timeline/TimelineInfoCard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline/TimelinePageUI.tsx (renamed from Timeline/ClientApp/src/app/views/timeline/TimelinePageUI.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline/index.tsx (renamed from Timeline/ClientApp/src/app/views/timeline/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/timeline/timeline.sass (renamed from Timeline/ClientApp/src/app/views/timeline/timeline.sass) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/ChangeAvatarDialog.tsx (renamed from Timeline/ClientApp/src/app/views/user/ChangeAvatarDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/ChangeNicknameDialog.tsx (renamed from Timeline/ClientApp/src/app/views/user/ChangeNicknameDialog.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/UserInfoCard.tsx (renamed from Timeline/ClientApp/src/app/views/user/UserInfoCard.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/UserPageUI.tsx (renamed from Timeline/ClientApp/src/app/views/user/UserPageUI.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/index.tsx (renamed from Timeline/ClientApp/src/app/views/user/index.tsx) | 0 | ||||
-rw-r--r-- | FrontEnd/src/app/views/user/user.sass (renamed from Timeline/ClientApp/src/app/views/user/user.sass) | 14 | ||||
-rw-r--r-- | FrontEnd/src/sw/sw.ts (renamed from Timeline/ClientApp/src/sw/sw.ts) | 0 | ||||
-rw-r--r-- | FrontEnd/src/sw/tsconfig.json (renamed from Timeline/ClientApp/src/sw/tsconfig.json) | 24 | ||||
-rw-r--r-- | FrontEnd/src/tsconfig.json (renamed from Timeline/ClientApp/src/tsconfig.json) | 46 | ||||
-rw-r--r-- | FrontEnd/webpack.common.js (renamed from Timeline/ClientApp/webpack.common.js) | 17 | ||||
-rw-r--r-- | FrontEnd/webpack.config.dev.js (renamed from Timeline/ClientApp/webpack.config.dev.js) | 25 | ||||
-rw-r--r-- | FrontEnd/webpack.config.prod.js (renamed from Timeline/ClientApp/webpack.config.prod.js) | 0 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | Timeline/ClientApp/package.json | 115 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/http/mock/common.ts | 78 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/http/mock/install.ts | 11 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/http/mock/timeline.ts | 660 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/http/mock/token.ts | 53 | ||||
-rw-r--r-- | Timeline/ClientApp/src/app/http/mock/user.ts | 139 | ||||
-rw-r--r-- | Timeline/default-avatar.png | bin | 26442 -> 0 bytes | |||
-rw-r--r-- | azure-pipelines.yml | 75 |
325 files changed, 449 insertions, 1499 deletions
diff --git a/.dockerignore b/.dockerignore index c0e737c7..8a68a387 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,21 +1,23 @@ -.git -Timeline/ClientApp/.git - -ErrorResponseCodeGenerator/bin -ErrorResponseCodeGenerator/obj -Timeline/bin -Timeline/obj -Timeline.ErrorCodes/bin -Timeline.ErrorCodes/obj -Timeline.Tests/bin -Timeline.Tests/obj -Timeline/publish - -Timeline/ClientApp/dist -Timeline/ClientApp/node_modules -Timeline/ClientApp/.yarn/* -!Timeline/ClientApp/.yarn/releases -!Timeline/ClientApp/.yarn/plugins -!Timeline/ClientApp/.yarn/cache -!Timeline/ClientApp/.yarn/sdks -!Timeline/ClientApp/.yarn/versions +.git
+
+art-src
+
+BackEnd/.vs
+BackEnd/Timeline/bin
+BackEnd/Timeline/obj
+BackEnd/Timeline.ErrorCodes/bin
+BackEnd/Timeline.ErrorCodes/obj
+BackEnd/Timeline.ErrorCodes.CodeGenerator/bin
+BackEnd/Timeline.ErrorCodes.CodeGenerator/obj
+BackEnd/Timeline.Tests/bin
+BackEnd/Timeline.Tests/obj
+BackEnd/Timeline/publish
+
+FrontEnd/dist
+FrontEnd/node_modules
+FrontEnd/.yarn/*
+!FrontEnd/.yarn/releases
+!FrontEnd/.yarn/plugins
+!FrontEnd/.yarn/cache
+!FrontEnd/.yarn/sdks
+!FrontEnd/.yarn/versions
diff --git a/.github/workflows/back-ci.yaml b/.github/workflows/back-ci.yaml index a7f4f2d0..5b4609f7 100644 --- a/.github/workflows/back-ci.yaml +++ b/.github/workflows/back-ci.yaml @@ -3,17 +3,21 @@ name: Back End CI on:
push:
branches: [master]
- paths-ignore:
- - "Timeline/ClientApp/**"
+ paths:
+ - "BackEnd/**"
pull_request:
branches: [master]
- paths-ignore:
- - "Timeline/ClientApp/**"
+ paths:
+ - "BackEnd/**"
jobs:
build:
name: Build
runs-on: ubuntu-latest
+ defaults:
+ run:
+ shell: bash
+ working-directory: BackEnd
env:
ASPNETCORE_ENVIRONMENT: "Development"
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
@@ -25,7 +29,7 @@ jobs: uses: actions/cache@v2
with:
path: ${{ env.NUGET_PACKAGES }}
- key: nuget-${{ runner.os }}-${{ hashFiles('**/packages.lock.json') }}
+ key: nuget-${{ runner.os }}-${{ hashFiles('BackEnd/**/packages.lock.json') }}
restore-keys: |
nuget-${{ runner.os }}-
@@ -42,4 +46,4 @@ jobs: if: ${{ success() || failure() }}
with:
name: test-result
- path: Timeline.Tests/TestResults/
+ path: BackEnd/Timeline.Tests/TestResults/
diff --git a/.github/workflows/front-ci.yaml b/.github/workflows/front-ci.yaml index b549479a..93581dad 100644 --- a/.github/workflows/front-ci.yaml +++ b/.github/workflows/front-ci.yaml @@ -4,11 +4,11 @@ on: push:
branches: [master]
paths:
- - "Timeline/ClientApp/**"
+ - "FrontEnd/**"
pull_request:
branches: [master]
paths:
- - "Timeline/ClientApp/**"
+ - "FrontEnd/**"
jobs:
build:
@@ -17,15 +17,15 @@ jobs: defaults:
run:
shell: bash
- working-directory: Timeline/ClientApp
+ working-directory: FrontEnd
steps:
- uses: actions/checkout@v2
- - name: Use Node.js 14
+ - name: Use Node.js 15
uses: actions/setup-node@v1
with:
- node-version: "14"
+ node-version: "15"
- name: Restore Packages
run: yarn
@@ -40,4 +40,4 @@ jobs: uses: actions/upload-artifact@v2
with:
name: dist
- path: Timeline/ClientApp/dist/
+ path: FrontEnd/dist/
diff --git a/.vscode/settings.json b/.vscode/settings.json index f65e4358..7550c6fa 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ -{ - "yaml.schemas": { - "https://json.schemastore.org/github-workflow": "/.github/workflows" - } +{
+ "yaml.schemas": {
+ "https://json.schemastore.org/github-workflow": "/.github/workflows"
+ }
}
\ No newline at end of file diff --git a/Directory.Build.props b/BackEnd/Directory.Build.props index 5030ba17..5030ba17 100644 --- a/Directory.Build.props +++ b/BackEnd/Directory.Build.props diff --git a/Nuget.Config b/BackEnd/Nuget.Config index e219de2b..e219de2b 100644 --- a/Nuget.Config +++ b/BackEnd/Nuget.Config diff --git a/Timeline.ErrorCodes.CodeGenerator/Program.cs b/BackEnd/Timeline.ErrorCodes.CodeGenerator/Program.cs index 84ab5908..84ab5908 100644 --- a/Timeline.ErrorCodes.CodeGenerator/Program.cs +++ b/BackEnd/Timeline.ErrorCodes.CodeGenerator/Program.cs diff --git a/Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj b/BackEnd/Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj index c8eb97f3..c8eb97f3 100644 --- a/Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj +++ b/BackEnd/Timeline.ErrorCodes.CodeGenerator/Timeline.ErrorCodes.CodeGenerator.csproj diff --git a/Timeline.ErrorCodes.CodeGenerator/packages.lock.json b/BackEnd/Timeline.ErrorCodes.CodeGenerator/packages.lock.json index 69cfee1e..69cfee1e 100644 --- a/Timeline.ErrorCodes.CodeGenerator/packages.lock.json +++ b/BackEnd/Timeline.ErrorCodes.CodeGenerator/packages.lock.json diff --git a/Timeline.ErrorCodes/ErrorCodes.cs b/BackEnd/Timeline.ErrorCodes/ErrorCodes.cs index 91e0c1fd..91e0c1fd 100644 --- a/Timeline.ErrorCodes/ErrorCodes.cs +++ b/BackEnd/Timeline.ErrorCodes/ErrorCodes.cs diff --git a/Timeline.ErrorCodes/Timeline.ErrorCodes.csproj b/BackEnd/Timeline.ErrorCodes/Timeline.ErrorCodes.csproj index 01ca2568..01ca2568 100644 --- a/Timeline.ErrorCodes/Timeline.ErrorCodes.csproj +++ b/BackEnd/Timeline.ErrorCodes/Timeline.ErrorCodes.csproj diff --git a/Timeline.ErrorCodes/packages.lock.json b/BackEnd/Timeline.ErrorCodes/packages.lock.json index dabf86bc..dabf86bc 100644 --- a/Timeline.ErrorCodes/packages.lock.json +++ b/BackEnd/Timeline.ErrorCodes/packages.lock.json diff --git a/Timeline.Tests/ErrorCodeTest.cs b/BackEnd/Timeline.Tests/ErrorCodeTest.cs index 258ebf4e..258ebf4e 100644 --- a/Timeline.Tests/ErrorCodeTest.cs +++ b/BackEnd/Timeline.Tests/ErrorCodeTest.cs diff --git a/Timeline.Tests/GlobalSuppressions.cs b/BackEnd/Timeline.Tests/GlobalSuppressions.cs index 0f873033..0f873033 100644 --- a/Timeline.Tests/GlobalSuppressions.cs +++ b/BackEnd/Timeline.Tests/GlobalSuppressions.cs diff --git a/Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs b/BackEnd/Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs index b78309c0..b78309c0 100644 --- a/Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs +++ b/BackEnd/Timeline.Tests/Helpers/AsyncFunctionAssertionsExtensions.cs diff --git a/Timeline.Tests/Helpers/CacheTestHelper.cs b/BackEnd/Timeline.Tests/Helpers/CacheTestHelper.cs index b3709a28..b3709a28 100644 --- a/Timeline.Tests/Helpers/CacheTestHelper.cs +++ b/BackEnd/Timeline.Tests/Helpers/CacheTestHelper.cs diff --git a/Timeline.Tests/Helpers/HttpClientExtensions.cs b/BackEnd/Timeline.Tests/Helpers/HttpClientExtensions.cs index 6513bbe7..6513bbe7 100644 --- a/Timeline.Tests/Helpers/HttpClientExtensions.cs +++ b/BackEnd/Timeline.Tests/Helpers/HttpClientExtensions.cs diff --git a/Timeline.Tests/Helpers/HttpResponseExtensions.cs b/BackEnd/Timeline.Tests/Helpers/HttpResponseExtensions.cs index 2bd497f1..2bd497f1 100644 --- a/Timeline.Tests/Helpers/HttpResponseExtensions.cs +++ b/BackEnd/Timeline.Tests/Helpers/HttpResponseExtensions.cs diff --git a/Timeline.Tests/Helpers/ImageHelper.cs b/BackEnd/Timeline.Tests/Helpers/ImageHelper.cs index 9bed0917..9bed0917 100644 --- a/Timeline.Tests/Helpers/ImageHelper.cs +++ b/BackEnd/Timeline.Tests/Helpers/ImageHelper.cs diff --git a/Timeline.Tests/Helpers/ParameterInfoAssertions.cs b/BackEnd/Timeline.Tests/Helpers/ParameterInfoAssertions.cs index d3e5a41e..d3e5a41e 100644 --- a/Timeline.Tests/Helpers/ParameterInfoAssertions.cs +++ b/BackEnd/Timeline.Tests/Helpers/ParameterInfoAssertions.cs diff --git a/Timeline.Tests/Helpers/ReflectionHelper.cs b/BackEnd/Timeline.Tests/Helpers/ReflectionHelper.cs index 3f6036e3..3f6036e3 100644 --- a/Timeline.Tests/Helpers/ReflectionHelper.cs +++ b/BackEnd/Timeline.Tests/Helpers/ReflectionHelper.cs diff --git a/Timeline.Tests/Helpers/ResponseAssertions.cs b/BackEnd/Timeline.Tests/Helpers/ResponseAssertions.cs index 024732f5..024732f5 100644 --- a/Timeline.Tests/Helpers/ResponseAssertions.cs +++ b/BackEnd/Timeline.Tests/Helpers/ResponseAssertions.cs diff --git a/Timeline.Tests/Helpers/TestApplication.cs b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs index 684ffe2c..684ffe2c 100644 --- a/Timeline.Tests/Helpers/TestApplication.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestApplication.cs diff --git a/Timeline.Tests/Helpers/TestClock.cs b/BackEnd/Timeline.Tests/Helpers/TestClock.cs index 34adb245..34adb245 100644 --- a/Timeline.Tests/Helpers/TestClock.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestClock.cs diff --git a/Timeline.Tests/Helpers/TestDatabase.cs b/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs index f0c26180..f0c26180 100644 --- a/Timeline.Tests/Helpers/TestDatabase.cs +++ b/BackEnd/Timeline.Tests/Helpers/TestDatabase.cs diff --git a/Timeline.Tests/IntegratedTests/AuthorizationTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/AuthorizationTest.cs index 38071394..38071394 100644 --- a/Timeline.Tests/IntegratedTests/AuthorizationTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/AuthorizationTest.cs diff --git a/Timeline.Tests/IntegratedTests/FrontEndTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs index 39a6e545..39a6e545 100644 --- a/Timeline.Tests/IntegratedTests/FrontEndTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/FrontEndTest.cs diff --git a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs index 7cf27297..7cf27297 100644 --- a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs diff --git a/Timeline.Tests/IntegratedTests/TimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs index ec46b96a..ec46b96a 100644 --- a/Timeline.Tests/IntegratedTests/TimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelineTest.cs diff --git a/Timeline.Tests/IntegratedTests/TokenTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs index 480d66cd..480d66cd 100644 --- a/Timeline.Tests/IntegratedTests/TokenTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs diff --git a/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs index 732232e2..732232e2 100644 --- a/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UnknownEndpointTest.cs diff --git a/Timeline.Tests/IntegratedTests/UserAvatarTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs index f2796005..f2796005 100644 --- a/Timeline.Tests/IntegratedTests/UserAvatarTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserAvatarTest.cs diff --git a/Timeline.Tests/IntegratedTests/UserTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs index 9dfcc6a5..9dfcc6a5 100644 --- a/Timeline.Tests/IntegratedTests/UserTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserTest.cs diff --git a/Timeline.Tests/PasswordGenerator.cs b/BackEnd/Timeline.Tests/PasswordGenerator.cs index 863439b5..863439b5 100644 --- a/Timeline.Tests/PasswordGenerator.cs +++ b/BackEnd/Timeline.Tests/PasswordGenerator.cs diff --git a/Timeline.Tests/Properties/launchSettings.json b/BackEnd/Timeline.Tests/Properties/launchSettings.json index f3ee419d..f3ee419d 100644 --- a/Timeline.Tests/Properties/launchSettings.json +++ b/BackEnd/Timeline.Tests/Properties/launchSettings.json diff --git a/Timeline.Tests/Services/TimelineServiceTest.cs b/BackEnd/Timeline.Tests/Services/TimelineServiceTest.cs index 5a774b78..5a774b78 100644 --- a/Timeline.Tests/Services/TimelineServiceTest.cs +++ b/BackEnd/Timeline.Tests/Services/TimelineServiceTest.cs diff --git a/Timeline.Tests/Timeline.Tests.csproj b/BackEnd/Timeline.Tests/Timeline.Tests.csproj index 973e0fc0..973e0fc0 100644 --- a/Timeline.Tests/Timeline.Tests.csproj +++ b/BackEnd/Timeline.Tests/Timeline.Tests.csproj diff --git a/Timeline.Tests/UsernameValidatorUnitTest.cs b/BackEnd/Timeline.Tests/UsernameValidatorUnitTest.cs index 5b568adf..5b568adf 100644 --- a/Timeline.Tests/UsernameValidatorUnitTest.cs +++ b/BackEnd/Timeline.Tests/UsernameValidatorUnitTest.cs diff --git a/Timeline.Tests/coverletArgs.runsettings b/BackEnd/Timeline.Tests/coverletArgs.runsettings index 24cd1822..24cd1822 100644 --- a/Timeline.Tests/coverletArgs.runsettings +++ b/BackEnd/Timeline.Tests/coverletArgs.runsettings diff --git a/Timeline.Tests/packages.lock.json b/BackEnd/Timeline.Tests/packages.lock.json index 7150a222..7150a222 100644 --- a/Timeline.Tests/packages.lock.json +++ b/BackEnd/Timeline.Tests/packages.lock.json diff --git a/Timeline.sln b/BackEnd/Timeline.sln index 40a32ee9..40a32ee9 100644 --- a/Timeline.sln +++ b/BackEnd/Timeline.sln diff --git a/Timeline/Auth/Attribute.cs b/BackEnd/Timeline/Auth/Attribute.cs index 86d0109b..86d0109b 100644 --- a/Timeline/Auth/Attribute.cs +++ b/BackEnd/Timeline/Auth/Attribute.cs diff --git a/Timeline/Auth/MyAuthenticationHandler.cs b/BackEnd/Timeline/Auth/MyAuthenticationHandler.cs index 3c97c329..3c97c329 100644 --- a/Timeline/Auth/MyAuthenticationHandler.cs +++ b/BackEnd/Timeline/Auth/MyAuthenticationHandler.cs diff --git a/Timeline/Auth/PrincipalExtensions.cs b/BackEnd/Timeline/Auth/PrincipalExtensions.cs index ad7a887f..ad7a887f 100644 --- a/Timeline/Auth/PrincipalExtensions.cs +++ b/BackEnd/Timeline/Auth/PrincipalExtensions.cs diff --git a/Timeline/Configs/ApplicationConfiguration.cs b/BackEnd/Timeline/Configs/ApplicationConfiguration.cs index df281adb..df281adb 100644 --- a/Timeline/Configs/ApplicationConfiguration.cs +++ b/BackEnd/Timeline/Configs/ApplicationConfiguration.cs diff --git a/Timeline/Configs/JwtConfiguration.cs b/BackEnd/Timeline/Configs/JwtConfiguration.cs index af8052de..af8052de 100644 --- a/Timeline/Configs/JwtConfiguration.cs +++ b/BackEnd/Timeline/Configs/JwtConfiguration.cs diff --git a/Timeline/Controllers/ControllerAuthExtensions.cs b/BackEnd/Timeline/Controllers/ControllerAuthExtensions.cs index 00a65454..00a65454 100644 --- a/Timeline/Controllers/ControllerAuthExtensions.cs +++ b/BackEnd/Timeline/Controllers/ControllerAuthExtensions.cs diff --git a/Timeline/Controllers/Testing/TestingAuthController.cs b/BackEnd/Timeline/Controllers/Testing/TestingAuthController.cs index 4d3b3ec7..4d3b3ec7 100644 --- a/Timeline/Controllers/Testing/TestingAuthController.cs +++ b/BackEnd/Timeline/Controllers/Testing/TestingAuthController.cs diff --git a/Timeline/Controllers/TimelineController.cs b/BackEnd/Timeline/Controllers/TimelineController.cs index 9a3147ea..9a3147ea 100644 --- a/Timeline/Controllers/TimelineController.cs +++ b/BackEnd/Timeline/Controllers/TimelineController.cs diff --git a/Timeline/Controllers/TokenController.cs b/BackEnd/Timeline/Controllers/TokenController.cs index 8f2ca600..8f2ca600 100644 --- a/Timeline/Controllers/TokenController.cs +++ b/BackEnd/Timeline/Controllers/TokenController.cs diff --git a/Timeline/Controllers/UserAvatarController.cs b/BackEnd/Timeline/Controllers/UserAvatarController.cs index bc4afa30..bc4afa30 100644 --- a/Timeline/Controllers/UserAvatarController.cs +++ b/BackEnd/Timeline/Controllers/UserAvatarController.cs diff --git a/Timeline/Controllers/UserController.cs b/BackEnd/Timeline/Controllers/UserController.cs index 02c09aab..02c09aab 100644 --- a/Timeline/Controllers/UserController.cs +++ b/BackEnd/Timeline/Controllers/UserController.cs diff --git a/Timeline/Entities/DataEntity.cs b/BackEnd/Timeline/Entities/DataEntity.cs index b21e2dbf..b21e2dbf 100644 --- a/Timeline/Entities/DataEntity.cs +++ b/BackEnd/Timeline/Entities/DataEntity.cs diff --git a/Timeline/Entities/DatabaseContext.cs b/BackEnd/Timeline/Entities/DatabaseContext.cs index ecadd703..ecadd703 100644 --- a/Timeline/Entities/DatabaseContext.cs +++ b/BackEnd/Timeline/Entities/DatabaseContext.cs diff --git a/Timeline/Entities/JwtTokenEntity.cs b/BackEnd/Timeline/Entities/JwtTokenEntity.cs index 40cb230a..40cb230a 100644 --- a/Timeline/Entities/JwtTokenEntity.cs +++ b/BackEnd/Timeline/Entities/JwtTokenEntity.cs diff --git a/Timeline/Entities/TimelineEntity.cs b/BackEnd/Timeline/Entities/TimelineEntity.cs index 3e592673..3e592673 100644 --- a/Timeline/Entities/TimelineEntity.cs +++ b/BackEnd/Timeline/Entities/TimelineEntity.cs diff --git a/Timeline/Entities/TimelineMemberEntity.cs b/BackEnd/Timeline/Entities/TimelineMemberEntity.cs index e76f2099..e76f2099 100644 --- a/Timeline/Entities/TimelineMemberEntity.cs +++ b/BackEnd/Timeline/Entities/TimelineMemberEntity.cs diff --git a/Timeline/Entities/TimelinePostEntity.cs b/BackEnd/Timeline/Entities/TimelinePostEntity.cs index 07367fba..07367fba 100644 --- a/Timeline/Entities/TimelinePostEntity.cs +++ b/BackEnd/Timeline/Entities/TimelinePostEntity.cs diff --git a/Timeline/Entities/UserAvatarEntity.cs b/BackEnd/Timeline/Entities/UserAvatarEntity.cs index 3c2720f7..3c2720f7 100644 --- a/Timeline/Entities/UserAvatarEntity.cs +++ b/BackEnd/Timeline/Entities/UserAvatarEntity.cs diff --git a/Timeline/Entities/UserEntity.cs b/BackEnd/Timeline/Entities/UserEntity.cs index 0cfaa335..0cfaa335 100644 --- a/Timeline/Entities/UserEntity.cs +++ b/BackEnd/Timeline/Entities/UserEntity.cs diff --git a/Timeline/Entities/UtcDateAnnotation.cs b/BackEnd/Timeline/Entities/UtcDateAnnotation.cs index 6600e701..6600e701 100644 --- a/Timeline/Entities/UtcDateAnnotation.cs +++ b/BackEnd/Timeline/Entities/UtcDateAnnotation.cs diff --git a/Timeline/Filters/Header.cs b/BackEnd/Timeline/Filters/Header.cs index cc5ddd9f..cc5ddd9f 100644 --- a/Timeline/Filters/Header.cs +++ b/BackEnd/Timeline/Filters/Header.cs diff --git a/Timeline/Filters/Timeline.cs b/BackEnd/Timeline/Filters/Timeline.cs index 6a730ee7..6a730ee7 100644 --- a/Timeline/Filters/Timeline.cs +++ b/BackEnd/Timeline/Filters/Timeline.cs diff --git a/Timeline/Formatters/BytesInputFormatter.cs b/BackEnd/Timeline/Formatters/BytesInputFormatter.cs index ac6537c9..ac6537c9 100644 --- a/Timeline/Formatters/BytesInputFormatter.cs +++ b/BackEnd/Timeline/Formatters/BytesInputFormatter.cs diff --git a/Timeline/Formatters/StringInputFormatter.cs b/BackEnd/Timeline/Formatters/StringInputFormatter.cs index b1924268..b1924268 100644 --- a/Timeline/Formatters/StringInputFormatter.cs +++ b/BackEnd/Timeline/Formatters/StringInputFormatter.cs diff --git a/Timeline/GlobalSuppressions.cs b/BackEnd/Timeline/GlobalSuppressions.cs index 2b0da576..2b0da576 100644 --- a/Timeline/GlobalSuppressions.cs +++ b/BackEnd/Timeline/GlobalSuppressions.cs diff --git a/Timeline/Helpers/DataCacheHelper.cs b/BackEnd/Timeline/Helpers/DataCacheHelper.cs index 1ad69708..1ad69708 100644 --- a/Timeline/Helpers/DataCacheHelper.cs +++ b/BackEnd/Timeline/Helpers/DataCacheHelper.cs diff --git a/Timeline/Helpers/DateTimeExtensions.cs b/BackEnd/Timeline/Helpers/DateTimeExtensions.cs index 374f3bc9..374f3bc9 100644 --- a/Timeline/Helpers/DateTimeExtensions.cs +++ b/BackEnd/Timeline/Helpers/DateTimeExtensions.cs diff --git a/Timeline/Helpers/InvalidModelResponseFactory.cs b/BackEnd/Timeline/Helpers/InvalidModelResponseFactory.cs index 9b253e7d..9b253e7d 100644 --- a/Timeline/Helpers/InvalidModelResponseFactory.cs +++ b/BackEnd/Timeline/Helpers/InvalidModelResponseFactory.cs diff --git a/Timeline/Helpers/LanguageHelper.cs b/BackEnd/Timeline/Helpers/LanguageHelper.cs index b0156b8b..b0156b8b 100644 --- a/Timeline/Helpers/LanguageHelper.cs +++ b/BackEnd/Timeline/Helpers/LanguageHelper.cs diff --git a/Timeline/Helpers/Log.cs b/BackEnd/Timeline/Helpers/Log.cs index af0b7e13..af0b7e13 100644 --- a/Timeline/Helpers/Log.cs +++ b/BackEnd/Timeline/Helpers/Log.cs diff --git a/Timeline/Migrations/20200105150407_Initialize.Designer.cs b/BackEnd/Timeline/Migrations/20200105150407_Initialize.Designer.cs index 99e4eaac..99e4eaac 100644 --- a/Timeline/Migrations/20200105150407_Initialize.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200105150407_Initialize.Designer.cs diff --git a/Timeline/Migrations/20200105150407_Initialize.cs b/BackEnd/Timeline/Migrations/20200105150407_Initialize.cs index 4e12ef83..4e12ef83 100644 --- a/Timeline/Migrations/20200105150407_Initialize.cs +++ b/BackEnd/Timeline/Migrations/20200105150407_Initialize.cs diff --git a/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs b/BackEnd/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs index 9b78eb15..9b78eb15 100644 --- a/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200131100517_RefactorUser.Designer.cs diff --git a/Timeline/Migrations/20200131100517_RefactorUser.cs b/BackEnd/Timeline/Migrations/20200131100517_RefactorUser.cs index 8597ed50..8597ed50 100644 --- a/Timeline/Migrations/20200131100517_RefactorUser.cs +++ b/BackEnd/Timeline/Migrations/20200131100517_RefactorUser.cs diff --git a/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs b/BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs index eb328b52..eb328b52 100644 --- a/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.Designer.cs diff --git a/Timeline/Migrations/20200221064341_AddJwtToken.cs b/BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.cs index 628970c6..628970c6 100644 --- a/Timeline/Migrations/20200221064341_AddJwtToken.cs +++ b/BackEnd/Timeline/Migrations/20200221064341_AddJwtToken.cs diff --git a/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs b/BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs index cf6ae8a3..cf6ae8a3 100644 --- a/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.Designer.cs diff --git a/Timeline/Migrations/20200229103848_AddPostLocalId.cs b/BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.cs index 497b38a1..497b38a1 100644 --- a/Timeline/Migrations/20200229103848_AddPostLocalId.cs +++ b/BackEnd/Timeline/Migrations/20200229103848_AddPostLocalId.cs diff --git a/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs b/BackEnd/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs index 336ffc18..336ffc18 100644 --- a/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200306110049_AddDataTable.Designer.cs diff --git a/Timeline/Migrations/20200306110049_AddDataTable.cs b/BackEnd/Timeline/Migrations/20200306110049_AddDataTable.cs index e33bf4c9..e33bf4c9 100644 --- a/Timeline/Migrations/20200306110049_AddDataTable.cs +++ b/BackEnd/Timeline/Migrations/20200306110049_AddDataTable.cs diff --git a/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs b/BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs index f0c4dc08..f0c4dc08 100644 --- a/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.Designer.cs diff --git a/Timeline/Migrations/20200306111553_DropUserDetails.cs b/BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.cs index 0a176461..0a176461 100644 --- a/Timeline/Migrations/20200306111553_DropUserDetails.cs +++ b/BackEnd/Timeline/Migrations/20200306111553_DropUserDetails.cs diff --git a/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs b/BackEnd/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs index bd75a916..bd75a916 100644 --- a/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200312112552_AddImagePost.Designer.cs diff --git a/Timeline/Migrations/20200312112552_AddImagePost.cs b/BackEnd/Timeline/Migrations/20200312112552_AddImagePost.cs index d5098ce0..d5098ce0 100644 --- a/Timeline/Migrations/20200312112552_AddImagePost.cs +++ b/BackEnd/Timeline/Migrations/20200312112552_AddImagePost.cs diff --git a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs b/BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs index adcc6308..adcc6308 100644 --- a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.Designer.cs diff --git a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs b/BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs index 7abbed79..7abbed79 100644 --- a/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs +++ b/BackEnd/Timeline/Migrations/20200614061237_AddTimelineUniqueId.cs diff --git a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs b/BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs index fd10dfa9..fd10dfa9 100644 --- a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.Designer.cs diff --git a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs b/BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs index c277fe39..c277fe39 100644 --- a/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs +++ b/BackEnd/Timeline/Migrations/20200618064936_TimelineAddModifiedTime.cs diff --git a/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs b/BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs index fe2329e4..fe2329e4 100644 --- a/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.Designer.cs diff --git a/Timeline/Migrations/20200808071611_UserAddUniqueId.cs b/BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.cs index 651a2b05..651a2b05 100644 --- a/Timeline/Migrations/20200808071611_UserAddUniqueId.cs +++ b/BackEnd/Timeline/Migrations/20200808071611_UserAddUniqueId.cs diff --git a/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs b/BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs index 71cc54dc..71cc54dc 100644 --- a/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.Designer.cs diff --git a/Timeline/Migrations/20200810155908_AddTimesToUser.cs b/BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.cs index 369f85e6..369f85e6 100644 --- a/Timeline/Migrations/20200810155908_AddTimesToUser.cs +++ b/BackEnd/Timeline/Migrations/20200810155908_AddTimesToUser.cs diff --git a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs b/BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs index 80598fdf..80598fdf 100644 --- a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.Designer.cs diff --git a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs b/BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs index b0f0bca7..b0f0bca7 100644 --- a/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs +++ b/BackEnd/Timeline/Migrations/20200810170533_MakePostAuthorOptional.cs diff --git a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs b/BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs index 58238557..58238557 100644 --- a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.Designer.cs diff --git a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs b/BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs index eb6b44f3..eb6b44f3 100644 --- a/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs +++ b/BackEnd/Timeline/Migrations/20200811080808_ChangeDateTimeOffsetToDateTime.cs diff --git a/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs b/BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs index f2279f3b..f2279f3b 100644 --- a/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs +++ b/BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.Designer.cs diff --git a/Timeline/Migrations/20200826164553_TimelineAddTitle.cs b/BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.cs index 7e8c498b..7e8c498b 100644 --- a/Timeline/Migrations/20200826164553_TimelineAddTitle.cs +++ b/BackEnd/Timeline/Migrations/20200826164553_TimelineAddTitle.cs diff --git a/Timeline/Migrations/DatabaseContextModelSnapshot.cs b/BackEnd/Timeline/Migrations/DatabaseContextModelSnapshot.cs index 65ae6c9a..65ae6c9a 100644 --- a/Timeline/Migrations/DatabaseContextModelSnapshot.cs +++ b/BackEnd/Timeline/Migrations/DatabaseContextModelSnapshot.cs diff --git a/Timeline/MockClientApp/index.html b/BackEnd/Timeline/MockClientApp/index.html index 03cf371e..03cf371e 100644 --- a/Timeline/MockClientApp/index.html +++ b/BackEnd/Timeline/MockClientApp/index.html diff --git a/Timeline/Models/ByteData.cs b/BackEnd/Timeline/Models/ByteData.cs index 7b832eb5..7b832eb5 100644 --- a/Timeline/Models/ByteData.cs +++ b/BackEnd/Timeline/Models/ByteData.cs diff --git a/Timeline/Models/Converters/JsonDateTimeConverter.cs b/BackEnd/Timeline/Models/Converters/JsonDateTimeConverter.cs index 94b5cab0..94b5cab0 100644 --- a/Timeline/Models/Converters/JsonDateTimeConverter.cs +++ b/BackEnd/Timeline/Models/Converters/JsonDateTimeConverter.cs diff --git a/Timeline/Models/Converters/MyDateTimeConverter.cs b/BackEnd/Timeline/Models/Converters/MyDateTimeConverter.cs index f125cd5c..f125cd5c 100644 --- a/Timeline/Models/Converters/MyDateTimeConverter.cs +++ b/BackEnd/Timeline/Models/Converters/MyDateTimeConverter.cs diff --git a/Timeline/Models/Http/ActionContextAccessorExtensions.cs b/BackEnd/Timeline/Models/Http/ActionContextAccessorExtensions.cs index bcc55c5a..bcc55c5a 100644 --- a/Timeline/Models/Http/ActionContextAccessorExtensions.cs +++ b/BackEnd/Timeline/Models/Http/ActionContextAccessorExtensions.cs diff --git a/Timeline/Models/Http/Common.cs b/BackEnd/Timeline/Models/Http/Common.cs index 5fa22c9e..5fa22c9e 100644 --- a/Timeline/Models/Http/Common.cs +++ b/BackEnd/Timeline/Models/Http/Common.cs diff --git a/Timeline/Models/Http/ErrorResponse.cs b/BackEnd/Timeline/Models/Http/ErrorResponse.cs index ac86481f..ac86481f 100644 --- a/Timeline/Models/Http/ErrorResponse.cs +++ b/BackEnd/Timeline/Models/Http/ErrorResponse.cs diff --git a/Timeline/Models/Http/Timeline.cs b/BackEnd/Timeline/Models/Http/Timeline.cs index a81b33f5..a81b33f5 100644 --- a/Timeline/Models/Http/Timeline.cs +++ b/BackEnd/Timeline/Models/Http/Timeline.cs diff --git a/Timeline/Models/Http/TimelineController.cs b/BackEnd/Timeline/Models/Http/TimelineController.cs index 7bd141ed..7bd141ed 100644 --- a/Timeline/Models/Http/TimelineController.cs +++ b/BackEnd/Timeline/Models/Http/TimelineController.cs diff --git a/Timeline/Models/Http/TokenController.cs b/BackEnd/Timeline/Models/Http/TokenController.cs index a42c44e5..a42c44e5 100644 --- a/Timeline/Models/Http/TokenController.cs +++ b/BackEnd/Timeline/Models/Http/TokenController.cs diff --git a/Timeline/Models/Http/UserController.cs b/BackEnd/Timeline/Models/Http/UserController.cs index 6bc5a66e..6bc5a66e 100644 --- a/Timeline/Models/Http/UserController.cs +++ b/BackEnd/Timeline/Models/Http/UserController.cs diff --git a/Timeline/Models/Http/UserInfo.cs b/BackEnd/Timeline/Models/Http/UserInfo.cs index d92a12c4..d92a12c4 100644 --- a/Timeline/Models/Http/UserInfo.cs +++ b/BackEnd/Timeline/Models/Http/UserInfo.cs diff --git a/Timeline/Models/Timeline.cs b/BackEnd/Timeline/Models/Timeline.cs index a5987577..a5987577 100644 --- a/Timeline/Models/Timeline.cs +++ b/BackEnd/Timeline/Models/Timeline.cs diff --git a/Timeline/Models/User.cs b/BackEnd/Timeline/Models/User.cs index f08a62db..f08a62db 100644 --- a/Timeline/Models/User.cs +++ b/BackEnd/Timeline/Models/User.cs diff --git a/Timeline/Models/Validation/GeneralTimelineNameValidator.cs b/BackEnd/Timeline/Models/Validation/GeneralTimelineNameValidator.cs index e1c96fbd..e1c96fbd 100644 --- a/Timeline/Models/Validation/GeneralTimelineNameValidator.cs +++ b/BackEnd/Timeline/Models/Validation/GeneralTimelineNameValidator.cs diff --git a/Timeline/Models/Validation/NameValidator.cs b/BackEnd/Timeline/Models/Validation/NameValidator.cs index b74c40b7..b74c40b7 100644 --- a/Timeline/Models/Validation/NameValidator.cs +++ b/BackEnd/Timeline/Models/Validation/NameValidator.cs diff --git a/Timeline/Models/Validation/NicknameValidator.cs b/BackEnd/Timeline/Models/Validation/NicknameValidator.cs index 1d6ab163..1d6ab163 100644 --- a/Timeline/Models/Validation/NicknameValidator.cs +++ b/BackEnd/Timeline/Models/Validation/NicknameValidator.cs diff --git a/Timeline/Models/Validation/TimelineNameValidator.cs b/BackEnd/Timeline/Models/Validation/TimelineNameValidator.cs index f1ab54e8..f1ab54e8 100644 --- a/Timeline/Models/Validation/TimelineNameValidator.cs +++ b/BackEnd/Timeline/Models/Validation/TimelineNameValidator.cs diff --git a/Timeline/Models/Validation/UsernameValidator.cs b/BackEnd/Timeline/Models/Validation/UsernameValidator.cs index 87bbf85f..87bbf85f 100644 --- a/Timeline/Models/Validation/UsernameValidator.cs +++ b/BackEnd/Timeline/Models/Validation/UsernameValidator.cs diff --git a/Timeline/Models/Validation/Validator.cs b/BackEnd/Timeline/Models/Validation/Validator.cs index aef7891c..aef7891c 100644 --- a/Timeline/Models/Validation/Validator.cs +++ b/BackEnd/Timeline/Models/Validation/Validator.cs diff --git a/Timeline/Program.cs b/BackEnd/Timeline/Program.cs index 87e330a2..87e330a2 100644 --- a/Timeline/Program.cs +++ b/BackEnd/Timeline/Program.cs diff --git a/Timeline/Properties/launchSettings.json b/BackEnd/Timeline/Properties/launchSettings.json index 73897158..de8186db 100644 --- a/Timeline/Properties/launchSettings.json +++ b/BackEnd/Timeline/Properties/launchSettings.json @@ -1,6 +1,6 @@ {
"profiles": {
- "Timeline": {
+ "Development": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
@@ -8,7 +8,7 @@ "ASPNETCORE_WORKDIR": "D:\\timeline-development"
}
},
- "Timeline-MockFrontEnd": {
+ "Development-Mock": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
@@ -16,7 +16,7 @@ "ASPNETCORE_WORKDIR": "D:\\timeline-development"
}
},
- "Timeline-Staging": {
+ "Staging": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Staging",
diff --git a/Timeline/Resources/Authentication/AuthHandler.Designer.cs b/BackEnd/Timeline/Resources/Authentication/AuthHandler.Designer.cs index fd4540ea..fd4540ea 100644 --- a/Timeline/Resources/Authentication/AuthHandler.Designer.cs +++ b/BackEnd/Timeline/Resources/Authentication/AuthHandler.Designer.cs diff --git a/Timeline/Resources/Authentication/AuthHandler.resx b/BackEnd/Timeline/Resources/Authentication/AuthHandler.resx index 4cddc8ce..4cddc8ce 100644 --- a/Timeline/Resources/Authentication/AuthHandler.resx +++ b/BackEnd/Timeline/Resources/Authentication/AuthHandler.resx diff --git a/Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs b/BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs index 70a1d605..70a1d605 100644 --- a/Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs +++ b/BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.Designer.cs diff --git a/Timeline/Resources/Controllers/ControllerAuthExtensions.resx b/BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.resx index 03e6d95a..03e6d95a 100644 --- a/Timeline/Resources/Controllers/ControllerAuthExtensions.resx +++ b/BackEnd/Timeline/Resources/Controllers/ControllerAuthExtensions.resx diff --git a/Timeline/Resources/Controllers/TimelineController.Designer.cs b/BackEnd/Timeline/Resources/Controllers/TimelineController.Designer.cs index ae6414e6..ae6414e6 100644 --- a/Timeline/Resources/Controllers/TimelineController.Designer.cs +++ b/BackEnd/Timeline/Resources/Controllers/TimelineController.Designer.cs diff --git a/Timeline/Resources/Controllers/TimelineController.resx b/BackEnd/Timeline/Resources/Controllers/TimelineController.resx index 4cf3d6fb..4cf3d6fb 100644 --- a/Timeline/Resources/Controllers/TimelineController.resx +++ b/BackEnd/Timeline/Resources/Controllers/TimelineController.resx diff --git a/Timeline/Resources/Controllers/TokenController.Designer.cs b/BackEnd/Timeline/Resources/Controllers/TokenController.Designer.cs index a7c2864b..a7c2864b 100644 --- a/Timeline/Resources/Controllers/TokenController.Designer.cs +++ b/BackEnd/Timeline/Resources/Controllers/TokenController.Designer.cs diff --git a/Timeline/Resources/Controllers/TokenController.resx b/BackEnd/Timeline/Resources/Controllers/TokenController.resx index 683d6cc9..683d6cc9 100644 --- a/Timeline/Resources/Controllers/TokenController.resx +++ b/BackEnd/Timeline/Resources/Controllers/TokenController.resx diff --git a/Timeline/Resources/Controllers/UserAvatarController.Designer.cs b/BackEnd/Timeline/Resources/Controllers/UserAvatarController.Designer.cs index b0c35ff9..b0c35ff9 100644 --- a/Timeline/Resources/Controllers/UserAvatarController.Designer.cs +++ b/BackEnd/Timeline/Resources/Controllers/UserAvatarController.Designer.cs diff --git a/Timeline/Resources/Controllers/UserAvatarController.resx b/BackEnd/Timeline/Resources/Controllers/UserAvatarController.resx index 864d96c0..864d96c0 100644 --- a/Timeline/Resources/Controllers/UserAvatarController.resx +++ b/BackEnd/Timeline/Resources/Controllers/UserAvatarController.resx diff --git a/Timeline/Resources/Controllers/UserController.Designer.cs b/BackEnd/Timeline/Resources/Controllers/UserController.Designer.cs index c8067614..c8067614 100644 --- a/Timeline/Resources/Controllers/UserController.Designer.cs +++ b/BackEnd/Timeline/Resources/Controllers/UserController.Designer.cs diff --git a/Timeline/Resources/Controllers/UserController.resx b/BackEnd/Timeline/Resources/Controllers/UserController.resx index 0bdf4845..0bdf4845 100644 --- a/Timeline/Resources/Controllers/UserController.resx +++ b/BackEnd/Timeline/Resources/Controllers/UserController.resx diff --git a/Timeline/Resources/Entities.Designer.cs b/BackEnd/Timeline/Resources/Entities.Designer.cs index 5f286f23..5f286f23 100644 --- a/Timeline/Resources/Entities.Designer.cs +++ b/BackEnd/Timeline/Resources/Entities.Designer.cs diff --git a/Timeline/Resources/Entities.resx b/BackEnd/Timeline/Resources/Entities.resx index 1538b533..1538b533 100644 --- a/Timeline/Resources/Entities.resx +++ b/BackEnd/Timeline/Resources/Entities.resx diff --git a/Timeline/Resources/Filters.Designer.cs b/BackEnd/Timeline/Resources/Filters.Designer.cs index dedfe498..dedfe498 100644 --- a/Timeline/Resources/Filters.Designer.cs +++ b/BackEnd/Timeline/Resources/Filters.Designer.cs diff --git a/Timeline/Resources/Filters.resx b/BackEnd/Timeline/Resources/Filters.resx index 22620889..22620889 100644 --- a/Timeline/Resources/Filters.resx +++ b/BackEnd/Timeline/Resources/Filters.resx diff --git a/Timeline/Resources/Helper/DataCacheHelper.Designer.cs b/BackEnd/Timeline/Resources/Helper/DataCacheHelper.Designer.cs index acf56d13..acf56d13 100644 --- a/Timeline/Resources/Helper/DataCacheHelper.Designer.cs +++ b/BackEnd/Timeline/Resources/Helper/DataCacheHelper.Designer.cs diff --git a/Timeline/Resources/Helper/DataCacheHelper.resx b/BackEnd/Timeline/Resources/Helper/DataCacheHelper.resx index 515cfa9b..515cfa9b 100644 --- a/Timeline/Resources/Helper/DataCacheHelper.resx +++ b/BackEnd/Timeline/Resources/Helper/DataCacheHelper.resx diff --git a/Timeline/Resources/Messages.Designer.cs b/BackEnd/Timeline/Resources/Messages.Designer.cs index bb654ce6..bb654ce6 100644 --- a/Timeline/Resources/Messages.Designer.cs +++ b/BackEnd/Timeline/Resources/Messages.Designer.cs diff --git a/Timeline/Resources/Messages.resx b/BackEnd/Timeline/Resources/Messages.resx index 2bbf494e..2bbf494e 100644 --- a/Timeline/Resources/Messages.resx +++ b/BackEnd/Timeline/Resources/Messages.resx diff --git a/Timeline/Resources/Models/Http/Common.Designer.cs b/BackEnd/Timeline/Resources/Models/Http/Common.Designer.cs index 5165463e..5165463e 100644 --- a/Timeline/Resources/Models/Http/Common.Designer.cs +++ b/BackEnd/Timeline/Resources/Models/Http/Common.Designer.cs diff --git a/Timeline/Resources/Models/Http/Common.resx b/BackEnd/Timeline/Resources/Models/Http/Common.resx index 85ec4d32..85ec4d32 100644 --- a/Timeline/Resources/Models/Http/Common.resx +++ b/BackEnd/Timeline/Resources/Models/Http/Common.resx diff --git a/Timeline/Resources/Models/Http/Exception.Designer.cs b/BackEnd/Timeline/Resources/Models/Http/Exception.Designer.cs index 19f42793..19f42793 100644 --- a/Timeline/Resources/Models/Http/Exception.Designer.cs +++ b/BackEnd/Timeline/Resources/Models/Http/Exception.Designer.cs diff --git a/Timeline/Resources/Models/Http/Exception.resx b/BackEnd/Timeline/Resources/Models/Http/Exception.resx index 3f7bddb6..3f7bddb6 100644 --- a/Timeline/Resources/Models/Http/Exception.resx +++ b/BackEnd/Timeline/Resources/Models/Http/Exception.resx diff --git a/Timeline/Resources/Models/Validation/NameValidator.Designer.cs b/BackEnd/Timeline/Resources/Models/Validation/NameValidator.Designer.cs index 3050049e..3050049e 100644 --- a/Timeline/Resources/Models/Validation/NameValidator.Designer.cs +++ b/BackEnd/Timeline/Resources/Models/Validation/NameValidator.Designer.cs diff --git a/Timeline/Resources/Models/Validation/NameValidator.resx b/BackEnd/Timeline/Resources/Models/Validation/NameValidator.resx index 5e7e1745..5e7e1745 100644 --- a/Timeline/Resources/Models/Validation/NameValidator.resx +++ b/BackEnd/Timeline/Resources/Models/Validation/NameValidator.resx diff --git a/Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs b/BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs index 522f305a..522f305a 100644 --- a/Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs +++ b/BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.Designer.cs diff --git a/Timeline/Resources/Models/Validation/NicknameValidator.resx b/BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.resx index b191b505..b191b505 100644 --- a/Timeline/Resources/Models/Validation/NicknameValidator.resx +++ b/BackEnd/Timeline/Resources/Models/Validation/NicknameValidator.resx diff --git a/Timeline/Resources/Models/Validation/Validator.Designer.cs b/BackEnd/Timeline/Resources/Models/Validation/Validator.Designer.cs index 74d4c169..74d4c169 100644 --- a/Timeline/Resources/Models/Validation/Validator.Designer.cs +++ b/BackEnd/Timeline/Resources/Models/Validation/Validator.Designer.cs diff --git a/Timeline/Resources/Models/Validation/Validator.resx b/BackEnd/Timeline/Resources/Models/Validation/Validator.resx index 8317e3eb..8317e3eb 100644 --- a/Timeline/Resources/Models/Validation/Validator.resx +++ b/BackEnd/Timeline/Resources/Models/Validation/Validator.resx diff --git a/Timeline/Resources/Services/DataManager.Designer.cs b/BackEnd/Timeline/Resources/Services/DataManager.Designer.cs index 0872059a..0872059a 100644 --- a/Timeline/Resources/Services/DataManager.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/DataManager.Designer.cs diff --git a/Timeline/Resources/Services/DataManager.resx b/BackEnd/Timeline/Resources/Services/DataManager.resx index 688e0e96..688e0e96 100644 --- a/Timeline/Resources/Services/DataManager.resx +++ b/BackEnd/Timeline/Resources/Services/DataManager.resx diff --git a/Timeline/Resources/Services/Exception.Designer.cs b/BackEnd/Timeline/Resources/Services/Exception.Designer.cs index 21ca7b86..21ca7b86 100644 --- a/Timeline/Resources/Services/Exception.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/Exception.Designer.cs diff --git a/Timeline/Resources/Services/Exception.resx b/BackEnd/Timeline/Resources/Services/Exception.resx index c31ed7c7..c31ed7c7 100644 --- a/Timeline/Resources/Services/Exception.resx +++ b/BackEnd/Timeline/Resources/Services/Exception.resx diff --git a/Timeline/Resources/Services/Exceptions.Designer.cs b/BackEnd/Timeline/Resources/Services/Exceptions.Designer.cs index 1dbe11c9..1dbe11c9 100644 --- a/Timeline/Resources/Services/Exceptions.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/Exceptions.Designer.cs diff --git a/Timeline/Resources/Services/Exceptions.resx b/BackEnd/Timeline/Resources/Services/Exceptions.resx index e9595caa..e9595caa 100644 --- a/Timeline/Resources/Services/Exceptions.resx +++ b/BackEnd/Timeline/Resources/Services/Exceptions.resx diff --git a/Timeline/Resources/Services/TimelineService.Designer.cs b/BackEnd/Timeline/Resources/Services/TimelineService.Designer.cs index e16c1337..e16c1337 100644 --- a/Timeline/Resources/Services/TimelineService.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/TimelineService.Designer.cs diff --git a/Timeline/Resources/Services/TimelineService.resx b/BackEnd/Timeline/Resources/Services/TimelineService.resx index 9314f51b..9314f51b 100644 --- a/Timeline/Resources/Services/TimelineService.resx +++ b/BackEnd/Timeline/Resources/Services/TimelineService.resx diff --git a/Timeline/Resources/Services/UserAvatarService.Designer.cs b/BackEnd/Timeline/Resources/Services/UserAvatarService.Designer.cs index c72d4215..c72d4215 100644 --- a/Timeline/Resources/Services/UserAvatarService.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/UserAvatarService.Designer.cs diff --git a/Timeline/Resources/Services/UserAvatarService.resx b/BackEnd/Timeline/Resources/Services/UserAvatarService.resx index da9d7203..da9d7203 100644 --- a/Timeline/Resources/Services/UserAvatarService.resx +++ b/BackEnd/Timeline/Resources/Services/UserAvatarService.resx diff --git a/Timeline/Resources/Services/UserService.Designer.cs b/BackEnd/Timeline/Resources/Services/UserService.Designer.cs index cdf7f390..cdf7f390 100644 --- a/Timeline/Resources/Services/UserService.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/UserService.Designer.cs diff --git a/Timeline/Resources/Services/UserService.resx b/BackEnd/Timeline/Resources/Services/UserService.resx index 09bd4abb..09bd4abb 100644 --- a/Timeline/Resources/Services/UserService.resx +++ b/BackEnd/Timeline/Resources/Services/UserService.resx diff --git a/Timeline/Resources/Services/UserTokenService.Designer.cs b/BackEnd/Timeline/Resources/Services/UserTokenService.Designer.cs index 3c3c7e41..3c3c7e41 100644 --- a/Timeline/Resources/Services/UserTokenService.Designer.cs +++ b/BackEnd/Timeline/Resources/Services/UserTokenService.Designer.cs diff --git a/Timeline/Resources/Services/UserTokenService.resx b/BackEnd/Timeline/Resources/Services/UserTokenService.resx index 1ce78427..1ce78427 100644 --- a/Timeline/Resources/Services/UserTokenService.resx +++ b/BackEnd/Timeline/Resources/Services/UserTokenService.resx diff --git a/Timeline/Routes/ApiRoutePrefixConvention.cs b/BackEnd/Timeline/Routes/ApiRoutePrefixConvention.cs index ca38a0d9..ca38a0d9 100644 --- a/Timeline/Routes/ApiRoutePrefixConvention.cs +++ b/BackEnd/Timeline/Routes/ApiRoutePrefixConvention.cs diff --git a/Timeline/Routes/UnknownEndpointMiddleware.cs b/BackEnd/Timeline/Routes/UnknownEndpointMiddleware.cs index 25ec563c..25ec563c 100644 --- a/Timeline/Routes/UnknownEndpointMiddleware.cs +++ b/BackEnd/Timeline/Routes/UnknownEndpointMiddleware.cs diff --git a/Timeline/Services/BadPasswordException.cs b/BackEnd/Timeline/Services/BadPasswordException.cs index f609371d..f609371d 100644 --- a/Timeline/Services/BadPasswordException.cs +++ b/BackEnd/Timeline/Services/BadPasswordException.cs diff --git a/Timeline/Services/Clock.cs b/BackEnd/Timeline/Services/Clock.cs index 4395edcd..4395edcd 100644 --- a/Timeline/Services/Clock.cs +++ b/BackEnd/Timeline/Services/Clock.cs diff --git a/Timeline/Services/DataManager.cs b/BackEnd/Timeline/Services/DataManager.cs index d447b0d5..d447b0d5 100644 --- a/Timeline/Services/DataManager.cs +++ b/BackEnd/Timeline/Services/DataManager.cs diff --git a/Timeline/Services/DatabaseBackupService.cs b/BackEnd/Timeline/Services/DatabaseBackupService.cs index a76b2a0d..a76b2a0d 100644 --- a/Timeline/Services/DatabaseBackupService.cs +++ b/BackEnd/Timeline/Services/DatabaseBackupService.cs diff --git a/Timeline/Services/DatabaseCorruptedException.cs b/BackEnd/Timeline/Services/DatabaseCorruptedException.cs index 9988e0ad..9988e0ad 100644 --- a/Timeline/Services/DatabaseCorruptedException.cs +++ b/BackEnd/Timeline/Services/DatabaseCorruptedException.cs diff --git a/Timeline/Services/ETagGenerator.cs b/BackEnd/Timeline/Services/ETagGenerator.cs index 4493e903..4493e903 100644 --- a/Timeline/Services/ETagGenerator.cs +++ b/BackEnd/Timeline/Services/ETagGenerator.cs diff --git a/Timeline/Services/EntityNames.cs b/BackEnd/Timeline/Services/EntityNames.cs index 0ce1de3b..0ce1de3b 100644 --- a/Timeline/Services/EntityNames.cs +++ b/BackEnd/Timeline/Services/EntityNames.cs diff --git a/Timeline/Services/Exceptions/EntityAlreadyExistError.cs b/BackEnd/Timeline/Services/Exceptions/EntityAlreadyExistError.cs index 7db2e860..7db2e860 100644 --- a/Timeline/Services/Exceptions/EntityAlreadyExistError.cs +++ b/BackEnd/Timeline/Services/Exceptions/EntityAlreadyExistError.cs diff --git a/Timeline/Services/Exceptions/EntityNotExistError.cs b/BackEnd/Timeline/Services/Exceptions/EntityNotExistError.cs index e79496d3..e79496d3 100644 --- a/Timeline/Services/Exceptions/EntityNotExistError.cs +++ b/BackEnd/Timeline/Services/Exceptions/EntityNotExistError.cs diff --git a/Timeline/Services/Exceptions/ExceptionMessageHelper.cs b/BackEnd/Timeline/Services/Exceptions/ExceptionMessageHelper.cs index be3c42a4..be3c42a4 100644 --- a/Timeline/Services/Exceptions/ExceptionMessageHelper.cs +++ b/BackEnd/Timeline/Services/Exceptions/ExceptionMessageHelper.cs diff --git a/Timeline/Services/Exceptions/ImageException.cs b/BackEnd/Timeline/Services/Exceptions/ImageException.cs index 20dd48ae..20dd48ae 100644 --- a/Timeline/Services/Exceptions/ImageException.cs +++ b/BackEnd/Timeline/Services/Exceptions/ImageException.cs diff --git a/Timeline/Services/Exceptions/TimelineNotExistException.cs b/BackEnd/Timeline/Services/Exceptions/TimelineNotExistException.cs index 70970b24..70970b24 100644 --- a/Timeline/Services/Exceptions/TimelineNotExistException.cs +++ b/BackEnd/Timeline/Services/Exceptions/TimelineNotExistException.cs diff --git a/Timeline/Services/Exceptions/TimelinePostNoDataException.cs b/BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs index c4b6bf62..c4b6bf62 100644 --- a/Timeline/Services/Exceptions/TimelinePostNoDataException.cs +++ b/BackEnd/Timeline/Services/Exceptions/TimelinePostNoDataException.cs diff --git a/Timeline/Services/Exceptions/TimelinePostNotExistException.cs b/BackEnd/Timeline/Services/Exceptions/TimelinePostNotExistException.cs index f95dd410..f95dd410 100644 --- a/Timeline/Services/Exceptions/TimelinePostNotExistException.cs +++ b/BackEnd/Timeline/Services/Exceptions/TimelinePostNotExistException.cs diff --git a/Timeline/Services/Exceptions/UserNotExistException.cs b/BackEnd/Timeline/Services/Exceptions/UserNotExistException.cs index 7ef714df..7ef714df 100644 --- a/Timeline/Services/Exceptions/UserNotExistException.cs +++ b/BackEnd/Timeline/Services/Exceptions/UserNotExistException.cs diff --git a/Timeline/Services/ImageValidator.cs b/BackEnd/Timeline/Services/ImageValidator.cs index 59424a7c..59424a7c 100644 --- a/Timeline/Services/ImageValidator.cs +++ b/BackEnd/Timeline/Services/ImageValidator.cs diff --git a/Timeline/Services/JwtUserTokenBadFormatException.cs b/BackEnd/Timeline/Services/JwtUserTokenBadFormatException.cs index c528c3e3..c528c3e3 100644 --- a/Timeline/Services/JwtUserTokenBadFormatException.cs +++ b/BackEnd/Timeline/Services/JwtUserTokenBadFormatException.cs diff --git a/Timeline/Services/PasswordBadFormatException.cs b/BackEnd/Timeline/Services/PasswordBadFormatException.cs index 2029ebb4..2029ebb4 100644 --- a/Timeline/Services/PasswordBadFormatException.cs +++ b/BackEnd/Timeline/Services/PasswordBadFormatException.cs diff --git a/Timeline/Services/PasswordService.cs b/BackEnd/Timeline/Services/PasswordService.cs index 8114a520..8114a520 100644 --- a/Timeline/Services/PasswordService.cs +++ b/BackEnd/Timeline/Services/PasswordService.cs diff --git a/Timeline/Services/PathProvider.cs b/BackEnd/Timeline/Services/PathProvider.cs index 1baba5c0..1baba5c0 100644 --- a/Timeline/Services/PathProvider.cs +++ b/BackEnd/Timeline/Services/PathProvider.cs diff --git a/Timeline/Services/TimelineService.cs b/BackEnd/Timeline/Services/TimelineService.cs index 4bcae596..4bcae596 100644 --- a/Timeline/Services/TimelineService.cs +++ b/BackEnd/Timeline/Services/TimelineService.cs diff --git a/Timeline/Services/UserAvatarService.cs b/BackEnd/Timeline/Services/UserAvatarService.cs index b41c45fd..b41c45fd 100644 --- a/Timeline/Services/UserAvatarService.cs +++ b/BackEnd/Timeline/Services/UserAvatarService.cs diff --git a/Timeline/Services/UserDeleteService.cs b/BackEnd/Timeline/Services/UserDeleteService.cs index 845de573..845de573 100644 --- a/Timeline/Services/UserDeleteService.cs +++ b/BackEnd/Timeline/Services/UserDeleteService.cs diff --git a/Timeline/Services/UserRoleConvert.cs b/BackEnd/Timeline/Services/UserRoleConvert.cs index f27ee1bb..f27ee1bb 100644 --- a/Timeline/Services/UserRoleConvert.cs +++ b/BackEnd/Timeline/Services/UserRoleConvert.cs diff --git a/Timeline/Services/UserService.cs b/BackEnd/Timeline/Services/UserService.cs index 821bc33d..821bc33d 100644 --- a/Timeline/Services/UserService.cs +++ b/BackEnd/Timeline/Services/UserService.cs diff --git a/Timeline/Services/UserTokenException.cs b/BackEnd/Timeline/Services/UserTokenException.cs index d25fabb3..d25fabb3 100644 --- a/Timeline/Services/UserTokenException.cs +++ b/BackEnd/Timeline/Services/UserTokenException.cs diff --git a/Timeline/Services/UserTokenManager.cs b/BackEnd/Timeline/Services/UserTokenManager.cs index 813dae67..813dae67 100644 --- a/Timeline/Services/UserTokenManager.cs +++ b/BackEnd/Timeline/Services/UserTokenManager.cs diff --git a/Timeline/Services/UserTokenService.cs b/BackEnd/Timeline/Services/UserTokenService.cs index 86f3a0f7..86f3a0f7 100644 --- a/Timeline/Services/UserTokenService.cs +++ b/BackEnd/Timeline/Services/UserTokenService.cs diff --git a/Timeline/Startup.cs b/BackEnd/Timeline/Startup.cs index 82c231cb..576836eb 100644 --- a/Timeline/Startup.cs +++ b/BackEnd/Timeline/Startup.cs @@ -137,7 +137,7 @@ namespace Timeline {
services.AddSpaStaticFiles(config =>
{
- config.RootPath = "ClientApp/dist";
+ config.RootPath = "ClientApp";
});
}
}
@@ -174,8 +174,6 @@ namespace Timeline {
app.UseSpa(spa =>
{
- spa.Options.SourcePath = useMockFrontEnd ? "MockClientApp" : "ClientApp";
-
if (!useMockFrontEnd && (Configuration.GetValue<bool?>(ApplicationConfiguration.UseProxyFrontEndKey) ?? false))
{
spa.UseProxyToSpaDevelopmentServer(new UriBuilder("http", "localhost", 3000).Uri);
diff --git a/Timeline/Swagger/ApiConvention.cs b/BackEnd/Timeline/Swagger/ApiConvention.cs index dbf0b2fe..dbf0b2fe 100644 --- a/Timeline/Swagger/ApiConvention.cs +++ b/BackEnd/Timeline/Swagger/ApiConvention.cs diff --git a/Timeline/Swagger/ByteDataRequestOperationProcessor.cs b/BackEnd/Timeline/Swagger/ByteDataRequestOperationProcessor.cs index 887831ac..887831ac 100644 --- a/Timeline/Swagger/ByteDataRequestOperationProcessor.cs +++ b/BackEnd/Timeline/Swagger/ByteDataRequestOperationProcessor.cs diff --git a/Timeline/Swagger/DefaultDescriptionOperationProcessor.cs b/BackEnd/Timeline/Swagger/DefaultDescriptionOperationProcessor.cs index 4967cc6a..4967cc6a 100644 --- a/Timeline/Swagger/DefaultDescriptionOperationProcessor.cs +++ b/BackEnd/Timeline/Swagger/DefaultDescriptionOperationProcessor.cs diff --git a/Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs b/BackEnd/Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs index dc5ddd96..dc5ddd96 100644 --- a/Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs +++ b/BackEnd/Timeline/Swagger/DocumentDescriptionDocumentProcessor.cs diff --git a/Timeline/Timeline.csproj b/BackEnd/Timeline/Timeline.csproj index 39412a65..5131cdb0 100644 --- a/Timeline/Timeline.csproj +++ b/BackEnd/Timeline/Timeline.csproj @@ -13,8 +13,6 @@ <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<SpaRoot>ClientApp\</SpaRoot>
- <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
-
<Version>0.3.0</Version>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
@@ -29,6 +27,9 @@ <Content Include="MockClientApp\index.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="$(SpaRoot)**" >
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
</ItemGroup>
<ItemGroup>
@@ -56,33 +57,6 @@ </ItemGroup>
<ItemGroup>
- <!-- Don't publish the SPA source files, but do show them in the project files list -->
- <Content Remove="$(SpaRoot)**" />
- <None Remove="$(SpaRoot)**" />
- <None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
- </ItemGroup>
-
- <Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
- <!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
- <Exec WorkingDirectory="$(SpaRoot)" Command="yarn" StdOutEncoding="UTF-8" IgnoreStandardErrorWarningFormat="true" />
- <Exec WorkingDirectory="$(SpaRoot)" Command="yarn build" StdOutEncoding="UTF-8" IgnoreStandardErrorWarningFormat="true" />
-
- <!-- Include the newly-built files in the publish output -->
- <ItemGroup>
- <DistFiles Include="$(SpaRoot)dist\**" />
- <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
- <RelativePath>%(DistFiles.Identity)</RelativePath>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
- </ResolvedFileToPublish>
- </ItemGroup>
- </Target>
-
- <ItemGroup>
- <None Remove="MockClientApp\index.html" />
- </ItemGroup>
-
- <ItemGroup>
<Compile Update="Resources\Authentication\AuthHandler.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
@@ -286,4 +260,4 @@ <LastGenOutput>UserTokenService.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
-</Project>
+</Project>
\ No newline at end of file diff --git a/Timeline/appsettings.Development.json b/BackEnd/Timeline/appsettings.Development.json index a2880cbf..a2880cbf 100644 --- a/Timeline/appsettings.Development.json +++ b/BackEnd/Timeline/appsettings.Development.json diff --git a/Timeline/appsettings.json b/BackEnd/Timeline/appsettings.json index 804ca43a..804ca43a 100644 --- a/Timeline/appsettings.json +++ b/BackEnd/Timeline/appsettings.json diff --git a/Timeline/ClientApp/src/app/http/mock/default-avatar.png b/BackEnd/Timeline/default-avatar.png Binary files differindex 4086e1d2..4086e1d2 100644 --- a/Timeline/ClientApp/src/app/http/mock/default-avatar.png +++ b/BackEnd/Timeline/default-avatar.png diff --git a/Timeline/packages.lock.json b/BackEnd/Timeline/packages.lock.json index ed92c672..ed92c672 100644 --- a/Timeline/packages.lock.json +++ b/BackEnd/Timeline/packages.lock.json diff --git a/tools/convert-eol.py b/BackEnd/tools/convert-eol.py index 3ea8ed7c..3ea8ed7c 100644 --- a/tools/convert-eol.py +++ b/BackEnd/tools/convert-eol.py @@ -1,10 +1,16 @@ -FROM crupest/timeline-build-env:latest AS build -WORKDIR /timeline-app -COPY . . -RUN dotnet publish Timeline/Timeline.csproj --configuration Release --output ./Timeline/publish/ -r linux-x64 --self-contained false - -FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 -WORKDIR /app -ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED true -COPY --from=build /timeline-app/Timeline/publish . -ENTRYPOINT ["dotnet", "Timeline.dll"] +FROM node:latest AS front-build
+WORKDIR /timeline-app
+COPY FrontEnd .
+RUN yarn build
+
+FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS back-build
+WORKDIR /timeline-app
+COPY BackEnd .
+COPY --from=front-build /timeline-app/dist /timeline-app/Timeline/ClientApp
+RUN dotnet publish Timeline/Timeline.csproj --configuration Release --output ./Timeline/publish/ -r linux-x64 --self-contained false
+
+FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
+WORKDIR /app
+ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED true
+COPY --from=back-build /timeline-app/Timeline/publish .
+ENTRYPOINT ["dotnet", "Timeline.dll"]
diff --git a/Timeline/ClientApp/.babelrc b/FrontEnd/.babelrc index 092f2f73..092f2f73 100644 --- a/Timeline/ClientApp/.babelrc +++ b/FrontEnd/.babelrc diff --git a/Timeline/ClientApp/.editorconfig b/FrontEnd/.editorconfig index 779719e0..779719e0 100644 --- a/Timeline/ClientApp/.editorconfig +++ b/FrontEnd/.editorconfig diff --git a/Timeline/ClientApp/.eslintignore b/FrontEnd/.eslintignore index 371b5fcb..f29f7466 100644 --- a/Timeline/ClientApp/.eslintignore +++ b/FrontEnd/.eslintignore @@ -3,3 +3,4 @@ node_modules dist
webpack.*.js
.eslintrc.js
+postcss.config.js
diff --git a/Timeline/ClientApp/.eslintrc.js b/FrontEnd/.eslintrc.js index 900489ed..900489ed 100644 --- a/Timeline/ClientApp/.eslintrc.js +++ b/FrontEnd/.eslintrc.js diff --git a/Timeline/ClientApp/.gitattributes b/FrontEnd/.gitattributes index c1aa21ac..c1aa21ac 100644 --- a/Timeline/ClientApp/.gitattributes +++ b/FrontEnd/.gitattributes diff --git a/Timeline/ClientApp/.gitignore b/FrontEnd/.gitignore index 1de0b58f..1de0b58f 100644 --- a/Timeline/ClientApp/.gitignore +++ b/FrontEnd/.gitignore diff --git a/Timeline/ClientApp/.vscode/extensions.json b/FrontEnd/.vscode/extensions.json index be640996..be640996 100644 --- a/Timeline/ClientApp/.vscode/extensions.json +++ b/FrontEnd/.vscode/extensions.json diff --git a/Timeline/ClientApp/.vscode/preview.yml b/FrontEnd/.vscode/preview.yml index eb5e452c..b2cf70af 100644 --- a/Timeline/ClientApp/.vscode/preview.yml +++ b/FrontEnd/.vscode/preview.yml @@ -1,10 +1,10 @@ - -# .vscode/preview.yml -autoOpen: false # 打开工作空间时是否自动开启所有应用的预览 -apps: - - port: 3000 # 应用的端口 - run: yarn start:mock # 应用的启动命令 - root: . # 应用的启动目录 - name: timeline # 应用名称 - description: Timeline App # 应用描述 - autoOpen: false # 打开工作空间时是否自动开启预览(优先级高于根级 autoOpen) +
+# .vscode/preview.yml
+autoOpen: false # 打开工作空间时是否自动开启所有应用的预览
+apps:
+ - port: 3000 # 应用的端口
+ run: yarn start:mock # 应用的启动命令
+ root: . # 应用的启动目录
+ name: timeline # 应用名称
+ description: Timeline App # 应用描述
+ autoOpen: false # 打开工作空间时是否自动开启预览(优先级高于根级 autoOpen)
diff --git a/Timeline/ClientApp/.vscode/settings.json b/FrontEnd/.vscode/settings.json index 3db658ba..3db658ba 100644 --- a/Timeline/ClientApp/.vscode/settings.json +++ b/FrontEnd/.vscode/settings.json diff --git a/Timeline/ClientApp/.yarnrc.yml b/FrontEnd/.yarnrc.yml index 2e4e43a7..2e4e43a7 100644 --- a/Timeline/ClientApp/.yarnrc.yml +++ b/FrontEnd/.yarnrc.yml diff --git a/Timeline/ClientApp/LICENSE b/FrontEnd/LICENSE index 238cd2d9..238cd2d9 100644 --- a/Timeline/ClientApp/LICENSE +++ b/FrontEnd/LICENSE diff --git a/FrontEnd/package.json b/FrontEnd/package.json new file mode 100644 index 00000000..d9136b6a --- /dev/null +++ b/FrontEnd/package.json @@ -0,0 +1,113 @@ +{
+ "name": "timeline",
+ "version": "0.1.0",
+ "private": true,
+ "homepage": "https://crupest.xyz",
+ "keywords": [],
+ "description": "Timeline app.",
+ "dependencies": {
+ "axios": "^0.21.0",
+ "bootstrap": "^4.5.3",
+ "bootstrap-icons": "^1.1.0",
+ "classnames": "^2.2.6",
+ "clsx": "^1.1.1",
+ "core-js": "^3.6.5",
+ "i18next": "^19.8.3",
+ "i18next-browser-languagedetector": "^6.0.1",
+ "localforage": "^1.9.0",
+ "lodash": "^4.17.20",
+ "pepjs": "^0.5.2",
+ "react": "^17.0.1",
+ "react-bootstrap": "^1.4.0",
+ "react-dom": "^17.0.1",
+ "react-i18next": "^11.7.3",
+ "react-inlinesvg": "^2.1.1",
+ "react-responsive": "^8.1.0",
+ "react-router": "^5.2.0",
+ "react-router-bootstrap": "^0.25.0",
+ "react-router-dom": "^5.2.0",
+ "regenerator-runtime": "^0.13.7",
+ "rxjs": "^6.6.3",
+ "workbox-precaching": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4",
+ "workbox-window": "^5.1.4",
+ "xregexp": "^4.4.0"
+ },
+ "scripts": {
+ "start": "webpack serve --config ./webpack.config.dev.js",
+ "build": "webpack --config ./webpack.config.prod.js",
+ "lint": "eslint src/ --ext .js --ext .jsx --ext .ts --ext .tsx"
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ },
+ "devDependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-decorators": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/preset-env": "^7.12.1",
+ "@babel/preset-react": "^7.12.1",
+ "@babel/preset-typescript": "^7.12.1",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.4.2",
+ "@types/classnames": "^2.2.11",
+ "@types/lodash": "^4.14.164",
+ "@types/node": "^14.14.6",
+ "@types/react": "^16.9.55",
+ "@types/react-dom": "^16.9.9",
+ "@types/react-responsive": "^8.0.2",
+ "@types/react-router": "^5.1.8",
+ "@types/react-router-bootstrap": "^0.24.5",
+ "@types/react-router-dom": "^5.1.6",
+ "@types/webpack-env": "^1.15.3",
+ "@types/xregexp": "^4.3.0",
+ "@typescript-eslint/eslint-plugin": "^4.6.0",
+ "@typescript-eslint/parser": "^4.6.0",
+ "@yarnpkg/pnpify": "^2.3.3",
+ "babel-loader": "^8.1.0",
+ "babel-plugin-transform-builtin-extend": "^1.1.2",
+ "clean-webpack-plugin": "^3.0.0",
+ "copy-webpack-plugin": "^6.2.1",
+ "css-loader": "^5.0.0",
+ "eslint": "^7.12.1",
+ "eslint-config-prettier": "^6.15.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-prettier": "^3.1.4",
+ "eslint-plugin-react": "^7.21.5",
+ "eslint-plugin-react-hooks": "^4.2.0",
+ "file-loader": "^6.2.0",
+ "html-webpack-plugin": "^4.5.0",
+ "http-server": "^0.12.3",
+ "mini-css-extract-plugin": "^1.2.1",
+ "postcss": "^8.1.4",
+ "postcss-loader": "^4.0.4",
+ "postcss-preset-env": "^6.7.0",
+ "prettier": "^2.1.2",
+ "querystring-es3": "^0.2.1",
+ "react-refresh": "^0.9.0",
+ "sass": "^1.28.0",
+ "sass-loader": "^10.0.4",
+ "style-loader": "^2.0.0",
+ "ts-loader": "^8.0.7",
+ "type-fest": "^0.18.0",
+ "typescript": "^4.0.5",
+ "url-loader": "^4.1.1",
+ "webpack": "^5.3.2",
+ "webpack-chain": "^6.5.1",
+ "webpack-cli": "^4.1.0",
+ "webpack-dev-server": "^3.11.0",
+ "workbox-webpack-plugin": "^5.1.4"
+ }
+}
diff --git a/FrontEnd/postcss.config.js b/FrontEnd/postcss.config.js new file mode 100644 index 00000000..74ee8155 --- /dev/null +++ b/FrontEnd/postcss.config.js @@ -0,0 +1,10 @@ +module.exports = {
+ plugins: [
+ [
+ "postcss-preset-env",
+ {
+ // Options
+ },
+ ],
+ ],
+};
diff --git a/Timeline/ClientApp/public/android-chrome-192x192.png b/FrontEnd/public/android-chrome-192x192.png Binary files differindex da9b6b81..da9b6b81 100644 --- a/Timeline/ClientApp/public/android-chrome-192x192.png +++ b/FrontEnd/public/android-chrome-192x192.png diff --git a/Timeline/ClientApp/public/android-chrome-512x512.png b/FrontEnd/public/android-chrome-512x512.png Binary files differindex fa84e055..fa84e055 100644 --- a/Timeline/ClientApp/public/android-chrome-512x512.png +++ b/FrontEnd/public/android-chrome-512x512.png diff --git a/Timeline/ClientApp/public/apple-touch-icon.png b/FrontEnd/public/apple-touch-icon.png Binary files differindex d5a3fb45..d5a3fb45 100644 --- a/Timeline/ClientApp/public/apple-touch-icon.png +++ b/FrontEnd/public/apple-touch-icon.png diff --git a/Timeline/ClientApp/public/browserconfig.xml b/FrontEnd/public/browserconfig.xml index f2c89409..f2c89409 100644 --- a/Timeline/ClientApp/public/browserconfig.xml +++ b/FrontEnd/public/browserconfig.xml diff --git a/Timeline/ClientApp/public/favicon-16x16.png b/FrontEnd/public/favicon-16x16.png Binary files differindex 6c978995..6c978995 100644 --- a/Timeline/ClientApp/public/favicon-16x16.png +++ b/FrontEnd/public/favicon-16x16.png diff --git a/Timeline/ClientApp/public/favicon-32x32.png b/FrontEnd/public/favicon-32x32.png Binary files differindex bbde902f..bbde902f 100644 --- a/Timeline/ClientApp/public/favicon-32x32.png +++ b/FrontEnd/public/favicon-32x32.png diff --git a/Timeline/ClientApp/public/favicon.ico b/FrontEnd/public/favicon.ico Binary files differindex d4cd3db6..d4cd3db6 100644 --- a/Timeline/ClientApp/public/favicon.ico +++ b/FrontEnd/public/favicon.ico diff --git a/Timeline/ClientApp/public/mstile-144x144.png b/FrontEnd/public/mstile-144x144.png Binary files differindex 61eaaf43..61eaaf43 100644 --- a/Timeline/ClientApp/public/mstile-144x144.png +++ b/FrontEnd/public/mstile-144x144.png diff --git a/Timeline/ClientApp/public/mstile-150x150.png b/FrontEnd/public/mstile-150x150.png Binary files differindex 85fa83ee..85fa83ee 100644 --- a/Timeline/ClientApp/public/mstile-150x150.png +++ b/FrontEnd/public/mstile-150x150.png diff --git a/Timeline/ClientApp/public/mstile-310x150.png b/FrontEnd/public/mstile-310x150.png Binary files differindex 41889953..41889953 100644 --- a/Timeline/ClientApp/public/mstile-310x150.png +++ b/FrontEnd/public/mstile-310x150.png diff --git a/Timeline/ClientApp/public/mstile-310x310.png b/FrontEnd/public/mstile-310x310.png Binary files differindex cddce02e..cddce02e 100644 --- a/Timeline/ClientApp/public/mstile-310x310.png +++ b/FrontEnd/public/mstile-310x310.png diff --git a/Timeline/ClientApp/public/mstile-70x70.png b/FrontEnd/public/mstile-70x70.png Binary files differindex 52f59d43..52f59d43 100644 --- a/Timeline/ClientApp/public/mstile-70x70.png +++ b/FrontEnd/public/mstile-70x70.png diff --git a/Timeline/ClientApp/public/safari-pinned-tab.svg b/FrontEnd/public/safari-pinned-tab.svg index e91f046a..e91f046a 100644 --- a/Timeline/ClientApp/public/safari-pinned-tab.svg +++ b/FrontEnd/public/safari-pinned-tab.svg diff --git a/Timeline/ClientApp/public/site.webmanifest b/FrontEnd/public/site.webmanifest index 74f0901a..74f0901a 100644 --- a/Timeline/ClientApp/public/site.webmanifest +++ b/FrontEnd/public/site.webmanifest diff --git a/Timeline/ClientApp/sandbox.config.json b/FrontEnd/sandbox.config.json index 42b540ce..90f99b70 100644 --- a/Timeline/ClientApp/sandbox.config.json +++ b/FrontEnd/sandbox.config.json @@ -1,11 +1,11 @@ -{ - "infiniteLoopProtection": true, - "hardReloadOnChange": false, - "view": "browser", - "container": { - "port": 3000, - "startScript": "start:mock" - }, - "port": 3000, - "startScript": "start:mock" -} +{
+ "infiniteLoopProtection": true,
+ "hardReloadOnChange": false,
+ "view": "browser",
+ "container": {
+ "port": 3000,
+ "startScript": "start:mock"
+ },
+ "port": 3000,
+ "startScript": "start:mock"
+}
diff --git a/Timeline/ClientApp/src/app/App.tsx b/FrontEnd/src/app/App.tsx index b68eddb6..4e53d4da 100644 --- a/Timeline/ClientApp/src/app/App.tsx +++ b/FrontEnd/src/app/App.tsx @@ -1,6 +1,5 @@ import React from "react"; import { BrowserRouter as Router, Route, Switch } from "react-router-dom"; -import { hot } from "react-hot-loader/root"; import AppBar from "./views/common/AppBar"; import LoadingPage from "./views/common/LoadingPage"; @@ -81,4 +80,4 @@ const App: React.FC = () => { } }; -export default hot(App); +export default App; diff --git a/Timeline/ClientApp/src/app/common.ts b/FrontEnd/src/app/common.ts index 0a2d345f..0a2d345f 100644 --- a/Timeline/ClientApp/src/app/common.ts +++ b/FrontEnd/src/app/common.ts diff --git a/Timeline/ClientApp/src/app/http/common.ts b/FrontEnd/src/app/http/common.ts index 54203d1a..54203d1a 100644 --- a/Timeline/ClientApp/src/app/http/common.ts +++ b/FrontEnd/src/app/http/common.ts diff --git a/Timeline/ClientApp/src/app/http/timeline.ts b/FrontEnd/src/app/http/timeline.ts index a9511c64..eb7d5065 100644 --- a/Timeline/ClientApp/src/app/http/timeline.ts +++ b/FrontEnd/src/app/http/timeline.ts @@ -145,7 +145,7 @@ type RawTimelinePostContent = interface RawTimelinePostInfo { id: number; - content: HttpTimelinePostContent; + content: RawTimelinePostContent; time: string; lastUpdated: string; author: HttpUser; diff --git a/Timeline/ClientApp/src/app/http/token.ts b/FrontEnd/src/app/http/token.ts index ae0cf3f6..ae0cf3f6 100644 --- a/Timeline/ClientApp/src/app/http/token.ts +++ b/FrontEnd/src/app/http/token.ts diff --git a/Timeline/ClientApp/src/app/http/user.ts b/FrontEnd/src/app/http/user.ts index a0a02cce..a0a02cce 100644 --- a/Timeline/ClientApp/src/app/http/user.ts +++ b/FrontEnd/src/app/http/user.ts diff --git a/Timeline/ClientApp/src/app/i18n.ts b/FrontEnd/src/app/i18n.ts index cdced7bf..aeac1f1f 100644 --- a/Timeline/ClientApp/src/app/i18n.ts +++ b/FrontEnd/src/app/i18n.ts @@ -18,18 +18,10 @@ const backend: BackendModule = { } if (language === "en") { - const res = ( - await import( - /* webpackChunkName: "locales-en" */ "./locales/en/translation" - ) - ).default; + const res = (await import("./locales/en/translation")).default; success(res); } else if (language === "zh-cn" || language === "zh") { - const res = ( - await import( - /* webpackChunkName: "locales-zh" */ "./locales/zh/translation" - ) - ).default; + const res = (await import("./locales/zh/translation")).default; success(res); } else { error(`Language ${language} is not supported.`); diff --git a/Timeline/ClientApp/src/app/index.ejs b/FrontEnd/src/app/index.ejs index 49306786..c2ff4182 100644 --- a/Timeline/ClientApp/src/app/index.ejs +++ b/FrontEnd/src/app/index.ejs @@ -1,29 +1,29 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8" /> - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> - <meta name="viewport" content="width=device-width,initial-scale=1.0" /> - - <link rel="icon" href="/favicon.ico" /> - <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> - <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> - <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> - <link rel="manifest" href="/site.webmanifest" /> - <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" /> - <meta name="msapplication-TileColor" content="#2d89ef" /> - <meta name="theme-color" content="#ffffff" /> - - <title><%= htmlWebpackPlugin.options.title %></title> - </head> - <body> - <noscript> - <strong> - We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work - properly without JavaScript enabled. Please enable it to continue. - </strong> - </noscript> - <div id="app"></div> - <!-- built files will be auto injected --> - </body> -</html> +<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+ <meta name="viewport" content="width=device-width,initial-scale=1.0" />
+
+ <link rel="icon" href="/favicon.ico" />
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
+ <link rel="manifest" href="/site.webmanifest" />
+ <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
+ <meta name="msapplication-TileColor" content="#2d89ef" />
+ <meta name="theme-color" content="#ffffff" />
+
+ <title><%= htmlWebpackPlugin.options.title %></title>
+ </head>
+ <body>
+ <noscript>
+ <strong>
+ We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
+ properly without JavaScript enabled. Please enable it to continue.
+ </strong>
+ </noscript>
+ <div id="app"></div>
+ <!-- built files will be auto injected -->
+ </body>
+</html>
diff --git a/Timeline/ClientApp/src/app/index.sass b/FrontEnd/src/app/index.sass index 08e03bac..8e87e4ac 100644 --- a/Timeline/ClientApp/src/app/index.sass +++ b/FrontEnd/src/app/index.sass @@ -1,66 +1,66 @@ -@import '~bootstrap/scss/bootstrap' - -@import './views/common/common' -@import './views/common/alert/alert' -@import './views/home/home' -@import './views/about/about' -@import './views/login/login' -@import './views/timeline-common/timeline-common' -@import './views/timeline/timeline' -@import './views/user/user' - -body - margin: 0 - -small - line-height: 1.2 - -.flex-fix-length - flex-grow: 0 - flex-shrink: 0 - -.position-lt - left: 0 - top: 0 - -.avatar - width: 60px - &.large - width: 100px - &.small - width: 40px - -.mt-appbar - margin-top: 56px - -.icon-button - font-size: 1.4em - &.large - font-size: 1.6em - -.cursor-pointer - cursor: pointer - -textarea - resize: none - -.white-space-no-wrap - white-space: nowrap - -.cru-card - @extend .shadow - @extend .border - @extend .border-primary - @extend .rounded - @extend .bg-light - -.full-viewport-center-child - position: fixed - width: 100vw - height: 100vh - display: flex - justify-content: center - align-items: center - -.text-orange - color: $orange +@import '~bootstrap/scss/bootstrap'
+
+@import './views/common/common'
+@import './views/common/alert/alert'
+@import './views/home/home'
+@import './views/about/about'
+@import './views/login/login'
+@import './views/timeline-common/timeline-common'
+@import './views/timeline/timeline'
+@import './views/user/user'
+
+body
+ margin: 0
+
+small
+ line-height: 1.2
+
+.flex-fix-length
+ flex-grow: 0
+ flex-shrink: 0
+
+.position-lt
+ left: 0
+ top: 0
+
+.avatar
+ width: 60px
+ &.large
+ width: 100px
+ &.small
+ width: 40px
+
+.mt-appbar
+ margin-top: 56px
+
+.icon-button
+ font-size: 1.4em
+ &.large
+ font-size: 1.6em
+
+.cursor-pointer
+ cursor: pointer
+
+textarea
+ resize: none
+
+.white-space-no-wrap
+ white-space: nowrap
+
+.cru-card
+ @extend .shadow
+ @extend .border
+ @extend .border-primary
+ @extend .rounded
+ @extend .bg-light
+
+.full-viewport-center-child
+ position: fixed
+ width: 100vw
+ height: 100vh
+ display: flex
+ justify-content: center
+ align-items: center
+
+.text-orange
+ color: $orange
diff --git a/Timeline/ClientApp/src/app/index.tsx b/FrontEnd/src/app/index.tsx index 00a75a4a..00a75a4a 100644 --- a/Timeline/ClientApp/src/app/index.tsx +++ b/FrontEnd/src/app/index.tsx diff --git a/Timeline/ClientApp/src/app/locales/en/translation.ts b/FrontEnd/src/app/locales/en/translation.ts index c7f33d1e..c7f33d1e 100644 --- a/Timeline/ClientApp/src/app/locales/en/translation.ts +++ b/FrontEnd/src/app/locales/en/translation.ts diff --git a/Timeline/ClientApp/src/app/locales/scheme.ts b/FrontEnd/src/app/locales/scheme.ts index 9e3534ac..9e3534ac 100644 --- a/Timeline/ClientApp/src/app/locales/scheme.ts +++ b/FrontEnd/src/app/locales/scheme.ts diff --git a/Timeline/ClientApp/src/app/locales/zh/translation.ts b/FrontEnd/src/app/locales/zh/translation.ts index df316366..df316366 100644 --- a/Timeline/ClientApp/src/app/locales/zh/translation.ts +++ b/FrontEnd/src/app/locales/zh/translation.ts diff --git a/Timeline/ClientApp/src/app/service-worker.tsx b/FrontEnd/src/app/service-worker.tsx index 3be54bc1..3be54bc1 100644 --- a/Timeline/ClientApp/src/app/service-worker.tsx +++ b/FrontEnd/src/app/service-worker.tsx diff --git a/Timeline/ClientApp/src/app/services/DataHub.ts b/FrontEnd/src/app/services/DataHub.ts index 93a9b41f..4d618db6 100644 --- a/Timeline/ClientApp/src/app/services/DataHub.ts +++ b/FrontEnd/src/app/services/DataHub.ts @@ -22,7 +22,7 @@ export class DataLine<TData> { } ) { if (config.disableInitSync !== true) { - setImmediate(() => void this.sync()); + setTimeout(() => void this.sync()); } } diff --git a/Timeline/ClientApp/src/app/services/alert.ts b/FrontEnd/src/app/services/alert.ts index e4c0e653..e4c0e653 100644 --- a/Timeline/ClientApp/src/app/services/alert.ts +++ b/FrontEnd/src/app/services/alert.ts diff --git a/Timeline/ClientApp/src/app/services/common.ts b/FrontEnd/src/app/services/common.ts index 3bb6b9d7..3bb6b9d7 100644 --- a/Timeline/ClientApp/src/app/services/common.ts +++ b/FrontEnd/src/app/services/common.ts diff --git a/Timeline/ClientApp/src/app/services/timeline.ts b/FrontEnd/src/app/services/timeline.ts index 9db76281..9db76281 100644 --- a/Timeline/ClientApp/src/app/services/timeline.ts +++ b/FrontEnd/src/app/services/timeline.ts diff --git a/Timeline/ClientApp/src/app/services/user.ts b/FrontEnd/src/app/services/user.ts index f253fc19..f253fc19 100644 --- a/Timeline/ClientApp/src/app/services/user.ts +++ b/FrontEnd/src/app/services/user.ts diff --git a/Timeline/ClientApp/src/app/tsconfig.json b/FrontEnd/src/app/tsconfig.json index 14e6327f..17ee69cb 100644 --- a/Timeline/ClientApp/src/app/tsconfig.json +++ b/FrontEnd/src/app/tsconfig.json @@ -1,13 +1,13 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "lib": [ - "dom", - "dom.iterable", - "esnext" - ] - }, - "include": [ - "." - ] -} +{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ]
+ },
+ "include": [
+ "."
+ ]
+}
diff --git a/Timeline/ClientApp/src/app/typings.d.ts b/FrontEnd/src/app/typings.d.ts index 34381682..34381682 100644 --- a/Timeline/ClientApp/src/app/typings.d.ts +++ b/FrontEnd/src/app/typings.d.ts diff --git a/Timeline/ClientApp/src/app/utilities/rxjs.ts b/FrontEnd/src/app/utilities/rxjs.ts index 0730b899..0730b899 100644 --- a/Timeline/ClientApp/src/app/utilities/rxjs.ts +++ b/FrontEnd/src/app/utilities/rxjs.ts diff --git a/Timeline/ClientApp/src/app/utilities/url.ts b/FrontEnd/src/app/utilities/url.ts index 17ead5b2..17ead5b2 100644 --- a/Timeline/ClientApp/src/app/utilities/url.ts +++ b/FrontEnd/src/app/utilities/url.ts diff --git a/Timeline/ClientApp/src/app/views/about/about.sass b/FrontEnd/src/app/views/about/about.sass index 3b5840cd..f4d00cae 100644 --- a/Timeline/ClientApp/src/app/views/about/about.sass +++ b/FrontEnd/src/app/views/about/about.sass @@ -1,4 +1,4 @@ -.about-link-icon - @extend .mx-2 - width: 1.2em - height: 1.2em +.about-link-icon
+ @extend .mx-2
+ width: 1.2em
+ height: 1.2em
diff --git a/Timeline/ClientApp/src/app/views/about/author-avatar.png b/FrontEnd/src/app/views/about/author-avatar.png Binary files differindex d890d8d0..d890d8d0 100644 --- a/Timeline/ClientApp/src/app/views/about/author-avatar.png +++ b/FrontEnd/src/app/views/about/author-avatar.png diff --git a/Timeline/ClientApp/src/app/views/about/github.png b/FrontEnd/src/app/views/about/github.png Binary files differindex ea6ff545..ea6ff545 100644 --- a/Timeline/ClientApp/src/app/views/about/github.png +++ b/FrontEnd/src/app/views/about/github.png diff --git a/Timeline/ClientApp/src/app/views/about/index.tsx b/FrontEnd/src/app/views/about/index.tsx index e7771cec..e7771cec 100644 --- a/Timeline/ClientApp/src/app/views/about/index.tsx +++ b/FrontEnd/src/app/views/about/index.tsx diff --git a/Timeline/ClientApp/src/app/views/admin/Admin.tsx b/FrontEnd/src/app/views/admin/Admin.tsx index 9c0250e7..9c0250e7 100644 --- a/Timeline/ClientApp/src/app/views/admin/Admin.tsx +++ b/FrontEnd/src/app/views/admin/Admin.tsx diff --git a/Timeline/ClientApp/src/app/views/admin/UserAdmin.tsx b/FrontEnd/src/app/views/admin/UserAdmin.tsx index 18b77ca8..18b77ca8 100644 --- a/Timeline/ClientApp/src/app/views/admin/UserAdmin.tsx +++ b/FrontEnd/src/app/views/admin/UserAdmin.tsx diff --git a/Timeline/ClientApp/src/app/views/common/AppBar.tsx b/FrontEnd/src/app/views/common/AppBar.tsx index ee4ead8f..ee4ead8f 100644 --- a/Timeline/ClientApp/src/app/views/common/AppBar.tsx +++ b/FrontEnd/src/app/views/common/AppBar.tsx diff --git a/Timeline/ClientApp/src/app/views/common/BlobImage.tsx b/FrontEnd/src/app/views/common/BlobImage.tsx index 0dd25c52..0dd25c52 100644 --- a/Timeline/ClientApp/src/app/views/common/BlobImage.tsx +++ b/FrontEnd/src/app/views/common/BlobImage.tsx diff --git a/Timeline/ClientApp/src/app/views/common/ImageCropper.tsx b/FrontEnd/src/app/views/common/ImageCropper.tsx index b9db8b99..b9db8b99 100644 --- a/Timeline/ClientApp/src/app/views/common/ImageCropper.tsx +++ b/FrontEnd/src/app/views/common/ImageCropper.tsx diff --git a/Timeline/ClientApp/src/app/views/common/LoadingButton.tsx b/FrontEnd/src/app/views/common/LoadingButton.tsx index 154334a7..154334a7 100644 --- a/Timeline/ClientApp/src/app/views/common/LoadingButton.tsx +++ b/FrontEnd/src/app/views/common/LoadingButton.tsx diff --git a/Timeline/ClientApp/src/app/views/common/LoadingPage.tsx b/FrontEnd/src/app/views/common/LoadingPage.tsx index 590fafa0..590fafa0 100644 --- a/Timeline/ClientApp/src/app/views/common/LoadingPage.tsx +++ b/FrontEnd/src/app/views/common/LoadingPage.tsx diff --git a/Timeline/ClientApp/src/app/views/common/OperationDialog.tsx b/FrontEnd/src/app/views/common/OperationDialog.tsx index 841392a6..841392a6 100644 --- a/Timeline/ClientApp/src/app/views/common/OperationDialog.tsx +++ b/FrontEnd/src/app/views/common/OperationDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/common/SearchInput.tsx b/FrontEnd/src/app/views/common/SearchInput.tsx index 9833d515..9833d515 100644 --- a/Timeline/ClientApp/src/app/views/common/SearchInput.tsx +++ b/FrontEnd/src/app/views/common/SearchInput.tsx diff --git a/Timeline/ClientApp/src/app/views/common/TimelineLogo.tsx b/FrontEnd/src/app/views/common/TimelineLogo.tsx index 27d188fc..27d188fc 100644 --- a/Timeline/ClientApp/src/app/views/common/TimelineLogo.tsx +++ b/FrontEnd/src/app/views/common/TimelineLogo.tsx diff --git a/Timeline/ClientApp/src/app/views/common/UserTimelineLogo.tsx b/FrontEnd/src/app/views/common/UserTimelineLogo.tsx index 29f6a69f..29f6a69f 100644 --- a/Timeline/ClientApp/src/app/views/common/UserTimelineLogo.tsx +++ b/FrontEnd/src/app/views/common/UserTimelineLogo.tsx diff --git a/Timeline/ClientApp/src/app/views/common/alert/AlertHost.tsx b/FrontEnd/src/app/views/common/alert/AlertHost.tsx index c74f18e2..c74f18e2 100644 --- a/Timeline/ClientApp/src/app/views/common/alert/AlertHost.tsx +++ b/FrontEnd/src/app/views/common/alert/AlertHost.tsx diff --git a/Timeline/ClientApp/src/app/views/common/alert/alert.sass b/FrontEnd/src/app/views/common/alert/alert.sass index 5b6e65c2..c3560b87 100644 --- a/Timeline/ClientApp/src/app/views/common/alert/alert.sass +++ b/FrontEnd/src/app/views/common/alert/alert.sass @@ -1,15 +1,15 @@ -.alert-container - position: fixed - z-index: $zindex-popover - -@include media-breakpoint-up(sm) - .alert-container - bottom: 0 - right: 0 - -@include media-breakpoint-down(sm) - .alert-container - bottom: 0 - right: 0 - left: 0 - text-align: center +.alert-container
+ position: fixed
+ z-index: $zindex-popover
+
+@include media-breakpoint-up(sm)
+ .alert-container
+ bottom: 0
+ right: 0
+
+@include media-breakpoint-down(sm)
+ .alert-container
+ bottom: 0
+ right: 0
+ left: 0
+ text-align: center
diff --git a/Timeline/ClientApp/src/app/views/common/common.sass b/FrontEnd/src/app/views/common/common.sass index 15d34d7c..78e6fd14 100644 --- a/Timeline/ClientApp/src/app/views/common/common.sass +++ b/FrontEnd/src/app/views/common/common.sass @@ -1,33 +1,33 @@ -.image-cropper-container - position: relative - box-sizing: border-box - user-select: none - -.image-cropper-container img - position: absolute - left: 0 - top: 0 - width: 100% - height: 100% - -.image-cropper-mask-container - position: absolute - left: 0 - top: 0 - right: 0 - bottom: 0 - overflow: hidden - -.image-cropper-mask - position: absolute - box-shadow: 0 0 0 10000px rgba(255, 255, 255, 80%) - touch-action: none - -.image-cropper-handler - position: absolute - width: 26px - height: 26px - border: black solid 2px - border-radius: 50% - background: white - touch-action: none +.image-cropper-container
+ position: relative
+ box-sizing: border-box
+ user-select: none
+
+.image-cropper-container img
+ position: absolute
+ left: 0
+ top: 0
+ width: 100%
+ height: 100%
+
+.image-cropper-mask-container
+ position: absolute
+ left: 0
+ top: 0
+ right: 0
+ bottom: 0
+ overflow: hidden
+
+.image-cropper-mask
+ position: absolute
+ box-shadow: 0 0 0 10000px rgba(255, 255, 255, 80%)
+ touch-action: none
+
+.image-cropper-handler
+ position: absolute
+ width: 26px
+ height: 26px
+ border: black solid 2px
+ border-radius: 50%
+ background: white
+ touch-action: none
diff --git a/Timeline/ClientApp/src/app/views/home/BoardWithUser.tsx b/FrontEnd/src/app/views/home/BoardWithUser.tsx index dcd39cbe..dcd39cbe 100644 --- a/Timeline/ClientApp/src/app/views/home/BoardWithUser.tsx +++ b/FrontEnd/src/app/views/home/BoardWithUser.tsx diff --git a/Timeline/ClientApp/src/app/views/home/BoardWithoutUser.tsx b/FrontEnd/src/app/views/home/BoardWithoutUser.tsx index ebfddb50..ebfddb50 100644 --- a/Timeline/ClientApp/src/app/views/home/BoardWithoutUser.tsx +++ b/FrontEnd/src/app/views/home/BoardWithoutUser.tsx diff --git a/Timeline/ClientApp/src/app/views/home/OfflineBoard.tsx b/FrontEnd/src/app/views/home/OfflineBoard.tsx index fc05bd74..fc05bd74 100644 --- a/Timeline/ClientApp/src/app/views/home/OfflineBoard.tsx +++ b/FrontEnd/src/app/views/home/OfflineBoard.tsx diff --git a/Timeline/ClientApp/src/app/views/home/TimelineBoard.tsx b/FrontEnd/src/app/views/home/TimelineBoard.tsx index a3d176e1..a3d176e1 100644 --- a/Timeline/ClientApp/src/app/views/home/TimelineBoard.tsx +++ b/FrontEnd/src/app/views/home/TimelineBoard.tsx diff --git a/Timeline/ClientApp/src/app/views/home/TimelineCreateDialog.tsx b/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx index d9467719..d9467719 100644 --- a/Timeline/ClientApp/src/app/views/home/TimelineCreateDialog.tsx +++ b/FrontEnd/src/app/views/home/TimelineCreateDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/home/home.sass b/FrontEnd/src/app/views/home/home.sass index f5d6ffc3..28a2e5f3 100644 --- a/Timeline/ClientApp/src/app/views/home/home.sass +++ b/FrontEnd/src/app/views/home/home.sass @@ -1,13 +1,13 @@ -.timeline-board-item - font-size: 1.1em - @extend .my-2 - .icon - height: 1.3em - @extend .mr-2 - -.timeline-board - @extend .cru-card - @extend .d-flex - @extend .flex-column - @extend .p-3 - min-height: 200px +.timeline-board-item
+ font-size: 1.1em
+ @extend .my-2
+ .icon
+ height: 1.3em
+ @extend .mr-2
+
+.timeline-board
+ @extend .cru-card
+ @extend .d-flex
+ @extend .flex-column
+ @extend .p-3
+ min-height: 200px
diff --git a/Timeline/ClientApp/src/app/views/home/index.tsx b/FrontEnd/src/app/views/home/index.tsx index 760adcea..760adcea 100644 --- a/Timeline/ClientApp/src/app/views/home/index.tsx +++ b/FrontEnd/src/app/views/home/index.tsx diff --git a/Timeline/ClientApp/src/app/views/login/index.tsx b/FrontEnd/src/app/views/login/index.tsx index 265c2172..61b9a525 100644 --- a/Timeline/ClientApp/src/app/views/login/index.tsx +++ b/FrontEnd/src/app/views/login/index.tsx @@ -124,7 +124,7 @@ const LoginPage: React.FC = (_) => { type="checkbox" checked={rememberMe} onChange={(e) => { - setRememberMe(e.target.checked); + setRememberMe(e.currentTarget.checked); }} label={t("user.rememberMe")} /> diff --git a/Timeline/ClientApp/src/app/views/login/login.sass b/FrontEnd/src/app/views/login/login.sass index 0bf385f5..0bf385f5 100644 --- a/Timeline/ClientApp/src/app/views/login/login.sass +++ b/FrontEnd/src/app/views/login/login.sass diff --git a/Timeline/ClientApp/src/app/views/settings/index.tsx b/FrontEnd/src/app/views/settings/index.tsx index 964e7442..964e7442 100644 --- a/Timeline/ClientApp/src/app/views/settings/index.tsx +++ b/FrontEnd/src/app/views/settings/index.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/CollapseButton.tsx b/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx index 3c52150f..3c52150f 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/CollapseButton.tsx +++ b/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/InfoCardTemplate.tsx b/FrontEnd/src/app/views/timeline-common/InfoCardTemplate.tsx index a8de20aa..a8de20aa 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/InfoCardTemplate.tsx +++ b/FrontEnd/src/app/views/timeline-common/InfoCardTemplate.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/SyncStatusBadge.tsx b/FrontEnd/src/app/views/timeline-common/SyncStatusBadge.tsx index e67cfb43..e67cfb43 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/SyncStatusBadge.tsx +++ b/FrontEnd/src/app/views/timeline-common/SyncStatusBadge.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/Timeline.tsx b/FrontEnd/src/app/views/timeline-common/Timeline.tsx index fd051d45..fd051d45 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/Timeline.tsx +++ b/FrontEnd/src/app/views/timeline-common/Timeline.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelineItem.tsx b/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx index 327b6833..4db23371 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelineItem.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelineItem.tsx @@ -105,7 +105,7 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => { <Svg src={chevronDownIcon} className="text-info icon-button" - onClick={(e: Event) => { + onClick={(e) => { more.toggle(); e.stopPropagation(); }} @@ -148,7 +148,7 @@ const TimelineItem: React.FC<TimelineItemProps> = (props) => { <Svg src={trashIcon} className="text-danger icon-button large" - onClick={(e: Event) => { + onClick={(e) => { toggleDeleteDialog(); e.stopPropagation(); }} diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelineMember.tsx b/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx index 67a8543a..67a8543a 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelineMember.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplate.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx index d5c91622..d5c91622 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplate.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplateUI.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx index 6c2c43c1..6c2c43c1 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePageTemplateUI.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePageTemplateUI.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePostEdit.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx index dfa2f879..dfa2f879 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePostEdit.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx b/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx index 87638f31..87638f31 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/TimelineTop.tsx b/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx index 93a2a32c..93a2a32c 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/TimelineTop.tsx +++ b/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline-common/timeline-common.sass b/FrontEnd/src/app/views/timeline-common/timeline-common.sass index 4151bfcc..4151bfcc 100644 --- a/Timeline/ClientApp/src/app/views/timeline-common/timeline-common.sass +++ b/FrontEnd/src/app/views/timeline-common/timeline-common.sass diff --git a/Timeline/ClientApp/src/app/views/timeline/TimelineDeleteDialog.tsx b/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx index 894b8195..894b8195 100644 --- a/Timeline/ClientApp/src/app/views/timeline/TimelineDeleteDialog.tsx +++ b/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline/TimelineInfoCard.tsx b/FrontEnd/src/app/views/timeline/TimelineInfoCard.tsx index 2d787709..2d787709 100644 --- a/Timeline/ClientApp/src/app/views/timeline/TimelineInfoCard.tsx +++ b/FrontEnd/src/app/views/timeline/TimelineInfoCard.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline/TimelinePageUI.tsx b/FrontEnd/src/app/views/timeline/TimelinePageUI.tsx index 67ea699e..67ea699e 100644 --- a/Timeline/ClientApp/src/app/views/timeline/TimelinePageUI.tsx +++ b/FrontEnd/src/app/views/timeline/TimelinePageUI.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline/index.tsx b/FrontEnd/src/app/views/timeline/index.tsx index 225a1a59..225a1a59 100644 --- a/Timeline/ClientApp/src/app/views/timeline/index.tsx +++ b/FrontEnd/src/app/views/timeline/index.tsx diff --git a/Timeline/ClientApp/src/app/views/timeline/timeline.sass b/FrontEnd/src/app/views/timeline/timeline.sass index e69de29b..e69de29b 100644 --- a/Timeline/ClientApp/src/app/views/timeline/timeline.sass +++ b/FrontEnd/src/app/views/timeline/timeline.sass diff --git a/Timeline/ClientApp/src/app/views/user/ChangeAvatarDialog.tsx b/FrontEnd/src/app/views/user/ChangeAvatarDialog.tsx index ffa2218b..ffa2218b 100644 --- a/Timeline/ClientApp/src/app/views/user/ChangeAvatarDialog.tsx +++ b/FrontEnd/src/app/views/user/ChangeAvatarDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/user/ChangeNicknameDialog.tsx b/FrontEnd/src/app/views/user/ChangeNicknameDialog.tsx index 251b18c5..251b18c5 100644 --- a/Timeline/ClientApp/src/app/views/user/ChangeNicknameDialog.tsx +++ b/FrontEnd/src/app/views/user/ChangeNicknameDialog.tsx diff --git a/Timeline/ClientApp/src/app/views/user/UserInfoCard.tsx b/FrontEnd/src/app/views/user/UserInfoCard.tsx index 888fb18a..888fb18a 100644 --- a/Timeline/ClientApp/src/app/views/user/UserInfoCard.tsx +++ b/FrontEnd/src/app/views/user/UserInfoCard.tsx diff --git a/Timeline/ClientApp/src/app/views/user/UserPageUI.tsx b/FrontEnd/src/app/views/user/UserPageUI.tsx index d405399c..d405399c 100644 --- a/Timeline/ClientApp/src/app/views/user/UserPageUI.tsx +++ b/FrontEnd/src/app/views/user/UserPageUI.tsx diff --git a/Timeline/ClientApp/src/app/views/user/index.tsx b/FrontEnd/src/app/views/user/index.tsx index 7c0b1563..7c0b1563 100644 --- a/Timeline/ClientApp/src/app/views/user/index.tsx +++ b/FrontEnd/src/app/views/user/index.tsx diff --git a/Timeline/ClientApp/src/app/views/user/user.sass b/FrontEnd/src/app/views/user/user.sass index 5b7fcae7..63a28e05 100644 --- a/Timeline/ClientApp/src/app/views/user/user.sass +++ b/FrontEnd/src/app/views/user/user.sass @@ -1,7 +1,7 @@ -.change-avatar-cropper-row - max-height: 400px - -.change-avatar-img - min-width: 50% - max-width: 100% - max-height: 400px +.change-avatar-cropper-row
+ max-height: 400px
+
+.change-avatar-img
+ min-width: 50%
+ max-width: 100%
+ max-height: 400px
diff --git a/Timeline/ClientApp/src/sw/sw.ts b/FrontEnd/src/sw/sw.ts index d6202f36..d6202f36 100644 --- a/Timeline/ClientApp/src/sw/sw.ts +++ b/FrontEnd/src/sw/sw.ts diff --git a/Timeline/ClientApp/src/sw/tsconfig.json b/FrontEnd/src/sw/tsconfig.json index aac99e59..71fc0bcd 100644 --- a/Timeline/ClientApp/src/sw/tsconfig.json +++ b/FrontEnd/src/sw/tsconfig.json @@ -1,12 +1,12 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "lib": [ - "esnext", - "webworker" - ] - }, - "include": [ - "." - ] -} +{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "lib": [
+ "esnext",
+ "webworker"
+ ]
+ },
+ "include": [
+ "."
+ ]
+}
diff --git a/Timeline/ClientApp/src/tsconfig.json b/FrontEnd/src/tsconfig.json index 6937be63..1855f5cd 100644 --- a/Timeline/ClientApp/src/tsconfig.json +++ b/FrontEnd/src/tsconfig.json @@ -1,23 +1,23 @@ -{ - "compilerOptions": { - "target": "esnext", - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "sourceMap": true, - "baseUrl": "./", - "paths": { - "@/*": [ - "app/*" - ] - } - } -} +{
+ "compilerOptions": {
+ "target": "esnext",
+ "allowJs": true,
+ "skipLibCheck": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "sourceMap": true,
+ "baseUrl": "./",
+ "paths": {
+ "@/*": [
+ "app/*"
+ ]
+ }
+ }
+}
diff --git a/Timeline/ClientApp/webpack.common.js b/FrontEnd/webpack.common.js index e13881cb..3779003e 100644 --- a/Timeline/ClientApp/webpack.common.js +++ b/FrontEnd/webpack.common.js @@ -1,6 +1,5 @@ const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
-const PnpWebpackPlugin = require("pnp-webpack-plugin");
const postcssPresetEnv = require("postcss-preset-env");
const Config = require("webpack-chain");
@@ -37,9 +36,6 @@ config.module .end()
.use("postcss")
.loader("postcss-loader")
- .options({
- plugins: () => [postcssPresetEnv(/* pluginOptions */)],
- })
.end();
config.module
@@ -50,9 +46,6 @@ config.module .end()
.use("postcss")
.loader("postcss-loader")
- .options({
- plugins: () => [postcssPresetEnv(/* pluginOptions */)],
- })
.end()
.use("sass")
.loader("sass-loader")
@@ -73,18 +66,14 @@ config.resolve.extensions .add(".jsx")
.add(".ts")
.add(".tsx")
- .end()
- .plugin("pnp")
- .use(PnpWebpackPlugin);
+ .end();
config.resolve.alias.set("@", path.resolve(__dirname, "src/app"));
-config.resolveLoader.plugin("pnp").use(PnpWebpackPlugin.moduleLoader(module));
-
config.output
.path(path.resolve(__dirname, "dist/"))
- .filename("[name].[hash].js")
- .chunkFilename("[name].[hash].js")
+ .filename("[name].[contenthash].js")
+ .chunkFilename("[name].[contenthash].js")
.publicPath("/");
config.plugin("html").use(HtmlWebpackPlugin, [
diff --git a/Timeline/ClientApp/webpack.config.dev.js b/FrontEnd/webpack.config.dev.js index fea5a2c5..937ab3fb 100644 --- a/Timeline/ClientApp/webpack.config.dev.js +++ b/FrontEnd/webpack.config.dev.js @@ -1,24 +1,23 @@ const path = require("path");
const webpack = require("webpack");
+const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
const config = require("./webpack.common");
config.mode("development");
-config.entry("index").add("react-hot-loader/patch");
-
config.module
.rule("ts")
.use("babel")
.options({
- plugins: ["react-hot-loader/babel"],
+ plugins: ["react-refresh/babel"],
});
config.module
.rule("js")
.use("babel")
.options({
- plugins: ["react-hot-loader/babel"],
+ plugins: ["react-refresh/babel"],
});
config.module
@@ -37,24 +36,18 @@ config.module config.devtool("eval-cheap-module-source-map");
-config.resolve.alias.set("react-dom", "@hot-loader/react-dom");
+config.resolve.set("fallback", {
+ querystring: require.resolve("querystring-es3"),
+});
config.devServer
.contentBase(path.resolve(__dirname, "public/"))
.host("0.0.0.0")
.port(3000)
.historyApiFallback(true)
- .hotOnly(true)
- .allowedHosts.add(".myide.io");
+ .hotOnly(true);
config.plugin("hot").use(webpack.HotModuleReplacementPlugin);
+config.plugin("react-refresh").use(new ReactRefreshWebpackPlugin());
-module.exports = (env) => {
- if (env && env.TIMELINE_USE_MOCK_BACKEND) {
- config
- .entry("index")
- .add(path.join(__dirname, "src/app/http/mock/install.ts"));
- }
-
- return config.toConfig();
-};
+module.exports = config.toConfig();
diff --git a/Timeline/ClientApp/webpack.config.prod.js b/FrontEnd/webpack.config.prod.js index 188cb940..188cb940 100644 --- a/Timeline/ClientApp/webpack.config.prod.js +++ b/FrontEnd/webpack.config.prod.js @@ -4,9 +4,9 @@ This is the first web app of [me](https://github.com/crupest).
-The front-end, located [here](https://github.com/crupest/Timeline/tree/master/Timeline/ClientApp), is written in [Typescript](https://www.typescriptlang.org/) and built with [React](https://reactjs.org/).
+The [front-end](https://github.com/crupest/Timeline/tree/master/FrontEnd), is written in [Typescript](https://www.typescriptlang.org/) and built with [React](https://reactjs.org/).
-The back-end is written in C# and built with [ASP.NET Core](https://github.com/dotnet/aspnetcore).
+The [back-end](https://github.com/crupest/Timeline/tree/master/BackEnd) is written in C# and built with [ASP.NET Core](https://github.com/dotnet/aspnetcore).
The final product is hosting on my [Tencent Cloud](https://cloud.tencent.com/) Cloud Virtual Machine on https://crupest.xyz .
diff --git a/Timeline/ClientApp/package.json b/Timeline/ClientApp/package.json deleted file mode 100644 index 5ae6a608..00000000 --- a/Timeline/ClientApp/package.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "name": "timeline", - "version": "0.1.0", - "private": true, - "homepage": "https://crupest.xyz", - "keywords": [], - "description": "Timeline app.", - "dependencies": { - "axios": "^0.20.0", - "bootstrap": "^4.5.2", - "bootstrap-icons": "^1.0.0", - "classnames": "^2.2.6", - "clsx": "^1.1.1", - "core-js": "^3.6.5", - "i18next": "^19.7.0", - "i18next-browser-languagedetector": "^6.0.1", - "localforage": "^1.9.0", - "lodash": "^4.17.20", - "pepjs": "^0.5.2", - "react": "^16.13.1", - "react-bootstrap": "^1.3.0", - "react-dom": "^16.13.1", - "react-hot-loader": "^4.12.21", - "react-i18next": "^11.7.2", - "react-inlinesvg": "^2.0.0", - "react-responsive": "^8.1.0", - "react-router": "^5.2.0", - "react-router-bootstrap": "^0.25.0", - "react-router-dom": "^5.2.0", - "regenerator-runtime": "^0.13.7", - "rxjs": "^6.6.2", - "workbox-precaching": "^5.1.3", - "workbox-routing": "^5.1.3", - "workbox-strategies": "^5.1.3", - "workbox-window": "^5.1.3", - "xregexp": "^4.3.0" - }, - "scripts": { - "start": "webpack-dev-server --config ./webpack.config.dev.js", - "start:mock": "webpack-dev-server --config ./webpack.config.dev.js --env.TIMELINE_USE_MOCK_BACKEND", - "build": "webpack --config ./webpack.config.prod.js", - "lint": "eslint src/ --ext .js --ext .jsx --ext .ts --ext .tsx" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "@babel/core": "^7.11.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-decorators": "^7.10.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.11.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/preset-env": "^7.11.0", - "@babel/preset-react": "^7.10.4", - "@babel/preset-typescript": "^7.10.4", - "@hot-loader/react-dom": "^16.13.0", - "@types/classnames": "^2.2.10", - "@types/crypto-js": "^3.1.47", - "@types/lodash": "^4.14.161", - "@types/node": "^14.6.2", - "@types/react": "^16.9.49", - "@types/react-dom": "^16.9.8", - "@types/react-responsive": "^8.0.2", - "@types/react-router": "^5.1.8", - "@types/react-router-bootstrap": "^0.24.5", - "@types/react-router-dom": "^5.1.5", - "@types/webpack-env": "^1.15.2", - "@types/xregexp": "^4.3.0", - "@typescript-eslint/eslint-plugin": "^3.10.1", - "@typescript-eslint/parser": "^3.10.1", - "@yarnpkg/pnpify": "^2.2.1", - "babel-loader": "^8.1.0", - "babel-plugin-transform-builtin-extend": "^1.1.2", - "clean-webpack-plugin": "^3.0.0", - "copy-webpack-plugin": "^6.1.0", - "crypto-js": "^4.0.0", - "css-loader": "^4.2.2", - "eslint": "^7.7.0", - "eslint-config-prettier": "^6.11.0", - "eslint-import-resolver-webpack": "^0.12.2", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-prettier": "^3.1.4", - "eslint-plugin-react": "^7.20.6", - "eslint-plugin-react-hooks": "^4.1.0", - "file-loader": "^6.1.0", - "html-webpack-plugin": "^4.4.1", - "http-server": "^0.12.3", - "mini-css-extract-plugin": "^0.11.0", - "pnp-webpack-plugin": "^1.6.4", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.7.0", - "prettier": "^2.1.1", - "sass": "^1.26.10", - "sass-loader": "^10.0.1", - "style-loader": "^1.2.1", - "ts-loader": "^8.0.3", - "typescript": "^4.0.2", - "url-loader": "^4.1.0", - "webpack": "^4.44.1", - "webpack-chain": "^6.5.1", - "webpack-cli": "^3.3.12", - "webpack-dev-server": "^3.11.0", - "workbox-webpack-plugin": "^5.1.3" - } -} diff --git a/Timeline/ClientApp/src/app/http/mock/common.ts b/Timeline/ClientApp/src/app/http/mock/common.ts deleted file mode 100644 index 787d81bd..00000000 --- a/Timeline/ClientApp/src/app/http/mock/common.ts +++ /dev/null @@ -1,78 +0,0 @@ -import localforage from "localforage"; -import { SHA1 } from "crypto-js"; - -import { HttpNetworkError } from "../common"; - -export const mockStorage = localforage.createInstance({ - name: "mock-backend", - description: "Database for mock back end.", - driver: localforage.INDEXEDDB, -}); - -export async function sha1(data: Blob): Promise<string> { - const s = await new Promise<string>((resolve) => { - const fileReader = new FileReader(); - fileReader.readAsBinaryString(data); - fileReader.onload = () => { - resolve(fileReader.result as string); - }; - }); - - return SHA1(s).toString(); -} - -const disableNetworkKey = "mockServer.disableNetwork"; -const networkLatencyKey = "mockServer.networkLatency"; - -let disableNetwork: boolean = - localStorage.getItem(disableNetworkKey) === "true" ? true : false; - -const savedNetworkLatency = localStorage.getItem(networkLatencyKey); - -let networkLatency: number | null = - savedNetworkLatency != null ? Number(savedNetworkLatency) : null; - -Object.defineProperty(window, "disableNetwork", { - get: () => disableNetwork, - set: (value) => { - if (value) { - disableNetwork = true; - localStorage.setItem(disableNetworkKey, "true"); - } else { - disableNetwork = false; - localStorage.setItem(disableNetworkKey, "false"); - } - }, -}); - -Object.defineProperty(window, "networkLatency", { - get: () => networkLatency, - set: (value) => { - if (typeof value === "number") { - networkLatency = value; - localStorage.setItem(networkLatencyKey, value.toString()); - } else if (value == null) { - networkLatency = null; - localStorage.removeItem(networkLatencyKey); - } - }, -}); - -export async function mockPrepare(key: string): Promise<void> { - console.log(`Recieve request: ${key}`); - - if (disableNetwork) { - console.warn("Network is disabled for mock server."); - throw new HttpNetworkError(); - } - if (networkLatency != null) { - await new Promise((resolve) => { - window.setTimeout(() => { - resolve(); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - }, networkLatency! * 1000); - }); - } - - await Promise.resolve(); -} diff --git a/Timeline/ClientApp/src/app/http/mock/install.ts b/Timeline/ClientApp/src/app/http/mock/install.ts deleted file mode 100644 index 17b7cc13..00000000 --- a/Timeline/ClientApp/src/app/http/mock/install.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { setHttpTokenClient } from "../token"; -import { setHttpUserClient } from "../user"; -import { setHttpTimelineClient } from "../timeline"; - -import { MockHttpTokenClient } from "./token"; -import { MockHttpUserClient } from "./user"; -import { MockHttpTimelineClient } from "./timeline"; - -setHttpTokenClient(new MockHttpTokenClient()); -setHttpUserClient(new MockHttpUserClient()); -setHttpTimelineClient(new MockHttpTimelineClient()); diff --git a/Timeline/ClientApp/src/app/http/mock/timeline.ts b/Timeline/ClientApp/src/app/http/mock/timeline.ts deleted file mode 100644 index 27addd61..00000000 --- a/Timeline/ClientApp/src/app/http/mock/timeline.ts +++ /dev/null @@ -1,660 +0,0 @@ -import { random, without, range } from "lodash"; - -import { BlobWithEtag, NotModified } from "../common"; -import { - IHttpTimelineClient, - HttpTimelineInfo, - TimelineVisibility, - HttpTimelineListQuery, - HttpTimelineNotExistError, - HttpTimelinePostRequest, - HttpTimelineNameConflictError, - HttpTimelinePatchRequest, - HttpTimelinePostInfo, - HttpTimelinePostContent, - HttpTimelinePostPostRequest, - HttpTimelinePostNotExistError, - HttpTimelineGenericPostInfo, -} from "../timeline"; -import { HttpUser } from "../user"; - -import { mockStorage, sha1, mockPrepare } from "./common"; -import { getUser, MockUserNotExistError, checkToken } from "./user"; - -async function getTimelineNameList(): Promise<string[]> { - return (await mockStorage.getItem<string[]>("timelines")) ?? []; -} - -async function setTimelineNameList(newOne: string[]): Promise<void> { - await mockStorage.setItem<string[]>("timelines", newOne); -} - -type TimelinePropertyKey = - | "uniqueId" - | "lastModified" - | "owner" - | "description" - | "visibility" - | "members" - | "currentPostId"; - -function getTimelinePropertyKey( - name: string, - property: TimelinePropertyKey -): string { - return `timeline.${name}.${property}`; -} - -function getTimelinePropertyValue<T>( - name: string, - property: TimelinePropertyKey -): Promise<T> { - return mockStorage.getItem<T>( - getTimelinePropertyKey(name, property) - ) as Promise<T>; -} - -function setTimelinePropertyValue<T>( - name: string, - property: TimelinePropertyKey, - value: T -): Promise<void> { - return mockStorage - .setItem<T>(getTimelinePropertyKey(name, property), value) - .then(); -} - -function updateTimelineLastModified(name: string): Promise<void> { - return setTimelinePropertyValue( - name, - "lastModified", - new Date().toISOString() - ); -} - -interface HttpTimelineInfoEx extends HttpTimelineInfo { - memberUsernames: string[]; -} - -function createUniqueId(): string { - const s = "abcdefghijklmnopqrstuvwxz0123456789"; - let result = ""; - for (let i = 0; i < 16; i++) { - result += s[random(0, s.length - 1)]; - } - return result; -} - -class MockTimelineNotExistError extends Error { - constructor() { - super("Timeline not exist."); - } -} - -class MockTimelineAlreadyExistError extends Error { - constructor() { - super("Timeline already exist."); - } -} - -async function getTimelineInfo(name: string): Promise<HttpTimelineInfoEx> { - let owner: HttpUser; - if (name.startsWith("@")) { - const ownerUsername = name.substr(1); - owner = await getUser(ownerUsername); - const optionalUniqueId = await getTimelinePropertyValue<string | null>( - name, - "uniqueId" - ); - if (optionalUniqueId == null) { - await setTimelineNameList([...(await getTimelineNameList()), name]); - await setTimelinePropertyValue(name, "uniqueId", createUniqueId()); - await updateTimelineLastModified(name); - } - } else { - const optionalOwnerUsername = await getTimelinePropertyValue<string | null>( - name, - "owner" - ); - if (optionalOwnerUsername == null) { - throw new MockTimelineNotExistError(); - } else { - owner = await getUser(optionalOwnerUsername); - } - } - - const memberUsernames = - (await getTimelinePropertyValue<string[] | null>(name, "members")) ?? []; - const members = await Promise.all( - memberUsernames.map(async (username) => { - return await getUser(username); - }) - ); - - return { - name, - uniqueId: await getTimelinePropertyValue<string>(name, "uniqueId"), - owner, - description: - (await getTimelinePropertyValue<string | null>(name, "description")) ?? - "", - visibility: - (await getTimelinePropertyValue<TimelineVisibility | null>( - name, - "visibility" - )) ?? "Register", - lastModified: new Date( - await getTimelinePropertyValue<string>(name, "lastModified") - ), - members, - memberUsernames, - }; -} - -async function createTimeline(name: string, owner: string): Promise<void> { - const optionalOwnerUsername = await getTimelinePropertyValue<string | null>( - name, - "owner" - ); - if (optionalOwnerUsername != null) { - throw new MockTimelineAlreadyExistError(); - } - - await setTimelineNameList([...(await getTimelineNameList()), name]); - await setTimelinePropertyValue(name, "uniqueId", createUniqueId()); - await setTimelinePropertyValue(name, "owner", owner); - await updateTimelineLastModified(name); -} - -type TimelinePostPropertyKey = - | "type" - | "data" - | "etag" - | "author" - | "time" - | "lastUpdated"; - -function getTimelinePostPropertyKey( - timelineName: string, - id: number, - propertyKey: TimelinePostPropertyKey -): string { - return `timeline.${timelineName}.posts.${id}.${propertyKey}`; -} - -function getTimelinePostPropertyValue<T>( - timelineName: string, - id: number, - propertyKey: TimelinePostPropertyKey -): Promise<T> { - return mockStorage.getItem<T>( - getTimelinePostPropertyKey(timelineName, id, propertyKey) - ) as Promise<T>; -} - -function setTimelinePostPropertyValue<T>( - timelineName: string, - id: number, - propertyKey: TimelinePostPropertyKey, - value: T -): Promise<T> { - return mockStorage.setItem( - getTimelinePostPropertyKey(timelineName, id, propertyKey), - value - ); -} - -function removeTimelinePostProperty( - timelineName: string, - id: number, - propertyKey: TimelinePostPropertyKey -): Promise<void> { - return mockStorage.removeItem( - getTimelinePostPropertyKey(timelineName, id, propertyKey) - ); -} - -async function getTimelinePostInfo( - timelineName: string, - id: number -): Promise<HttpTimelineGenericPostInfo> { - const currentPostId = await getTimelinePropertyValue<number | null>( - timelineName, - "currentPostId" - ); - if (currentPostId == null || id > currentPostId) { - throw new HttpTimelinePostNotExistError(); - } - - const type = await getTimelinePostPropertyValue<string | null>( - timelineName, - id, - "type" - ); - - if (type == null) { - return { - id, - author: await getUser( - await getTimelinePostPropertyValue<string>(timelineName, id, "author") - ), - time: new Date( - await getTimelinePostPropertyValue<string>(timelineName, id, "time") - ), - lastUpdated: new Date( - await getTimelinePostPropertyValue<string>( - timelineName, - id, - "lastUpdated" - ) - ), - deleted: true, - }; - } else { - let content: HttpTimelinePostContent; - if (type === "text") { - content = { - type: "text", - text: await getTimelinePostPropertyValue(timelineName, id, "data"), - }; - } else { - content = { - type: "image", - }; - } - - return { - id, - author: await getUser( - await getTimelinePostPropertyValue<string>(timelineName, id, "author") - ), - time: new Date( - await getTimelinePostPropertyValue<string>(timelineName, id, "time") - ), - lastUpdated: new Date( - await getTimelinePostPropertyValue<string>( - timelineName, - id, - "lastUpdated" - ) - ), - content, - deleted: false, - }; - } -} - -export class MockHttpTimelineClient implements IHttpTimelineClient { - async listTimeline( - query: HttpTimelineListQuery - ): Promise<HttpTimelineInfo[]> { - await mockPrepare("timeline.list"); - return ( - await Promise.all( - (await getTimelineNameList()).map((name) => getTimelineInfo(name)) - ) - ).filter((timeline) => { - if ( - query.visibility != null && - query.visibility !== timeline.visibility - ) { - return false; - } - if (query.relate != null) { - if (query.relateType === "own") { - if (timeline.owner.username !== query.relate) { - return false; - } - } else if (query.relateType === "join") { - if (!timeline.memberUsernames.includes(query.relate)) { - return false; - } - } else if ( - timeline.owner.username !== query.relate && - !timeline.memberUsernames.includes(query.relate) - ) { - return false; - } - } - return true; - }); - } - - getTimeline(timelineName: string): Promise<HttpTimelineInfo>; - getTimeline( - timelineName: string, - query: { - checkUniqueId?: string; - } - ): Promise<HttpTimelineInfo>; - getTimeline( - timelineName: string, - query: { - checkUniqueId?: string; - ifModifiedSince: Date; - } - ): Promise<HttpTimelineInfo | NotModified>; - async getTimeline( - timelineName: string, - query?: { - checkUniqueId?: string; - ifModifiedSince?: Date; - } - ): Promise<HttpTimelineInfo | NotModified> { - await mockPrepare("timeline.get"); - try { - const timeline = await getTimelineInfo(timelineName); - if (query != null && query.ifModifiedSince != null) { - if (timeline.lastModified >= query.ifModifiedSince) { - return timeline; - } else { - if ( - query.checkUniqueId != null && - timeline.uniqueId != query.checkUniqueId - ) { - return timeline; - } else { - return new NotModified(); - } - } - } - - return timeline; - } catch (e) { - if ( - e instanceof MockTimelineNotExistError || - e instanceof MockUserNotExistError - ) { - throw new HttpTimelineNotExistError(); - } - throw e; - } - } - - async postTimeline( - req: HttpTimelinePostRequest, - token: string - ): Promise<HttpTimelineInfo> { - await mockPrepare("timeline.post"); - const user = checkToken(token); - try { - await createTimeline(req.name, user); - } catch (e) { - if (e instanceof MockTimelineAlreadyExistError) { - throw new HttpTimelineNameConflictError(); - } - throw e; - } - return await getTimelineInfo(req.name); - } - - async patchTimeline( - timelineName: string, - req: HttpTimelinePatchRequest, - _token: string - ): Promise<HttpTimelineInfo> { - await mockPrepare("timeline.patch"); - let modified = false; - if (req.description != null) { - modified = true; - await setTimelinePropertyValue( - timelineName, - "description", - req.description - ); - } - if (req.visibility != null) { - modified = true; - await setTimelinePropertyValue( - timelineName, - "visibility", - req.visibility - ); - } - if (modified) { - await updateTimelineLastModified(timelineName); - } - return await getTimelineInfo(timelineName); - } - - async deleteTimeline(timelineName: string, _token: string): Promise<void> { - await mockPrepare("timeline.delete"); - await setTimelineNameList( - without(await getTimelineNameList(), timelineName) - ); - await mockStorage.removeItem( - getTimelinePropertyKey(timelineName, "uniqueId") - ); - - // TODO: remove other things - } - - async memberPut( - timelineName: string, - username: string, - _token: string - ): Promise<void> { - await mockPrepare("timeline.member.put"); - const oldMembers = - (await getTimelinePropertyValue<string[] | null>( - timelineName, - "members" - )) ?? []; - if (!oldMembers.includes(username)) { - await setTimelinePropertyValue(timelineName, "members", [ - ...oldMembers, - username, - ]); - await updateTimelineLastModified(timelineName); - } - } - - async memberDelete( - timelineName: string, - username: string, - _token: string - ): Promise<void> { - await mockPrepare("timeline.member.delete"); - const oldMembers = - (await getTimelinePropertyValue<string[] | null>( - timelineName, - "members" - )) ?? []; - if (oldMembers.includes(username)) { - await setTimelinePropertyValue( - timelineName, - "members", - without(oldMembers, username) - ); - await updateTimelineLastModified(timelineName); - } - } - - listPost( - timelineName: string, - token?: string - ): Promise<HttpTimelinePostInfo[]>; - listPost( - timelineName: string, - token: string | undefined, - query: { - modifiedSince?: Date; - includeDeleted?: false; - } - ): Promise<HttpTimelinePostInfo[]>; - listPost( - timelineName: string, - token: string | undefined, - query: { - modifiedSince?: Date; - includeDeleted: true; - } - ): Promise<HttpTimelineGenericPostInfo[]>; - async listPost( - timelineName: string, - _token?: string, - query?: { - modifiedSince?: Date; - includeDeleted?: boolean; - } - ): Promise<HttpTimelineGenericPostInfo[]> { - await mockPrepare("timeline.post.list"); - // TODO: Permission check. - - const currentPostId = await getTimelinePropertyValue<number | null>( - timelineName, - "currentPostId" - ); - - return ( - await Promise.all( - range(1, currentPostId == null ? 1 : currentPostId + 1).map( - async (id) => { - return await getTimelinePostInfo(timelineName, id); - } - ) - ) - ) - .filter((post) => { - if (query?.includeDeleted !== true && post.deleted) { - return false; - } - return true; - }) - .filter((post) => { - if (query?.modifiedSince != null) { - return post.lastUpdated >= query.modifiedSince; - } - return true; - }); - } - - getPostData( - timelineName: string, - postId: number, - token: string - ): Promise<BlobWithEtag>; - async getPostData( - timelineName: string, - postId: number, - _token?: string, - etag?: string - ): Promise<BlobWithEtag | NotModified> { - await mockPrepare("timeline.post.data.get"); - // TODO: Permission check. - - const optionalSavedEtag = await getTimelinePostPropertyValue<string>( - timelineName, - postId, - "etag" - ); - - if (optionalSavedEtag == null) { - const optionalType = await getTimelinePostPropertyValue<string>( - timelineName, - postId, - "type" - ); - - if (optionalType != null) { - throw new Error("Post of this type has no data."); - } else { - throw new HttpTimelinePostNotExistError(); - } - } - - if (etag === optionalSavedEtag) { - return new NotModified(); - } - - return { - data: await getTimelinePostPropertyValue<Blob>( - timelineName, - postId, - "data" - ), - etag: optionalSavedEtag, - }; - } - - async postPost( - timelineName: string, - req: HttpTimelinePostPostRequest, - token: string - ): Promise<HttpTimelinePostInfo> { - await mockPrepare("timeline.post.post"); - const user = checkToken(token); - - const savedId = await getTimelinePropertyValue<number | null>( - timelineName, - "currentPostId" - ); - const id = savedId ? savedId + 1 : 1; - await setTimelinePropertyValue(timelineName, "currentPostId", id); - - await setTimelinePostPropertyValue(timelineName, id, "author", user); - - const currentTimeString = new Date().toISOString(); - await setTimelinePostPropertyValue( - timelineName, - id, - "lastUpdated", - currentTimeString - ); - - await setTimelinePostPropertyValue( - timelineName, - id, - "time", - req.time != null ? req.time.toISOString() : currentTimeString - ); - - const { content } = req; - if (content.type === "text") { - await setTimelinePostPropertyValue(timelineName, id, "type", "text"); - await setTimelinePostPropertyValue( - timelineName, - id, - "data", - content.text - ); - } else { - await setTimelinePostPropertyValue(timelineName, id, "type", "image"); - await setTimelinePostPropertyValue( - timelineName, - id, - "data", - content.data - ); - await setTimelinePostPropertyValue( - timelineName, - id, - "etag", - await sha1(content.data) - ); - } - - return (await getTimelinePostInfo( - timelineName, - id - )) as HttpTimelinePostInfo; - } - - async deletePost( - timelineName: string, - postId: number, - _token: string - ): Promise<void> { - await mockPrepare("timeline.post.delete"); - // TODO: permission check - await removeTimelinePostProperty(timelineName, postId, "type"); - await removeTimelinePostProperty(timelineName, postId, "data"); - await removeTimelinePostProperty(timelineName, postId, "etag"); - await setTimelinePostPropertyValue( - timelineName, - postId, - "lastUpdated", - new Date().toISOString() - ); - } -} diff --git a/Timeline/ClientApp/src/app/http/mock/token.ts b/Timeline/ClientApp/src/app/http/mock/token.ts deleted file mode 100644 index 0a350894..00000000 --- a/Timeline/ClientApp/src/app/http/mock/token.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { AxiosError } from "axios"; - -import { - IHttpTokenClient, - HttpCreateTokenRequest, - HttpCreateTokenResponse, - HttpVerifyTokenRequest, - HttpVerifyTokenResponse, -} from "../token"; - -import { mockPrepare } from "./common"; -import { getUser, MockUserNotExistError, checkToken } from "./user"; - -export class MockHttpTokenClient implements IHttpTokenClient { - // TODO: Mock bad credentials error. - async create(req: HttpCreateTokenRequest): Promise<HttpCreateTokenResponse> { - await mockPrepare("token.create"); - try { - const user = await getUser(req.username); - return { - user, - token: `token-${req.username}`, - }; - } catch (e) { - if (e instanceof MockUserNotExistError) { - throw { - isAxiosError: true, - response: { - status: 400, - }, - } as Partial<AxiosError>; - } - throw e; - } - } - - async verify(req: HttpVerifyTokenRequest): Promise<HttpVerifyTokenResponse> { - await mockPrepare("token.verify"); - try { - const user = await getUser(checkToken(req.token)); - return { - user, - }; - } catch (e) { - throw { - isAxiosError: true, - response: { - status: 400, - }, - } as Partial<AxiosError>; - } - } -} diff --git a/Timeline/ClientApp/src/app/http/mock/user.ts b/Timeline/ClientApp/src/app/http/mock/user.ts deleted file mode 100644 index 7948da11..00000000 --- a/Timeline/ClientApp/src/app/http/mock/user.ts +++ /dev/null @@ -1,139 +0,0 @@ -import axios from "axios"; - -import { BlobWithEtag, NotModified } from "../common"; -import { - IHttpUserClient, - HttpUser, - HttpUserNotExistError, - HttpUserPatchRequest, - HttpChangePasswordRequest, -} from "../user"; - -import { mockStorage, sha1, mockPrepare } from "./common"; -import defaultAvatarUrl from "./default-avatar.png"; - -let _defaultAvatar: BlobWithEtag | undefined = undefined; - -async function getDefaultAvatar(): Promise<BlobWithEtag> { - if (_defaultAvatar == null) { - const blob = ( - await axios.get<Blob>(defaultAvatarUrl, { - responseType: "blob", - }) - ).data; - const etag = await sha1(blob); - _defaultAvatar = { - data: blob, - etag, - }; - } - return _defaultAvatar; -} - -export class MockTokenError extends Error { - constructor() { - super("Token bad format."); - } -} - -export class MockUserNotExistError extends Error { - constructor() { - super('Only two user "user" and "admin".'); - } -} - -export function checkUsername( - username: string -): asserts username is "user" | "admin" { - if (!["user", "admin"].includes(username)) throw new MockUserNotExistError(); -} - -export function checkToken(token: string): string { - if (!token.startsWith("token-")) { - throw new MockTokenError(); - } - return token.substr(6); -} - -const uniqueIdMap = { - user: "e4c80127d092d9b2fc19c5e04612d4c0", - admin: "5640fa45435f9a55077b9f77c42a77bb", -}; - -export async function getUser( - username: "user" | "admin" | string -): Promise<HttpUser> { - checkUsername(username); - const savedNickname = await mockStorage.getItem<string>( - `user.${username}.nickname` - ); - return { - uniqueId: uniqueIdMap[username], - username: username, - nickname: - savedNickname == null || savedNickname === "" ? username : savedNickname, - administrator: username === "admin", - }; -} - -export class MockHttpUserClient implements IHttpUserClient { - async get(username: string): Promise<HttpUser> { - await mockPrepare("user.get"); - return await getUser(username).catch((e) => { - if (e instanceof MockUserNotExistError) { - throw new HttpUserNotExistError(); - } else { - throw e; - } - }); - } - - async patch( - username: string, - req: HttpUserPatchRequest, - _token: string - ): Promise<HttpUser> { - await mockPrepare("user.patch"); - if (req.nickname != null) { - await mockStorage.setItem(`user.${username}.nickname`, req.nickname); - } - return await getUser(username); - } - - getAvatar(username: string): Promise<BlobWithEtag>; - async getAvatar( - username: string, - etag?: string - ): Promise<BlobWithEtag | NotModified> { - await mockPrepare("user.avatar.get"); - - const savedEtag = await mockStorage.getItem(`user.${username}.avatar.etag`); - if (savedEtag == null) { - return await getDefaultAvatar(); - } - - if (savedEtag === etag) { - return new NotModified(); - } - - return { - data: await mockStorage.getItem<Blob>(`user.${username}.avatar.data`), - etag: await mockStorage.getItem<string>(`user.${username}.avatar.etag`), - }; - } - - async putAvatar(username: string, data: Blob, _token: string): Promise<void> { - await mockPrepare("user.avatar.put"); - const etag = await sha1(data); - await mockStorage.setItem<Blob>(`user.${username}.avatar.data`, data); - await mockStorage.setItem<string>(`user.${username}.avatar.etag`, etag); - } - - async changePassword( - _req: HttpChangePasswordRequest, - _token: string - ): Promise<void> { - await mockPrepare("userop.changepassowrd"); - throw new Error("Not Implemented."); - } -} diff --git a/Timeline/default-avatar.png b/Timeline/default-avatar.png Binary files differdeleted file mode 100644 index 4086e1d2..00000000 --- a/Timeline/default-avatar.png +++ /dev/null diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index c0aaee67..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,75 +0,0 @@ -trigger:
- - master
- - dev
-
-stages:
-- stage: build
- displayName: Routine Build and Test
-
- jobs:
- - job: frontend_build
- displayName: Frontend Build
- pool:
- vmImage: 'ubuntu-18.04'
-
- steps:
- - script: yarn
- workingDirectory: Timeline/ClientApp
- displayName: Restore Packages
-
- - script: yarn build
- workingDirectory: Timeline/ClientApp
- displayName: Webpack Build
-
- - publish: Timeline/ClientApp/dist
- artifact: timeline-frontend
-
- - job: backend_build
- displayName: Backend Build Debug and Test
- pool:
- vmImage: 'ubuntu-18.04'
- variables:
- buildConfiguration: 'Debug'
- ASPNETCORE_ENVIRONMENT: 'Development'
- steps:
- - task: UseDotNet@2
- inputs:
- packageType: sdk
- version: 3.1.x
-
- - script: dotnet test --configuration $(buildConfiguration) --logger trx --collect:"XPlat Code Coverage" --settings './Timeline.Tests/coverletArgs.runsettings'
- displayName: Dotnet Test
-
- - task: PublishTestResults@2
- condition: succeededOrFailed()
- inputs:
- testRunner: VSTest
- testResultsFiles: '**/*.trx'
-
- - task: PublishCodeCoverageResults@1
- condition: succeededOrFailed()
- inputs:
- codeCoverageTool: 'Cobertura'
- summaryFileLocation: '**/TestResults/*/coverage.cobertura.xml'
-
-- stage: deploy
- displayName: Build Release and Deploy
- dependsOn: build
- condition: eq(variables['Build.SourceBranchName'], 'master')
- variables:
- buildConfiguration: 'Release'
-
- jobs:
- - job: build
- displayName: Build Release Artifact
- pool:
- vmImage: 'ubuntu-18.04'
- steps:
- - task: Docker@2
- displayName: Build And Push Docker Image
- inputs:
- command: buildAndPush
- repository: crupest/timeline
- tags: latest
- buildContext: .
- containerRegistry: crupest-docker-hub
|