public async Task <Permissions> ServiceGetPermissions() { try { await Task.CompletedTask; RunTimeMetadata metadata = GetMetadata(); Permissions result = new Permissions() { serverTimezone = DateTimeHelper.GetTimezoneOffset() }; IAuthorizer authorizer = ServiceContainer.Authorizer; foreach (DbSetInfo dbInfo in metadata.DbSets.Values) { DbSetPermit permissions = await authorizer.GetDbSetPermissions(metadata, dbInfo.dbSetName); result.permissions.Add(permissions); } return(result); } catch (Exception ex) { _OnError(ex); throw new DummyException(ex.GetFullMessage(), ex); } }
public static DbSetPermit GetDbSetPermissions(DbSetInfo dbInfo, IAuthorizer authorizer) { MethodInfo methInfo = null; DbSetPermit permit = new DbSetPermit(); methInfo = dbInfo.getOperationMethodInfo(OperationNames.CREATE); permit.canAddRow = methInfo != null && CanAccessMethod(methInfo, authorizer); methInfo = dbInfo.getOperationMethodInfo(OperationNames.UPDATE); permit.canEditRow = methInfo != null && CanAccessMethod(methInfo, authorizer); methInfo = dbInfo.getOperationMethodInfo(OperationNames.DELETE); permit.canDeleteRow = methInfo != null && CanAccessMethod(methInfo, authorizer); methInfo = dbInfo.getOperationMethodInfo(OperationNames.REFRESH); permit.canRefreshRow = methInfo != null && CanAccessMethod(methInfo, authorizer); return(permit); }
public static DbSetPermit GetDbSetPermissions(CachedMetadata metadata, string dbSetName, IAuthorizer authorizer) { MethodInfoData method = null; var permit = new DbSetPermit(); permit.dbSetName = dbSetName; method = metadata.getOperationMethodInfo(dbSetName, MethodType.Insert); permit.canAddRow = method != null && CanAccessMethod(method, authorizer); method = metadata.getOperationMethodInfo(dbSetName, MethodType.Update); permit.canEditRow = method != null && CanAccessMethod(method, authorizer); method = metadata.getOperationMethodInfo(dbSetName, MethodType.Delete); permit.canDeleteRow = method != null && CanAccessMethod(method, authorizer); method = metadata.getOperationMethodInfo(dbSetName, MethodType.Refresh); permit.canRefreshRow = method != null && CanAccessMethod(method, authorizer); return(permit); }
public static DbSetPermit GetDbSetPermissions(DbSetInfo dbInfo, IAuthorizer authorizer) { MethodInfo methInfo = null; DbSetPermit permit = new DbSetPermit(); permit.dbSetName = dbInfo.dbSetName; methInfo = dbInfo.getOperationMethodInfo(MethodType.Insert); permit.canAddRow = methInfo != null && CanAccessMethod(methInfo,authorizer); methInfo = dbInfo.getOperationMethodInfo(MethodType.Update); permit.canEditRow = methInfo != null && CanAccessMethod(methInfo, authorizer); methInfo = dbInfo.getOperationMethodInfo(MethodType.Delete); permit.canDeleteRow = methInfo != null && CanAccessMethod(methInfo, authorizer); methInfo = dbInfo.getOperationMethodInfo(MethodType.Refresh); permit.canRefreshRow = methInfo != null && CanAccessMethod(methInfo, authorizer); return permit; }