Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HIPCMS-722: Implemented GET-methods for obtaining reference info #45

Merged
merged 5 commits into from Jul 18, 2017

Conversation

SvenEV
Copy link
Collaborator

@SvenEV SvenEV commented Jul 17, 2017

New methods:

  • GET /api/Exhibits/{id}/Refs
  • GET /api/Exhibits/Pages/{id}/Refs
  • GET /api/Media/{id}/Refs
  • GET /api/Routes/{id}/Refs
  • GET /api/Tags/{id}/Refs

The following shows a sample response from one of the methods:

{
  "outgoingReferences": [
    {
      "type": "Media",
      "ids": [ 14, 20, 21 ]
    }
  ],
  "incomingReferences": [
    {
      "type": "Exhibit",
      "ids": [ 3 ]
    },
    {
      "type": "ExhibitPage",
      "ids": [ 1, 18 ]
    }
  ]
}

@SvenEV SvenEV requested a review from Musaevt July 17, 2017 13:42
Copy link
Contributor

@Musaevt Musaevt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything is good.
I leaved some comments, please take a look.

/// <summary>
/// The resources referenced by the resource of interest.
/// </summary>
public IReadOnlyCollection<ReferenceInfo> Referencees { get; set; }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe better OutGoingReferences and InComingReferences (or other names)
For me, Referencees and Referencers a little bit confusing

if (directoryPath != null && System.IO.Directory.Exists(directoryPath))
Directory.Delete(directoryPath, true);


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove Extra lines

@SvenEV SvenEV merged commit 7ea40ef into develop Jul 18, 2017
@SvenEV SvenEV deleted the iss-hipcms-722 branch July 18, 2017 22:21
SvenEV pushed a commit that referenced this pull request Sep 25, 2017
* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Added Score Board class

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix for updating exhibits

* Fixed: Whenever updating media, 'File' was set to null

* Changes to make pages "independent" from exhibits

* Implemented migration

* Added a warning when connecting to a production database during a debug session

* Added Score Record
Added API Calls
Fixed Sorting in Score Board

* Fixed errors

* Fixed R# error
Added validation for PUT API call

* Removed unused directive

* Removed unnesosry return types

* Minor clean-up

* Added Distinct()-calls to better handle duplicate IDs in JSON request arrays, added field ExhibitPageResult.Used

* Events are now emitted in batches by using transactions

* Bug fix

* Added migration code to make exhibits reference pages

* Removed usings

