Giter Club home page Giter Club logo

go-aci's Introduction

go-aci's People

Contributors

jessecoretta avatar

Watchers

 avatar

go-aci's Issues

codecov minimum standard

Request

I would like to see the code coverage grade maintained at no less than 80% of the sum line total within this SDK. Higher coverage would be especially appreciated.

AttributeFilterOperation(s) String oddities

Following append of AttributeFilterOperation to AttributeFilterOperations (via Push() method), the Operation identifier (add= and delete=) is missing. This does not occur during manual execution of AttributeFilterOperation.String(), thus it may be a go-stackage issue.

Workaround: use private PresentationPolicy, pass executed policy as raw string to SetExpression during TargetRule/BindRule creation. I want to preserve the proper type (AttributeFilterOperation) and not rely on this workaround for too long.

Investigate.

Cyclomatic reduction

Request

To remain in line with the relevant comment in the documentation, the following files need to be reworked to bring their respective cyclomatic factors down to no greater than nine (9):

  • rules.go
  • ldap.go
  • rights.go

streamline keyword logic

I would like to streamline the keyword verification logic to reduce the need for (internal) type assertion considerably. I would also like to tie the verifications into specific types, which also reduces the need for interrogation of interface values.

Overall, the collective code representing the keyword logic could have a considerably smaller footprint, which would be desirable in the long-term.

Move doc.go contents into README.md

The README.md format is far more flexible in terms of content features and markdown than as compared to Go's native formatting. Additionally, since Go's pkgsite framework will render the README.md for the visitor automatically, there need only be one copy.

Move the entirety of doc.go into README.md, clean-up formatting, add images and get rid of doc.go.

ACI Time vs. Go Time

This is just a to-do note for me. Fix this issue.

    time_test.go:235: TestToD failed: General timeofday error: parsing time "2400": hour out of range

This issue is sporadic ... succeeding 99% of the time, and throwing the above error %1 of the time. There is actually no problem per se, but my attempt to find a balance between an input ACI clock time of 2400 and the conversion to a Go clock time of 2359 seems to have failed.

Try again.

Release demo ideas

Request

Here are some ideas for _example/main.go-type demo executables to be offered within this repository:

  • ACI Analyzer - suggest using rivo/tview due to its overwhelming coolness
  • ACI Diagram Generator - suggest using goccy/go-graphviz due to widespread adoption of graphviz in general
  • Various text/template "stubs" with simple demo
  • Convenience wrapper func examples (i.e.: helper functions the user is expected to write to suit their needs), such as:
    • DN naming context helper (avoid typos, more convenient (faster!) reference to DNs versus string literals)
    • "Controlled" ACI generator (func to accept only the arguments desired by an organization's ACI "policy")

Combine bitshifting logic

Combine Day, Level and Right bitshifting logic to greatly reduce footprint and potential pain points

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.