Coder Social home page Coder Social logo

machinery's People

Contributors

bomoko avatar cgoodwin90 avatar nicksantamaria avatar rocketeerbkw avatar shreddedbacon avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

nicksantamaria

machinery's Issues

Update AddNotificationX to support organizations

The AddNotificationToSlack and others also allow an organization: Int when being created so they are assigned to an organization. Organization owners are allowed to run this with the ID provided and it will create the notification in the organization.

It would be great for machinery to support this in its schema and other functions. If the provided ID to the existing mutation is not provided (1+) then it does not provide the ID to the mutation variables

GroupInput is wrong type.

I was trying to use AddGroupToProject and I think I've found a discrepancy.

type ProjectGroupsInput{} takes a ProjectInput{} which takes a uint Id along with the project name.

It also gets an array of GroupInput. which is an alias for ProjectInput so takes the same Id and Name.

However a group id is not a uint, it's a uuid.Uuid in type Group{}

So, my question is, do we need the Name at all if we have the Id for both ProjectInput and GroupInput? More importantly, should we have a new type:

 type GroupInput struct {
   Id *uuid.Uuid,
   Name string,
 }

add support for raw

Sometimes you may need a query that is a bit more specific than what is offered here

We should provide a way to provide a custom graphql query/mutation and the response being just the raw JSON response from the api

Application security in CI

This issue tracks the rollout of application security in CI, including:

  • Dependabot
  • CodeQL
  • secret scanning
  • private vulnerability reporting
  • dependency review
  • OpenSSF scorecard and best practices
  • release signing
  • release SBOMs
  • test coverage
  • code linters

Better naming of queries and mutations to suit permission levels

As we're seeing more usage of this library amongst our own tooling, and that other people may be using this in their own tools too, we need to be more aware of when a particular function call may require elevated permissions than what general Lagoon RBAC would offer. For example, when a query or mutation requires platform-owner permission or greater, we should make this obvious some how in the query or mutation function name, or namespace them better within the client.

Also, recreating standard queries try to be as RBAC neutral where possible. This would allow for permission errors that would be returned to be genuine based on the requests that the user has performed knowingly. Some of this may not be possible with the current APIs structure, where some fields are retrievable by some roles, but we could still try to be as close to this as possible.

Permissions problem using ProjectByName

I was looking to get a project ID, to determine is the project already exists, so used client.Client().ProjectByName()

It returns:

Error getting project project-name graphql: Unauthorized: You don't have permission to "view:user" on "ssh_key": {"users":["uuid-shaped-key"]}

I changed this to use ProjectByNameExtended() and it worked perfectly. I've not really dug into this but I'm assuming it's an issue server side in GraphQL somewhere, and thought I should make you aware.

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.