* Added removing file from storage (#40)

* TagsController.PostAsync now returns "201 Created" instead of "200 Ok", added some documentation

* Improved logging

* Bugfix in ReferencesIndex

* Reverted accidental change in *.DotSettings-file

* URL to "swagger.json" file is now configurable

* Renamed 'ContentBase.Referencees' to 'Referencers' to better reflect the meaning of that property

* HIPCMS-735: Remove status limitations when creating/updating entities (#44)

* Removed requirement for referenced entities to be published when creating or updating entities.

* Removed unused "using"

* HIPCMS-722: Implemented GET-methods for obtaining reference info (#45)

* Implemented "GET /api/<resource type>/<id>/Refs"-methods for obtaining reference info (or "usage info") for resources

* Added missing [ProducesResponseType(400)] attributes

* Removed empty lines

* Renamed ReferenceInfoResult properties for less confusion

* Added class OrderedSet

* DocRefList.Ids is now an ordered set, fixed DocRefExtensions.LoadAll(): now preserves order of IDs

* Hipcms 682 (#42)

* Added Rating System
--Rating system can be aplied to any ResourceType
--Added rating to Exhibits

* Added minor cleanup

* R# Error fixing

* R# ResourceType  redundance fixing

* Added changes:
--changed all url form 'rating' to 'Rating'
--public fields instead of properties.
--changed URL for exhibit/rating

* --Added savings of all user`s ratings in memory.
--Changed rating type to byte

* R# Error fixing

* No Storing Ratings in storage
Min-Max Rating now can be defined in one place

* Added stream migration, added cascading timestamps functionality to ReferencesIndex

* Modified controllers to return cascading timestamp instead of "flat" timestamp

* CRUD event types can now be excluded from the timestamp cascade mechanism

* Minor fix

* Fixed a bug

* Added Length Parameter to Call (#48)

API/ScoreBoard

* Completely removed ReferenceAdded/Removed events (necessary for correct timestamp propagation)

* Iss hipcms 670 testing (#50)

* HIPCMS-670

Project setup and first test.

* HIPCMS-670-Tests

Tests for tags controller.

* HIPCMS-670-Tests-For-Tags

* Implemented a very simple mechanism for accessing MVC services in tests (TestStartup makes services available in static MvcTestContext class)

* HIPCMS-670

Donw with tags tests

* Minor fixes

* Improved StreamMigrationArgs: When appending events they are now directly serialized to EventData (to prevent further modifications)

* Added a small bug-correcting migration

* fix in CorrectExhibitsMigration, reverted some changes of previous commit

* Fixed ReSharper warnings

* Renamed migrations so its easier to see their order

* Removed unnecessary file

* Updated some comments

* Added "Rank" field in response to API call api/ScoreBoard/{id} (#51)

* Added Rank field in response to API call api/ScoreBoard/{id}

* Fix R# errors

* Iss hipcms 729 (#52)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Revert "Iss hipcms 729 (#52)" (#53)

This reverts commit c8deab6.

* Removed some types (moved to lib)

* Clean-up

* Clean-up

* Clean-up

* Bug fix

* Bug fixes

* Fixed ReSharper warnings

* Work in progress

* Add long domain to the CORS settings

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Iss hipcms 729 (#54)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Iss hipcms 667 (#56)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Added Roles and Id Substraction

* Added UserPermission Class

* Added Permissions to Media

* Deleting all permissions from get queries becouse there is no user content yet.

* Added restriction to all Types (which CMS using)

* Fixed version conflict of package "System.ValueTuple"

* Solved ReSharper errors

* Fixed a ReSharper warning

* Fixed a ReSharper warning, replaced "TO DO" with "TODO" (this way comments appear in Visual Studio's Task List)

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Added to User Score System and Rating System (Exhibit Ratings) User authefication using access token

* Added User ID (owner) to all type of content

* Added Migration. Where we set admin as owner of old content

* Applied all auth rules to API call : POST/PUT/DELETE
Store in memory UserId for every content

* Changed Implementation of all API Call: GET

* Implemented filtering by page type

* Fixed auth-related exceptions (GetUserIdentity() now returns a UserIdentity-struct, thus avoiding exceptions and null handling)

* Removed debugging code

* Syntax fix

* Reverted: GetUserIdentity() now returns string again (returning a struct and overriding the ==-operator apparently breaks translation from LINQ to Mongo queries)

* Fixed minor merging issues

* Update master (#37) (#65)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)

* Removed some types (moved to lib)

* Work in progress

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Fixed minor merging issues

* Revert "HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)" (#66)

This reverts commit 57e8ae7.

* Modified project file and Dockerfile (background: I was wondering why commands like "dotnet build" would not automatically pickup the "NuGet.Config" from our repo root folder. Turns out such commands were only looking for a "NuGet.Config" in the project folder because that was explicitly specified in the project file)

* Dockerfile changes (this should fix the libssl error; apparently, the Docker image "dotnet:2.0.0-sdk" is based on Debian Stretch instead of Debian Jessie like older versions, so we now use "dotnet:2.0.0-sdk-jessie")

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0
SvenEV added a commit that referenced this pull request Dec 6, 2017
* Update master (#37)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Manually performed a change made in 'develop' that somehow didn't carry over into 'master'

* Merge into master (#64)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Added Score Board class

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix for updating exhibits

* Fixed: Whenever updating media, 'File' was set to null

* Changes to make pages "independent" from exhibits

* Implemented migration

* Added a warning when connecting to a production database during a debug session

* Added Score Record
Added API Calls
Fixed Sorting in Score Board

* Fixed errors

* Fixed R# error
Added validation for PUT API call

* Removed unused directive

* Removed unnesosry return types

* Minor clean-up

* Added Distinct()-calls to better handle duplicate IDs in JSON request arrays, added field ExhibitPageResult.Used

* Events are now emitted in batches by using transactions

* Bug fix

* Added migration code to make exhibits reference pages

* Removed usings

* Added removing file from storage (#40)

* TagsController.PostAsync now returns "201 Created" instead of "200 Ok", added some documentation

* Improved logging

* Bugfix in ReferencesIndex

* Reverted accidental change in *.DotSettings-file

* URL to "swagger.json" file is now configurable

* Renamed 'ContentBase.Referencees' to 'Referencers' to better reflect the meaning of that property

* HIPCMS-735: Remove status limitations when creating/updating entities (#44)

* Removed requirement for referenced entities to be published when creating or updating entities.

* Removed unused "using"

* HIPCMS-722: Implemented GET-methods for obtaining reference info (#45)

* Implemented "GET /api/<resource type>/<id>/Refs"-methods for obtaining reference info (or "usage info") for resources

* Added missing [ProducesResponseType(400)] attributes

* Removed empty lines

* Renamed ReferenceInfoResult properties for less confusion

* Added class OrderedSet

* DocRefList.Ids is now an ordered set, fixed DocRefExtensions.LoadAll(): now preserves order of IDs

* Hipcms 682 (#42)

* Added Rating System
--Rating system can be aplied to any ResourceType
--Added rating to Exhibits

* Added minor cleanup

* R# Error fixing

* R# ResourceType  redundance fixing

* Added changes:
--changed all url form 'rating' to 'Rating'
--public fields instead of properties.
--changed URL for exhibit/rating

* --Added savings of all user`s ratings in memory.
--Changed rating type to byte

* R# Error fixing

* No Storing Ratings in storage
Min-Max Rating now can be defined in one place

* Added stream migration, added cascading timestamps functionality to ReferencesIndex

* Modified controllers to return cascading timestamp instead of "flat" timestamp

* CRUD event types can now be excluded from the timestamp cascade mechanism

* Minor fix

* Fixed a bug

* Added Length Parameter to Call (#48)

API/ScoreBoard

* Completely removed ReferenceAdded/Removed events (necessary for correct timestamp propagation)

* Iss hipcms 670 testing (#50)

* HIPCMS-670

Project setup and first test.

* HIPCMS-670-Tests

Tests for tags controller.

* HIPCMS-670-Tests-For-Tags

* Implemented a very simple mechanism for accessing MVC services in tests (TestStartup makes services available in static MvcTestContext class)

* HIPCMS-670

Donw with tags tests

* Minor fixes

* Improved StreamMigrationArgs: When appending events they are now directly serialized to EventData (to prevent further modifications)

* Added a small bug-correcting migration

* fix in CorrectExhibitsMigration, reverted some changes of previous commit

* Fixed ReSharper warnings

* Renamed migrations so its easier to see their order

* Removed unnecessary file

* Updated some comments

* Added "Rank" field in response to API call api/ScoreBoard/{id} (#51)

* Added Rank field in response to API call api/ScoreBoard/{id}

* Fix R# errors

* Iss hipcms 729 (#52)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Revert "Iss hipcms 729 (#52)" (#53)

This reverts commit c8deab6.

* Removed some types (moved to lib)

* Clean-up

* Clean-up

* Clean-up

* Bug fix

* Bug fixes

* Fixed ReSharper warnings

* Work in progress

* Add long domain to the CORS settings

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Iss hipcms 729 (#54)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Iss hipcms 667 (#56)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Added Roles and Id Substraction

* Added UserPermission Class

* Added Permissions to Media

* Deleting all permissions from get queries becouse there is no user content yet.

* Added restriction to all Types (which CMS using)

* Fixed version conflict of package "System.ValueTuple"

* Solved ReSharper errors

* Fixed a ReSharper warning

* Fixed a ReSharper warning, replaced "TO DO" with "TODO" (this way comments appear in Visual Studio's Task List)

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Added to User Score System and Rating System (Exhibit Ratings) User authefication using access token

* Added User ID (owner) to all type of content

* Added Migration. Where we set admin as owner of old content

* Applied all auth rules to API call : POST/PUT/DELETE
Store in memory UserId for every content

* Changed Implementation of all API Call: GET

* Implemented filtering by page type

* Fixed auth-related exceptions (GetUserIdentity() now returns a UserIdentity-struct, thus avoiding exceptions and null handling)

* Removed debugging code

* Syntax fix

* Reverted: GetUserIdentity() now returns string again (returning a struct and overriding the ==-operator apparently breaks translation from LINQ to Mongo queries)

* Fixed minor merging issues

* Update master (#37) (#65)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)

* Removed some types (moved to lib)

* Work in progress

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Fixed minor merging issues

* Revert "HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)" (#66)

This reverts commit 57e8ae7.

* Modified project file and Dockerfile (background: I was wondering why commands like "dotnet build" would not automatically pickup the "NuGet.Config" from our repo root folder. Turns out such commands were only looking for a "NuGet.Config" in the project folder because that was explicitly specified in the project file)

* Dockerfile changes (this should fix the libssl error; apparently, the Docker image "dotnet:2.0.0-sdk" is based on Debian Stretch instead of Debian Jessie like older versions, so we now use "dotnet:2.0.0-sdk-jessie")

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0

* Merge bug fixes into master (#71)

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0

* Fixed a bug in migration 2 (#70)
SvenEV added a commit that referenced this pull request Dec 6, 2017
* Added Rating System for Routes

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0

* Fixed a bug in migration 2 (#70)

* Updated links

Old domain was "geteventstore.com", new domain is "eventstore.org"

* Fixed bug in Swagger Filter.
Now file window appearing correctly

* Implemented first history features: A version history can be obtained for exhibits

* Work in progress: Consolidate history functions in a separate controller

* Added history APIs for other resource types

* Added permissions validation, added [ProducesResponseType]-attributes

* Restructured code

* Commented out desired but not yet implemented APIs

* Added ContentStatus Deleted (#61)

* Fixed Bug:
Bug allowed the user assign status ALL when creating and editing content .
Now it`s restricted to DRAFT, IN_Review, Published

* Added Status Deleted.
Content with status = Deleted can be seen only for Supervisor
Creating and editing content with status = Deleted prohibited

* Changed Filter By Status

* Changed marking deleted content

* Update

* Revert "Update"

This reverts commit 63bc173.

* Fixed Bugs

* Changed status and added method annotations

* Added [ProducesResponseType(400)], removed unused setter

* Updated "HiP-EventStoreLib" to v0.14.0

* HIPCMS-780: Make use of HiP-ThumbnailService (#75)

* Added a "File" field for media-returning APIs that, in case of images, points to the thumbnail service

* Implemented invalidation of thumbnail cache whenever an image is uploaded or media is deleted, configuration field "ThumbnailUrlPattern" is now optional

* Fixed bugs and ReSharper warnings

* Fixed ReSharper warnings

* Fixed one more ReSharper warning

* Added Status Unpublished
Added Restriction: Published entities can not be deleted(only changed status to Unpublished)
Added Restriction: Entities can be unpublished if before they were published

* Use NSwag for automatic REST-client code generation & NuGet packaging (#78)

* C# XML documentation is now included in the generated swagger specification

* XML doc now also generated for release builds

* Added NSwag spec & code generation

* Removed OpenSSL compilation from Dockerfile

* Removed auto-generated files from repository

* Fixed gitignore

* NSwag now only runs on Windows, "dotnet build" now executed at Docker image build time

* HIPCMS-870: Enabled XML documentation output for Sdk project (#79)

* Enabled XML doc output for Sdk project

* Bumped SDK version to 1.0.1

* Fixed: NSwagClientBase.Authorization can now be left empty without issues

* Added "/generateOptionalParameters:true"

* Added [FromQuery]-attributes (to workaround an issue in the swagger generator)

* Added a workaround for faulty NSwag client generation for QueryArgs.Status

* Added summary to property QueryArgs.InternalStatus

* Bugfix (#80)

* For all gets with status "All" Deleted content will be removed from response

* HIPCMS-870: Simplified project files (#81)

* Simplified csproj

* Simplified SDK csproj

* Make exhibits accessible only within a certain range. (#76)

* * Added an access radius in km to exhibits.
Such that exhibits are only shown if the users location is within the access radius of the exhibit.

*Added option to filter queries by location with given latitude and longitude coordinates.
Works for exhibits only right now, since only exhibits have an access radius.
If no coordinates are specified in a request, all exhibits are returned.

*Added the possibility to add latitude and longitude as exhibit query arguments.

*Added access radius to exhibit results.

* *Updated FilterByLocation method.
Type is now Exhibit and not generic, since it is only applicable to exhibits until now.
Also shortened it.

*Updated GetDistanceFromLatLonInKm method.
Arguments are no longer nullable.
Removed casts to double.

*Added Math library.

* Fixed ReSharper warnings

* Added a migration that assigns a default access radius for "old" exhibits

* Fixed ReSharper warning

* Fixed ReSharper warning

* HIPCMS-794: Added migration to fix AccessRadius for existing exhibits (#82)

* * Added an access radius in km to exhibits.
Such that exhibits are only shown if the users location is within the access radius of the exhibit.

*Added option to filter queries by location with given latitude and longitude coordinates.
Works for exhibits only right now, since only exhibits have an access radius.
If no coordinates are specified in a request, all exhibits are returned.

*Added the possibility to add latitude and longitude as exhibit query arguments.

*Added access radius to exhibit results.

* *Updated FilterByLocation method.
Type is now Exhibit and not generic, since it is only applicable to exhibits until now.
Also shortened it.

*Updated GetDistanceFromLatLonInKm method.
Arguments are no longer nullable.
Removed casts to double.

*Added Math library.

* Fixed ReSharper warnings

* Added a migration that assigns a default access radius for "old" exhibits

* Fixed ReSharper warning

* Fixed ReSharper warning

* Added another migration to fix ExhibitUpdated-events

* no message

* Changed restriction in GETids calls

* Changed restrictions to get Pages ids for exhibit

* undone changes

* Updated HiP-EventStoreLib to v0.15.0 (#74)

* Updated HiP-EventStoreLib to v0.15.0, replaced DataStore's EventStoreClient with EventStoreLib's EventStoreService

* Fixed a compiler error

* Removed unused using

* Removed faulty "where"-filter in "GetById"-methods (#84)

* TypeScript client generation (#86)

* Setup TypeScript client generation, prepared npm package generation

* Small changes

* Added dependency

* Fix npm install error

* Updated description

* Updated repository field

* Updated package.json, added PowerShell script for TFS

* Updated NPMPack script

* Push to trigger TFS Build

* Minimalized NSwag commands

* Updated NuGet Packages (including new NSwag version), Removed workaround for NSwag, TFS test

* Fix TFS test

* And another fix in the script

* Modify script for merge

* Using InjectionToken instead of OpaqueToken

* Made requested changes

* Added NuGet packaging & publishing script

* Adjusted NPMPack script

* Fixed NuGetPack.ps1

* Update NPMPack.ps1

* Replaced Swashbuckle by NSwag in Startup class

* Enums now appear as strings again in Swagger UI

* Updated NuGet package

* Changed rating API to report the number of ratings given for each rating value

* * Added default value for access radius of exhibits (#89)

* Added NSwag workaround to fix Swagger issues

* Removed config field "SwaggerEndpoint"

* Fixed script (#91)

* Preparation for merging into master branch (#92)

* Update master (#37)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Manually performed a change made in 'develop' that somehow didn't carry over into 'master'

* Merge into master (#64)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Added Score Board class

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix for updating exhibits

* Fixed: Whenever updating media, 'File' was set to null

* Changes to make pages "independent" from exhibits

* Implemented migration

* Added a warning when connecting to a production database during a debug session

* Added Score Record
Added API Calls
Fixed Sorting in Score Board

* Fixed errors

* Fixed R# error
Added validation for PUT API call

* Removed unused directive

* Removed unnesosry return types

* Minor clean-up

* Added Distinct()-calls to better handle duplicate IDs in JSON request arrays, added field ExhibitPageResult.Used

* Events are now emitted in batches by using transactions

* Bug fix

* Added migration code to make exhibits reference pages

* Removed usings

* Added removing file from storage (#40)

* TagsController.PostAsync now returns "201 Created" instead of "200 Ok", added some documentation

* Improved logging

* Bugfix in ReferencesIndex

* Reverted accidental change in *.DotSettings-file

* URL to "swagger.json" file is now configurable

* Renamed 'ContentBase.Referencees' to 'Referencers' to better reflect the meaning of that property

* HIPCMS-735: Remove status limitations when creating/updating entities (#44)

* Removed requirement for referenced entities to be published when creating or updating entities.

* Removed unused "using"

* HIPCMS-722: Implemented GET-methods for obtaining reference info (#45)

* Implemented "GET /api/<resource type>/<id>/Refs"-methods for obtaining reference info (or "usage info") for resources

* Added missing [ProducesResponseType(400)] attributes

* Removed empty lines

* Renamed ReferenceInfoResult properties for less confusion

* Added class OrderedSet

* DocRefList.Ids is now an ordered set, fixed DocRefExtensions.LoadAll(): now preserves order of IDs

* Hipcms 682 (#42)

* Added Rating System
--Rating system can be aplied to any ResourceType
--Added rating to Exhibits

* Added minor cleanup

* R# Error fixing

* R# ResourceType  redundance fixing

* Added changes:
--changed all url form 'rating' to 'Rating'
--public fields instead of properties.
--changed URL for exhibit/rating

* --Added savings of all user`s ratings in memory.
--Changed rating type to byte

* R# Error fixing

* No Storing Ratings in storage
Min-Max Rating now can be defined in one place

* Added stream migration, added cascading timestamps functionality to ReferencesIndex

* Modified controllers to return cascading timestamp instead of "flat" timestamp

* CRUD event types can now be excluded from the timestamp cascade mechanism

* Minor fix

* Fixed a bug

* Added Length Parameter to Call (#48)

API/ScoreBoard

* Completely removed ReferenceAdded/Removed events (necessary for correct timestamp propagation)

* Iss hipcms 670 testing (#50)

* HIPCMS-670

Project setup and first test.

* HIPCMS-670-Tests

Tests for tags controller.

* HIPCMS-670-Tests-For-Tags

* Implemented a very simple mechanism for accessing MVC services in tests (TestStartup makes services available in static MvcTestContext class)

* HIPCMS-670

Donw with tags tests

* Minor fixes

* Improved StreamMigrationArgs: When appending events they are now directly serialized to EventData (to prevent further modifications)

* Added a small bug-correcting migration

* fix in CorrectExhibitsMigration, reverted some changes of previous commit

* Fixed ReSharper warnings

* Renamed migrations so its easier to see their order

* Removed unnecessary file

* Updated some comments

* Added "Rank" field in response to API call api/ScoreBoard/{id} (#51)

* Added Rank field in response to API call api/ScoreBoard/{id}

* Fix R# errors

* Iss hipcms 729 (#52)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Revert "Iss hipcms 729 (#52)" (#53)

This reverts commit c8deab6.

* Removed some types (moved to lib)

* Clean-up

* Clean-up

* Clean-up

* Bug fix

* Bug fixes

* Fixed ReSharper warnings

* Work in progress

* Add long domain to the CORS settings

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Iss hipcms 729 (#54)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Iss hipcms 667 (#56)

* Updated the webservice lib dependency to 2.0

* Setup auth0 usage

* Ignored .vscode folder

* Removed the old WebserviceLib dependency

* Set up all the controllers to use authorization & fixed a typo in the settings

* Implement authorization policies via scopes

* add missing library file

* renamed to lowercase

* Update HiP-DataStore.csproj

Test: Set webservice lib version to 1.0.0

* Revert "Update HiP-DataStore.csproj"

This reverts commit 72f8f17.

* used the public hip feed on myget.org

* Removed the webservice lib pkg - will be added via nuget feed on myget.org

* Copied nuget config to project root folder

* Removed obsolete nuget config and fixed a R# issue

* Fixed the docker build by referencing the dockerfile in the root folder

* Changed API audience to WebAPI

(temp. fix for multiple-audience-problem)

* Changed audience and scopes definitions to use the new generic API def.

* Added Roles and Id Substraction

* Added UserPermission Class

* Added Permissions to Media

* Deleting all permissions from get queries becouse there is no user content yet.

* Added restriction to all Types (which CMS using)

* Fixed version conflict of package "System.ValueTuple"

* Solved ReSharper errors

* Fixed a ReSharper warning

* Fixed a ReSharper warning, replaced "TO DO" with "TODO" (this way comments appear in Visual Studio's Task List)

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Added to User Score System and Rating System (Exhibit Ratings) User authefication using access token

* Added User ID (owner) to all type of content

* Added Migration. Where we set admin as owner of old content

* Applied all auth rules to API call : POST/PUT/DELETE
Store in memory UserId for every content

* Changed Implementation of all API Call: GET

* Implemented filtering by page type

* Fixed auth-related exceptions (GetUserIdentity() now returns a UserIdentity-struct, thus avoiding exceptions and null handling)

* Removed debugging code

* Syntax fix

* Reverted: GetUserIdentity() now returns string again (returning a struct and overriding the ==-operator apparently breaks translation from LINQ to Mongo queries)

* Fixed minor merging issues

* Update master (#37) (#65)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)

* Removed some types (moved to lib)

* Work in progress

* Moved more functionality to ESLib

* Removed migration notice (moved to ESLib)

* Projects now reference NuGet package "HiP-EventStoreLib" from our MyGet-feed

* Now using HiP-EventStoreLib v0.3.0 (class InMemoryCache)

* Minor changes

* Upgraded projects to .NET Core 2.0, updated HiP-EventStoreLib to 0.6.0

* Update HiP-EventStoreLib to v0.7.0

* Updated dockerfile (now uses .NET Core 2.0 image)

* Updated NuGet.Config

* Updated docker file

* Moved NuGet.Config

* Updated dockerfile

* Moved NuGet.Config again

* Moved MongoDB primitives (DocRef<>) to HiP-EventStoreLib, updated HiP-EventStoreLib to v0.9.0

* Updated NuGet dependencies, migrated authentication configuration in Startup class to new 2.0 authentication stack (see aspnet/Security#1310)

* Updated HiP-EventStoreLib to v0.10.0, updated EventStore.ClientAPI.NetCore to v4.0.2-rc

* Bugfix for Swagger UI

* Added validation of page IDs when creating/updating exhibits

* Added validation of audio ID when creating/updating exhibit pages

* Bug fix: Timestamp assignment was missing when emitting certain events

* Fixed minor merging issues

* Revert "HIPCMS-761: Moved event sourcing fundamentals to HiP-EventStoreLib (#57)" (#66)

This reverts commit 57e8ae7.

* Modified project file and Dockerfile (background: I was wondering why commands like "dotnet build" would not automatically pickup the "NuGet.Config" from our repo root folder. Turns out such commands were only looking for a "NuGet.Config" in the project folder because that was explicitly specified in the project file)

* Dockerfile changes (this should fix the libssl error; apparently, the Docker image "dotnet:2.0.0-sdk" is based on Debian Stretch instead of Debian Jessie like older versions, so we now use "dotnet:2.0.0-sdk-jessie")

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0

* Merge bug fixes into master (#71)

* Update master (#37) (#68)

* Implemented page reordering via PUT /Exhibits/{id}, marked old event types as [Obsolete]

* ExhibitResult now makes use of the new Pages property

* Fixed a validation bug

* Removed unnecessary reference addition

* Pages no longer create a reference to the containing exhibit

* Simplified exhibit usage checks, reworked the areas that expected Exhibit.Referencees to contain page references (new functionality in ExhibitPageIndex is now used instead)

* Added stream metadata class (WIP)

* Implemented a new migration concept ("stream migration") that allows versioning of streams. Implemented such a "stream migration" that updates the event stream to support the new page ordering feature.

* Fixed: *Update-events were clearing the Referencees-list of the corresponding entity (thus e.g., only the pages created/updated after the latest ExhibitUpdate are shown for the exhibit)

* Bug fix in migration

* Migration fix

* Fixed ReSharper issues

* Minor documentation improvement

* Cleanup of entity classes, more error handling

* Added missing [ProducesResponseType(400)]

* Hotfix

* Hotfix: DocRefList<T> was serialized as array (missing the fields 'Collection' and 'Database')

* Fixed a typo which caused the HTTP-route for tag deletion to be malformed (#36)

* Hotfix (update HiP-EventStoreLib to v0.13.0) (#69)

* Updated HiP-EventStoreLib to v0.11.0

* Updated HiP-EventStoreLib to v0.13.0

* Fixed a bug in migration 2 (#70)

* Increased DataStore SDK version to 2.0.0 (#94)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants