Ejemplo n.º 1
0
        public async Task SetAccessAsync(Guid ownerId, Guid scoreId, PatchScoreAccess access)
        {
            await SetAccessAsync(ownerId, scoreId, access.Access);

            var accessControl = access.Access == ScoreAccesses.Public
                ? ScoreObjectAccessControls.Public
                : ScoreObjectAccessControls.Private;

            await SetScoreItemAccessControlPolicyAsync(ownerId, scoreId, accessControl);
            await SetSnapshotAccessControlPolicyAsync(ownerId, scoreId, accessControl);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> SetAccessAsync([FromRoute(Name = "scoreId")] Guid scoreId, PatchScoreAccess access)
        {
            var authorizerData = this.GetAuthorizerData();
            var ownerId        = authorizerData.Sub;

            var accessSetter = _scoreLogics.AccessSetter;

            try
            {
                await accessSetter.SetAccessAsync(ownerId, scoreId, access);
            }
            catch (ArgumentNullException)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            catch (ArgumentException)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }

            return(Ok());
        }