Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support non-Eloquent resource #17

Merged
merged 2 commits into from
Sep 14, 2023

Conversation

maartenpaauw
Copy link

Description

Add initial support for non-Eloquent resources

Motivation and context

Laravel JSON:API offers support for non-Eloquent resources.
This PR add initial support for non-Eloquent resources.

It isn't flawless because, the entity under the hood needs to implement ArrayAccess and have static all method (which is needed to generate examples). But it's a good start.

How has this been tested?

Tests are green and the JSON file is generating.

Screenshots (if appropriate)

Types of changes

What types of changes does your code introduce? Put an x in all the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

Go over all the following points, and put an x in all the boxes that apply.

Please, please, please, don't send your pull request until all of the boxes are ticked. Once your pull request is created, it will trigger a build on our continuous integration server to make sure your tests and code style pass.

  • I have read the CONTRIBUTING document.
  • My pull request addresses exactly one patch/feature.
  • I have created a branch for this patch/feature.
  • Each individual commit in the pull request is meaningful.
  • I have added tests to cover my changes.
  • If my change requires a change to the documentation, I have updated it accordingly.

If you're unsure about any of these, don't hesitate to ask. We're here to help!

@JaZo JaZo requested a review from Rocksheep September 1, 2023 13:03
@Rocksheep
Copy link
Collaborator

Hi @maartenpaauw ,

Thank you for the PR. The code looks good, but could you add tests to prove that the code works?

@Rocksheep Rocksheep changed the base branch from master to non-eloquent-resources September 14, 2023 15:05
@Rocksheep Rocksheep merged commit 8497cc3 into swisnl:non-eloquent-resources Sep 14, 2023
7 checks passed
@maartenpaauw
Copy link
Author

The project where we use this package has been postponed. As a result, I haven't had time to write tests yet.

@Rocksheep
Copy link
Collaborator

Ah alright. For now I've merged this into a separate branch and I'm expanding on it to include some tests. Thank you for your contribution 😄

@@ -167,6 +167,6 @@ public function down(): void
Schema::dropIfExists('tags');
Schema::dropIfExists('comments');
Schema::dropIfExists('videos');
// Schema::dropIfExists('posts');
// Schema::dropIfExists('posts');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is something we should fix in the entire codebase. The entire project does not adhere to our code standards. So every PR gets a load of these formatting issues that need to be resolved. It's something that just needs to be done once. You can have a go at it if you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants