Skip to content

[CONCEPT] Nullable flags #12

Open
Open
@antonkomarev

Description

@antonkomarev

It's just a concept. Not yet decided if it will be included in future.

Add nullable flags state which will means that none of the actions were performed.

To proof concept we'll look at Classic\Accept flag there could be 3 states:

  • is_accepted = null - Not accepted and not rejected yet.
  • is_accepted = true - Entity was accepted.
  • is_accepted = false - Entity was rejected.

Scopes

NULL

  • withNotYetAccepted will get true + null entities.
  • withoutNotYetAccepted will omit only null entities.
  • onlyNotYetAccepted will get only null entities.

FALSE

  • withRejected will get true + false entities.
  • withoutRejected will omit only false entities.
  • onlyRejected will get only false entities.

NULL + FALSE

  • Some method to get null + false + true entities. Right now withRejected method is removing global scope.

The main issue here that all FALSE scopes removes global scope, and entities with NULL flag will be displayed then.

// :TODO: Write test case and try to implement nullable flag

Or find another solution, like extra database table to display what entities was not accepted or rejected yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions