daniel-de-wit / lighthouse-sanctum

Laravel Sanctum support for Laravel Lighthouse
MIT License
57 stars 9 forks source link

Improve extendability of the register mutation #58

Closed wimski closed 3 years ago

wimski commented 3 years ago

Improve extendability of the register mutation by filling and saving user in separate method, which can be easily overridden.

Example

// sanctum.graphql
input RegisterInput {
    first_name: String!
    last_name: String!
    company_id: ID! @rules(apply: ["bail", "uuid", "exists:companies,id"])
    email: String! @rules(apply: ["bail", "email", "unique:users,email"])
    password: String! @rules(apply: ["confirmed"])
    password_confirmation: String!
    verification_url: VerificationUrlInput
}
use DanielDeWit\LighthouseSanctum\GraphQL\Mutations\Register as BaseRegister;

class Register extends BaseRegister
{
    /**
     * @param Model $user
     * @param array<string, mixed> $attributes
     * @return Model
     */
    protected function saveUser(Model $user, array $attributes): Model
    {
        $userAttributes = Arr::except($attributes, [
            'company_id',
        ]);

        $company = Company::findOrFail($attributes['company_id']);

        $user->fill($userAttributes);
        $user->company()->associate($company);
        $user->save();

        return $user;
    }
}
coveralls commented 3 years ago

Pull Request Test Coverage Report for Build 956289625


Totals Coverage Status
Change from base Build 831585981: 0.0%
Covered Lines: 155
Relevant Lines: 155

πŸ’› - Coveralls
coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 918069796

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details


Totals Coverage Status
Change from base Build 831585981: 0.0%
Covered Lines: 155
Relevant Lines: 155

πŸ’› - Coveralls
coveralls commented 1 month ago

Pull Request Test Coverage Report for Build 918069796

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details


Totals Coverage Status
Change from base Build 831585981: 0.0%
Covered Lines: 155
Relevant Lines: 155

πŸ’› - Coveralls