Skip to content

Commit

Permalink
Merge pull request #166 from bildvitta/develop
Browse files Browse the repository at this point in the history
Develop to Master
  • Loading branch information
michaelnakamura authored Jan 16, 2025
2 parents a14cc51 + fbb8310 commit b4a2b75
Show file tree
Hide file tree
Showing 10 changed files with 476 additions and 2 deletions.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,17 @@ Broadcast::routes([
]);
```

Ensure that the $user->uuid is the same as that used in the hub, otherwise it may result in a 403 in this private channel authentication api.

To finish, go to the BroadcastServiceProvider file and change it to this code.

```php
Broadcast::routes([
'middleware' => ['hub.check'],
'prefix' => 'api',
]);
```

## Testing

coming soon...
Expand Down
12 changes: 10 additions & 2 deletions config/hub.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

return [
'base_uri' => env('MS_HUB_BASE_URI', 'https://api-dev-hub.nave.dev'),
'base_uri' => env('MS_HUB_BASE_URI', 'https://hub-server.nave.dev.br'),

'front_uri' => env('MS_HUB_FRONT_URI', 'https://develop.hub.nave.dev'),
'front_uri' => env('MS_HUB_FRONT_URI', 'https://hub.nave.dev.br'),

'prefix' => env('MS_HUB_API_PREFIX', '/api'),

Expand Down Expand Up @@ -37,4 +37,12 @@
'userinfo_edit' => '/me',
],

'db' => [
'host' => env('MS_HUB_DB_HOST'),
'port' => env('MS_HUB_DB_PORT'),
'database' => env('MS_HUB_DB_DATABASE'),
'username' => env('MS_HUB_DB_USERNAME'),
'password' => env('MS_HUB_DB_PASSWORD'),
],

];
42 changes: 42 additions & 0 deletions src/Models/Brand.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php

namespace BildVitta\Hub\Models;

use BildVitta\Hub\Traits\UsesHubDB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;

class Brand extends Model
{
use SoftDeletes;
use UsesHubDB;

protected $connection = 'iss-sdk';

protected $table = 'brands';

protected $guard_name = 'web';

public static function boot()
{
parent::boot();

self::creating(function ($model) {
$model->uuid = (string) Uuid::uuid4();
});
}

public function getRouteKeyName()
{
return 'uuid';
}

//

public function companies(): HasMany
{
return $this->hasMany(Company::class);
}
}
71 changes: 71 additions & 0 deletions src/Models/Company.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?php

namespace BildVitta\Hub\Models;

use BildVitta\Hub\Traits\UsesHubDB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;

class Company extends Model
{
use SoftDeletes;
use UsesHubDB;

protected $connection = 'iss-sdk';

protected $table = 'companies';

protected $guard_name = 'web';

public static function boot()
{
parent::boot();

self::creating(function ($model) {
$model->uuid = (string) Uuid::uuid4();
});
}

public function getRouteKeyName()
{
return 'uuid';
}

//

public function users(): HasManyThrough
{
return $this->hasManyThrough(
User::class,
UserCompany::class,
'company_id',
'id',
'id',
'user_id'
);
}

public function main_company(): BelongsTo
{
return $this->belongsTo(Company::class, 'main_company_id', 'id');
}

public function sub_companies(): HasMany
{
return $this->hasMany(Company::class, 'main_company_id', 'id');
}

public function user_companies(): HasMany
{
return $this->hasMany(UserCompany::class, 'company_id', 'id');
}

public function brand(): BelongsTo
{
return $this->belongsTo(Brand::class, 'brand_id', 'id');
}
}
53 changes: 53 additions & 0 deletions src/Models/Position.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<?php

namespace BildVitta\Hub\Models;

use BildVitta\Hub\Traits\UsesHubDB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;

class Position extends Model
{
use SoftDeletes;
use UsesHubDB;

protected $connection = 'iss-sdk';

protected $table = 'positions';

protected $guard_name = 'web';

public static function boot()
{
parent::boot();

self::creating(function ($model) {
$model->uuid = (string) Uuid::uuid4();
});
}

public function getRouteKeyName()
{
return 'uuid';
}

//

public function company(): BelongsTo
{
return $this->belongsTo(Company::class);
}

public function parent_position(): BelongsTo
{
return $this->belongsTo(Position::class, 'parent_position_id', 'id');
}

public function user_companies(): HasMany
{
return $this->hasMany(UserCompany::class, 'position_id', 'id');
}
}
58 changes: 58 additions & 0 deletions src/Models/User.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php

namespace BildVitta\Hub\Models;

use BildVitta\Hub\Traits\UsesHubDB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;

class User extends Model
{
use SoftDeletes;
use UsesHubDB;

protected $connection = 'iss-sdk';

protected $table = 'users';

protected $guard_name = 'web';

public const TYPE_LIST = [
'cpf' => 'Pessoa física',
'cnpj' => 'Pessoa jurídica',
];

public const KIND_LIST = [
'self_employed' => 'Autônomo',
'employee' => 'Colaborador',
];

public static function boot()
{
parent::boot();

self::creating(function ($model) {
$model->uuid = (string) Uuid::uuid4();
});
}

public function getRouteKeyName()
{
return 'uuid';
}

//

public function company(): BelongsTo
{
return $this->belongsTo(Company::class, 'company_id', 'id');
}

public function user_companies(): HasMany
{
return $this->hasMany(UserCompany::class, 'user_id', 'id');
}
}
100 changes: 100 additions & 0 deletions src/Models/UserCompany.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<?php

namespace BildVitta\Hub\Models;

use BildVitta\Hub\Traits\UsesHubDB;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Relations\MorphMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Ramsey\Uuid\Uuid;

class UserCompany extends Model
{
use SoftDeletes;
use UsesHubDB;

protected $connection = 'iss-sdk';

protected $table = 'user_companies';

protected $guard_name = 'web';

public static function boot()
{
parent::boot();

self::creating(function ($model) {
$model->uuid = (string) Uuid::uuid4();
});
}

public function getRouteKeyName()
{
return 'uuid';
}

//

public function user(): BelongsTo
{
return $this->belongsTo(User::class, 'user_id', 'id');
}

public function users(): HasMany
{
return $this->hasMany(User::class, 'user_id', 'id');
}

public function company(): BelongsTo
{
return $this->belongsTo(Company::class, 'company_id', 'id');
}

public function position(): BelongsTo
{
return $this->belongsTo(Position::class, 'position_id', 'id');
}

public function user_company_parent(): HasOne
{
return $this->hasOne(UserCompanyParentPosition::class, 'user_company_parent_id', 'id');
}

public function user_company_children(): HasOne
{
return $this->hasOne(UserCompanyParentPosition::class, 'user_company_id', 'id');
}

public function children_positions(): HasManyThrough
{
return $this->hasManyThrough(
UserCompany::class,
UserCompanyParentPosition::class,
'user_company_parent_id',
'id',
'id',
'user_company_id',
);
}

public function parent_position(): HasManyThrough
{
return $this->hasManyThrough(
UserCompany::class,
UserCompanyParentPosition::class,
'user_company_id',
'id',
'id',
'user_company_parent_id',
);
}

public function real_estate_developments(): MorphMany
{
return $this->morphMany(UserCompanyRealEstateDevelopment::class, 'linkable');
}
}
Loading

0 comments on commit b4a2b75

Please sign in to comment.