Skip to content

Commit 8d084b5

Browse files
committed
[fix] some Type & Logic bugs of File Transfer methods
1 parent 32c2ffd commit 8d084b5

4 files changed

Lines changed: 21 additions & 38 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mobx-lark",
3-
"version": "2.6.1",
3+
"version": "2.6.2-rc.0",
44
"license": "LGPL-3.0",
55
"author": "shiy2008@gmail.com",
66
"description": "Unofficial TypeScript SDK for FeiShu/Lark API, which is based on MobX-RESTful.",

src/Lark.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import {
55
CopiedFile,
66
DocumentModel,
77
DriveFileModel,
8-
DriveFileType,
9-
TransferOwnerRequest,
108
UserIdType,
119
WikiNode,
1210
WikiNodeModel
@@ -283,18 +281,4 @@ export class LarkApp implements LarkAppOption {
283281

284282
return this.documentStore.getOneContent(doc_token, 'markdown');
285283
}
286-
287-
/**
288-
* @see {@link DriveFileModel#transferOwner}
289-
*/
290-
async transferFileOwner(
291-
token: string,
292-
type: DriveFileType,
293-
request: TransferOwnerRequest,
294-
user_id_type?: UserIdType
295-
) {
296-
await this.getAccessToken();
297-
298-
return this.driveFileStore.transferOwner(token, type, request, user_id_type);
299-
}
300284
}

src/module/Drive/index.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { buildURLData, splitArray } from 'web-utility';
44

55
import { LarkData, LarkDocumentPathTypeMap, LarkDocumentType, UploadTargetType } from '../../type';
66
import { UserIdType } from '../User/type';
7-
import { CopiedFile, DriveFile, DriveFileType, TransferOwnerRequest } from './type';
7+
import { CopiedFile, DriveFile, DriveFileType, TransferOwner, TransferOption } from './type';
88

99
export * from './type';
1010

@@ -111,15 +111,14 @@ export abstract class DriveFileModel extends BaseListModel<DriveFile> {
111111
*/
112112
@toggle('uploading')
113113
async transferOwner(
114-
token: string,
115114
type: DriveFileType,
116-
request: TransferOwnerRequest,
117-
user_id_type?: UserIdType
115+
token: string,
116+
newOwner: TransferOwner,
117+
option = {} as TransferOption
118118
) {
119-
const { body } = await this.client.post<LarkData>(
120-
`${this.baseURI}/permissions/${token}/members/transfer_owner?${buildURLData({ type, user_id_type })}`,
121-
request
119+
await this.client.post<LarkData>(
120+
`${this.baseURI}/permissions/${token}/members/transfer_owner?${buildURLData({ ...option, type })}`,
121+
newOwner
122122
);
123-
return body!.data;
124123
}
125124
}

src/module/Drive/type.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { LarkDocumentType } from '../../type';
2+
13
export type DriveFile = Record<
24
| `doc_${'token' | 'type'}`
35
| 'title'
@@ -9,20 +11,18 @@ export type DriveFile = Record<
911
string
1012
>;
1113

12-
export type CopiedFile = Record<'token' | 'type' | 'name' | 'parent_token' | 'url', string>;
14+
export type CopiedFile = Record<'type' | `${'parent_' | ''}token` | 'name' | 'url', string>;
15+
16+
export type DriveFileType = LarkDocumentType | 'minutes' | 'folder' | 'wiki';
1317

14-
export type DriveFileType =
15-
| `doc${'' | 'x'}`
16-
| 'sheet'
17-
| 'file'
18-
| 'wiki'
19-
| 'bitable'
20-
| 'folder'
21-
| 'mindnote'
22-
| 'slides';
18+
export interface TransferOwner {
19+
member_type: 'email' | 'userid' | 'openid';
20+
member_id: string;
21+
}
2322

24-
export interface TransferOwnerRequest {
25-
owner_id: string;
23+
export interface TransferOption {
24+
need_notification?: boolean;
2625
remove_old_owner?: boolean;
27-
cancel_notification?: boolean;
26+
stay_put?: boolean;
27+
old_owner_perm?: 'view' | 'edit' | 'full_access';
2828
}

0 commit comments

Comments
 (0)