44
55// use Laravel\Sanctum\HasApiTokens;
66use App \Http \Traits \WithJwtUser ;
7- use Laravel \Passport \HasApiTokens ;
8- use Illuminate \Notifications \Notifiable ;
9- use Illuminate \Database \Eloquent \SoftDeletes ;
10- use Illuminate \Database \Eloquent \Relations \HasOne ;
11- use Illuminate \Database \Eloquent \Relations \HasMany ;
127use Illuminate \Database \Eloquent \Factories \HasFactory ;
13- use Illuminate \Foundation \Auth \User as Authenticatable ;
14- use Illuminate \Database \Eloquent \Relations \BelongsToMany ;
158use Illuminate \Database \Eloquent \Relations \BelongsTo ;
9+ use Illuminate \Database \Eloquent \Relations \BelongsToMany ;
10+ use Illuminate \Database \Eloquent \Relations \HasMany ;
11+ use Illuminate \Database \Eloquent \Relations \HasOne ;
12+ use Illuminate \Database \Eloquent \SoftDeletes ;
13+ use Illuminate \Foundation \Auth \User as Authenticatable ;
14+ use Illuminate \Notifications \Notifiable ;
15+ use Laravel \Passport \HasApiTokens ;
1616
1717class User extends Authenticatable
1818{
19+ use HasApiTokens;
1920 use HasFactory;
2021 use Notifiable;
2122 use SoftDeletes;
2223 use WithJwtUser;
23- use HasApiTokens;
2424
2525 /**
2626 * The attributes that are mass assignable.
@@ -75,14 +75,12 @@ class User extends Authenticatable
7575 'is_nhse_sde_approval ' => 'boolean ' ,
7676 ];
7777
78-
7978 public function sector (): BelongsTo
8079 {
8180 return $ this ->belongsTo (Sector::class);
8281 }
8382
84-
85- protected $ appends = ['rquestroles ' , 'cohort_discovery_roles ' ];
83+ protected $ appends = ['rquestroles ' , 'cohort_discovery_roles ' , 'cohort_discovery_nhs_sde ' ];
8684
8785 public function getCohortDiscoveryRolesAttribute ()
8886 {
@@ -93,12 +91,12 @@ public function getCohortDiscoveryRolesAttribute()
9391 'request_status ' => 'APPROVED ' ,
9492 ])->first ();
9593
96- if (!$ cohortRequest ) {
94+ if (! $ cohortRequest ) {
9795 return [];
9896 }
9997
10098 $ cohortRequestRoleIds = CohortRequestHasPermission::where ([
101- 'cohort_request_id ' => $ cohortRequest ->id
99+ 'cohort_request_id ' => $ cohortRequest ->id ,
102100 ])->pluck ('permission_id ' )->toArray ();
103101
104102 $ cohortRequestRoles = Permission::whereIn ('id ' , $ cohortRequestRoleIds )->pluck ('name ' )->toArray ();
@@ -115,19 +113,34 @@ public function getRquestRolesAttribute()
115113 'request_status ' => 'APPROVED ' ,
116114 ])->first ();
117115
118- if (!$ cohortRequest ) {
116+ if (! $ cohortRequest ) {
119117 return [];
120118 }
121119
122120 $ cohortRequestRoleIds = CohortRequestHasPermission::where ([
123- 'cohort_request_id ' => $ cohortRequest ->id
121+ 'cohort_request_id ' => $ cohortRequest ->id ,
124122 ])->pluck ('permission_id ' )->toArray ();
125123
126124 $ cohortRequestRoles = Permission::whereIn ('id ' , $ cohortRequestRoleIds )->pluck ('name ' )->toArray ();
127125
128126 return $ cohortRequestRoles ;
129127 }
130128
129+ public function getCohortDiscoveryNhsSdeAttribute ()
130+ {
131+ $ id = $ this ->id ;
132+
133+ $ nhsSdeApproved = CohortRequest::where ([
134+ 'user_id ' => $ id ,
135+ 'request_status ' => 'APPROVED ' ,
136+ 'nhse_sde_request_status ' => 'APPROVED ' ,
137+ ])
138+ ->whereNull ('nhse_sde_request_expire_at ' )
139+ ->exists ();
140+
141+ return $ nhsSdeApproved ;
142+ }
143+
131144 /**
132145 * Get the tool that owns the user
133146 */
0 commit comments