@23blocks/block-files 3.3.0 → 3.4.1
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 +121 -10
- package/dist/src/lib/files.block.d.ts +2 -1
- package/dist/src/lib/files.block.d.ts.map +1 -1
- package/dist/src/lib/mappers/file-access-request.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/file-access-request.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/index.d.ts +1 -0
- package/dist/src/lib/mappers/index.d.ts.map +1 -1
- package/dist/src/lib/services/file-access-requests.service.d.ts +46 -0
- package/dist/src/lib/services/file-access-requests.service.d.ts.map +1 -0
- package/dist/src/lib/services/index.d.ts +1 -0
- package/dist/src/lib/services/index.d.ts.map +1 -1
- package/dist/src/lib/types/file-access-request.d.ts +58 -0
- package/dist/src/lib/types/file-access-request.d.ts.map +1 -0
- package/dist/src/lib/types/index.d.ts +1 -0
- package/dist/src/lib/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -78,7 +78,7 @@ const storageFileMapper = {
|
|
|
78
78
|
type: 'StorageFile',
|
|
79
79
|
map: (resource)=>({
|
|
80
80
|
id: resource.id,
|
|
81
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
81
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
82
82
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
83
83
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
84
84
|
ownerUniqueId: parseString(resource.attributes['owner_unique_id']) || '',
|
|
@@ -208,7 +208,7 @@ const entityFileMapper = {
|
|
|
208
208
|
type: 'EntityFile',
|
|
209
209
|
map: (resource)=>({
|
|
210
210
|
id: resource.id,
|
|
211
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
211
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
212
212
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
213
213
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
214
214
|
entityUniqueId: parseString(resource.attributes['entity_unique_id']) || '',
|
|
@@ -305,7 +305,7 @@ const fileSchemaMapper = {
|
|
|
305
305
|
type: 'FileSchema',
|
|
306
306
|
map: (resource)=>({
|
|
307
307
|
id: resource.id,
|
|
308
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
308
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
309
309
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
310
310
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
311
311
|
code: parseString(resource.attributes['code']) || '',
|
|
@@ -699,7 +699,7 @@ const fileCategoryMapper = {
|
|
|
699
699
|
type: 'FileCategory',
|
|
700
700
|
map: (resource)=>({
|
|
701
701
|
id: resource.id,
|
|
702
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
702
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
703
703
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
704
704
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
705
705
|
code: parseString(resource.attributes['code']) || '',
|
|
@@ -779,7 +779,7 @@ const fileTagMapper = {
|
|
|
779
779
|
type: 'FileTag',
|
|
780
780
|
map: (resource)=>({
|
|
781
781
|
id: resource.id,
|
|
782
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
782
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
783
783
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
784
784
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
785
785
|
code: parseString(resource.attributes['code']) || '',
|
|
@@ -856,7 +856,7 @@ const fileDelegationMapper = {
|
|
|
856
856
|
type: 'FileDelegation',
|
|
857
857
|
map: (resource)=>({
|
|
858
858
|
id: resource.id,
|
|
859
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
859
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
860
860
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
861
861
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
862
862
|
delegatorUniqueId: parseString(resource.attributes['delegator_unique_id']) || '',
|
|
@@ -936,7 +936,7 @@ const fileAccessMapper = {
|
|
|
936
936
|
type: 'FileAccess',
|
|
937
937
|
map: (resource)=>({
|
|
938
938
|
id: resource.id,
|
|
939
|
-
uniqueId: parseString(resource.attributes['unique_id'])
|
|
939
|
+
uniqueId: parseString(resource.attributes['unique_id']),
|
|
940
940
|
createdAt: parseDate(resource.attributes['created_at']) || new Date(),
|
|
941
941
|
updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
|
|
942
942
|
fileUniqueId: parseString(resource.attributes['file_unique_id']) || '',
|
|
@@ -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,
|
|
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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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