Skip to content

Commit 48383b9

Browse files
committed
deploy: 1671e1c
1 parent 98b70d4 commit 48383b9

28 files changed

+1201
-1106
lines changed

controllers/FilestorageController.html

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ <h6><b>Methods</b></h6>
169169
<a href="#readPath" >readPath</a>
170170
</li>
171171
<li>
172+
<span class="modifier"></span>
172173
<span class="modifier"></span>
173174
<span class="modifier"></span>
174175
<span class="modifier">Public</span>
@@ -179,6 +180,7 @@ <h6><b>Methods</b></h6>
179180
<span class="modifier"></span>
180181
<span class="modifier"></span>
181182
<span class="modifier"></span>
183+
<span class="modifier"></span>
182184
<span class="modifier">Public</span>
183185
<span class="modifier">Async</span>
184186
<a href="#readRawData" >readRawData</a>
@@ -528,6 +530,7 @@ <h3 id="methods">
528530
<td class="col-md-4">
529531
<a name="readPathRawData"></a>
530532
<span class="name">
533+
<span class="modifier"></span>
531534
<span class="modifier"></span>
532535
<span class="modifier"></span>
533536
<span class="modifier">Public</span>
@@ -548,14 +551,14 @@ <h3 id="methods">
548551
<td class="col-md-4">
549552
<b>Decorators : </b>
550553
<br />
551-
<code>@Get(&#x27;path/raw&#x27;)<br />@ApiReadResponseDecorator(FilestorageDto)<br /></code>
554+
<code>@Get(&#x27;path/raw&#x27;)<br />@ApiReadResponseDecorator(FilestorageDto)<br />@ApiQuery({name: &#x27;mime&#x27;, required: false, type: String})<br /></code>
552555
</td>
553556
</tr>
554557

555558
<tr>
556559
<td class="col-md-4">
557-
<div class="io-line">Defined in <a href="" data-line="141"
558-
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:141</a></div>
560+
<div class="io-line">Defined in <a href="" data-line="151"
561+
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:151</a></div>
559562
</td>
560563
</tr>
561564

@@ -656,6 +659,7 @@ <h3 id="methods">
656659
<span class="modifier"></span>
657660
<span class="modifier"></span>
658661
<span class="modifier"></span>
662+
<span class="modifier"></span>
659663
<span class="modifier">Public</span>
660664
<span class="modifier">Async</span>
661665
<span ><b>readRawData</b></span>
@@ -674,14 +678,14 @@ <h3 id="methods">
674678
<td class="col-md-4">
675679
<b>Decorators : </b>
676680
<br />
677-
<code>@Get(&#x27;:_id([0-9a-fA-F]{24})/raw&#x27;)<br />@ApiParam({name: &#x27;_id&#x27;, type: String})<br />@ApiReadResponseDecorator(FilestorageDto)<br /></code>
681+
<code>@Get(&#x27;:_id([0-9a-fA-F]{24})/raw&#x27;)<br />@ApiParam({name: &#x27;_id&#x27;, type: String})<br />@ApiReadResponseDecorator(FilestorageDto)<br />@ApiQuery({name: &#x27;mime&#x27;, required: false, type: String})<br /></code>
678682
</td>
679683
</tr>
680684

681685
<tr>
682686
<td class="col-md-4">
683-
<div class="io-line">Defined in <a href="" data-line="130"
684-
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:130</a></div>
687+
<div class="io-line">Defined in <a href="" data-line="135"
688+
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:135</a></div>
685689
</td>
686690
</tr>
687691

@@ -792,8 +796,8 @@ <h3 id="methods">
792796

793797
<tr>
794798
<td class="col-md-4">
795-
<div class="io-line">Defined in <a href="" data-line="169"
796-
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:169</a></div>
799+
<div class="io-line">Defined in <a href="" data-line="179"
800+
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:179</a></div>
797801
</td>
798802
</tr>
799803

@@ -999,8 +1003,8 @@ <h3 id="methods">
9991003

10001004
<tr>
10011005
<td class="col-md-4">
1002-
<div class="io-line">Defined in <a href="" data-line="154"
1003-
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:154</a></div>
1006+
<div class="io-line">Defined in <a href="" data-line="164"
1007+
class="link-to-prism">src/core/filestorage/filestorage.controller.ts:164</a></div>
10041008
</td>
10051009
</tr>
10061010

@@ -1090,7 +1094,7 @@ <h3 id="methods">
10901094
UseInterceptors,
10911095
} from &#x27;@nestjs/common&#x27;;
10921096
import { FileInterceptor } from &#x27;@nestjs/platform-express&#x27;;
1093-
import { ApiParam, ApiTags } from &#x27;@nestjs/swagger&#x27;;
1097+
import { ApiParam, ApiQuery, ApiTags } from &#x27;@nestjs/swagger&#x27;;
10941098
import {
10951099
FilterOptions,
10961100
FilterSchema,
@@ -1203,6 +1207,11 @@ <h3 id="methods">
12031207
@Get(&#x27;:_id([0-9a-fA-F]{24})/raw&#x27;)
12041208
@ApiParam({ name: &#x27;_id&#x27;, type: String })
12051209
@ApiReadResponseDecorator(FilestorageDto)
1210+
@ApiQuery({
1211+
name: &#x27;mime&#x27;,
1212+
required: false,
1213+
type: String,
1214+
})
12061215
public async readRawData(
12071216
@Res() res: Response,
12081217
@Param(&#x27;_id&#x27;, ObjectIdValidationPipe) _id: Types.ObjectId,
@@ -1214,6 +1223,11 @@ <h3 id="methods">
12141223

12151224
@Get(&#x27;path/raw&#x27;)
12161225
@ApiReadResponseDecorator(FilestorageDto)
1226+
@ApiQuery({
1227+
name: &#x27;mime&#x27;,
1228+
required: false,
1229+
type: String,
1230+
})
12171231
public async readPathRawData(
12181232
@Res() res: Response,
12191233
@Query(&#x27;namespace&#x27;) namespace: string,

controllers/IdentitiesPhotoController.html

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ <h3 id="methods">
199199
<tr>
200200
<td class="col-md-4">
201201
<span class="modifier-icon icon ion-ios-reset"></span>
202-
<code>readPhotoRaw(res: Response, searchFilterSchema: FilterSchema, mime: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
202+
<code>readPhotoRaw(res: Response, searchFilterSchema: FilterSchema, id: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, key: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, mime: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
203203
</td>
204204
</tr>
205205

@@ -213,8 +213,8 @@ <h3 id="methods">
213213

214214
<tr>
215215
<td class="col-md-4">
216-
<div class="io-line">Defined in <a href="" data-line="97"
217-
class="link-to-prism">src/management/identities/identities-photo.controller.ts:97</a></div>
216+
<div class="io-line">Defined in <a href="" data-line="102"
217+
class="link-to-prism">src/management/identities/identities-photo.controller.ts:102</a></div>
218218
</td>
219219
</tr>
220220

@@ -262,6 +262,34 @@ <h3 id="methods">
262262
<td>
263263
</td>
264264

265+
</tr>
266+
<tr>
267+
<td>id</td>
268+
<td>
269+
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
270+
</td>
271+
272+
<td>
273+
No
274+
</td>
275+
276+
<td>
277+
</td>
278+
279+
</tr>
280+
<tr>
281+
<td>key</td>
282+
<td>
283+
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
284+
</td>
285+
286+
<td>
287+
No
288+
</td>
289+
290+
<td>
291+
</td>
292+
265293
</tr>
266294
<tr>
267295
<td>mime</td>
@@ -325,8 +353,8 @@ <h3 id="methods">
325353

326354
<tr>
327355
<td class="col-md-4">
328-
<div class="io-line">Defined in <a href="" data-line="56"
329-
class="link-to-prism">src/management/identities/identities-photo.controller.ts:56</a></div>
356+
<div class="io-line">Defined in <a href="" data-line="61"
357+
class="link-to-prism">src/management/identities/identities-photo.controller.ts:61</a></div>
330358
</td>
331359
</tr>
332360

@@ -421,6 +449,7 @@ <h3 id="methods">
421449
Post,
422450
Query,
423451
Res,
452+
UnauthorizedException,
424453
UploadedFile,
425454
UseInterceptors,
426455
} from &#x27;@nestjs/common&#x27;;
@@ -444,6 +473,9 @@ <h3 id="methods">
444473
import { PaginatedFilterDto } from &#x27;~/_common/dto/paginated-filter.dto&#x27;;
445474
import { IdentitiesCrudService } from &#x27;~/management/identities/identities-crud.service&#x27;;
446475
import { Public } from &#x27;~/_common/decorators/public.decorator&#x27;;
476+
import { Agents } from &#x27;~/core/agents/_schemas/agents.schema&#x27;;
477+
import { hash } from &#x27;crypto&#x27;;
478+
import { AgentsService } from &#x27;~/core/agents/agents.service&#x27;;
447479

448480
@ApiTags(&#x27;management/identities&#x27;)
449481
@Controller(&#x27;identities&#x27;)
@@ -453,6 +485,7 @@ <h3 id="methods">
453485
protected readonly _validation: IdentitiesValidationService,
454486
protected readonly filestorage: FilestorageService,
455487
private readonly transformerService: TransformersFilestorageService,
488+
private agentsService: AgentsService,
456489
) {
457490
super();
458491
}
@@ -511,8 +544,15 @@ <h3 id="methods">
511544
public async readPhotoRaw(
512545
@Res() res: Response,
513546
@SearchFilterSchema() searchFilterSchema: FilterSchema,
547+
@Query(&#x27;id&#x27;) id: string,
548+
@Query(&#x27;key&#x27;) key: string,
514549
@Query(&#x27;mime&#x27;) mime: string &#x3D; &#x27;&#x27;,
515550
): Promise&lt;void&gt; {
551+
if (!id || !key) throw new UnauthorizedException();
552+
const user &#x3D; await this.agentsService.findById&lt;Agents&gt;(id);
553+
if (!user) throw new UnauthorizedException();
554+
if (key !&#x3D;&#x3D; hash(&#x27;sha256&#x27;, user.security.secretKey)) throw new UnauthorizedException();
555+
516556
const identity &#x3D; await this._service.findOne&lt;Identities&gt;(searchFilterSchema);
517557
const [data, stream, parent] &#x3D; await this.filestorage.findOneWithRawData({
518558
namespace: &#x27;identities&#x27;,

0 commit comments

Comments
 (0)