@23blocks/block-files 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1047,6 +1047,115 @@ function createFileAccessService(transport, _config) {
1047
1047
  };
1048
1048
  }
1049
1049
 
1050
+ const fileAccessRequestMapper = {
1051
+ type: 'file_access_request',
1052
+ map: (resource)=>{
1053
+ var _resource_attributes, _resource_attributes1, _resource_attributes2, _resource_attributes3, _resource_attributes4, _resource_attributes5, _resource_attributes6, _resource_attributes7, _resource_attributes8, _resource_attributes9, _resource_attributes10, _resource_attributes11, _resource_attributes12, _resource_attributes13, _resource_attributes14, _resource_attributes15, _resource_attributes16, _resource_attributes17;
1054
+ var _parseDate, _parseDate1, _parseString, _parseString1, _parseString2, _parseString3, _parseString4;
1055
+ return {
1056
+ uniqueId: resource.id,
1057
+ createdAt: (_parseDate = parseDate((_resource_attributes = resource.attributes) == null ? void 0 : _resource_attributes['created_at'])) != null ? _parseDate : new Date(),
1058
+ updatedAt: (_parseDate1 = parseDate((_resource_attributes1 = resource.attributes) == null ? void 0 : _resource_attributes1['updated_at'])) != null ? _parseDate1 : new Date(),
1059
+ fileUniqueId: (_parseString = parseString((_resource_attributes2 = resource.attributes) == null ? void 0 : _resource_attributes2['file_unique_id'])) != null ? _parseString : '',
1060
+ fileName: parseString((_resource_attributes3 = resource.attributes) == null ? void 0 : _resource_attributes3['file_name']),
1061
+ requesterUniqueId: (_parseString1 = parseString((_resource_attributes4 = resource.attributes) == null ? void 0 : _resource_attributes4['requester_unique_id'])) != null ? _parseString1 : '',
1062
+ requesterName: parseString((_resource_attributes5 = resource.attributes) == null ? void 0 : _resource_attributes5['requester_name']),
1063
+ requesterEmail: parseString((_resource_attributes6 = resource.attributes) == null ? void 0 : _resource_attributes6['requester_email']),
1064
+ requesterType: (_parseString2 = parseString((_resource_attributes7 = resource.attributes) == null ? void 0 : _resource_attributes7['requester_type'])) != null ? _parseString2 : 'user',
1065
+ requestedAccessLevel: (_parseString3 = parseString((_resource_attributes8 = resource.attributes) == null ? void 0 : _resource_attributes8['requested_access_level'])) != null ? _parseString3 : 'view',
1066
+ message: parseString((_resource_attributes9 = resource.attributes) == null ? void 0 : _resource_attributes9['message']),
1067
+ requestStatus: (_parseString4 = parseString((_resource_attributes10 = resource.attributes) == null ? void 0 : _resource_attributes10['request_status'])) != null ? _parseString4 : 'pending',
1068
+ reviewedByUniqueId: parseString((_resource_attributes11 = resource.attributes) == null ? void 0 : _resource_attributes11['reviewed_by_unique_id']),
1069
+ reviewedAt: parseDate((_resource_attributes12 = resource.attributes) == null ? void 0 : _resource_attributes12['reviewed_at']),
1070
+ reviewNote: parseString((_resource_attributes13 = resource.attributes) == null ? void 0 : _resource_attributes13['review_note']),
1071
+ expiresAt: parseDate((_resource_attributes14 = resource.attributes) == null ? void 0 : _resource_attributes14['expires_at']),
1072
+ status: parseStatus((_resource_attributes15 = resource.attributes) == null ? void 0 : _resource_attributes15['status']),
1073
+ enabled: parseBoolean((_resource_attributes16 = resource.attributes) == null ? void 0 : _resource_attributes16['enabled']),
1074
+ payload: (_resource_attributes17 = resource.attributes) == null ? void 0 : _resource_attributes17['payload']
1075
+ };
1076
+ }
1077
+ };
1078
+
1079
+ /**
1080
+ * Create the File Access Requests service
1081
+ */ function createFileAccessRequestsService(transport, _config) {
1082
+ return {
1083
+ async list (params) {
1084
+ const queryParams = {};
1085
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
1086
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
1087
+ if (params == null ? void 0 : params.fileUniqueId) queryParams['file_unique_id'] = params.fileUniqueId;
1088
+ if (params == null ? void 0 : params.requesterUniqueId) queryParams['requester_unique_id'] = params.requesterUniqueId;
1089
+ if (params == null ? void 0 : params.requestStatus) queryParams['request_status'] = params.requestStatus;
1090
+ if (params == null ? void 0 : params.dateFrom) queryParams['date_from'] = params.dateFrom;
1091
+ if (params == null ? void 0 : params.dateTo) queryParams['date_to'] = params.dateTo;
1092
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
1093
+ const response = await transport.get('/file_access_requests', {
1094
+ params: queryParams
1095
+ });
1096
+ return decodePageResult(response, fileAccessRequestMapper);
1097
+ },
1098
+ async get (uniqueId) {
1099
+ const response = await transport.get(`/file_access_requests/${uniqueId}`);
1100
+ return decodeOne(response, fileAccessRequestMapper);
1101
+ },
1102
+ async create (data) {
1103
+ const response = await transport.post('/file_access_requests', {
1104
+ file_access_request: {
1105
+ file_unique_id: data.fileUniqueId,
1106
+ requested_access_level: data.requestedAccessLevel,
1107
+ message: data.message,
1108
+ payload: data.payload
1109
+ }
1110
+ });
1111
+ return decodeOne(response, fileAccessRequestMapper);
1112
+ },
1113
+ async review (uniqueId, decision) {
1114
+ const response = await transport.put(`/file_access_requests/${uniqueId}/review`, {
1115
+ file_access_request: {
1116
+ decision: decision.decision,
1117
+ review_note: decision.reviewNote,
1118
+ grant_expires_at: decision.grantExpiresAt
1119
+ }
1120
+ });
1121
+ return decodeOne(response, fileAccessRequestMapper);
1122
+ },
1123
+ async cancel (uniqueId) {
1124
+ await transport.put(`/file_access_requests/${uniqueId}/cancel`, {});
1125
+ },
1126
+ async listByFile (fileUniqueId, params) {
1127
+ const queryParams = {
1128
+ file_unique_id: fileUniqueId
1129
+ };
1130
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
1131
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
1132
+ if (params == null ? void 0 : params.requestStatus) queryParams['request_status'] = params.requestStatus;
1133
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
1134
+ const response = await transport.get('/file_access_requests', {
1135
+ params: queryParams
1136
+ });
1137
+ return decodePageResult(response, fileAccessRequestMapper);
1138
+ },
1139
+ async listByRequester (requesterUniqueId, params) {
1140
+ const queryParams = {
1141
+ requester_unique_id: requesterUniqueId
1142
+ };
1143
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
1144
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
1145
+ if (params == null ? void 0 : params.requestStatus) queryParams['request_status'] = params.requestStatus;
1146
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
1147
+ const response = await transport.get('/file_access_requests', {
1148
+ params: queryParams
1149
+ });
1150
+ return decodePageResult(response, fileAccessRequestMapper);
1151
+ },
1152
+ async getPendingCount () {
1153
+ const response = await transport.get('/file_access_requests/pending_count');
1154
+ return response.count;
1155
+ }
1156
+ };
1157
+ }
1158
+
1050
1159
  function createFilesBlock(transport, config) {
1051
1160
  return {
1052
1161
  storageFiles: createStorageFilesService(transport),
@@ -1056,7 +1165,8 @@ function createFilesBlock(transport, config) {
1056
1165
  fileCategories: createFileCategoriesService(transport),
1057
1166
  fileTags: createFileTagsService(transport),
1058
1167
  delegations: createDelegationsService(transport),
1059
- fileAccess: createFileAccessService(transport)
1168
+ fileAccess: createFileAccessService(transport),
1169
+ fileAccessRequests: createFileAccessRequestsService(transport)
1060
1170
  };
1061
1171
  }
1062
1172
  const filesBlockMetadata = {
@@ -1071,8 +1181,9 @@ const filesBlockMetadata = {
1071
1181
  'FileCategory',
1072
1182
  'FileTag',
1073
1183
  'FileDelegation',
1074
- 'FileAccess'
1184
+ 'FileAccess',
1185
+ 'FileAccessRequest'
1075
1186
  ]
1076
1187
  };
1077
1188
 
1078
- export { createDelegationsService, createEntityFilesService, createFileAccessService, createFileCategoriesService, createFileSchemasService, createFileTagsService, createFilesBlock, createStorageFilesService, createUserFilesService, entityFileMapper, fileAccessMapper, fileCategoryMapper, fileDelegationMapper, fileSchemaMapper, fileTagMapper, filesBlockMetadata, parseBoolean, parseDate, parseNumber, parseOptionalNumber, parseStatus, parseString, parseStringArray, storageFileMapper, userFileMapper };
1189
+ export { createDelegationsService, createEntityFilesService, createFileAccessRequestsService, createFileAccessService, createFileCategoriesService, createFileSchemasService, createFileTagsService, createFilesBlock, createStorageFilesService, createUserFilesService, entityFileMapper, fileAccessMapper, fileAccessRequestMapper, fileCategoryMapper, fileDelegationMapper, fileSchemaMapper, fileTagMapper, filesBlockMetadata, parseBoolean, parseDate, parseNumber, parseOptionalNumber, parseStatus, parseString, parseStringArray, storageFileMapper, userFileMapper };
@@ -1,5 +1,5 @@
1
1
  import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';
2
- import { type StorageFilesService, type EntityFilesService, type FileSchemasService, type UserFilesService, type FileCategoriesService, type FileTagsService, type DelegationsService, type FileAccessService } from './services';
2
+ import { type StorageFilesService, type EntityFilesService, type FileSchemasService, type UserFilesService, type FileCategoriesService, type FileTagsService, type DelegationsService, type FileAccessService, type FileAccessRequestsService } from './services';
3
3
  export interface FilesBlockConfig extends BlockConfig {
4
4
  appId: string;
5
5
  tenantId?: string;
@@ -13,6 +13,7 @@ export interface FilesBlock {
13
13
  fileTags: FileTagsService;
14
14
  delegations: DelegationsService;
15
15
  fileAccess: FileAccessService;
16
+ fileAccessRequests: FileAccessRequestsService;
16
17
  }
17
18
  export declare function createFilesBlock(transport: Transport, config: FilesBlockConfig): FilesBlock;
18
19
  export declare const filesBlockMetadata: BlockMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"files.block.d.ts","sourceRoot":"","sources":["../../../src/lib/files.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EASL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,kBAAkB,CAAC;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,qBAAqB,CAAC;IACtC,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAWZ;AAED,eAAO,MAAM,kBAAkB,EAAE,aAchC,CAAC"}
1
+ {"version":3,"file":"files.block.d.ts","sourceRoot":"","sources":["../../../src/lib/files.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAUL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,kBAAkB,CAAC;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,cAAc,EAAE,qBAAqB,CAAC;IACtC,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAYZ;AAED,eAAO,MAAM,kBAAkB,EAAE,aAehC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceMapper } from '@23blocks/jsonapi-codec';
2
+ import type { FileAccessRequest } from '../types/file-access-request';
3
+ export declare const fileAccessRequestMapper: ResourceMapper<FileAccessRequest>;
4
+ //# sourceMappingURL=file-access-request.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-request.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/file-access-request.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,8BAA8B,CAAC;AAG3F,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,iBAAiB,CAuBrE,CAAC"}
@@ -6,5 +6,6 @@ export * from './file-category.mapper';
6
6
  export * from './file-tag.mapper';
7
7
  export * from './delegation.mapper';
8
8
  export * from './file-access.mapper';
9
+ export * from './file-access-request.mapper';
9
10
  export * from './utils';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,SAAS,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { FileAccessRequest, CreateFileAccessRequestInput, ReviewFileAccessRequestInput, ListFileAccessRequestsParams } from '../types/file-access-request';
3
+ /**
4
+ * File Access Requests Service Interface - Manage access requests to files
5
+ */
6
+ export interface FileAccessRequestsService {
7
+ /**
8
+ * List all access requests
9
+ */
10
+ list(params?: ListFileAccessRequestsParams): Promise<PageResult<FileAccessRequest>>;
11
+ /**
12
+ * Get a specific access request
13
+ */
14
+ get(uniqueId: string): Promise<FileAccessRequest>;
15
+ /**
16
+ * Create a new access request
17
+ */
18
+ create(data: CreateFileAccessRequestInput): Promise<FileAccessRequest>;
19
+ /**
20
+ * Review (approve/reject) an access request
21
+ */
22
+ review(uniqueId: string, decision: ReviewFileAccessRequestInput): Promise<FileAccessRequest>;
23
+ /**
24
+ * Cancel a pending access request
25
+ */
26
+ cancel(uniqueId: string): Promise<void>;
27
+ /**
28
+ * List requests for a specific file (for file owners)
29
+ */
30
+ listByFile(fileUniqueId: string, params?: ListFileAccessRequestsParams): Promise<PageResult<FileAccessRequest>>;
31
+ /**
32
+ * List requests made by a specific user
33
+ */
34
+ listByRequester(requesterUniqueId: string, params?: ListFileAccessRequestsParams): Promise<PageResult<FileAccessRequest>>;
35
+ /**
36
+ * Get pending requests count for a file owner
37
+ */
38
+ getPendingCount(): Promise<number>;
39
+ }
40
+ /**
41
+ * Create the File Access Requests service
42
+ */
43
+ export declare function createFileAccessRequestsService(transport: Transport, _config: {
44
+ appId: string;
45
+ }): FileAccessRequestsService;
46
+ //# sourceMappingURL=file-access-requests.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-requests.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/file-access-requests.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,8BAA8B,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpF;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE7F;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhH;;OAEG;IACH,eAAe,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE1H;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACzB,yBAAyB,CAsF3B"}
@@ -6,4 +6,5 @@ export * from './file-categories.service';
6
6
  export * from './file-tags.service';
7
7
  export * from './delegations.service';
8
8
  export * from './file-access.service';
9
+ export * from './file-access-requests.service';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ /**
3
+ * Access request status
4
+ */
5
+ export type AccessRequestStatus = 'pending' | 'approved' | 'rejected' | 'expired' | 'cancelled';
6
+ /**
7
+ * File access request - request to gain access to a file
8
+ */
9
+ export interface FileAccessRequest extends IdentityCore {
10
+ fileUniqueId: string;
11
+ fileName?: string;
12
+ requesterUniqueId: string;
13
+ requesterName?: string;
14
+ requesterEmail?: string;
15
+ requesterType: string;
16
+ requestedAccessLevel: 'view' | 'download' | 'edit' | 'admin';
17
+ message?: string;
18
+ requestStatus: AccessRequestStatus;
19
+ reviewedByUniqueId?: string;
20
+ reviewedAt?: Date;
21
+ reviewNote?: string;
22
+ expiresAt?: Date;
23
+ status: EntityStatus;
24
+ enabled: boolean;
25
+ payload?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * Create file access request
29
+ */
30
+ export interface CreateFileAccessRequestInput {
31
+ fileUniqueId: string;
32
+ requestedAccessLevel: 'view' | 'download' | 'edit' | 'admin';
33
+ message?: string;
34
+ payload?: Record<string, unknown>;
35
+ }
36
+ /**
37
+ * Review file access request (approve/reject)
38
+ */
39
+ export interface ReviewFileAccessRequestInput {
40
+ decision: 'approve' | 'reject';
41
+ reviewNote?: string;
42
+ grantExpiresAt?: string;
43
+ }
44
+ /**
45
+ * List file access requests params
46
+ */
47
+ export interface ListFileAccessRequestsParams {
48
+ page?: number;
49
+ perPage?: number;
50
+ fileUniqueId?: string;
51
+ requesterUniqueId?: string;
52
+ requestStatus?: AccessRequestStatus;
53
+ dateFrom?: string;
54
+ dateTo?: string;
55
+ sortBy?: string;
56
+ sortOrder?: 'asc' | 'desc';
57
+ }
58
+ //# sourceMappingURL=file-access-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-request.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/file-access-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
@@ -6,4 +6,5 @@ export * from './file-category';
6
6
  export * from './file-tag';
7
7
  export * from './delegation';
8
8
  export * from './file-access';
9
+ export * from './file-access-request';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/block-files",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Files block for 23blocks SDK - storage, upload, download, file management",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",