This commit is contained in:
@@ -28,7 +28,6 @@ Once that is done then can steam ahead on the biz objects but until I have the c
|
|||||||
IMMEDIATE ITEMS:
|
IMMEDIATE ITEMS:
|
||||||
================
|
================
|
||||||
|
|
||||||
|
|
||||||
- Auto visible id number assigning code
|
- Auto visible id number assigning code
|
||||||
- Give widgets a visible ID number scheme and add to tests
|
- Give widgets a visible ID number scheme and add to tests
|
||||||
- Ensure search code process keywords includes the Visible ID value andadd test for that in Search indexing tests
|
- Ensure search code process keywords includes the Visible ID value andadd test for that in Search indexing tests
|
||||||
|
|||||||
@@ -674,3 +674,206 @@ test\raven-integration\Widget\WidgetLists.cs, code is 45, comment is 13, blank i
|
|||||||
test\raven-integration\Widget\WidgetRights.cs, code is 139, comment is 62, blank is 62.
|
test\raven-integration\Widget\WidgetRights.cs, code is 139, comment is 62, blank is 62.
|
||||||
test\raven-integration\Widget\WidgetValidationTests.cs, code is 139, comment is 58, blank is 67.
|
test\raven-integration\Widget\WidgetValidationTests.cs, code is 139, comment is 58, blank is 67.
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
EXTENSION NAME : linecount
|
||||||
|
EXTENSION VERSION : 0.1.7
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
count time : 2018-10-08 12:38:32
|
||||||
|
count workspace : c:\data\code\raven
|
||||||
|
total files : 191
|
||||||
|
total code lines : 12483
|
||||||
|
total comment lines : 5491
|
||||||
|
total blank lines : 4637
|
||||||
|
|
||||||
|
dist\docker\linux-x64\ayanovadocker\dockerfile, code is 4, comment is 0, blank is 0.
|
||||||
|
dist\docker\linux-x64\docker-compose.yml, code is 47, comment is 2, blank is 5.
|
||||||
|
dist\docker\linux-x64\docker-compose.yml.original.b4.metrics, code is 37, comment is 1, blank is 4.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\letsencrypt\docker-compose.yml, code is 15, comment is 0, blank is 3.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\letsencrypt\letsencrypt-site\index.html, code is 5, comment is 0, blank is 0.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\letsencrypt\nginx.conf, code is 11, comment is 0, blank is 2.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\production\dh-param\dhparam-2048.pem, code is 8, comment is 1, blank is 0.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\production\docker-compose.yml, code is 19, comment is 0, blank is 3.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\production\production-site\index.html, code is 13, comment is 0, blank is 0.
|
||||||
|
dist\docker\linux-x64\host\docker-nginx-ayanova-sample-config\production\production.conf, code is 120, comment is 6, blank is 13.
|
||||||
|
dist\docker\linux-x64\restartnginx.sh, code is 3, comment is 3, blank is 0.
|
||||||
|
makedocs.bat, code is 3, comment is 0, blank is 0.
|
||||||
|
makedocs.sh, code is 2, comment is 1, blank is 0.
|
||||||
|
server\AyaNova\appsettings.Development.json, code is 10, comment is 0, blank is 0.
|
||||||
|
server\AyaNova\appsettings.json, code is 15, comment is 0, blank is 2.
|
||||||
|
server\AyaNova\AyaNova.csproj, code is 13, comment is 0, blank is 1.
|
||||||
|
server\AyaNova\biz\AttachableAttribute.cs, code is 8, comment is 7, blank is 1.
|
||||||
|
server\AyaNova\biz\AuthorizationRoles.cs, code is 27, comment is 26, blank is 6.
|
||||||
|
server\AyaNova\biz\AyaEvent.cs, code is 18, comment is 8, blank is 7.
|
||||||
|
server\AyaNova\biz\AyaObjectOwnerId.cs, code is 27, comment is 7, blank is 16.
|
||||||
|
server\AyaNova\biz\AyaType.cs, code is 26, comment is 131, blank is 13.
|
||||||
|
server\AyaNova\biz\AyaTypeId.cs, code is 74, comment is 20, blank is 26.
|
||||||
|
server\AyaNova\biz\BizObject.cs, code is 57, comment is 5, blank is 29.
|
||||||
|
server\AyaNova\biz\BizObjectExistsInDatabase.cs, code is 42, comment is 7, blank is 21.
|
||||||
|
server\AyaNova\biz\BizObjectFactory.cs, code is 40, comment is 4, blank is 15.
|
||||||
|
server\AyaNova\biz\BizObjectNameFetcher.cs, code is 24, comment is 30, blank is 18.
|
||||||
|
server\AyaNova\biz\BizObjectNameFetcherDirect.cs, code is 49, comment is 6, blank is 15.
|
||||||
|
server\AyaNova\biz\BizRoles.cs, code is 110, comment is 67, blank is 40.
|
||||||
|
server\AyaNova\biz\BizRoleSet.cs, code is 9, comment is 5, blank is 3.
|
||||||
|
server\AyaNova\biz\EventLogProcessor.cs, code is 64, comment is 34, blank is 32.
|
||||||
|
server\AyaNova\biz\IBizObject.cs, code is 15, comment is 24, blank is 16.
|
||||||
|
server\AyaNova\biz\IImportAyaNova7Object.cs, code is 13, comment is 13, blank is 6.
|
||||||
|
server\AyaNova\biz\IJobObject.cs, code is 8, comment is 9, blank is 5.
|
||||||
|
server\AyaNova\biz\ImportAyaNova7Biz.cs, code is 132, comment is 73, blank is 61.
|
||||||
|
server\AyaNova\biz\JobOperationsBiz.cs, code is 68, comment is 8, blank is 32.
|
||||||
|
server\AyaNova\biz\JobsBiz.cs, code is 202, comment is 106, blank is 76.
|
||||||
|
server\AyaNova\biz\JobStatus.cs, code is 10, comment is 4, blank is 4.
|
||||||
|
server\AyaNova\biz\JobType.cs, code is 11, comment is 5, blank is 6.
|
||||||
|
server\AyaNova\biz\LocaleBiz.cs, code is 372, comment is 90, blank is 111.
|
||||||
|
server\AyaNova\biz\PrimeData.cs, code is 65, comment is 22, blank is 28.
|
||||||
|
server\AyaNova\biz\Search.cs, code is 528, comment is 227, blank is 156.
|
||||||
|
server\AyaNova\biz\TagBiz.cs, code is 279, comment is 124, blank is 93.
|
||||||
|
server\AyaNova\biz\TaggableAttribute.cs, code is 8, comment is 7, blank is 1.
|
||||||
|
server\AyaNova\biz\TagGroupBiz.cs, code is 185, comment is 77, blank is 77.
|
||||||
|
server\AyaNova\biz\TagGroupMapBiz.cs, code is 65, comment is 34, blank is 42.
|
||||||
|
server\AyaNova\biz\TagMapBiz.cs, code is 88, comment is 50, blank is 48.
|
||||||
|
server\AyaNova\biz\TrialBiz.cs, code is 47, comment is 24, blank is 23.
|
||||||
|
server\AyaNova\biz\UserBiz.cs, code is 405, comment is 320, blank is 139.
|
||||||
|
server\AyaNova\biz\UserOptionsBiz.cs, code is 58, comment is 28, blank is 35.
|
||||||
|
server\AyaNova\biz\UserType.cs, code is 13, comment is 56, blank is 4.
|
||||||
|
server\AyaNova\biz\ValidateJsonPatch.cs, code is 49, comment is 3, blank is 15.
|
||||||
|
server\AyaNova\biz\ValidationError.cs, code is 9, comment is 2, blank is 3.
|
||||||
|
server\AyaNova\biz\ValidationErrorType.cs, code is 14, comment is 2, blank is 8.
|
||||||
|
server\AyaNova\biz\WidgetBiz.cs, code is 231, comment is 82, blank is 92.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiCreatedResponse.cs, code is 11, comment is 2, blank is 8.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiCustomExceptionFilter.cs, code is 53, comment is 29, blank is 19.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiDetailError.cs, code is 16, comment is 5, blank is 10.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiError.cs, code is 21, comment is 5, blank is 12.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiErrorCode.cs, code is 24, comment is 5, blank is 9.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiErrorCodeStockMessage.cs, code is 43, comment is 8, blank is 8.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiErrorResponse.cs, code is 60, comment is 11, blank is 35.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiNotAuthorizedResponse.cs, code is 20, comment is 4, blank is 11.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiOkResponse.cs, code is 11, comment is 2, blank is 8.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiOkWithPagingResponse.cs, code is 14, comment is 7, blank is 11.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiPagedResponse.cs, code is 15, comment is 2, blank is 9.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiServerState.cs, code is 115, comment is 39, blank is 38.
|
||||||
|
server\AyaNova\ControllerHelpers\ApiUploadProcessor.cs, code is 124, comment is 45, blank is 42.
|
||||||
|
server\AyaNova\ControllerHelpers\Authorized.cs, code is 75, comment is 70, blank is 40.
|
||||||
|
server\AyaNova\ControllerHelpers\DisableFormValueModelBindingAttribute.cs, code is 31, comment is 14, blank is 5.
|
||||||
|
server\AyaNova\ControllerHelpers\MultipartRequestHelper.cs, code is 42, comment is 28, blank is 7.
|
||||||
|
server\AyaNova\ControllerHelpers\PaginationLinkBuilder.cs, code is 63, comment is 7, blank is 20.
|
||||||
|
server\AyaNova\ControllerHelpers\PagingOptions.cs, code is 17, comment is 0, blank is 6.
|
||||||
|
server\AyaNova\ControllerHelpers\UserIdFromContext.cs, code is 14, comment is 1, blank is 2.
|
||||||
|
server\AyaNova\ControllerHelpers\UserLocaleIdFromContext.cs, code is 14, comment is 1, blank is 1.
|
||||||
|
server\AyaNova\ControllerHelpers\UserNameFromContext.cs, code is 15, comment is 1, blank is 5.
|
||||||
|
server\AyaNova\ControllerHelpers\UserRolesFromContext.cs, code is 13, comment is 1, blank is 5.
|
||||||
|
server\AyaNova\Controllers\ApiRootController.cs, code is 42, comment is 25, blank is 13.
|
||||||
|
server\AyaNova\Controllers\AttachmentController.cs, code is 246, comment is 141, blank is 79.
|
||||||
|
server\AyaNova\Controllers\AuthController.cs, code is 101, comment is 47, blank is 25.
|
||||||
|
server\AyaNova\Controllers\AyaTypeController.cs, code is 48, comment is 15, blank is 20.
|
||||||
|
server\AyaNova\Controllers\BackupController.cs, code is 38, comment is 127, blank is 40.
|
||||||
|
server\AyaNova\Controllers\EventLogController.cs, code is 90, comment is 32, blank is 31.
|
||||||
|
server\AyaNova\Controllers\ImportAyaNova7Controller.cs, code is 166, comment is 73, blank is 48.
|
||||||
|
server\AyaNova\Controllers\JobOperationsController.cs, code is 68, comment is 35, blank is 33.
|
||||||
|
server\AyaNova\Controllers\LicenseController.cs, code is 116, comment is 48, blank is 40.
|
||||||
|
server\AyaNova\Controllers\LocaleController.cs, code is 245, comment is 101, blank is 84.
|
||||||
|
server\AyaNova\Controllers\LogFilesController.cs, code is 78, comment is 35, blank is 35.
|
||||||
|
server\AyaNova\Controllers\MetricsController.cs, code is 81, comment is 34, blank is 24.
|
||||||
|
server\AyaNova\Controllers\SearchController.cs, code is 45, comment is 23, blank is 16.
|
||||||
|
server\AyaNova\Controllers\ServerStateController.cs, code is 64, comment is 42, blank is 22.
|
||||||
|
server\AyaNova\Controllers\TagController.cs, code is 163, comment is 84, blank is 59.
|
||||||
|
server\AyaNova\Controllers\TagGroupController.cs, code is 178, comment is 97, blank is 66.
|
||||||
|
server\AyaNova\Controllers\TagGroupMapController.cs, code is 112, comment is 38, blank is 48.
|
||||||
|
server\AyaNova\Controllers\TagMapController.cs, code is 147, comment is 54, blank is 65.
|
||||||
|
server\AyaNova\Controllers\TrialController.cs, code is 73, comment is 26, blank is 19.
|
||||||
|
server\AyaNova\Controllers\UserController.cs, code is 225, comment is 99, blank is 77.
|
||||||
|
server\AyaNova\Controllers\UserOptionsController.cs, code is 143, comment is 47, blank is 46.
|
||||||
|
server\AyaNova\Controllers\WidgetController.cs, code is 184, comment is 110, blank is 68.
|
||||||
|
server\AyaNova\generator\BackgroundService.cs, code is 43, comment is 13, blank is 16.
|
||||||
|
server\AyaNova\generator\CoreJobMetricsReport.cs, code is 23, comment is 15, blank is 19.
|
||||||
|
server\AyaNova\generator\CoreJobMetricsSnapshot.cs, code is 70, comment is 26, blank is 40.
|
||||||
|
server\AyaNova\generator\CoreJobSweeper.cs, code is 74, comment is 30, blank is 28.
|
||||||
|
server\AyaNova\generator\Generate.cs, code is 65, comment is 27, blank is 32.
|
||||||
|
server\AyaNova\models\AyContext.cs, code is 70, comment is 13, blank is 17.
|
||||||
|
server\AyaNova\models\dto\ImportV7MapItem.cs, code is 15, comment is 3, blank is 3.
|
||||||
|
server\AyaNova\models\dto\JobOperationsFetchInfo.cs, code is 13, comment is 23, blank is 4.
|
||||||
|
server\AyaNova\models\dto\JobOperationsLogInfoItem.cs, code is 10, comment is 11, blank is 5.
|
||||||
|
server\AyaNova\models\dto\NameIdActiveItem.cs, code is 9, comment is 0, blank is 3.
|
||||||
|
server\AyaNova\models\dto\NameIdItem.cs, code is 8, comment is 0, blank is 2.
|
||||||
|
server\AyaNova\models\dto\NameItem.cs, code is 7, comment is 3, blank is 2.
|
||||||
|
server\AyaNova\models\dto\NewTextIdConcurrencyTokenItem.cs, code is 9, comment is 0, blank is 2.
|
||||||
|
server\AyaNova\models\dto\TagGroupMapInfo.cs, code is 9, comment is 0, blank is 4.
|
||||||
|
server\AyaNova\models\dto\TagMapGroupInfo.cs, code is 10, comment is 1, blank is 4.
|
||||||
|
server\AyaNova\models\dto\TagMapInfo.cs, code is 10, comment is 1, blank is 3.
|
||||||
|
server\AyaNova\models\dto\TypeAndIdInfo.cs, code is 9, comment is 0, blank is 4.
|
||||||
|
server\AyaNova\models\dto\UploadedFileInfo.cs, code is 9, comment is 3, blank is 2.
|
||||||
|
server\AyaNova\models\Event.cs, code is 54, comment is 6, blank is 9.
|
||||||
|
server\AyaNova\models\FileAttachment.cs, code is 24, comment is 3, blank is 4.
|
||||||
|
server\AyaNova\models\License.cs, code is 14, comment is 0, blank is 6.
|
||||||
|
server\AyaNova\models\Locale.cs, code is 27, comment is 9, blank is 11.
|
||||||
|
server\AyaNova\models\LocaleItem.cs, code is 20, comment is 1, blank is 7.
|
||||||
|
server\AyaNova\models\OpsJob.cs, code is 42, comment is 9, blank is 11.
|
||||||
|
server\AyaNova\models\OpsJobLog.cs, code is 23, comment is 3, blank is 9.
|
||||||
|
server\AyaNova\models\SearchDictionary.cs, code is 14, comment is 1, blank is 5.
|
||||||
|
server\AyaNova\models\SearchKey.cs, code is 19, comment is 0, blank is 6.
|
||||||
|
server\AyaNova\models\Tag.cs, code is 16, comment is 1, blank is 5.
|
||||||
|
server\AyaNova\models\TagGroup.cs, code is 16, comment is 1, blank is 5.
|
||||||
|
server\AyaNova\models\TagGroupMap.cs, code is 18, comment is 0, blank is 5.
|
||||||
|
server\AyaNova\models\TagMap.cs, code is 20, comment is 0, blank is 5.
|
||||||
|
server\AyaNova\models\User.cs, code is 40, comment is 80, blank is 5.
|
||||||
|
server\AyaNova\models\UserOptions.cs, code is 29, comment is 82, blank is 8.
|
||||||
|
server\AyaNova\models\Widget.cs, code is 22, comment is 1, blank is 6.
|
||||||
|
server\AyaNova\Program.cs, code is 170, comment is 35, blank is 47.
|
||||||
|
server\AyaNova\Startup.cs, code is 267, comment is 79, blank is 125.
|
||||||
|
server\AyaNova\SwaggerDefaultValues.cs, code is 30, comment is 12, blank is 5.
|
||||||
|
server\AyaNova\util\ApplicationLogging.cs, code is 10, comment is 4, blank is 3.
|
||||||
|
server\AyaNova\util\AutoId.cs, code is 24, comment is 1, blank is 2.
|
||||||
|
server\AyaNova\util\AyaNovaVersion.cs, code is 20, comment is 5, blank is 6.
|
||||||
|
server\AyaNova\util\AySchema.cs, code is 172, comment is 78, blank is 91.
|
||||||
|
server\AyaNova\util\CopyObject.cs, code is 46, comment is 14, blank is 10.
|
||||||
|
server\AyaNova\util\DateUtil.cs, code is 29, comment is 30, blank is 12.
|
||||||
|
server\AyaNova\util\DbUtil.cs, code is 307, comment is 77, blank is 100.
|
||||||
|
server\AyaNova\util\EnumAttributeExtension.cs, code is 23, comment is 11, blank is 2.
|
||||||
|
server\AyaNova\util\ExceptionUtil.cs, code is 18, comment is 8, blank is 8.
|
||||||
|
server\AyaNova\util\FileHash.cs, code is 18, comment is 2, blank is 7.
|
||||||
|
server\AyaNova\util\FileUtil.cs, code is 254, comment is 140, blank is 78.
|
||||||
|
server\AyaNova\util\Hasher.cs, code is 26, comment is 16, blank is 13.
|
||||||
|
server\AyaNova\util\IsLocalExtension.cs, code is 21, comment is 4, blank is 6.
|
||||||
|
server\AyaNova\util\License.cs, code is 405, comment is 121, blank is 115.
|
||||||
|
server\AyaNova\util\MetricsRegistry.cs, code is 60, comment is 81, blank is 26.
|
||||||
|
server\AyaNova\util\RetryHelper.cs, code is 29, comment is 14, blank is 11.
|
||||||
|
server\AyaNova\util\Seeder.cs, code is 239, comment is 92, blank is 95.
|
||||||
|
server\AyaNova\util\ServerBootConfig.cs, code is 123, comment is 38, blank is 51.
|
||||||
|
server\AyaNova\util\ServiceProviderProvider.cs, code is 35, comment is 12, blank is 11.
|
||||||
|
server\AyaNova\util\StringUtil.cs, code is 42, comment is 37, blank is 20.
|
||||||
|
server\AyaNova\wwwroot\api\sw.css, code is 6, comment is 0, blank is 0.
|
||||||
|
server\AyaNova\wwwroot\index.htm, code is 48, comment is 3, blank is 10.
|
||||||
|
startinflux.bat, code is 3, comment is 0, blank is 0.
|
||||||
|
startsql.bat, code is 1, comment is 0, blank is 0.
|
||||||
|
startsql.sh, code is 1, comment is 1, blank is 0.
|
||||||
|
test\raven-integration\ApiResponse.cs, code is 10, comment is 2, blank is 3.
|
||||||
|
test\raven-integration\ApiTextResponse.cs, code is 10, comment is 2, blank is 3.
|
||||||
|
test\raven-integration\Attachments\AttachmentTest.cs, code is 90, comment is 45, blank is 50.
|
||||||
|
test\raven-integration\Authentication\Auth.cs, code is 19, comment is 13, blank is 6.
|
||||||
|
test\raven-integration\AyaType\AyaType.cs, code is 22, comment is 8, blank is 8.
|
||||||
|
test\raven-integration\EventLog\EventLog.cs, code is 71, comment is 33, blank is 30.
|
||||||
|
test\raven-integration\ImportV7\ImportV7.cs, code is 32, comment is 11, blank is 16.
|
||||||
|
test\raven-integration\JobOperations\JobOperations.cs, code is 30, comment is 16, blank is 15.
|
||||||
|
test\raven-integration\Locale\Locale.cs, code is 88, comment is 47, blank is 33.
|
||||||
|
test\raven-integration\Locale\RequestedLocaleKeys.cs, code is 42, comment is 11, blank is 17.
|
||||||
|
test\raven-integration\LogFiles\LogFiles.cs, code is 19, comment is 7, blank is 8.
|
||||||
|
test\raven-integration\Metrics\Metrics.cs, code is 27, comment is 9, blank is 17.
|
||||||
|
test\raven-integration\Privacy\Privacy.cs, code is 16, comment is 6, blank is 8.
|
||||||
|
test\raven-integration\raven-integration.csproj, code is 14, comment is 0, blank is 3.
|
||||||
|
test\raven-integration\Search\SearchOps.cs, code is 349, comment is 103, blank is 117.
|
||||||
|
test\raven-integration\ServerState\ServerStateTest.cs, code is 13, comment is 37, blank is 31.
|
||||||
|
test\raven-integration\Tags\TagCrud.cs, code is 46, comment is 31, blank is 31.
|
||||||
|
test\raven-integration\Tags\TagGroupOps.cs, code is 72, comment is 29, blank is 41.
|
||||||
|
test\raven-integration\Tags\TagLists.cs, code is 52, comment is 10, blank is 22.
|
||||||
|
test\raven-integration\Tags\TagMapOps.cs, code is 195, comment is 93, blank is 95.
|
||||||
|
test\raven-integration\testdata\ayanova.data.dump.xxx.zip, it is a binary file.
|
||||||
|
test\raven-integration\testdata\test.png, it is a binary file.
|
||||||
|
test\raven-integration\testdata\test.zip, it is a binary file.
|
||||||
|
test\raven-integration\User\UserCrud.cs, code is 203, comment is 83, blank is 59.
|
||||||
|
test\raven-integration\User\UserInactive.cs, code is 18, comment is 6, blank is 9.
|
||||||
|
test\raven-integration\User\UserOptionsRu.cs, code is 68, comment is 36, blank is 30.
|
||||||
|
test\raven-integration\util.cs, code is 14, comment is 1, blank is 3.
|
||||||
|
test\raven-integration\Widget\WidgetCrud.cs, code is 113, comment is 57, blank is 59.
|
||||||
|
test\raven-integration\Widget\WidgetLists.cs, code is 45, comment is 13, blank is 18.
|
||||||
|
test\raven-integration\Widget\WidgetRights.cs, code is 139, comment is 62, blank is 62.
|
||||||
|
test\raven-integration\Widget\WidgetValidationTests.cs, code is 139, comment is 58, blank is 67.
|
||||||
|
===============================================================================
|
||||||
|
|||||||
@@ -404,13 +404,27 @@ namespace AyaNova
|
|||||||
//TESTING
|
//TESTING
|
||||||
if (TESTING_REFRESH_DB)
|
if (TESTING_REFRESH_DB)
|
||||||
{
|
{
|
||||||
AyaNova.Core.License.Fetch(apiServerState, dbContext, _log);
|
AyaNova.Core.License.Fetch(apiServerState, dbContext, _log);
|
||||||
Util.Seeder.SeedDatabase(Util.Seeder.SeedLevel.HugeForLoadTest);
|
Util.Seeder.SeedDatabase(Util.Seeder.SeedLevel.SmallOneManShopTrialDataSet);
|
||||||
}
|
}
|
||||||
//TESTING
|
//TESTING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
//TEST AUTOID
|
||||||
|
//Note that seeder may init this already in which case this code doesn't even need to run
|
||||||
|
if (ServerBootConfig.WIDGET_SERIAL == null)
|
||||||
|
{
|
||||||
|
//query for most recently used serial number
|
||||||
|
//(note, can't query for highest serial as it can and likely will reset or be changed manually from time to time
|
||||||
|
// so the algorithm is to keep the most recent sequence going on startup of the server)
|
||||||
|
var MostRecentWidget = dbContext.Widget.AsNoTracking().OrderByDescending(x => x.Id).FirstOrDefault();
|
||||||
|
uint MaxWidgetId = 0;
|
||||||
|
if (MostRecentWidget != null)
|
||||||
|
MaxWidgetId = MostRecentWidget.Serial;
|
||||||
|
ServerBootConfig.WIDGET_SERIAL = new AutoId(MaxWidgetId);
|
||||||
|
}
|
||||||
|
|
||||||
//Open up the server for visitors
|
//Open up the server for visitors
|
||||||
apiServerState.SetOpen();
|
apiServerState.SetOpen();
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace AyaNova.Biz
|
|||||||
return new WidgetBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
return new WidgetBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//EXISTS
|
//EXISTS
|
||||||
internal async Task<bool> ExistsAsync(long id)
|
internal async Task<bool> ExistsAsync(long id)
|
||||||
{
|
{
|
||||||
@@ -50,7 +50,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
|
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
|
||||||
return await ct.Widget.SingleOrDefaultAsync(m => m.Id == fetchId);
|
return await ct.Widget.SingleOrDefaultAsync(m => m.Id == fetchId);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//CREATE
|
//CREATE
|
||||||
@@ -65,6 +65,9 @@ namespace AyaNova.Biz
|
|||||||
Widget outObj = inObj;
|
Widget outObj = inObj;
|
||||||
outObj.OwnerId = UserId;
|
outObj.OwnerId = UserId;
|
||||||
|
|
||||||
|
//Test get serial id visible id number from generator
|
||||||
|
outObj.Serial = ServerBootConfig.WIDGET_SERIAL.GetNext();
|
||||||
|
|
||||||
|
|
||||||
await ct.Widget.AddAsync(outObj);
|
await ct.Widget.AddAsync(outObj);
|
||||||
await ct.SaveChangesAsync();
|
await ct.SaveChangesAsync();
|
||||||
@@ -73,7 +76,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
//EVENT LOG
|
//EVENT LOG
|
||||||
EventLogProcessor.LogEventToDatabase(new Event(UserId, outObj.Id, BizType, AyaEvent.Created), ct);
|
EventLogProcessor.LogEventToDatabase(new Event(UserId, outObj.Id, BizType, AyaEvent.Created), ct);
|
||||||
|
|
||||||
//SEARCH INDEXING
|
//SEARCH INDEXING
|
||||||
Search.ProcessNewObjectKeywords(ct, UserLocaleId, outObj.Id, BizType, outObj.Name, outObj.Notes, outObj.Name);
|
Search.ProcessNewObjectKeywords(ct, UserLocaleId, outObj.Id, BizType, outObj.Name, outObj.Notes, outObj.Name);
|
||||||
|
|
||||||
@@ -94,6 +97,9 @@ namespace AyaNova.Biz
|
|||||||
//do stuff with widget
|
//do stuff with widget
|
||||||
Widget outObj = inObj;
|
Widget outObj = inObj;
|
||||||
outObj.OwnerId = UserId;
|
outObj.OwnerId = UserId;
|
||||||
|
//Test get serial id visible id number from generator
|
||||||
|
outObj.Serial = ServerBootConfig.WIDGET_SERIAL.GetNext();
|
||||||
|
|
||||||
TempContext.Widget.Add(outObj);
|
TempContext.Widget.Add(outObj);
|
||||||
TempContext.SaveChanges();
|
TempContext.SaveChanges();
|
||||||
|
|
||||||
@@ -121,7 +127,7 @@ namespace AyaNova.Biz
|
|||||||
if (ret != null)
|
if (ret != null)
|
||||||
{
|
{
|
||||||
//Log
|
//Log
|
||||||
EventLogProcessor.LogEventToDatabase(new Event(UserId, fetchId, BizType, AyaEvent.Retrieved), ct);
|
EventLogProcessor.LogEventToDatabase(new Event(UserId, fetchId, BizType, AyaEvent.Retrieved), ct);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -206,7 +212,7 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
|
|
||||||
//Replace the db object with the PUT object
|
//Replace the db object with the PUT object
|
||||||
CopyObject.Copy(inObj, dbObj, "Id");
|
CopyObject.Copy(inObj, dbObj, "Id,Serial");
|
||||||
//Set "original" value of concurrency token to input token
|
//Set "original" value of concurrency token to input token
|
||||||
//this will allow EF to check it out
|
//this will allow EF to check it out
|
||||||
ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = inObj.ConcurrencyToken;
|
ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = inObj.ConcurrencyToken;
|
||||||
@@ -217,7 +223,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
//Log modification
|
//Log modification
|
||||||
EventLogProcessor.LogEventToDatabase(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct);
|
EventLogProcessor.LogEventToDatabase(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct);
|
||||||
|
|
||||||
//Update keywords
|
//Update keywords
|
||||||
Search.ProcessUpdatedObjectKeywords(ct, UserLocaleId, dbObj.Id, BizType, dbObj.Name, dbObj.Notes, dbObj.Name);
|
Search.ProcessUpdatedObjectKeywords(ct, UserLocaleId, dbObj.Id, BizType, dbObj.Name, dbObj.Notes, dbObj.Name);
|
||||||
|
|
||||||
@@ -239,7 +245,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
//Log modification
|
//Log modification
|
||||||
EventLogProcessor.LogEventToDatabase(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct);
|
EventLogProcessor.LogEventToDatabase(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct);
|
||||||
|
|
||||||
//Update keywords
|
//Update keywords
|
||||||
Search.ProcessUpdatedObjectKeywords(ct, UserLocaleId, dbObj.Id, BizType, dbObj.Name, dbObj.Notes, dbObj.Name);
|
Search.ProcessUpdatedObjectKeywords(ct, UserLocaleId, dbObj.Id, BizType, dbObj.Name, dbObj.Notes, dbObj.Name);
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace AyaNova.Models
|
|||||||
[Required]
|
[Required]
|
||||||
public long OwnerId { get; set; }
|
public long OwnerId { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
public uint Serial { get; set; }
|
||||||
public decimal? DollarAmount { get; set; }
|
public decimal? DollarAmount { get; set; }
|
||||||
public bool? Active { get; set; }
|
public bool? Active { get; set; }
|
||||||
public AuthorizationRoles Roles { get; set; }
|
public AuthorizationRoles Roles { get; set; }
|
||||||
|
|||||||
26
server/AyaNova/util/AutoId.cs
Normal file
26
server/AyaNova/util/AutoId.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
namespace AyaNova.Util
|
||||||
|
{
|
||||||
|
public class AutoId
|
||||||
|
{
|
||||||
|
private readonly object valueLock = new object();
|
||||||
|
private uint currentValue; //postgre bigint
|
||||||
|
|
||||||
|
public AutoId(uint initialValue)
|
||||||
|
{
|
||||||
|
currentValue = initialValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public uint GetNext()
|
||||||
|
{
|
||||||
|
lock (valueLock)
|
||||||
|
{
|
||||||
|
currentValue += 1;
|
||||||
|
if (currentValue == 0)
|
||||||
|
currentValue += 1;
|
||||||
|
return currentValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,8 +22,8 @@ namespace AyaNova.Util
|
|||||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
|
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
|
||||||
private const int DESIRED_SCHEMA_LEVEL = 9;
|
private const int DESIRED_SCHEMA_LEVEL = 9;
|
||||||
|
|
||||||
internal const long EXPECTED_COLUMN_COUNT = 99;
|
internal const long EXPECTED_COLUMN_COUNT = 100;
|
||||||
internal const long EXPECTED_INDEX_COUNT = 22;
|
internal const long EXPECTED_INDEX_COUNT = 23;
|
||||||
|
|
||||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
|
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::PrepareDatabaseForSeeding WHEN NEW TABLES ADDED!!!!
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ namespace AyaNova.Util
|
|||||||
exec("CREATE TABLE alocaleitem (id BIGSERIAL PRIMARY KEY, localeid bigint not null REFERENCES alocale (id), key text not null, display text not null)");
|
exec("CREATE TABLE alocaleitem (id BIGSERIAL PRIMARY KEY, localeid bigint not null REFERENCES alocale (id), key text not null, display text not null)");
|
||||||
|
|
||||||
//LOOKAT: this is for what exactly??
|
//LOOKAT: this is for what exactly??
|
||||||
// exec("CREATE INDEX alocaleitem_localeid_key_idx ON alocaleitem (localeid,key)");
|
// exec("CREATE INDEX alocaleitem_localeid_key_idx ON alocaleitem (localeid,key)");
|
||||||
//This seems more appropriate
|
//This seems more appropriate
|
||||||
exec("CREATE INDEX alocaleitem_localeid_key_display_idx ON alocaleitem (localeid,key, display)");
|
exec("CREATE INDEX alocaleitem_localeid_key_display_idx ON alocaleitem (localeid,key, display)");
|
||||||
|
|
||||||
@@ -201,9 +201,13 @@ namespace AyaNova.Util
|
|||||||
|
|
||||||
//Add widget table
|
//Add widget table
|
||||||
//id, text, longtext, boolean, currency,
|
//id, text, longtext, boolean, currency,
|
||||||
exec("CREATE TABLE awidget (id BIGSERIAL PRIMARY KEY, ownerid bigint not null, name varchar(255) not null, " +
|
exec("CREATE TABLE awidget (id BIGSERIAL PRIMARY KEY, ownerid bigint not null, name varchar(255) not null, serial bigint not null," +
|
||||||
"startdate timestamp, enddate timestamp, dollaramount decimal(19,5), active bool, roles int4, notes text)");
|
"startdate timestamp, enddate timestamp, dollaramount decimal(19,5), active bool, roles int4, notes text)");
|
||||||
|
|
||||||
|
//TEST TEST TEST ONLY FOR DEVELOPMENT TESTING TO ENSURE UNIQUENESS
|
||||||
|
exec("CREATE UNIQUE INDEX awidget_serial_idx ON awidget (serial);");
|
||||||
|
|
||||||
|
|
||||||
//Compound index for name fetching
|
//Compound index for name fetching
|
||||||
exec("CREATE UNIQUE INDEX awidget_name_id_idx ON awidget (id, name);");
|
exec("CREATE UNIQUE INDEX awidget_name_id_idx ON awidget (id, name);");
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ namespace AyaNova.Util
|
|||||||
ApiServerState.ServerState wasServerState = apiServerState.GetState();
|
ApiServerState.ServerState wasServerState = apiServerState.GetState();
|
||||||
string wasReason = apiServerState.Reason;
|
string wasReason = apiServerState.Reason;
|
||||||
|
|
||||||
|
//START SERIAL NUMBER GENERATORS
|
||||||
|
if (ServerBootConfig.WIDGET_SERIAL == null)
|
||||||
|
ServerBootConfig.WIDGET_SERIAL = new AutoId(0);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
log.LogInformation("SEEDER: Seed data level - " + slevel.ToString());
|
log.LogInformation("SEEDER: Seed data level - " + slevel.ToString());
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ namespace AyaNova.Util
|
|||||||
internal static class ServerBootConfig
|
internal static class ServerBootConfig
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//TEST AUTOID
|
||||||
|
//Get the highest id number issued previously and start the auto-id at that level
|
||||||
|
internal static AutoId WIDGET_SERIAL { get; set; }
|
||||||
|
|
||||||
|
|
||||||
//Diagnostic static values used during development, may not be related to config at all, this is just a convenient class to put them in
|
//Diagnostic static values used during development, may not be related to config at all, this is just a convenient class to put them in
|
||||||
#if (DEBUG)
|
#if (DEBUG)
|
||||||
|
|||||||
Reference in New Issue
Block a user