// @ts-nocheck /* eslint-disable */ import * as Long from "long"; import { grpc } from "@improbable-eng/grpc-web"; import * as _m0 from "protobufjs/minimal"; import { AuthUser } from "./auth"; import { ListOption } from "./utils"; import { Empty } from "./google/protobuf/empty"; import { BrowserHeaders } from "browser-headers"; import { Timestamp } from "./google/protobuf/timestamp"; import { Struct, Value } from "./google/protobuf/struct"; export const protobufPackage = "api.v1"; export interface FileData { color: string; complete: boolean; project_id: string; } export interface File { id: string; is_space: boolean; is_folder: boolean; name: string; icon: string; url: string; parent_id: string; space_id: string; user_id: string; type: string; sub_type: string; source_url: string; tags: FileTag[]; created_at: string; updated_at: string; /** DeletedAt time.Time `xorm:"INDEX deleted" json:"-"` */ size: number; visit_count: number; /** Struct file_info = 19; */ data: { [key: string]: any } | undefined; classification: string; creator_id: string; updated_by: string; share_level: number; /** Children []*File `xorm:"-" json:"children"` */ source_id: string; permission_level: number; title: string; short_id: string; position: number; /** * Attachment []*CardAttachment `xorm:"-" json:"attachment"` * File *File `xorm:"-" json:"file"` */ issueIndex: number; /** * CardListTitle string `xorm:"-" json:"card_list_title"` * AssigneeIDs []string `xorm:"-" json:"assignee_ids"` * Assignees []*SimpleUser `xorm:"-" json:"assignees"` * Actions []*ProjectAction `xorm:"-" json:"actions"` * Archived bool `xorm:"-" json:"archived"` * CheckList []*CheckList `xorm:"-" json:"check_list"` * Path []string `xorm:"-" json:"path,omitempty"` * PathTitles []string `xorm:"-" * json:"path_titles,omitempty"` Lists FileArray `xorm:"-" * json:"lists"` Cards FileArray `xorm:"-" json:"cards"` */ share_cover: string; share_abstract: string; show_custom_share: boolean; /** TaskDependencies []*TaskDependencies `xorm:"-" json:"task_dependencies"` */ cover: string; } export interface FileExtendsPermission { id: string; is_space: boolean; is_folder: boolean; name: string; icon: string; parent_id?: string | undefined; space_id: string; user_id: string; type: string; sub_type: string; source_url: string; tags: FileTag[]; created_at: string; updated_at: string; /** DeletedAt time.Time `xorm:"INDEX deleted" json:"-"` */ size: number; visit_count: number; /** Struct file_info = 19; */ data: { [key: string]: any } | undefined; classification: string; creator_id: string; updated_by: string; share_level: number; /** Children []*File `xorm:"-" json:"children"` */ source_id: string; permission_level: number; title: string; short_id: string; /** string card_id = 30; */ position: number; /** * Attachment []*CardAttachment `xorm:"-" json:"attachment"` * File *File `xorm:"-" json:"file"` * int64 issueIndex = 34; * CardListTitle string `xorm:"-" json:"card_list_title"` * AssigneeIDs []string `xorm:"-" json:"assignee_ids"` * Assignees []*SimpleUser `xorm:"-" json:"assignees"` * Actions []*ProjectAction `xorm:"-" json:"actions"` * Archived bool `xorm:"-" json:"archived"` * CheckList []*CheckList `xorm:"-" json:"check_list"` * Path []string `xorm:"-" json:"path,omitempty"` * PathTitles []string `xorm:"-" * json:"path_titles,omitempty"` Lists FileArray `xorm:"-" * json:"lists"` Cards FileArray `xorm:"-" json:"cards"` */ share_cover: string; share_abstract: string; show_custom_share: boolean; cover: string; /** * TaskDependencies []*TaskDependencies `xorm:"-" json:"task_dependencies"` * repeated string path_titles = 50; */ path: string[]; expanded: boolean; children: FileExtendsPermission[]; depth: number; } export interface FileTag { id: string; color: string; label: string; } export interface Data { project_id: string; approval_status: number; approval_reviewer: string[]; } export interface UpdateFileRequest { space_id?: string | undefined; size?: number | undefined; icon?: string | undefined; title?: string | undefined; cover?: string | undefined; tags: FileTag[]; share_level?: number | undefined; source_url?: string | undefined; source_id?: string | undefined; type?: string | undefined; sub_type?: string | undefined; file_info?: { [key: string]: any } | undefined; share_cover?: string | undefined; share_abstract?: string | undefined; show_custom_share?: boolean | undefined; data?: { [key: string]: any } | undefined; path: string[]; username: string; } export interface SearchFileResult { id: string; space_id: string; parent_id: string; type: string; title: string; is_space: boolean; is_folder: boolean; short_id: string; created_at: string; updated_at: string; source_url: string; data: Data; creator_id: string; } export interface SearchFileRequest { username: string; keyword: string; type: string; condition: string; } export interface CreateFileForm { title: string; space_id: string; is_space?: boolean | undefined; is_folder?: boolean | undefined; parent_id?: string | undefined; type: string; tags?: FileTag | undefined; source_url?: string | undefined; size?: number | undefined; file_info?: { [key: string]: any } | undefined; sub_type?: string | undefined; short_id?: string | undefined; data?: { [key: string]: any } | undefined; position?: number | undefined; template_id?: string | undefined; kanban_default_view?: string | undefined; kanban_card_style?: string | undefined; unnotify?: boolean | undefined; permission_level?: number | undefined; permission_user_ids: string[]; permission_user_type?: string | undefined; project_id?: string | undefined; hash?: string | undefined; key?: string | undefined; } export interface SearchFileResponse { files: SearchFileResult[]; } export interface GetFilePathRequest { id: string; } export interface GetFilePathResponse { path: string[]; } export interface GetOrgFilesSizeRequest { username: string; } export interface GetOrgFilesSizeResponse { size: number; } export interface GetStarredFilesRequest { username: string; } export interface GetStarredFilesResponse { files: File[]; } export interface CreateFileViewingRecordsRequest { id: string; } export interface SuggestedFiles { files: File[]; } export interface GetSuggestedFilesResponse { res: { [key: string]: SuggestedFiles }; } export interface GetSuggestedFilesResponse_ResEntry { key: string; value: SuggestedFiles; } export interface GetSpaceFileTreeRequest { username: string; user_id?: string | undefined; } export interface UpdateFileMarkdownContentRequest { path: string[]; update_type: string; go_patch_text: string; js_patch_text: string; content: string; ws_client_id: string; } export interface UpdateFileMarkdownContentResponse { markdown_content: string; } export interface CreateFileRequest { username: string; ws_client_id: string; form: CreateFileForm; } export interface CreateFileResponse { file: FileExtendsPermission; } export interface FilePermission { id?: string | undefined; file_id: string; file_type: string; user_id: string; user_type: string; level: number; name: string; full_name: string; avatar: string; } export interface GetUsersPermissionsByFileIDRequest { username: string; file_id: string; } export interface GetUsersPermissionsByFileIDResponse { org_permission: FilePermission; team_permissions: FilePermission[]; user_permissions: FilePermission[]; } export interface DeleteFilePermissionRequest { username: string; id: string; } export interface CreateFilePermissionRequest { username: string; id?: string | undefined; file_id: string; user_id: string; user_type: string; level: number; } export interface CreateFilePermissionResponse { permission: FilePermission; } export interface GetSpacesRequest { username: string; } export interface CreateFileStarsRequest { file_id: string; username: string; star: boolean; } export interface ImportFileForm { space_id: string; name: string; parent_id: string; type: string; data: any | undefined; } export interface ImportFileRequest { username: string; ws_client_id: string; form: ImportFileForm; } export interface GetCreateFileLocationRequest { username: string; } export interface CreatePastedFilesRequest { username: string; space_id: string; parent_id: string; pasted_file_ids: string[]; } export interface FilesResponse { files: FileExtendsPermission[]; } export interface GetSharedFileRequest { id: string; is_short_url: boolean; } export interface GetSharedFileResponse { file: FileExtendsPermission; username: string; } export interface GetHistoryRequest { file_id: string; limit: number; index: number; type: string; } export interface MarkdownPatch { created_at: string; patch_text: string; } export interface Markdown { _id: string; patches: MarkdownPatch[]; count: number; index: number; content: string; } export interface MindMapHistory { data: MindMapHistory_History[]; count: number; } export interface MindMapHistory_History { mind_map_id: string; file_id: string; id: string; root_topicKey: string; topics: MindTopic[]; user_id: string; user_name: string; user_avatar: string; created_unix: number; optype: string; } export interface MindTopic { key: string; parentKey: string; subKeys: string[]; blocks: MindBlock[]; color: string; style: string; collapse: boolean; } export interface MindBlock { type: string; data: any | undefined; } export interface DocumentMilestone { document_id: string; path: string; type: string; version: number; data: { [key: string]: any } | undefined; created_unix: number; creator_id: string; creator: AuthUser; } export interface HistoryFile { id: string; file_id: string; title: string; type: string; sub_type: string; source_url: string; file_info: { [key: string]: any } | undefined; created_at: string; updated_at: string; } export interface DocHistory { data: DocumentMilestone[]; count: number; } export interface GetHistoryResponse { markdown: Markdown; mindmap_history: MindMapHistory; doc_history: DocHistory; history_files: HistoryFile[]; } export interface MoveFileRequest { username: string; next_space_id?: string | undefined; prev_path: string[]; next_path: string[]; node_behind?: string | undefined; ws_client_id: string; } export interface FilePathExtend { file_id: string; file_path: string[]; } export interface MoveFileResponse { index_reset: boolean; positions?: { [key: string]: any } | undefined; file: FileExtendsPermission; prev_paths: FilePathExtend; parent_id: string; } export interface MultipleFilesMoveRequest { username: string; next_parent_id: string; prev_paths: MultipleFilesMoveRequest_FilePath[]; next_paths: MultipleFilesMoveRequest_FilePath[]; node_behind: string; } export interface MultipleFilesMoveRequest_FilePath { ids: string[]; } export interface MultipleFilesMoveResponse { files: FileExtendsPermission[]; } export interface GetFilePermissionRequest { username: string; file_id: string; } export interface GetFilePermissionResponse { level: number; } export interface RollbackRequest { id: string; created_at: Date; ws_client_id: string; } export interface MoveCardOutOfKanbanRequest { username: string; file_id: string; next_parent_id: string; prev_project_id: string; next_path: string[]; node_behind?: string | undefined; ws_client_id: string; } export interface GetFileRequest { file_id: string; } export interface GetSharedFilesRequest { username: string; list_option: ListOption; keywords?: string | undefined; share_level: number; shared_type: string; } export interface GetProjectListAndCardListsRequest { username: string; sub_type: string; } export interface ProjectList { id: string; title: string; lists: File[]; sub_type: string; type: string; parent_id: string; } export interface GetProjectListAndCardListsResponse { projects: ProjectList[]; } function createBaseFileData(): FileData { return { color: "", complete: false, project_id: "" }; } export const FileData = { encode( message: FileData, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.color !== "") { writer.uint32(10).string(message.color); } if (message.complete === true) { writer.uint32(16).bool(message.complete); } if (message.project_id !== "") { writer.uint32(26).string(message.project_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): FileData { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFileData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.color = reader.string(); break; case 2: message.complete = reader.bool(); break; case 3: message.project_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FileData { return { color: isSet(object.color) ? String(object.color) : "", complete: isSet(object.complete) ? Boolean(object.complete) : false, project_id: isSet(object.project_id) ? String(object.project_id) : "", }; }, toJSON(message: FileData): unknown { const obj: any = {}; message.color !== undefined && (obj.color = message.color); message.complete !== undefined && (obj.complete = message.complete); message.project_id !== undefined && (obj.project_id = message.project_id); return obj; }, fromPartial, I>>(object: I): FileData { const message = createBaseFileData(); message.color = object.color ?? ""; message.complete = object.complete ?? false; message.project_id = object.project_id ?? ""; return message; }, }; function createBaseFile(): File { return { id: "", is_space: false, is_folder: false, name: "", icon: "", url: "", parent_id: "", space_id: "", user_id: "", type: "", sub_type: "", source_url: "", tags: [], created_at: "", updated_at: "", size: 0, visit_count: 0, data: undefined, classification: "", creator_id: "", updated_by: "", share_level: 0, source_id: "", permission_level: 0, title: "", short_id: "", position: 0, issueIndex: 0, share_cover: "", share_abstract: "", show_custom_share: false, cover: "", }; } export const File = { encode(message: File, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.is_space === true) { writer.uint32(16).bool(message.is_space); } if (message.is_folder === true) { writer.uint32(24).bool(message.is_folder); } if (message.name !== "") { writer.uint32(34).string(message.name); } if (message.icon !== "") { writer.uint32(42).string(message.icon); } if (message.url !== "") { writer.uint32(50).string(message.url); } if (message.parent_id !== "") { writer.uint32(58).string(message.parent_id); } if (message.space_id !== "") { writer.uint32(66).string(message.space_id); } if (message.user_id !== "") { writer.uint32(74).string(message.user_id); } if (message.type !== "") { writer.uint32(82).string(message.type); } if (message.sub_type !== "") { writer.uint32(90).string(message.sub_type); } if (message.source_url !== "") { writer.uint32(98).string(message.source_url); } for (const v of message.tags) { FileTag.encode(v!, writer.uint32(106).fork()).ldelim(); } if (message.created_at !== "") { writer.uint32(114).string(message.created_at); } if (message.updated_at !== "") { writer.uint32(122).string(message.updated_at); } if (message.size !== 0) { writer.uint32(136).int64(message.size); } if (message.visit_count !== 0) { writer.uint32(144).int32(message.visit_count); } if (message.data !== undefined) { Struct.encode( Struct.wrap(message.data), writer.uint32(162).fork() ).ldelim(); } if (message.classification !== "") { writer.uint32(170).string(message.classification); } if (message.creator_id !== "") { writer.uint32(178).string(message.creator_id); } if (message.updated_by !== "") { writer.uint32(186).string(message.updated_by); } if (message.share_level !== 0) { writer.uint32(192).int32(message.share_level); } if (message.source_id !== "") { writer.uint32(210).string(message.source_id); } if (message.permission_level !== 0) { writer.uint32(216).int32(message.permission_level); } if (message.title !== "") { writer.uint32(226).string(message.title); } if (message.short_id !== "") { writer.uint32(234).string(message.short_id); } if (message.position !== 0) { writer.uint32(248).int64(message.position); } if (message.issueIndex !== 0) { writer.uint32(272).int64(message.issueIndex); } if (message.share_cover !== "") { writer.uint32(362).string(message.share_cover); } if (message.share_abstract !== "") { writer.uint32(370).string(message.share_abstract); } if (message.show_custom_share === true) { writer.uint32(376).bool(message.show_custom_share); } if (message.cover !== "") { writer.uint32(386).string(message.cover); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): File { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFile(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.is_space = reader.bool(); break; case 3: message.is_folder = reader.bool(); break; case 4: message.name = reader.string(); break; case 5: message.icon = reader.string(); break; case 6: message.url = reader.string(); break; case 7: message.parent_id = reader.string(); break; case 8: message.space_id = reader.string(); break; case 9: message.user_id = reader.string(); break; case 10: message.type = reader.string(); break; case 11: message.sub_type = reader.string(); break; case 12: message.source_url = reader.string(); break; case 13: message.tags.push(FileTag.decode(reader, reader.uint32())); break; case 14: message.created_at = reader.string(); break; case 15: message.updated_at = reader.string(); break; case 17: message.size = longToNumber(reader.int64() as Long); break; case 18: message.visit_count = reader.int32(); break; case 20: message.data = Struct.unwrap(Struct.decode(reader, reader.uint32())); break; case 21: message.classification = reader.string(); break; case 22: message.creator_id = reader.string(); break; case 23: message.updated_by = reader.string(); break; case 24: message.share_level = reader.int32(); break; case 26: message.source_id = reader.string(); break; case 27: message.permission_level = reader.int32(); break; case 28: message.title = reader.string(); break; case 29: message.short_id = reader.string(); break; case 31: message.position = longToNumber(reader.int64() as Long); break; case 34: message.issueIndex = longToNumber(reader.int64() as Long); break; case 45: message.share_cover = reader.string(); break; case 46: message.share_abstract = reader.string(); break; case 47: message.show_custom_share = reader.bool(); break; case 48: message.cover = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): File { return { id: isSet(object.id) ? String(object.id) : "", is_space: isSet(object.is_space) ? Boolean(object.is_space) : false, is_folder: isSet(object.is_folder) ? Boolean(object.is_folder) : false, name: isSet(object.name) ? String(object.name) : "", icon: isSet(object.icon) ? String(object.icon) : "", url: isSet(object.url) ? String(object.url) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", space_id: isSet(object.space_id) ? String(object.space_id) : "", user_id: isSet(object.user_id) ? String(object.user_id) : "", type: isSet(object.type) ? String(object.type) : "", sub_type: isSet(object.sub_type) ? String(object.sub_type) : "", source_url: isSet(object.source_url) ? String(object.source_url) : "", tags: Array.isArray(object?.tags) ? object.tags.map((e: any) => FileTag.fromJSON(e)) : [], created_at: isSet(object.created_at) ? String(object.created_at) : "", updated_at: isSet(object.updated_at) ? String(object.updated_at) : "", size: isSet(object.size) ? Number(object.size) : 0, visit_count: isSet(object.visit_count) ? Number(object.visit_count) : 0, data: isObject(object.data) ? object.data : undefined, classification: isSet(object.classification) ? String(object.classification) : "", creator_id: isSet(object.creator_id) ? String(object.creator_id) : "", updated_by: isSet(object.updated_by) ? String(object.updated_by) : "", share_level: isSet(object.share_level) ? Number(object.share_level) : 0, source_id: isSet(object.source_id) ? String(object.source_id) : "", permission_level: isSet(object.permission_level) ? Number(object.permission_level) : 0, title: isSet(object.title) ? String(object.title) : "", short_id: isSet(object.short_id) ? String(object.short_id) : "", position: isSet(object.position) ? Number(object.position) : 0, issueIndex: isSet(object.issueIndex) ? Number(object.issueIndex) : 0, share_cover: isSet(object.share_cover) ? String(object.share_cover) : "", share_abstract: isSet(object.share_abstract) ? String(object.share_abstract) : "", show_custom_share: isSet(object.show_custom_share) ? Boolean(object.show_custom_share) : false, cover: isSet(object.cover) ? String(object.cover) : "", }; }, toJSON(message: File): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.is_space !== undefined && (obj.is_space = message.is_space); message.is_folder !== undefined && (obj.is_folder = message.is_folder); message.name !== undefined && (obj.name = message.name); message.icon !== undefined && (obj.icon = message.icon); message.url !== undefined && (obj.url = message.url); message.parent_id !== undefined && (obj.parent_id = message.parent_id); message.space_id !== undefined && (obj.space_id = message.space_id); message.user_id !== undefined && (obj.user_id = message.user_id); message.type !== undefined && (obj.type = message.type); message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.source_url !== undefined && (obj.source_url = message.source_url); if (message.tags) { obj.tags = message.tags.map((e) => (e ? FileTag.toJSON(e) : undefined)); } else { obj.tags = []; } message.created_at !== undefined && (obj.created_at = message.created_at); message.updated_at !== undefined && (obj.updated_at = message.updated_at); message.size !== undefined && (obj.size = Math.round(message.size)); message.visit_count !== undefined && (obj.visit_count = Math.round(message.visit_count)); message.data !== undefined && (obj.data = message.data); message.classification !== undefined && (obj.classification = message.classification); message.creator_id !== undefined && (obj.creator_id = message.creator_id); message.updated_by !== undefined && (obj.updated_by = message.updated_by); message.share_level !== undefined && (obj.share_level = Math.round(message.share_level)); message.source_id !== undefined && (obj.source_id = message.source_id); message.permission_level !== undefined && (obj.permission_level = Math.round(message.permission_level)); message.title !== undefined && (obj.title = message.title); message.short_id !== undefined && (obj.short_id = message.short_id); message.position !== undefined && (obj.position = Math.round(message.position)); message.issueIndex !== undefined && (obj.issueIndex = Math.round(message.issueIndex)); message.share_cover !== undefined && (obj.share_cover = message.share_cover); message.share_abstract !== undefined && (obj.share_abstract = message.share_abstract); message.show_custom_share !== undefined && (obj.show_custom_share = message.show_custom_share); message.cover !== undefined && (obj.cover = message.cover); return obj; }, fromPartial, I>>(object: I): File { const message = createBaseFile(); message.id = object.id ?? ""; message.is_space = object.is_space ?? false; message.is_folder = object.is_folder ?? false; message.name = object.name ?? ""; message.icon = object.icon ?? ""; message.url = object.url ?? ""; message.parent_id = object.parent_id ?? ""; message.space_id = object.space_id ?? ""; message.user_id = object.user_id ?? ""; message.type = object.type ?? ""; message.sub_type = object.sub_type ?? ""; message.source_url = object.source_url ?? ""; message.tags = object.tags?.map((e) => FileTag.fromPartial(e)) || []; message.created_at = object.created_at ?? ""; message.updated_at = object.updated_at ?? ""; message.size = object.size ?? 0; message.visit_count = object.visit_count ?? 0; message.data = object.data ?? undefined; message.classification = object.classification ?? ""; message.creator_id = object.creator_id ?? ""; message.updated_by = object.updated_by ?? ""; message.share_level = object.share_level ?? 0; message.source_id = object.source_id ?? ""; message.permission_level = object.permission_level ?? 0; message.title = object.title ?? ""; message.short_id = object.short_id ?? ""; message.position = object.position ?? 0; message.issueIndex = object.issueIndex ?? 0; message.share_cover = object.share_cover ?? ""; message.share_abstract = object.share_abstract ?? ""; message.show_custom_share = object.show_custom_share ?? false; message.cover = object.cover ?? ""; return message; }, }; function createBaseFileExtendsPermission(): FileExtendsPermission { return { id: "", is_space: false, is_folder: false, name: "", icon: "", parent_id: undefined, space_id: "", user_id: "", type: "", sub_type: "", source_url: "", tags: [], created_at: "", updated_at: "", size: 0, visit_count: 0, data: undefined, classification: "", creator_id: "", updated_by: "", share_level: 0, source_id: "", permission_level: 0, title: "", short_id: "", position: 0, share_cover: "", share_abstract: "", show_custom_share: false, cover: "", path: [], expanded: false, children: [], depth: 0, }; } export const FileExtendsPermission = { encode( message: FileExtendsPermission, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.is_space === true) { writer.uint32(16).bool(message.is_space); } if (message.is_folder === true) { writer.uint32(24).bool(message.is_folder); } if (message.name !== "") { writer.uint32(34).string(message.name); } if (message.icon !== "") { writer.uint32(42).string(message.icon); } if (message.parent_id !== undefined) { writer.uint32(58).string(message.parent_id); } if (message.space_id !== "") { writer.uint32(66).string(message.space_id); } if (message.user_id !== "") { writer.uint32(74).string(message.user_id); } if (message.type !== "") { writer.uint32(82).string(message.type); } if (message.sub_type !== "") { writer.uint32(90).string(message.sub_type); } if (message.source_url !== "") { writer.uint32(98).string(message.source_url); } for (const v of message.tags) { FileTag.encode(v!, writer.uint32(106).fork()).ldelim(); } if (message.created_at !== "") { writer.uint32(114).string(message.created_at); } if (message.updated_at !== "") { writer.uint32(122).string(message.updated_at); } if (message.size !== 0) { writer.uint32(136).int64(message.size); } if (message.visit_count !== 0) { writer.uint32(144).int32(message.visit_count); } if (message.data !== undefined) { Struct.encode( Struct.wrap(message.data), writer.uint32(162).fork() ).ldelim(); } if (message.classification !== "") { writer.uint32(170).string(message.classification); } if (message.creator_id !== "") { writer.uint32(178).string(message.creator_id); } if (message.updated_by !== "") { writer.uint32(186).string(message.updated_by); } if (message.share_level !== 0) { writer.uint32(192).int32(message.share_level); } if (message.source_id !== "") { writer.uint32(210).string(message.source_id); } if (message.permission_level !== 0) { writer.uint32(216).int32(message.permission_level); } if (message.title !== "") { writer.uint32(226).string(message.title); } if (message.short_id !== "") { writer.uint32(234).string(message.short_id); } if (message.position !== 0) { writer.uint32(248).int64(message.position); } if (message.share_cover !== "") { writer.uint32(362).string(message.share_cover); } if (message.share_abstract !== "") { writer.uint32(370).string(message.share_abstract); } if (message.show_custom_share === true) { writer.uint32(376).bool(message.show_custom_share); } if (message.cover !== "") { writer.uint32(386).string(message.cover); } for (const v of message.path) { writer.uint32(410).string(v!); } if (message.expanded === true) { writer.uint32(416).bool(message.expanded); } for (const v of message.children) { FileExtendsPermission.encode(v!, writer.uint32(426).fork()).ldelim(); } if (message.depth !== 0) { writer.uint32(432).int32(message.depth); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): FileExtendsPermission { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFileExtendsPermission(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.is_space = reader.bool(); break; case 3: message.is_folder = reader.bool(); break; case 4: message.name = reader.string(); break; case 5: message.icon = reader.string(); break; case 7: message.parent_id = reader.string(); break; case 8: message.space_id = reader.string(); break; case 9: message.user_id = reader.string(); break; case 10: message.type = reader.string(); break; case 11: message.sub_type = reader.string(); break; case 12: message.source_url = reader.string(); break; case 13: message.tags.push(FileTag.decode(reader, reader.uint32())); break; case 14: message.created_at = reader.string(); break; case 15: message.updated_at = reader.string(); break; case 17: message.size = longToNumber(reader.int64() as Long); break; case 18: message.visit_count = reader.int32(); break; case 20: message.data = Struct.unwrap(Struct.decode(reader, reader.uint32())); break; case 21: message.classification = reader.string(); break; case 22: message.creator_id = reader.string(); break; case 23: message.updated_by = reader.string(); break; case 24: message.share_level = reader.int32(); break; case 26: message.source_id = reader.string(); break; case 27: message.permission_level = reader.int32(); break; case 28: message.title = reader.string(); break; case 29: message.short_id = reader.string(); break; case 31: message.position = longToNumber(reader.int64() as Long); break; case 45: message.share_cover = reader.string(); break; case 46: message.share_abstract = reader.string(); break; case 47: message.show_custom_share = reader.bool(); break; case 48: message.cover = reader.string(); break; case 51: message.path.push(reader.string()); break; case 52: message.expanded = reader.bool(); break; case 53: message.children.push( FileExtendsPermission.decode(reader, reader.uint32()) ); break; case 54: message.depth = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FileExtendsPermission { return { id: isSet(object.id) ? String(object.id) : "", is_space: isSet(object.is_space) ? Boolean(object.is_space) : false, is_folder: isSet(object.is_folder) ? Boolean(object.is_folder) : false, name: isSet(object.name) ? String(object.name) : "", icon: isSet(object.icon) ? String(object.icon) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : undefined, space_id: isSet(object.space_id) ? String(object.space_id) : "", user_id: isSet(object.user_id) ? String(object.user_id) : "", type: isSet(object.type) ? String(object.type) : "", sub_type: isSet(object.sub_type) ? String(object.sub_type) : "", source_url: isSet(object.source_url) ? String(object.source_url) : "", tags: Array.isArray(object?.tags) ? object.tags.map((e: any) => FileTag.fromJSON(e)) : [], created_at: isSet(object.created_at) ? String(object.created_at) : "", updated_at: isSet(object.updated_at) ? String(object.updated_at) : "", size: isSet(object.size) ? Number(object.size) : 0, visit_count: isSet(object.visit_count) ? Number(object.visit_count) : 0, data: isObject(object.data) ? object.data : undefined, classification: isSet(object.classification) ? String(object.classification) : "", creator_id: isSet(object.creator_id) ? String(object.creator_id) : "", updated_by: isSet(object.updated_by) ? String(object.updated_by) : "", share_level: isSet(object.share_level) ? Number(object.share_level) : 0, source_id: isSet(object.source_id) ? String(object.source_id) : "", permission_level: isSet(object.permission_level) ? Number(object.permission_level) : 0, title: isSet(object.title) ? String(object.title) : "", short_id: isSet(object.short_id) ? String(object.short_id) : "", position: isSet(object.position) ? Number(object.position) : 0, share_cover: isSet(object.share_cover) ? String(object.share_cover) : "", share_abstract: isSet(object.share_abstract) ? String(object.share_abstract) : "", show_custom_share: isSet(object.show_custom_share) ? Boolean(object.show_custom_share) : false, cover: isSet(object.cover) ? String(object.cover) : "", path: Array.isArray(object?.path) ? object.path.map((e: any) => String(e)) : [], expanded: isSet(object.expanded) ? Boolean(object.expanded) : false, children: Array.isArray(object?.children) ? object.children.map((e: any) => FileExtendsPermission.fromJSON(e)) : [], depth: isSet(object.depth) ? Number(object.depth) : 0, }; }, toJSON(message: FileExtendsPermission): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.is_space !== undefined && (obj.is_space = message.is_space); message.is_folder !== undefined && (obj.is_folder = message.is_folder); message.name !== undefined && (obj.name = message.name); message.icon !== undefined && (obj.icon = message.icon); message.parent_id !== undefined && (obj.parent_id = message.parent_id); message.space_id !== undefined && (obj.space_id = message.space_id); message.user_id !== undefined && (obj.user_id = message.user_id); message.type !== undefined && (obj.type = message.type); message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.source_url !== undefined && (obj.source_url = message.source_url); if (message.tags) { obj.tags = message.tags.map((e) => (e ? FileTag.toJSON(e) : undefined)); } else { obj.tags = []; } message.created_at !== undefined && (obj.created_at = message.created_at); message.updated_at !== undefined && (obj.updated_at = message.updated_at); message.size !== undefined && (obj.size = Math.round(message.size)); message.visit_count !== undefined && (obj.visit_count = Math.round(message.visit_count)); message.data !== undefined && (obj.data = message.data); message.classification !== undefined && (obj.classification = message.classification); message.creator_id !== undefined && (obj.creator_id = message.creator_id); message.updated_by !== undefined && (obj.updated_by = message.updated_by); message.share_level !== undefined && (obj.share_level = Math.round(message.share_level)); message.source_id !== undefined && (obj.source_id = message.source_id); message.permission_level !== undefined && (obj.permission_level = Math.round(message.permission_level)); message.title !== undefined && (obj.title = message.title); message.short_id !== undefined && (obj.short_id = message.short_id); message.position !== undefined && (obj.position = Math.round(message.position)); message.share_cover !== undefined && (obj.share_cover = message.share_cover); message.share_abstract !== undefined && (obj.share_abstract = message.share_abstract); message.show_custom_share !== undefined && (obj.show_custom_share = message.show_custom_share); message.cover !== undefined && (obj.cover = message.cover); if (message.path) { obj.path = message.path.map((e) => e); } else { obj.path = []; } message.expanded !== undefined && (obj.expanded = message.expanded); if (message.children) { obj.children = message.children.map((e) => e ? FileExtendsPermission.toJSON(e) : undefined ); } else { obj.children = []; } message.depth !== undefined && (obj.depth = Math.round(message.depth)); return obj; }, fromPartial, I>>( object: I ): FileExtendsPermission { const message = createBaseFileExtendsPermission(); message.id = object.id ?? ""; message.is_space = object.is_space ?? false; message.is_folder = object.is_folder ?? false; message.name = object.name ?? ""; message.icon = object.icon ?? ""; message.parent_id = object.parent_id ?? undefined; message.space_id = object.space_id ?? ""; message.user_id = object.user_id ?? ""; message.type = object.type ?? ""; message.sub_type = object.sub_type ?? ""; message.source_url = object.source_url ?? ""; message.tags = object.tags?.map((e) => FileTag.fromPartial(e)) || []; message.created_at = object.created_at ?? ""; message.updated_at = object.updated_at ?? ""; message.size = object.size ?? 0; message.visit_count = object.visit_count ?? 0; message.data = object.data ?? undefined; message.classification = object.classification ?? ""; message.creator_id = object.creator_id ?? ""; message.updated_by = object.updated_by ?? ""; message.share_level = object.share_level ?? 0; message.source_id = object.source_id ?? ""; message.permission_level = object.permission_level ?? 0; message.title = object.title ?? ""; message.short_id = object.short_id ?? ""; message.position = object.position ?? 0; message.share_cover = object.share_cover ?? ""; message.share_abstract = object.share_abstract ?? ""; message.show_custom_share = object.show_custom_share ?? false; message.cover = object.cover ?? ""; message.path = object.path?.map((e) => e) || []; message.expanded = object.expanded ?? false; message.children = object.children?.map((e) => FileExtendsPermission.fromPartial(e)) || []; message.depth = object.depth ?? 0; return message; }, }; function createBaseFileTag(): FileTag { return { id: "", color: "", label: "" }; } export const FileTag = { encode( message: FileTag, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.color !== "") { writer.uint32(18).string(message.color); } if (message.label !== "") { writer.uint32(26).string(message.label); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): FileTag { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFileTag(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.color = reader.string(); break; case 3: message.label = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FileTag { return { id: isSet(object.id) ? String(object.id) : "", color: isSet(object.color) ? String(object.color) : "", label: isSet(object.label) ? String(object.label) : "", }; }, toJSON(message: FileTag): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.color !== undefined && (obj.color = message.color); message.label !== undefined && (obj.label = message.label); return obj; }, fromPartial, I>>(object: I): FileTag { const message = createBaseFileTag(); message.id = object.id ?? ""; message.color = object.color ?? ""; message.label = object.label ?? ""; return message; }, }; function createBaseData(): Data { return { project_id: "", approval_status: 0, approval_reviewer: [] }; } export const Data = { encode(message: Data, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { if (message.project_id !== "") { writer.uint32(10).string(message.project_id); } if (message.approval_status !== 0) { writer.uint32(16).int64(message.approval_status); } for (const v of message.approval_reviewer) { writer.uint32(26).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Data { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseData(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.project_id = reader.string(); break; case 2: message.approval_status = longToNumber(reader.int64() as Long); break; case 3: message.approval_reviewer.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): Data { return { project_id: isSet(object.project_id) ? String(object.project_id) : "", approval_status: isSet(object.approval_status) ? Number(object.approval_status) : 0, approval_reviewer: Array.isArray(object?.approval_reviewer) ? object.approval_reviewer.map((e: any) => String(e)) : [], }; }, toJSON(message: Data): unknown { const obj: any = {}; message.project_id !== undefined && (obj.project_id = message.project_id); message.approval_status !== undefined && (obj.approval_status = Math.round(message.approval_status)); if (message.approval_reviewer) { obj.approval_reviewer = message.approval_reviewer.map((e) => e); } else { obj.approval_reviewer = []; } return obj; }, fromPartial, I>>(object: I): Data { const message = createBaseData(); message.project_id = object.project_id ?? ""; message.approval_status = object.approval_status ?? 0; message.approval_reviewer = object.approval_reviewer?.map((e) => e) || []; return message; }, }; function createBaseUpdateFileRequest(): UpdateFileRequest { return { space_id: undefined, size: undefined, icon: undefined, title: undefined, cover: undefined, tags: [], share_level: undefined, source_url: undefined, source_id: undefined, type: undefined, sub_type: undefined, file_info: undefined, share_cover: undefined, share_abstract: undefined, show_custom_share: undefined, data: undefined, path: [], username: "", }; } export const UpdateFileRequest = { encode( message: UpdateFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.space_id !== undefined) { writer.uint32(10).string(message.space_id); } if (message.size !== undefined) { writer.uint32(16).int64(message.size); } if (message.icon !== undefined) { writer.uint32(26).string(message.icon); } if (message.title !== undefined) { writer.uint32(34).string(message.title); } if (message.cover !== undefined) { writer.uint32(42).string(message.cover); } for (const v of message.tags) { FileTag.encode(v!, writer.uint32(50).fork()).ldelim(); } if (message.share_level !== undefined) { writer.uint32(56).int32(message.share_level); } if (message.source_url !== undefined) { writer.uint32(66).string(message.source_url); } if (message.source_id !== undefined) { writer.uint32(74).string(message.source_id); } if (message.type !== undefined) { writer.uint32(82).string(message.type); } if (message.sub_type !== undefined) { writer.uint32(90).string(message.sub_type); } if (message.file_info !== undefined) { Struct.encode( Struct.wrap(message.file_info), writer.uint32(98).fork() ).ldelim(); } if (message.share_cover !== undefined) { writer.uint32(106).string(message.share_cover); } if (message.share_abstract !== undefined) { writer.uint32(114).string(message.share_abstract); } if (message.show_custom_share !== undefined) { writer.uint32(120).bool(message.show_custom_share); } if (message.data !== undefined) { Struct.encode( Struct.wrap(message.data), writer.uint32(130).fork() ).ldelim(); } for (const v of message.path) { writer.uint32(138).string(v!); } if (message.username !== "") { writer.uint32(146).string(message.username); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): UpdateFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.space_id = reader.string(); break; case 2: message.size = longToNumber(reader.int64() as Long); break; case 3: message.icon = reader.string(); break; case 4: message.title = reader.string(); break; case 5: message.cover = reader.string(); break; case 6: message.tags.push(FileTag.decode(reader, reader.uint32())); break; case 7: message.share_level = reader.int32(); break; case 8: message.source_url = reader.string(); break; case 9: message.source_id = reader.string(); break; case 10: message.type = reader.string(); break; case 11: message.sub_type = reader.string(); break; case 12: message.file_info = Struct.unwrap( Struct.decode(reader, reader.uint32()) ); break; case 13: message.share_cover = reader.string(); break; case 14: message.share_abstract = reader.string(); break; case 15: message.show_custom_share = reader.bool(); break; case 16: message.data = Struct.unwrap(Struct.decode(reader, reader.uint32())); break; case 17: message.path.push(reader.string()); break; case 18: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): UpdateFileRequest { return { space_id: isSet(object.space_id) ? String(object.space_id) : undefined, size: isSet(object.size) ? Number(object.size) : undefined, icon: isSet(object.icon) ? String(object.icon) : undefined, title: isSet(object.title) ? String(object.title) : undefined, cover: isSet(object.cover) ? String(object.cover) : undefined, tags: Array.isArray(object?.tags) ? object.tags.map((e: any) => FileTag.fromJSON(e)) : [], share_level: isSet(object.share_level) ? Number(object.share_level) : undefined, source_url: isSet(object.source_url) ? String(object.source_url) : undefined, source_id: isSet(object.source_id) ? String(object.source_id) : undefined, type: isSet(object.type) ? String(object.type) : undefined, sub_type: isSet(object.sub_type) ? String(object.sub_type) : undefined, file_info: isObject(object.file_info) ? object.file_info : undefined, share_cover: isSet(object.share_cover) ? String(object.share_cover) : undefined, share_abstract: isSet(object.share_abstract) ? String(object.share_abstract) : undefined, show_custom_share: isSet(object.show_custom_share) ? Boolean(object.show_custom_share) : undefined, data: isObject(object.data) ? object.data : undefined, path: Array.isArray(object?.path) ? object.path.map((e: any) => String(e)) : [], username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: UpdateFileRequest): unknown { const obj: any = {}; message.space_id !== undefined && (obj.space_id = message.space_id); message.size !== undefined && (obj.size = Math.round(message.size)); message.icon !== undefined && (obj.icon = message.icon); message.title !== undefined && (obj.title = message.title); message.cover !== undefined && (obj.cover = message.cover); if (message.tags) { obj.tags = message.tags.map((e) => (e ? FileTag.toJSON(e) : undefined)); } else { obj.tags = []; } message.share_level !== undefined && (obj.share_level = Math.round(message.share_level)); message.source_url !== undefined && (obj.source_url = message.source_url); message.source_id !== undefined && (obj.source_id = message.source_id); message.type !== undefined && (obj.type = message.type); message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.file_info !== undefined && (obj.file_info = message.file_info); message.share_cover !== undefined && (obj.share_cover = message.share_cover); message.share_abstract !== undefined && (obj.share_abstract = message.share_abstract); message.show_custom_share !== undefined && (obj.show_custom_share = message.show_custom_share); message.data !== undefined && (obj.data = message.data); if (message.path) { obj.path = message.path.map((e) => e); } else { obj.path = []; } message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): UpdateFileRequest { const message = createBaseUpdateFileRequest(); message.space_id = object.space_id ?? undefined; message.size = object.size ?? undefined; message.icon = object.icon ?? undefined; message.title = object.title ?? undefined; message.cover = object.cover ?? undefined; message.tags = object.tags?.map((e) => FileTag.fromPartial(e)) || []; message.share_level = object.share_level ?? undefined; message.source_url = object.source_url ?? undefined; message.source_id = object.source_id ?? undefined; message.type = object.type ?? undefined; message.sub_type = object.sub_type ?? undefined; message.file_info = object.file_info ?? undefined; message.share_cover = object.share_cover ?? undefined; message.share_abstract = object.share_abstract ?? undefined; message.show_custom_share = object.show_custom_share ?? undefined; message.data = object.data ?? undefined; message.path = object.path?.map((e) => e) || []; message.username = object.username ?? ""; return message; }, }; function createBaseSearchFileResult(): SearchFileResult { return { id: "", space_id: "", parent_id: "", type: "", title: "", is_space: false, is_folder: false, short_id: "", created_at: "", updated_at: "", source_url: "", data: undefined, creator_id: "", }; } export const SearchFileResult = { encode( message: SearchFileResult, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.space_id !== "") { writer.uint32(18).string(message.space_id); } if (message.parent_id !== "") { writer.uint32(26).string(message.parent_id); } if (message.type !== "") { writer.uint32(34).string(message.type); } if (message.title !== "") { writer.uint32(42).string(message.title); } if (message.is_space === true) { writer.uint32(48).bool(message.is_space); } if (message.is_folder === true) { writer.uint32(56).bool(message.is_folder); } if (message.short_id !== "") { writer.uint32(66).string(message.short_id); } if (message.created_at !== "") { writer.uint32(74).string(message.created_at); } if (message.updated_at !== "") { writer.uint32(82).string(message.updated_at); } if (message.source_url !== "") { writer.uint32(90).string(message.source_url); } if (message.data !== undefined) { Data.encode(message.data, writer.uint32(98).fork()).ldelim(); } if (message.creator_id !== "") { writer.uint32(106).string(message.creator_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SearchFileResult { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSearchFileResult(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.space_id = reader.string(); break; case 3: message.parent_id = reader.string(); break; case 4: message.type = reader.string(); break; case 5: message.title = reader.string(); break; case 6: message.is_space = reader.bool(); break; case 7: message.is_folder = reader.bool(); break; case 8: message.short_id = reader.string(); break; case 9: message.created_at = reader.string(); break; case 10: message.updated_at = reader.string(); break; case 11: message.source_url = reader.string(); break; case 12: message.data = Data.decode(reader, reader.uint32()); break; case 13: message.creator_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SearchFileResult { return { id: isSet(object.id) ? String(object.id) : "", space_id: isSet(object.space_id) ? String(object.space_id) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", type: isSet(object.type) ? String(object.type) : "", title: isSet(object.title) ? String(object.title) : "", is_space: isSet(object.is_space) ? Boolean(object.is_space) : false, is_folder: isSet(object.is_folder) ? Boolean(object.is_folder) : false, short_id: isSet(object.short_id) ? String(object.short_id) : "", created_at: isSet(object.created_at) ? String(object.created_at) : "", updated_at: isSet(object.updated_at) ? String(object.updated_at) : "", source_url: isSet(object.source_url) ? String(object.source_url) : "", data: isSet(object.data) ? Data.fromJSON(object.data) : undefined, creator_id: isSet(object.creator_id) ? String(object.creator_id) : "", }; }, toJSON(message: SearchFileResult): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.space_id !== undefined && (obj.space_id = message.space_id); message.parent_id !== undefined && (obj.parent_id = message.parent_id); message.type !== undefined && (obj.type = message.type); message.title !== undefined && (obj.title = message.title); message.is_space !== undefined && (obj.is_space = message.is_space); message.is_folder !== undefined && (obj.is_folder = message.is_folder); message.short_id !== undefined && (obj.short_id = message.short_id); message.created_at !== undefined && (obj.created_at = message.created_at); message.updated_at !== undefined && (obj.updated_at = message.updated_at); message.source_url !== undefined && (obj.source_url = message.source_url); message.data !== undefined && (obj.data = message.data ? Data.toJSON(message.data) : undefined); message.creator_id !== undefined && (obj.creator_id = message.creator_id); return obj; }, fromPartial, I>>( object: I ): SearchFileResult { const message = createBaseSearchFileResult(); message.id = object.id ?? ""; message.space_id = object.space_id ?? ""; message.parent_id = object.parent_id ?? ""; message.type = object.type ?? ""; message.title = object.title ?? ""; message.is_space = object.is_space ?? false; message.is_folder = object.is_folder ?? false; message.short_id = object.short_id ?? ""; message.created_at = object.created_at ?? ""; message.updated_at = object.updated_at ?? ""; message.source_url = object.source_url ?? ""; message.data = object.data !== undefined && object.data !== null ? Data.fromPartial(object.data) : undefined; message.creator_id = object.creator_id ?? ""; return message; }, }; function createBaseSearchFileRequest(): SearchFileRequest { return { username: "", keyword: "", type: "", condition: "" }; } export const SearchFileRequest = { encode( message: SearchFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.keyword !== "") { writer.uint32(18).string(message.keyword); } if (message.type !== "") { writer.uint32(26).string(message.type); } if (message.condition !== "") { writer.uint32(34).string(message.condition); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SearchFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSearchFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.keyword = reader.string(); break; case 3: message.type = reader.string(); break; case 4: message.condition = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SearchFileRequest { return { username: isSet(object.username) ? String(object.username) : "", keyword: isSet(object.keyword) ? String(object.keyword) : "", type: isSet(object.type) ? String(object.type) : "", condition: isSet(object.condition) ? String(object.condition) : "", }; }, toJSON(message: SearchFileRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.keyword !== undefined && (obj.keyword = message.keyword); message.type !== undefined && (obj.type = message.type); message.condition !== undefined && (obj.condition = message.condition); return obj; }, fromPartial, I>>( object: I ): SearchFileRequest { const message = createBaseSearchFileRequest(); message.username = object.username ?? ""; message.keyword = object.keyword ?? ""; message.type = object.type ?? ""; message.condition = object.condition ?? ""; return message; }, }; function createBaseCreateFileForm(): CreateFileForm { return { title: "", space_id: "", is_space: undefined, is_folder: undefined, parent_id: undefined, type: "", tags: undefined, source_url: undefined, size: undefined, file_info: undefined, sub_type: undefined, short_id: undefined, data: undefined, position: undefined, template_id: undefined, kanban_default_view: undefined, kanban_card_style: undefined, unnotify: undefined, permission_level: undefined, permission_user_ids: [], permission_user_type: undefined, project_id: undefined, hash: undefined, key: undefined, }; } export const CreateFileForm = { encode( message: CreateFileForm, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.title !== "") { writer.uint32(10).string(message.title); } if (message.space_id !== "") { writer.uint32(18).string(message.space_id); } if (message.is_space !== undefined) { writer.uint32(24).bool(message.is_space); } if (message.is_folder !== undefined) { writer.uint32(32).bool(message.is_folder); } if (message.parent_id !== undefined) { writer.uint32(42).string(message.parent_id); } if (message.type !== "") { writer.uint32(50).string(message.type); } if (message.tags !== undefined) { FileTag.encode(message.tags, writer.uint32(58).fork()).ldelim(); } if (message.source_url !== undefined) { writer.uint32(66).string(message.source_url); } if (message.size !== undefined) { writer.uint32(72).int64(message.size); } if (message.file_info !== undefined) { Struct.encode( Struct.wrap(message.file_info), writer.uint32(82).fork() ).ldelim(); } if (message.sub_type !== undefined) { writer.uint32(90).string(message.sub_type); } if (message.short_id !== undefined) { writer.uint32(98).string(message.short_id); } if (message.data !== undefined) { Struct.encode( Struct.wrap(message.data), writer.uint32(106).fork() ).ldelim(); } if (message.position !== undefined) { writer.uint32(112).int64(message.position); } if (message.template_id !== undefined) { writer.uint32(122).string(message.template_id); } if (message.kanban_default_view !== undefined) { writer.uint32(130).string(message.kanban_default_view); } if (message.kanban_card_style !== undefined) { writer.uint32(138).string(message.kanban_card_style); } if (message.unnotify !== undefined) { writer.uint32(144).bool(message.unnotify); } if (message.permission_level !== undefined) { writer.uint32(152).int64(message.permission_level); } for (const v of message.permission_user_ids) { writer.uint32(162).string(v!); } if (message.permission_user_type !== undefined) { writer.uint32(170).string(message.permission_user_type); } if (message.project_id !== undefined) { writer.uint32(178).string(message.project_id); } if (message.hash !== undefined) { writer.uint32(186).string(message.hash); } if (message.key !== undefined) { writer.uint32(194).string(message.key); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): CreateFileForm { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFileForm(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.space_id = reader.string(); break; case 3: message.is_space = reader.bool(); break; case 4: message.is_folder = reader.bool(); break; case 5: message.parent_id = reader.string(); break; case 6: message.type = reader.string(); break; case 7: message.tags = FileTag.decode(reader, reader.uint32()); break; case 8: message.source_url = reader.string(); break; case 9: message.size = longToNumber(reader.int64() as Long); break; case 10: message.file_info = Struct.unwrap( Struct.decode(reader, reader.uint32()) ); break; case 11: message.sub_type = reader.string(); break; case 12: message.short_id = reader.string(); break; case 13: message.data = Struct.unwrap(Struct.decode(reader, reader.uint32())); break; case 14: message.position = longToNumber(reader.int64() as Long); break; case 15: message.template_id = reader.string(); break; case 16: message.kanban_default_view = reader.string(); break; case 17: message.kanban_card_style = reader.string(); break; case 18: message.unnotify = reader.bool(); break; case 19: message.permission_level = longToNumber(reader.int64() as Long); break; case 20: message.permission_user_ids.push(reader.string()); break; case 21: message.permission_user_type = reader.string(); break; case 22: message.project_id = reader.string(); break; case 23: message.hash = reader.string(); break; case 24: message.key = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFileForm { return { title: isSet(object.title) ? String(object.title) : "", space_id: isSet(object.space_id) ? String(object.space_id) : "", is_space: isSet(object.is_space) ? Boolean(object.is_space) : undefined, is_folder: isSet(object.is_folder) ? Boolean(object.is_folder) : undefined, parent_id: isSet(object.parent_id) ? String(object.parent_id) : undefined, type: isSet(object.type) ? String(object.type) : "", tags: isSet(object.tags) ? FileTag.fromJSON(object.tags) : undefined, source_url: isSet(object.source_url) ? String(object.source_url) : undefined, size: isSet(object.size) ? Number(object.size) : undefined, file_info: isObject(object.file_info) ? object.file_info : undefined, sub_type: isSet(object.sub_type) ? String(object.sub_type) : undefined, short_id: isSet(object.short_id) ? String(object.short_id) : undefined, data: isObject(object.data) ? object.data : undefined, position: isSet(object.position) ? Number(object.position) : undefined, template_id: isSet(object.template_id) ? String(object.template_id) : undefined, kanban_default_view: isSet(object.kanban_default_view) ? String(object.kanban_default_view) : undefined, kanban_card_style: isSet(object.kanban_card_style) ? String(object.kanban_card_style) : undefined, unnotify: isSet(object.unnotify) ? Boolean(object.unnotify) : undefined, permission_level: isSet(object.permission_level) ? Number(object.permission_level) : undefined, permission_user_ids: Array.isArray(object?.permission_user_ids) ? object.permission_user_ids.map((e: any) => String(e)) : [], permission_user_type: isSet(object.permission_user_type) ? String(object.permission_user_type) : undefined, project_id: isSet(object.project_id) ? String(object.project_id) : undefined, hash: isSet(object.hash) ? String(object.hash) : undefined, key: isSet(object.key) ? String(object.key) : undefined, }; }, toJSON(message: CreateFileForm): unknown { const obj: any = {}; message.title !== undefined && (obj.title = message.title); message.space_id !== undefined && (obj.space_id = message.space_id); message.is_space !== undefined && (obj.is_space = message.is_space); message.is_folder !== undefined && (obj.is_folder = message.is_folder); message.parent_id !== undefined && (obj.parent_id = message.parent_id); message.type !== undefined && (obj.type = message.type); message.tags !== undefined && (obj.tags = message.tags ? FileTag.toJSON(message.tags) : undefined); message.source_url !== undefined && (obj.source_url = message.source_url); message.size !== undefined && (obj.size = Math.round(message.size)); message.file_info !== undefined && (obj.file_info = message.file_info); message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.short_id !== undefined && (obj.short_id = message.short_id); message.data !== undefined && (obj.data = message.data); message.position !== undefined && (obj.position = Math.round(message.position)); message.template_id !== undefined && (obj.template_id = message.template_id); message.kanban_default_view !== undefined && (obj.kanban_default_view = message.kanban_default_view); message.kanban_card_style !== undefined && (obj.kanban_card_style = message.kanban_card_style); message.unnotify !== undefined && (obj.unnotify = message.unnotify); message.permission_level !== undefined && (obj.permission_level = Math.round(message.permission_level)); if (message.permission_user_ids) { obj.permission_user_ids = message.permission_user_ids.map((e) => e); } else { obj.permission_user_ids = []; } message.permission_user_type !== undefined && (obj.permission_user_type = message.permission_user_type); message.project_id !== undefined && (obj.project_id = message.project_id); message.hash !== undefined && (obj.hash = message.hash); message.key !== undefined && (obj.key = message.key); return obj; }, fromPartial, I>>( object: I ): CreateFileForm { const message = createBaseCreateFileForm(); message.title = object.title ?? ""; message.space_id = object.space_id ?? ""; message.is_space = object.is_space ?? undefined; message.is_folder = object.is_folder ?? undefined; message.parent_id = object.parent_id ?? undefined; message.type = object.type ?? ""; message.tags = object.tags !== undefined && object.tags !== null ? FileTag.fromPartial(object.tags) : undefined; message.source_url = object.source_url ?? undefined; message.size = object.size ?? undefined; message.file_info = object.file_info ?? undefined; message.sub_type = object.sub_type ?? undefined; message.short_id = object.short_id ?? undefined; message.data = object.data ?? undefined; message.position = object.position ?? undefined; message.template_id = object.template_id ?? undefined; message.kanban_default_view = object.kanban_default_view ?? undefined; message.kanban_card_style = object.kanban_card_style ?? undefined; message.unnotify = object.unnotify ?? undefined; message.permission_level = object.permission_level ?? undefined; message.permission_user_ids = object.permission_user_ids?.map((e) => e) || []; message.permission_user_type = object.permission_user_type ?? undefined; message.project_id = object.project_id ?? undefined; message.hash = object.hash ?? undefined; message.key = object.key ?? undefined; return message; }, }; function createBaseSearchFileResponse(): SearchFileResponse { return { files: [] }; } export const SearchFileResponse = { encode( message: SearchFileResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.files) { SearchFileResult.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SearchFileResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSearchFileResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.files.push(SearchFileResult.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SearchFileResponse { return { files: Array.isArray(object?.files) ? object.files.map((e: any) => SearchFileResult.fromJSON(e)) : [], }; }, toJSON(message: SearchFileResponse): unknown { const obj: any = {}; if (message.files) { obj.files = message.files.map((e) => e ? SearchFileResult.toJSON(e) : undefined ); } else { obj.files = []; } return obj; }, fromPartial, I>>( object: I ): SearchFileResponse { const message = createBaseSearchFileResponse(); message.files = object.files?.map((e) => SearchFileResult.fromPartial(e)) || []; return message; }, }; function createBaseGetFilePathRequest(): GetFilePathRequest { return { id: "" }; } export const GetFilePathRequest = { encode( message: GetFilePathRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetFilePathRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetFilePathRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetFilePathRequest { return { id: isSet(object.id) ? String(object.id) : "", }; }, toJSON(message: GetFilePathRequest): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); return obj; }, fromPartial, I>>( object: I ): GetFilePathRequest { const message = createBaseGetFilePathRequest(); message.id = object.id ?? ""; return message; }, }; function createBaseGetFilePathResponse(): GetFilePathResponse { return { path: [] }; } export const GetFilePathResponse = { encode( message: GetFilePathResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.path) { writer.uint32(10).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetFilePathResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetFilePathResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.path.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetFilePathResponse { return { path: Array.isArray(object?.path) ? object.path.map((e: any) => String(e)) : [], }; }, toJSON(message: GetFilePathResponse): unknown { const obj: any = {}; if (message.path) { obj.path = message.path.map((e) => e); } else { obj.path = []; } return obj; }, fromPartial, I>>( object: I ): GetFilePathResponse { const message = createBaseGetFilePathResponse(); message.path = object.path?.map((e) => e) || []; return message; }, }; function createBaseGetOrgFilesSizeRequest(): GetOrgFilesSizeRequest { return { username: "" }; } export const GetOrgFilesSizeRequest = { encode( message: GetOrgFilesSizeRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetOrgFilesSizeRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetOrgFilesSizeRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetOrgFilesSizeRequest { return { username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: GetOrgFilesSizeRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): GetOrgFilesSizeRequest { const message = createBaseGetOrgFilesSizeRequest(); message.username = object.username ?? ""; return message; }, }; function createBaseGetOrgFilesSizeResponse(): GetOrgFilesSizeResponse { return { size: 0 }; } export const GetOrgFilesSizeResponse = { encode( message: GetOrgFilesSizeResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.size !== 0) { writer.uint32(8).int64(message.size); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetOrgFilesSizeResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetOrgFilesSizeResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.size = longToNumber(reader.int64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetOrgFilesSizeResponse { return { size: isSet(object.size) ? Number(object.size) : 0, }; }, toJSON(message: GetOrgFilesSizeResponse): unknown { const obj: any = {}; message.size !== undefined && (obj.size = Math.round(message.size)); return obj; }, fromPartial, I>>( object: I ): GetOrgFilesSizeResponse { const message = createBaseGetOrgFilesSizeResponse(); message.size = object.size ?? 0; return message; }, }; function createBaseGetStarredFilesRequest(): GetStarredFilesRequest { return { username: "" }; } export const GetStarredFilesRequest = { encode( message: GetStarredFilesRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetStarredFilesRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetStarredFilesRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetStarredFilesRequest { return { username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: GetStarredFilesRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): GetStarredFilesRequest { const message = createBaseGetStarredFilesRequest(); message.username = object.username ?? ""; return message; }, }; function createBaseGetStarredFilesResponse(): GetStarredFilesResponse { return { files: [] }; } export const GetStarredFilesResponse = { encode( message: GetStarredFilesResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.files) { File.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetStarredFilesResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetStarredFilesResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.files.push(File.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetStarredFilesResponse { return { files: Array.isArray(object?.files) ? object.files.map((e: any) => File.fromJSON(e)) : [], }; }, toJSON(message: GetStarredFilesResponse): unknown { const obj: any = {}; if (message.files) { obj.files = message.files.map((e) => (e ? File.toJSON(e) : undefined)); } else { obj.files = []; } return obj; }, fromPartial, I>>( object: I ): GetStarredFilesResponse { const message = createBaseGetStarredFilesResponse(); message.files = object.files?.map((e) => File.fromPartial(e)) || []; return message; }, }; function createBaseCreateFileViewingRecordsRequest(): CreateFileViewingRecordsRequest { return { id: "" }; } export const CreateFileViewingRecordsRequest = { encode( message: CreateFileViewingRecordsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): CreateFileViewingRecordsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFileViewingRecordsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFileViewingRecordsRequest { return { id: isSet(object.id) ? String(object.id) : "", }; }, toJSON(message: CreateFileViewingRecordsRequest): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); return obj; }, fromPartial, I>>( object: I ): CreateFileViewingRecordsRequest { const message = createBaseCreateFileViewingRecordsRequest(); message.id = object.id ?? ""; return message; }, }; function createBaseSuggestedFiles(): SuggestedFiles { return { files: [] }; } export const SuggestedFiles = { encode( message: SuggestedFiles, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.files) { File.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SuggestedFiles { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSuggestedFiles(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.files.push(File.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SuggestedFiles { return { files: Array.isArray(object?.files) ? object.files.map((e: any) => File.fromJSON(e)) : [], }; }, toJSON(message: SuggestedFiles): unknown { const obj: any = {}; if (message.files) { obj.files = message.files.map((e) => (e ? File.toJSON(e) : undefined)); } else { obj.files = []; } return obj; }, fromPartial, I>>( object: I ): SuggestedFiles { const message = createBaseSuggestedFiles(); message.files = object.files?.map((e) => File.fromPartial(e)) || []; return message; }, }; function createBaseGetSuggestedFilesResponse(): GetSuggestedFilesResponse { return { res: {} }; } export const GetSuggestedFilesResponse = { encode( message: GetSuggestedFilesResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { Object.entries(message.res).forEach(([key, value]) => { GetSuggestedFilesResponse_ResEntry.encode( { key: key as any, value }, writer.uint32(10).fork() ).ldelim(); }); return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSuggestedFilesResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSuggestedFilesResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: const entry1 = GetSuggestedFilesResponse_ResEntry.decode( reader, reader.uint32() ); if (entry1.value !== undefined) { message.res[entry1.key] = entry1.value; } break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSuggestedFilesResponse { return { res: isObject(object.res) ? Object.entries(object.res).reduce<{ [key: string]: SuggestedFiles }>( (acc, [key, value]) => { acc[key] = SuggestedFiles.fromJSON(value); return acc; }, {} ) : {}, }; }, toJSON(message: GetSuggestedFilesResponse): unknown { const obj: any = {}; obj.res = {}; if (message.res) { Object.entries(message.res).forEach(([k, v]) => { obj.res[k] = SuggestedFiles.toJSON(v); }); } return obj; }, fromPartial, I>>( object: I ): GetSuggestedFilesResponse { const message = createBaseGetSuggestedFilesResponse(); message.res = Object.entries(object.res ?? {}).reduce<{ [key: string]: SuggestedFiles; }>((acc, [key, value]) => { if (value !== undefined) { acc[key] = SuggestedFiles.fromPartial(value); } return acc; }, {}); return message; }, }; function createBaseGetSuggestedFilesResponse_ResEntry(): GetSuggestedFilesResponse_ResEntry { return { key: "", value: undefined }; } export const GetSuggestedFilesResponse_ResEntry = { encode( message: GetSuggestedFilesResponse_ResEntry, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.value !== undefined) { SuggestedFiles.encode(message.value, writer.uint32(18).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSuggestedFilesResponse_ResEntry { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSuggestedFilesResponse_ResEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.value = SuggestedFiles.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSuggestedFilesResponse_ResEntry { return { key: isSet(object.key) ? String(object.key) : "", value: isSet(object.value) ? SuggestedFiles.fromJSON(object.value) : undefined, }; }, toJSON(message: GetSuggestedFilesResponse_ResEntry): unknown { const obj: any = {}; message.key !== undefined && (obj.key = message.key); message.value !== undefined && (obj.value = message.value ? SuggestedFiles.toJSON(message.value) : undefined); return obj; }, fromPartial< I extends Exact, I> >(object: I): GetSuggestedFilesResponse_ResEntry { const message = createBaseGetSuggestedFilesResponse_ResEntry(); message.key = object.key ?? ""; message.value = object.value !== undefined && object.value !== null ? SuggestedFiles.fromPartial(object.value) : undefined; return message; }, }; function createBaseGetSpaceFileTreeRequest(): GetSpaceFileTreeRequest { return { username: "", user_id: undefined }; } export const GetSpaceFileTreeRequest = { encode( message: GetSpaceFileTreeRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.user_id !== undefined) { writer.uint32(18).string(message.user_id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSpaceFileTreeRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSpaceFileTreeRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.user_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSpaceFileTreeRequest { return { username: isSet(object.username) ? String(object.username) : "", user_id: isSet(object.user_id) ? String(object.user_id) : undefined, }; }, toJSON(message: GetSpaceFileTreeRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.user_id !== undefined && (obj.user_id = message.user_id); return obj; }, fromPartial, I>>( object: I ): GetSpaceFileTreeRequest { const message = createBaseGetSpaceFileTreeRequest(); message.username = object.username ?? ""; message.user_id = object.user_id ?? undefined; return message; }, }; function createBaseUpdateFileMarkdownContentRequest(): UpdateFileMarkdownContentRequest { return { path: [], update_type: "", go_patch_text: "", js_patch_text: "", content: "", ws_client_id: "", }; } export const UpdateFileMarkdownContentRequest = { encode( message: UpdateFileMarkdownContentRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.path) { writer.uint32(10).string(v!); } if (message.update_type !== "") { writer.uint32(18).string(message.update_type); } if (message.go_patch_text !== "") { writer.uint32(26).string(message.go_patch_text); } if (message.js_patch_text !== "") { writer.uint32(34).string(message.js_patch_text); } if (message.content !== "") { writer.uint32(42).string(message.content); } if (message.ws_client_id !== "") { writer.uint32(50).string(message.ws_client_id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): UpdateFileMarkdownContentRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateFileMarkdownContentRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.path.push(reader.string()); break; case 2: message.update_type = reader.string(); break; case 3: message.go_patch_text = reader.string(); break; case 4: message.js_patch_text = reader.string(); break; case 5: message.content = reader.string(); break; case 6: message.ws_client_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): UpdateFileMarkdownContentRequest { return { path: Array.isArray(object?.path) ? object.path.map((e: any) => String(e)) : [], update_type: isSet(object.update_type) ? String(object.update_type) : "", go_patch_text: isSet(object.go_patch_text) ? String(object.go_patch_text) : "", js_patch_text: isSet(object.js_patch_text) ? String(object.js_patch_text) : "", content: isSet(object.content) ? String(object.content) : "", ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", }; }, toJSON(message: UpdateFileMarkdownContentRequest): unknown { const obj: any = {}; if (message.path) { obj.path = message.path.map((e) => e); } else { obj.path = []; } message.update_type !== undefined && (obj.update_type = message.update_type); message.go_patch_text !== undefined && (obj.go_patch_text = message.go_patch_text); message.js_patch_text !== undefined && (obj.js_patch_text = message.js_patch_text); message.content !== undefined && (obj.content = message.content); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); return obj; }, fromPartial< I extends Exact, I> >(object: I): UpdateFileMarkdownContentRequest { const message = createBaseUpdateFileMarkdownContentRequest(); message.path = object.path?.map((e) => e) || []; message.update_type = object.update_type ?? ""; message.go_patch_text = object.go_patch_text ?? ""; message.js_patch_text = object.js_patch_text ?? ""; message.content = object.content ?? ""; message.ws_client_id = object.ws_client_id ?? ""; return message; }, }; function createBaseUpdateFileMarkdownContentResponse(): UpdateFileMarkdownContentResponse { return { markdown_content: "" }; } export const UpdateFileMarkdownContentResponse = { encode( message: UpdateFileMarkdownContentResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.markdown_content !== "") { writer.uint32(10).string(message.markdown_content); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): UpdateFileMarkdownContentResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateFileMarkdownContentResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.markdown_content = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): UpdateFileMarkdownContentResponse { return { markdown_content: isSet(object.markdown_content) ? String(object.markdown_content) : "", }; }, toJSON(message: UpdateFileMarkdownContentResponse): unknown { const obj: any = {}; message.markdown_content !== undefined && (obj.markdown_content = message.markdown_content); return obj; }, fromPartial< I extends Exact, I> >(object: I): UpdateFileMarkdownContentResponse { const message = createBaseUpdateFileMarkdownContentResponse(); message.markdown_content = object.markdown_content ?? ""; return message; }, }; function createBaseCreateFileRequest(): CreateFileRequest { return { username: "", ws_client_id: "", form: undefined }; } export const CreateFileRequest = { encode( message: CreateFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.ws_client_id !== "") { writer.uint32(18).string(message.ws_client_id); } if (message.form !== undefined) { CreateFileForm.encode(message.form, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): CreateFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.ws_client_id = reader.string(); break; case 3: message.form = CreateFileForm.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFileRequest { return { username: isSet(object.username) ? String(object.username) : "", ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", form: isSet(object.form) ? CreateFileForm.fromJSON(object.form) : undefined, }; }, toJSON(message: CreateFileRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); message.form !== undefined && (obj.form = message.form ? CreateFileForm.toJSON(message.form) : undefined); return obj; }, fromPartial, I>>( object: I ): CreateFileRequest { const message = createBaseCreateFileRequest(); message.username = object.username ?? ""; message.ws_client_id = object.ws_client_id ?? ""; message.form = object.form !== undefined && object.form !== null ? CreateFileForm.fromPartial(object.form) : undefined; return message; }, }; function createBaseCreateFileResponse(): CreateFileResponse { return { file: undefined }; } export const CreateFileResponse = { encode( message: CreateFileResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file !== undefined) { FileExtendsPermission.encode( message.file, writer.uint32(10).fork() ).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): CreateFileResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFileResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file = FileExtendsPermission.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFileResponse { return { file: isSet(object.file) ? FileExtendsPermission.fromJSON(object.file) : undefined, }; }, toJSON(message: CreateFileResponse): unknown { const obj: any = {}; message.file !== undefined && (obj.file = message.file ? FileExtendsPermission.toJSON(message.file) : undefined); return obj; }, fromPartial, I>>( object: I ): CreateFileResponse { const message = createBaseCreateFileResponse(); message.file = object.file !== undefined && object.file !== null ? FileExtendsPermission.fromPartial(object.file) : undefined; return message; }, }; function createBaseFilePermission(): FilePermission { return { id: undefined, file_id: "", file_type: "", user_id: "", user_type: "", level: 0, name: "", full_name: "", avatar: "", }; } export const FilePermission = { encode( message: FilePermission, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== undefined) { writer.uint32(10).string(message.id); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } if (message.file_type !== "") { writer.uint32(26).string(message.file_type); } if (message.user_id !== "") { writer.uint32(34).string(message.user_id); } if (message.user_type !== "") { writer.uint32(42).string(message.user_type); } if (message.level !== 0) { writer.uint32(48).int32(message.level); } if (message.name !== "") { writer.uint32(58).string(message.name); } if (message.full_name !== "") { writer.uint32(66).string(message.full_name); } if (message.avatar !== "") { writer.uint32(74).string(message.avatar); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): FilePermission { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFilePermission(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.file_id = reader.string(); break; case 3: message.file_type = reader.string(); break; case 4: message.user_id = reader.string(); break; case 5: message.user_type = reader.string(); break; case 6: message.level = reader.int32(); break; case 7: message.name = reader.string(); break; case 8: message.full_name = reader.string(); break; case 9: message.avatar = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FilePermission { return { id: isSet(object.id) ? String(object.id) : undefined, file_id: isSet(object.file_id) ? String(object.file_id) : "", file_type: isSet(object.file_type) ? String(object.file_type) : "", user_id: isSet(object.user_id) ? String(object.user_id) : "", user_type: isSet(object.user_type) ? String(object.user_type) : "", level: isSet(object.level) ? Number(object.level) : 0, name: isSet(object.name) ? String(object.name) : "", full_name: isSet(object.full_name) ? String(object.full_name) : "", avatar: isSet(object.avatar) ? String(object.avatar) : "", }; }, toJSON(message: FilePermission): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.file_id !== undefined && (obj.file_id = message.file_id); message.file_type !== undefined && (obj.file_type = message.file_type); message.user_id !== undefined && (obj.user_id = message.user_id); message.user_type !== undefined && (obj.user_type = message.user_type); message.level !== undefined && (obj.level = Math.round(message.level)); message.name !== undefined && (obj.name = message.name); message.full_name !== undefined && (obj.full_name = message.full_name); message.avatar !== undefined && (obj.avatar = message.avatar); return obj; }, fromPartial, I>>( object: I ): FilePermission { const message = createBaseFilePermission(); message.id = object.id ?? undefined; message.file_id = object.file_id ?? ""; message.file_type = object.file_type ?? ""; message.user_id = object.user_id ?? ""; message.user_type = object.user_type ?? ""; message.level = object.level ?? 0; message.name = object.name ?? ""; message.full_name = object.full_name ?? ""; message.avatar = object.avatar ?? ""; return message; }, }; function createBaseGetUsersPermissionsByFileIDRequest(): GetUsersPermissionsByFileIDRequest { return { username: "", file_id: "" }; } export const GetUsersPermissionsByFileIDRequest = { encode( message: GetUsersPermissionsByFileIDRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetUsersPermissionsByFileIDRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetUsersPermissionsByFileIDRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.file_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetUsersPermissionsByFileIDRequest { return { username: isSet(object.username) ? String(object.username) : "", file_id: isSet(object.file_id) ? String(object.file_id) : "", }; }, toJSON(message: GetUsersPermissionsByFileIDRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.file_id !== undefined && (obj.file_id = message.file_id); return obj; }, fromPartial< I extends Exact, I> >(object: I): GetUsersPermissionsByFileIDRequest { const message = createBaseGetUsersPermissionsByFileIDRequest(); message.username = object.username ?? ""; message.file_id = object.file_id ?? ""; return message; }, }; function createBaseGetUsersPermissionsByFileIDResponse(): GetUsersPermissionsByFileIDResponse { return { org_permission: undefined, team_permissions: [], user_permissions: [], }; } export const GetUsersPermissionsByFileIDResponse = { encode( message: GetUsersPermissionsByFileIDResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.org_permission !== undefined) { FilePermission.encode( message.org_permission, writer.uint32(10).fork() ).ldelim(); } for (const v of message.team_permissions) { FilePermission.encode(v!, writer.uint32(18).fork()).ldelim(); } for (const v of message.user_permissions) { FilePermission.encode(v!, writer.uint32(26).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetUsersPermissionsByFileIDResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetUsersPermissionsByFileIDResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.org_permission = FilePermission.decode( reader, reader.uint32() ); break; case 2: message.team_permissions.push( FilePermission.decode(reader, reader.uint32()) ); break; case 3: message.user_permissions.push( FilePermission.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetUsersPermissionsByFileIDResponse { return { org_permission: isSet(object.org_permission) ? FilePermission.fromJSON(object.org_permission) : undefined, team_permissions: Array.isArray(object?.team_permissions) ? object.team_permissions.map((e: any) => FilePermission.fromJSON(e)) : [], user_permissions: Array.isArray(object?.user_permissions) ? object.user_permissions.map((e: any) => FilePermission.fromJSON(e)) : [], }; }, toJSON(message: GetUsersPermissionsByFileIDResponse): unknown { const obj: any = {}; message.org_permission !== undefined && (obj.org_permission = message.org_permission ? FilePermission.toJSON(message.org_permission) : undefined); if (message.team_permissions) { obj.team_permissions = message.team_permissions.map((e) => e ? FilePermission.toJSON(e) : undefined ); } else { obj.team_permissions = []; } if (message.user_permissions) { obj.user_permissions = message.user_permissions.map((e) => e ? FilePermission.toJSON(e) : undefined ); } else { obj.user_permissions = []; } return obj; }, fromPartial< I extends Exact, I> >(object: I): GetUsersPermissionsByFileIDResponse { const message = createBaseGetUsersPermissionsByFileIDResponse(); message.org_permission = object.org_permission !== undefined && object.org_permission !== null ? FilePermission.fromPartial(object.org_permission) : undefined; message.team_permissions = object.team_permissions?.map((e) => FilePermission.fromPartial(e)) || []; message.user_permissions = object.user_permissions?.map((e) => FilePermission.fromPartial(e)) || []; return message; }, }; function createBaseDeleteFilePermissionRequest(): DeleteFilePermissionRequest { return { username: "", id: "" }; } export const DeleteFilePermissionRequest = { encode( message: DeleteFilePermissionRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.id !== "") { writer.uint32(18).string(message.id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): DeleteFilePermissionRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDeleteFilePermissionRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): DeleteFilePermissionRequest { return { username: isSet(object.username) ? String(object.username) : "", id: isSet(object.id) ? String(object.id) : "", }; }, toJSON(message: DeleteFilePermissionRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.id !== undefined && (obj.id = message.id); return obj; }, fromPartial, I>>( object: I ): DeleteFilePermissionRequest { const message = createBaseDeleteFilePermissionRequest(); message.username = object.username ?? ""; message.id = object.id ?? ""; return message; }, }; function createBaseCreateFilePermissionRequest(): CreateFilePermissionRequest { return { username: "", id: undefined, file_id: "", user_id: "", user_type: "", level: 0, }; } export const CreateFilePermissionRequest = { encode( message: CreateFilePermissionRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.id !== undefined) { writer.uint32(18).string(message.id); } if (message.file_id !== "") { writer.uint32(26).string(message.file_id); } if (message.user_id !== "") { writer.uint32(34).string(message.user_id); } if (message.user_type !== "") { writer.uint32(42).string(message.user_type); } if (message.level !== 0) { writer.uint32(48).int32(message.level); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): CreateFilePermissionRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFilePermissionRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.id = reader.string(); break; case 3: message.file_id = reader.string(); break; case 4: message.user_id = reader.string(); break; case 5: message.user_type = reader.string(); break; case 6: message.level = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFilePermissionRequest { return { username: isSet(object.username) ? String(object.username) : "", id: isSet(object.id) ? String(object.id) : undefined, file_id: isSet(object.file_id) ? String(object.file_id) : "", user_id: isSet(object.user_id) ? String(object.user_id) : "", user_type: isSet(object.user_type) ? String(object.user_type) : "", level: isSet(object.level) ? Number(object.level) : 0, }; }, toJSON(message: CreateFilePermissionRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.id !== undefined && (obj.id = message.id); message.file_id !== undefined && (obj.file_id = message.file_id); message.user_id !== undefined && (obj.user_id = message.user_id); message.user_type !== undefined && (obj.user_type = message.user_type); message.level !== undefined && (obj.level = Math.round(message.level)); return obj; }, fromPartial, I>>( object: I ): CreateFilePermissionRequest { const message = createBaseCreateFilePermissionRequest(); message.username = object.username ?? ""; message.id = object.id ?? undefined; message.file_id = object.file_id ?? ""; message.user_id = object.user_id ?? ""; message.user_type = object.user_type ?? ""; message.level = object.level ?? 0; return message; }, }; function createBaseCreateFilePermissionResponse(): CreateFilePermissionResponse { return { permission: undefined }; } export const CreateFilePermissionResponse = { encode( message: CreateFilePermissionResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.permission !== undefined) { FilePermission.encode( message.permission, writer.uint32(10).fork() ).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): CreateFilePermissionResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFilePermissionResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.permission = FilePermission.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFilePermissionResponse { return { permission: isSet(object.permission) ? FilePermission.fromJSON(object.permission) : undefined, }; }, toJSON(message: CreateFilePermissionResponse): unknown { const obj: any = {}; message.permission !== undefined && (obj.permission = message.permission ? FilePermission.toJSON(message.permission) : undefined); return obj; }, fromPartial, I>>( object: I ): CreateFilePermissionResponse { const message = createBaseCreateFilePermissionResponse(); message.permission = object.permission !== undefined && object.permission !== null ? FilePermission.fromPartial(object.permission) : undefined; return message; }, }; function createBaseGetSpacesRequest(): GetSpacesRequest { return { username: "" }; } export const GetSpacesRequest = { encode( message: GetSpacesRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetSpacesRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSpacesRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSpacesRequest { return { username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: GetSpacesRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): GetSpacesRequest { const message = createBaseGetSpacesRequest(); message.username = object.username ?? ""; return message; }, }; function createBaseCreateFileStarsRequest(): CreateFileStarsRequest { return { file_id: "", username: "", star: false }; } export const CreateFileStarsRequest = { encode( message: CreateFileStarsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file_id !== "") { writer.uint32(10).string(message.file_id); } if (message.username !== "") { writer.uint32(18).string(message.username); } if (message.star === true) { writer.uint32(24).bool(message.star); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): CreateFileStarsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateFileStarsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file_id = reader.string(); break; case 2: message.username = reader.string(); break; case 3: message.star = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreateFileStarsRequest { return { file_id: isSet(object.file_id) ? String(object.file_id) : "", username: isSet(object.username) ? String(object.username) : "", star: isSet(object.star) ? Boolean(object.star) : false, }; }, toJSON(message: CreateFileStarsRequest): unknown { const obj: any = {}; message.file_id !== undefined && (obj.file_id = message.file_id); message.username !== undefined && (obj.username = message.username); message.star !== undefined && (obj.star = message.star); return obj; }, fromPartial, I>>( object: I ): CreateFileStarsRequest { const message = createBaseCreateFileStarsRequest(); message.file_id = object.file_id ?? ""; message.username = object.username ?? ""; message.star = object.star ?? false; return message; }, }; function createBaseImportFileForm(): ImportFileForm { return { space_id: "", name: "", parent_id: "", type: "", data: undefined }; } export const ImportFileForm = { encode( message: ImportFileForm, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.space_id !== "") { writer.uint32(10).string(message.space_id); } if (message.name !== "") { writer.uint32(18).string(message.name); } if (message.parent_id !== "") { writer.uint32(26).string(message.parent_id); } if (message.type !== "") { writer.uint32(34).string(message.type); } if (message.data !== undefined) { Value.encode(Value.wrap(message.data), writer.uint32(42).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ImportFileForm { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseImportFileForm(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.space_id = reader.string(); break; case 2: message.name = reader.string(); break; case 3: message.parent_id = reader.string(); break; case 4: message.type = reader.string(); break; case 5: message.data = Value.unwrap(Value.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ImportFileForm { return { space_id: isSet(object.space_id) ? String(object.space_id) : "", name: isSet(object.name) ? String(object.name) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", type: isSet(object.type) ? String(object.type) : "", data: isSet(object?.data) ? object.data : undefined, }; }, toJSON(message: ImportFileForm): unknown { const obj: any = {}; message.space_id !== undefined && (obj.space_id = message.space_id); message.name !== undefined && (obj.name = message.name); message.parent_id !== undefined && (obj.parent_id = message.parent_id); message.type !== undefined && (obj.type = message.type); message.data !== undefined && (obj.data = message.data); return obj; }, fromPartial, I>>( object: I ): ImportFileForm { const message = createBaseImportFileForm(); message.space_id = object.space_id ?? ""; message.name = object.name ?? ""; message.parent_id = object.parent_id ?? ""; message.type = object.type ?? ""; message.data = object.data ?? undefined; return message; }, }; function createBaseImportFileRequest(): ImportFileRequest { return { username: "", ws_client_id: "", form: undefined }; } export const ImportFileRequest = { encode( message: ImportFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.ws_client_id !== "") { writer.uint32(18).string(message.ws_client_id); } if (message.form !== undefined) { ImportFileForm.encode(message.form, writer.uint32(26).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ImportFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseImportFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.ws_client_id = reader.string(); break; case 3: message.form = ImportFileForm.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ImportFileRequest { return { username: isSet(object.username) ? String(object.username) : "", ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", form: isSet(object.form) ? ImportFileForm.fromJSON(object.form) : undefined, }; }, toJSON(message: ImportFileRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); message.form !== undefined && (obj.form = message.form ? ImportFileForm.toJSON(message.form) : undefined); return obj; }, fromPartial, I>>( object: I ): ImportFileRequest { const message = createBaseImportFileRequest(); message.username = object.username ?? ""; message.ws_client_id = object.ws_client_id ?? ""; message.form = object.form !== undefined && object.form !== null ? ImportFileForm.fromPartial(object.form) : undefined; return message; }, }; function createBaseGetCreateFileLocationRequest(): GetCreateFileLocationRequest { return { username: "" }; } export const GetCreateFileLocationRequest = { encode( message: GetCreateFileLocationRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetCreateFileLocationRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetCreateFileLocationRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetCreateFileLocationRequest { return { username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: GetCreateFileLocationRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): GetCreateFileLocationRequest { const message = createBaseGetCreateFileLocationRequest(); message.username = object.username ?? ""; return message; }, }; function createBaseCreatePastedFilesRequest(): CreatePastedFilesRequest { return { username: "", space_id: "", parent_id: "", pasted_file_ids: [] }; } export const CreatePastedFilesRequest = { encode( message: CreatePastedFilesRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.space_id !== "") { writer.uint32(18).string(message.space_id); } if (message.parent_id !== "") { writer.uint32(26).string(message.parent_id); } for (const v of message.pasted_file_ids) { writer.uint32(34).string(v!); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): CreatePastedFilesRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreatePastedFilesRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.space_id = reader.string(); break; case 3: message.parent_id = reader.string(); break; case 4: message.pasted_file_ids.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): CreatePastedFilesRequest { return { username: isSet(object.username) ? String(object.username) : "", space_id: isSet(object.space_id) ? String(object.space_id) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", pasted_file_ids: Array.isArray(object?.pasted_file_ids) ? object.pasted_file_ids.map((e: any) => String(e)) : [], }; }, toJSON(message: CreatePastedFilesRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.space_id !== undefined && (obj.space_id = message.space_id); message.parent_id !== undefined && (obj.parent_id = message.parent_id); if (message.pasted_file_ids) { obj.pasted_file_ids = message.pasted_file_ids.map((e) => e); } else { obj.pasted_file_ids = []; } return obj; }, fromPartial, I>>( object: I ): CreatePastedFilesRequest { const message = createBaseCreatePastedFilesRequest(); message.username = object.username ?? ""; message.space_id = object.space_id ?? ""; message.parent_id = object.parent_id ?? ""; message.pasted_file_ids = object.pasted_file_ids?.map((e) => e) || []; return message; }, }; function createBaseFilesResponse(): FilesResponse { return { files: [] }; } export const FilesResponse = { encode( message: FilesResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.files) { FileExtendsPermission.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): FilesResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFilesResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.files.push( FileExtendsPermission.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FilesResponse { return { files: Array.isArray(object?.files) ? object.files.map((e: any) => FileExtendsPermission.fromJSON(e)) : [], }; }, toJSON(message: FilesResponse): unknown { const obj: any = {}; if (message.files) { obj.files = message.files.map((e) => e ? FileExtendsPermission.toJSON(e) : undefined ); } else { obj.files = []; } return obj; }, fromPartial, I>>( object: I ): FilesResponse { const message = createBaseFilesResponse(); message.files = object.files?.map((e) => FileExtendsPermission.fromPartial(e)) || []; return message; }, }; function createBaseGetSharedFileRequest(): GetSharedFileRequest { return { id: "", is_short_url: false }; } export const GetSharedFileRequest = { encode( message: GetSharedFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.is_short_url === true) { writer.uint32(16).bool(message.is_short_url); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSharedFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSharedFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.is_short_url = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSharedFileRequest { return { id: isSet(object.id) ? String(object.id) : "", is_short_url: isSet(object.is_short_url) ? Boolean(object.is_short_url) : false, }; }, toJSON(message: GetSharedFileRequest): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.is_short_url !== undefined && (obj.is_short_url = message.is_short_url); return obj; }, fromPartial, I>>( object: I ): GetSharedFileRequest { const message = createBaseGetSharedFileRequest(); message.id = object.id ?? ""; message.is_short_url = object.is_short_url ?? false; return message; }, }; function createBaseGetSharedFileResponse(): GetSharedFileResponse { return { file: undefined, username: "" }; } export const GetSharedFileResponse = { encode( message: GetSharedFileResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file !== undefined) { FileExtendsPermission.encode( message.file, writer.uint32(10).fork() ).ldelim(); } if (message.username !== "") { writer.uint32(18).string(message.username); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSharedFileResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSharedFileResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file = FileExtendsPermission.decode(reader, reader.uint32()); break; case 2: message.username = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSharedFileResponse { return { file: isSet(object.file) ? FileExtendsPermission.fromJSON(object.file) : undefined, username: isSet(object.username) ? String(object.username) : "", }; }, toJSON(message: GetSharedFileResponse): unknown { const obj: any = {}; message.file !== undefined && (obj.file = message.file ? FileExtendsPermission.toJSON(message.file) : undefined); message.username !== undefined && (obj.username = message.username); return obj; }, fromPartial, I>>( object: I ): GetSharedFileResponse { const message = createBaseGetSharedFileResponse(); message.file = object.file !== undefined && object.file !== null ? FileExtendsPermission.fromPartial(object.file) : undefined; message.username = object.username ?? ""; return message; }, }; function createBaseGetHistoryRequest(): GetHistoryRequest { return { file_id: "", limit: 0, index: 0, type: "" }; } export const GetHistoryRequest = { encode( message: GetHistoryRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file_id !== "") { writer.uint32(10).string(message.file_id); } if (message.limit !== 0) { writer.uint32(16).int64(message.limit); } if (message.index !== 0) { writer.uint32(24).int64(message.index); } if (message.type !== "") { writer.uint32(34).string(message.type); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetHistoryRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetHistoryRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file_id = reader.string(); break; case 2: message.limit = longToNumber(reader.int64() as Long); break; case 3: message.index = longToNumber(reader.int64() as Long); break; case 4: message.type = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetHistoryRequest { return { file_id: isSet(object.file_id) ? String(object.file_id) : "", limit: isSet(object.limit) ? Number(object.limit) : 0, index: isSet(object.index) ? Number(object.index) : 0, type: isSet(object.type) ? String(object.type) : "", }; }, toJSON(message: GetHistoryRequest): unknown { const obj: any = {}; message.file_id !== undefined && (obj.file_id = message.file_id); message.limit !== undefined && (obj.limit = Math.round(message.limit)); message.index !== undefined && (obj.index = Math.round(message.index)); message.type !== undefined && (obj.type = message.type); return obj; }, fromPartial, I>>( object: I ): GetHistoryRequest { const message = createBaseGetHistoryRequest(); message.file_id = object.file_id ?? ""; message.limit = object.limit ?? 0; message.index = object.index ?? 0; message.type = object.type ?? ""; return message; }, }; function createBaseMarkdownPatch(): MarkdownPatch { return { created_at: "", patch_text: "" }; } export const MarkdownPatch = { encode( message: MarkdownPatch, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.created_at !== "") { writer.uint32(10).string(message.created_at); } if (message.patch_text !== "") { writer.uint32(18).string(message.patch_text); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MarkdownPatch { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMarkdownPatch(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.created_at = reader.string(); break; case 2: message.patch_text = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MarkdownPatch { return { created_at: isSet(object.created_at) ? String(object.created_at) : "", patch_text: isSet(object.patch_text) ? String(object.patch_text) : "", }; }, toJSON(message: MarkdownPatch): unknown { const obj: any = {}; message.created_at !== undefined && (obj.created_at = message.created_at); message.patch_text !== undefined && (obj.patch_text = message.patch_text); return obj; }, fromPartial, I>>( object: I ): MarkdownPatch { const message = createBaseMarkdownPatch(); message.created_at = object.created_at ?? ""; message.patch_text = object.patch_text ?? ""; return message; }, }; function createBaseMarkdown(): Markdown { return { _id: "", patches: [], count: 0, index: 0, content: "" }; } export const Markdown = { encode( message: Markdown, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message._id !== "") { writer.uint32(10).string(message._id); } for (const v of message.patches) { MarkdownPatch.encode(v!, writer.uint32(18).fork()).ldelim(); } if (message.count !== 0) { writer.uint32(24).int64(message.count); } if (message.index !== 0) { writer.uint32(32).int32(message.index); } if (message.content !== "") { writer.uint32(42).string(message.content); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): Markdown { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMarkdown(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message._id = reader.string(); break; case 2: message.patches.push(MarkdownPatch.decode(reader, reader.uint32())); break; case 3: message.count = longToNumber(reader.int64() as Long); break; case 4: message.index = reader.int32(); break; case 5: message.content = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): Markdown { return { _id: isSet(object._id) ? String(object._id) : "", patches: Array.isArray(object?.patches) ? object.patches.map((e: any) => MarkdownPatch.fromJSON(e)) : [], count: isSet(object.count) ? Number(object.count) : 0, index: isSet(object.index) ? Number(object.index) : 0, content: isSet(object.content) ? String(object.content) : "", }; }, toJSON(message: Markdown): unknown { const obj: any = {}; message._id !== undefined && (obj._id = message._id); if (message.patches) { obj.patches = message.patches.map((e) => e ? MarkdownPatch.toJSON(e) : undefined ); } else { obj.patches = []; } message.count !== undefined && (obj.count = Math.round(message.count)); message.index !== undefined && (obj.index = Math.round(message.index)); message.content !== undefined && (obj.content = message.content); return obj; }, fromPartial, I>>(object: I): Markdown { const message = createBaseMarkdown(); message._id = object._id ?? ""; message.patches = object.patches?.map((e) => MarkdownPatch.fromPartial(e)) || []; message.count = object.count ?? 0; message.index = object.index ?? 0; message.content = object.content ?? ""; return message; }, }; function createBaseMindMapHistory(): MindMapHistory { return { data: [], count: 0 }; } export const MindMapHistory = { encode( message: MindMapHistory, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.data) { MindMapHistory_History.encode(v!, writer.uint32(10).fork()).ldelim(); } if (message.count !== 0) { writer.uint32(16).int64(message.count); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MindMapHistory { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMindMapHistory(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.data.push( MindMapHistory_History.decode(reader, reader.uint32()) ); break; case 2: message.count = longToNumber(reader.int64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MindMapHistory { return { data: Array.isArray(object?.data) ? object.data.map((e: any) => MindMapHistory_History.fromJSON(e)) : [], count: isSet(object.count) ? Number(object.count) : 0, }; }, toJSON(message: MindMapHistory): unknown { const obj: any = {}; if (message.data) { obj.data = message.data.map((e) => e ? MindMapHistory_History.toJSON(e) : undefined ); } else { obj.data = []; } message.count !== undefined && (obj.count = Math.round(message.count)); return obj; }, fromPartial, I>>( object: I ): MindMapHistory { const message = createBaseMindMapHistory(); message.data = object.data?.map((e) => MindMapHistory_History.fromPartial(e)) || []; message.count = object.count ?? 0; return message; }, }; function createBaseMindMapHistory_History(): MindMapHistory_History { return { mind_map_id: "", file_id: "", id: "", root_topicKey: "", topics: [], user_id: "", user_name: "", user_avatar: "", created_unix: 0, optype: "", }; } export const MindMapHistory_History = { encode( message: MindMapHistory_History, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.mind_map_id !== "") { writer.uint32(10).string(message.mind_map_id); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } if (message.id !== "") { writer.uint32(26).string(message.id); } if (message.root_topicKey !== "") { writer.uint32(34).string(message.root_topicKey); } for (const v of message.topics) { MindTopic.encode(v!, writer.uint32(42).fork()).ldelim(); } if (message.user_id !== "") { writer.uint32(50).string(message.user_id); } if (message.user_name !== "") { writer.uint32(58).string(message.user_name); } if (message.user_avatar !== "") { writer.uint32(66).string(message.user_avatar); } if (message.created_unix !== 0) { writer.uint32(72).int64(message.created_unix); } if (message.optype !== "") { writer.uint32(82).string(message.optype); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): MindMapHistory_History { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMindMapHistory_History(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.mind_map_id = reader.string(); break; case 2: message.file_id = reader.string(); break; case 3: message.id = reader.string(); break; case 4: message.root_topicKey = reader.string(); break; case 5: message.topics.push(MindTopic.decode(reader, reader.uint32())); break; case 6: message.user_id = reader.string(); break; case 7: message.user_name = reader.string(); break; case 8: message.user_avatar = reader.string(); break; case 9: message.created_unix = longToNumber(reader.int64() as Long); break; case 10: message.optype = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MindMapHistory_History { return { mind_map_id: isSet(object.mind_map_id) ? String(object.mind_map_id) : "", file_id: isSet(object.file_id) ? String(object.file_id) : "", id: isSet(object.id) ? String(object.id) : "", root_topicKey: isSet(object.root_topicKey) ? String(object.root_topicKey) : "", topics: Array.isArray(object?.topics) ? object.topics.map((e: any) => MindTopic.fromJSON(e)) : [], user_id: isSet(object.user_id) ? String(object.user_id) : "", user_name: isSet(object.user_name) ? String(object.user_name) : "", user_avatar: isSet(object.user_avatar) ? String(object.user_avatar) : "", created_unix: isSet(object.created_unix) ? Number(object.created_unix) : 0, optype: isSet(object.optype) ? String(object.optype) : "", }; }, toJSON(message: MindMapHistory_History): unknown { const obj: any = {}; message.mind_map_id !== undefined && (obj.mind_map_id = message.mind_map_id); message.file_id !== undefined && (obj.file_id = message.file_id); message.id !== undefined && (obj.id = message.id); message.root_topicKey !== undefined && (obj.root_topicKey = message.root_topicKey); if (message.topics) { obj.topics = message.topics.map((e) => e ? MindTopic.toJSON(e) : undefined ); } else { obj.topics = []; } message.user_id !== undefined && (obj.user_id = message.user_id); message.user_name !== undefined && (obj.user_name = message.user_name); message.user_avatar !== undefined && (obj.user_avatar = message.user_avatar); message.created_unix !== undefined && (obj.created_unix = Math.round(message.created_unix)); message.optype !== undefined && (obj.optype = message.optype); return obj; }, fromPartial, I>>( object: I ): MindMapHistory_History { const message = createBaseMindMapHistory_History(); message.mind_map_id = object.mind_map_id ?? ""; message.file_id = object.file_id ?? ""; message.id = object.id ?? ""; message.root_topicKey = object.root_topicKey ?? ""; message.topics = object.topics?.map((e) => MindTopic.fromPartial(e)) || []; message.user_id = object.user_id ?? ""; message.user_name = object.user_name ?? ""; message.user_avatar = object.user_avatar ?? ""; message.created_unix = object.created_unix ?? 0; message.optype = object.optype ?? ""; return message; }, }; function createBaseMindTopic(): MindTopic { return { key: "", parentKey: "", subKeys: [], blocks: [], color: "", style: "", collapse: false, }; } export const MindTopic = { encode( message: MindTopic, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.key !== "") { writer.uint32(10).string(message.key); } if (message.parentKey !== "") { writer.uint32(18).string(message.parentKey); } for (const v of message.subKeys) { writer.uint32(26).string(v!); } for (const v of message.blocks) { MindBlock.encode(v!, writer.uint32(34).fork()).ldelim(); } if (message.color !== "") { writer.uint32(42).string(message.color); } if (message.style !== "") { writer.uint32(50).string(message.style); } if (message.collapse === true) { writer.uint32(56).bool(message.collapse); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MindTopic { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMindTopic(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.parentKey = reader.string(); break; case 3: message.subKeys.push(reader.string()); break; case 4: message.blocks.push(MindBlock.decode(reader, reader.uint32())); break; case 5: message.color = reader.string(); break; case 6: message.style = reader.string(); break; case 7: message.collapse = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MindTopic { return { key: isSet(object.key) ? String(object.key) : "", parentKey: isSet(object.parentKey) ? String(object.parentKey) : "", subKeys: Array.isArray(object?.subKeys) ? object.subKeys.map((e: any) => String(e)) : [], blocks: Array.isArray(object?.blocks) ? object.blocks.map((e: any) => MindBlock.fromJSON(e)) : [], color: isSet(object.color) ? String(object.color) : "", style: isSet(object.style) ? String(object.style) : "", collapse: isSet(object.collapse) ? Boolean(object.collapse) : false, }; }, toJSON(message: MindTopic): unknown { const obj: any = {}; message.key !== undefined && (obj.key = message.key); message.parentKey !== undefined && (obj.parentKey = message.parentKey); if (message.subKeys) { obj.subKeys = message.subKeys.map((e) => e); } else { obj.subKeys = []; } if (message.blocks) { obj.blocks = message.blocks.map((e) => e ? MindBlock.toJSON(e) : undefined ); } else { obj.blocks = []; } message.color !== undefined && (obj.color = message.color); message.style !== undefined && (obj.style = message.style); message.collapse !== undefined && (obj.collapse = message.collapse); return obj; }, fromPartial, I>>( object: I ): MindTopic { const message = createBaseMindTopic(); message.key = object.key ?? ""; message.parentKey = object.parentKey ?? ""; message.subKeys = object.subKeys?.map((e) => e) || []; message.blocks = object.blocks?.map((e) => MindBlock.fromPartial(e)) || []; message.color = object.color ?? ""; message.style = object.style ?? ""; message.collapse = object.collapse ?? false; return message; }, }; function createBaseMindBlock(): MindBlock { return { type: "", data: undefined }; } export const MindBlock = { encode( message: MindBlock, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.type !== "") { writer.uint32(10).string(message.type); } if (message.data !== undefined) { Value.encode(Value.wrap(message.data), writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MindBlock { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMindBlock(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.type = reader.string(); break; case 2: message.data = Value.unwrap(Value.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MindBlock { return { type: isSet(object.type) ? String(object.type) : "", data: isSet(object?.data) ? object.data : undefined, }; }, toJSON(message: MindBlock): unknown { const obj: any = {}; message.type !== undefined && (obj.type = message.type); message.data !== undefined && (obj.data = message.data); return obj; }, fromPartial, I>>( object: I ): MindBlock { const message = createBaseMindBlock(); message.type = object.type ?? ""; message.data = object.data ?? undefined; return message; }, }; function createBaseDocumentMilestone(): DocumentMilestone { return { document_id: "", path: "", type: "", version: 0, data: undefined, created_unix: 0, creator_id: "", creator: undefined, }; } export const DocumentMilestone = { encode( message: DocumentMilestone, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.document_id !== "") { writer.uint32(10).string(message.document_id); } if (message.path !== "") { writer.uint32(18).string(message.path); } if (message.type !== "") { writer.uint32(26).string(message.type); } if (message.version !== 0) { writer.uint32(32).int64(message.version); } if (message.data !== undefined) { Struct.encode( Struct.wrap(message.data), writer.uint32(42).fork() ).ldelim(); } if (message.created_unix !== 0) { writer.uint32(48).int64(message.created_unix); } if (message.creator_id !== "") { writer.uint32(58).string(message.creator_id); } if (message.creator !== undefined) { AuthUser.encode(message.creator, writer.uint32(66).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): DocumentMilestone { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDocumentMilestone(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.document_id = reader.string(); break; case 2: message.path = reader.string(); break; case 3: message.type = reader.string(); break; case 4: message.version = longToNumber(reader.int64() as Long); break; case 5: message.data = Struct.unwrap(Struct.decode(reader, reader.uint32())); break; case 6: message.created_unix = longToNumber(reader.int64() as Long); break; case 7: message.creator_id = reader.string(); break; case 8: message.creator = AuthUser.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): DocumentMilestone { return { document_id: isSet(object.document_id) ? String(object.document_id) : "", path: isSet(object.path) ? String(object.path) : "", type: isSet(object.type) ? String(object.type) : "", version: isSet(object.version) ? Number(object.version) : 0, data: isObject(object.data) ? object.data : undefined, created_unix: isSet(object.created_unix) ? Number(object.created_unix) : 0, creator_id: isSet(object.creator_id) ? String(object.creator_id) : "", creator: isSet(object.creator) ? AuthUser.fromJSON(object.creator) : undefined, }; }, toJSON(message: DocumentMilestone): unknown { const obj: any = {}; message.document_id !== undefined && (obj.document_id = message.document_id); message.path !== undefined && (obj.path = message.path); message.type !== undefined && (obj.type = message.type); message.version !== undefined && (obj.version = Math.round(message.version)); message.data !== undefined && (obj.data = message.data); message.created_unix !== undefined && (obj.created_unix = Math.round(message.created_unix)); message.creator_id !== undefined && (obj.creator_id = message.creator_id); message.creator !== undefined && (obj.creator = message.creator ? AuthUser.toJSON(message.creator) : undefined); return obj; }, fromPartial, I>>( object: I ): DocumentMilestone { const message = createBaseDocumentMilestone(); message.document_id = object.document_id ?? ""; message.path = object.path ?? ""; message.type = object.type ?? ""; message.version = object.version ?? 0; message.data = object.data ?? undefined; message.created_unix = object.created_unix ?? 0; message.creator_id = object.creator_id ?? ""; message.creator = object.creator !== undefined && object.creator !== null ? AuthUser.fromPartial(object.creator) : undefined; return message; }, }; function createBaseHistoryFile(): HistoryFile { return { id: "", file_id: "", title: "", type: "", sub_type: "", source_url: "", file_info: undefined, created_at: "", updated_at: "", }; } export const HistoryFile = { encode( message: HistoryFile, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } if (message.title !== "") { writer.uint32(26).string(message.title); } if (message.type !== "") { writer.uint32(34).string(message.type); } if (message.sub_type !== "") { writer.uint32(42).string(message.sub_type); } if (message.source_url !== "") { writer.uint32(50).string(message.source_url); } if (message.file_info !== undefined) { Struct.encode( Struct.wrap(message.file_info), writer.uint32(58).fork() ).ldelim(); } if (message.created_at !== "") { writer.uint32(66).string(message.created_at); } if (message.updated_at !== "") { writer.uint32(74).string(message.updated_at); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): HistoryFile { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseHistoryFile(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.file_id = reader.string(); break; case 3: message.title = reader.string(); break; case 4: message.type = reader.string(); break; case 5: message.sub_type = reader.string(); break; case 6: message.source_url = reader.string(); break; case 7: message.file_info = Struct.unwrap( Struct.decode(reader, reader.uint32()) ); break; case 8: message.created_at = reader.string(); break; case 9: message.updated_at = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): HistoryFile { return { id: isSet(object.id) ? String(object.id) : "", file_id: isSet(object.file_id) ? String(object.file_id) : "", title: isSet(object.title) ? String(object.title) : "", type: isSet(object.type) ? String(object.type) : "", sub_type: isSet(object.sub_type) ? String(object.sub_type) : "", source_url: isSet(object.source_url) ? String(object.source_url) : "", file_info: isObject(object.file_info) ? object.file_info : undefined, created_at: isSet(object.created_at) ? String(object.created_at) : "", updated_at: isSet(object.updated_at) ? String(object.updated_at) : "", }; }, toJSON(message: HistoryFile): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.file_id !== undefined && (obj.file_id = message.file_id); message.title !== undefined && (obj.title = message.title); message.type !== undefined && (obj.type = message.type); message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.source_url !== undefined && (obj.source_url = message.source_url); message.file_info !== undefined && (obj.file_info = message.file_info); message.created_at !== undefined && (obj.created_at = message.created_at); message.updated_at !== undefined && (obj.updated_at = message.updated_at); return obj; }, fromPartial, I>>( object: I ): HistoryFile { const message = createBaseHistoryFile(); message.id = object.id ?? ""; message.file_id = object.file_id ?? ""; message.title = object.title ?? ""; message.type = object.type ?? ""; message.sub_type = object.sub_type ?? ""; message.source_url = object.source_url ?? ""; message.file_info = object.file_info ?? undefined; message.created_at = object.created_at ?? ""; message.updated_at = object.updated_at ?? ""; return message; }, }; function createBaseDocHistory(): DocHistory { return { data: [], count: 0 }; } export const DocHistory = { encode( message: DocHistory, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.data) { DocumentMilestone.encode(v!, writer.uint32(10).fork()).ldelim(); } if (message.count !== 0) { writer.uint32(16).int64(message.count); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): DocHistory { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDocHistory(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.data.push(DocumentMilestone.decode(reader, reader.uint32())); break; case 2: message.count = longToNumber(reader.int64() as Long); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): DocHistory { return { data: Array.isArray(object?.data) ? object.data.map((e: any) => DocumentMilestone.fromJSON(e)) : [], count: isSet(object.count) ? Number(object.count) : 0, }; }, toJSON(message: DocHistory): unknown { const obj: any = {}; if (message.data) { obj.data = message.data.map((e) => e ? DocumentMilestone.toJSON(e) : undefined ); } else { obj.data = []; } message.count !== undefined && (obj.count = Math.round(message.count)); return obj; }, fromPartial, I>>( object: I ): DocHistory { const message = createBaseDocHistory(); message.data = object.data?.map((e) => DocumentMilestone.fromPartial(e)) || []; message.count = object.count ?? 0; return message; }, }; function createBaseGetHistoryResponse(): GetHistoryResponse { return { markdown: undefined, mindmap_history: undefined, doc_history: undefined, history_files: [], }; } export const GetHistoryResponse = { encode( message: GetHistoryResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.markdown !== undefined) { Markdown.encode(message.markdown, writer.uint32(10).fork()).ldelim(); } if (message.mindmap_history !== undefined) { MindMapHistory.encode( message.mindmap_history, writer.uint32(18).fork() ).ldelim(); } if (message.doc_history !== undefined) { DocHistory.encode(message.doc_history, writer.uint32(26).fork()).ldelim(); } for (const v of message.history_files) { HistoryFile.encode(v!, writer.uint32(34).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetHistoryResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetHistoryResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.markdown = Markdown.decode(reader, reader.uint32()); break; case 2: message.mindmap_history = MindMapHistory.decode( reader, reader.uint32() ); break; case 3: message.doc_history = DocHistory.decode(reader, reader.uint32()); break; case 4: message.history_files.push( HistoryFile.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetHistoryResponse { return { markdown: isSet(object.markdown) ? Markdown.fromJSON(object.markdown) : undefined, mindmap_history: isSet(object.mindmap_history) ? MindMapHistory.fromJSON(object.mindmap_history) : undefined, doc_history: isSet(object.doc_history) ? DocHistory.fromJSON(object.doc_history) : undefined, history_files: Array.isArray(object?.history_files) ? object.history_files.map((e: any) => HistoryFile.fromJSON(e)) : [], }; }, toJSON(message: GetHistoryResponse): unknown { const obj: any = {}; message.markdown !== undefined && (obj.markdown = message.markdown ? Markdown.toJSON(message.markdown) : undefined); message.mindmap_history !== undefined && (obj.mindmap_history = message.mindmap_history ? MindMapHistory.toJSON(message.mindmap_history) : undefined); message.doc_history !== undefined && (obj.doc_history = message.doc_history ? DocHistory.toJSON(message.doc_history) : undefined); if (message.history_files) { obj.history_files = message.history_files.map((e) => e ? HistoryFile.toJSON(e) : undefined ); } else { obj.history_files = []; } return obj; }, fromPartial, I>>( object: I ): GetHistoryResponse { const message = createBaseGetHistoryResponse(); message.markdown = object.markdown !== undefined && object.markdown !== null ? Markdown.fromPartial(object.markdown) : undefined; message.mindmap_history = object.mindmap_history !== undefined && object.mindmap_history !== null ? MindMapHistory.fromPartial(object.mindmap_history) : undefined; message.doc_history = object.doc_history !== undefined && object.doc_history !== null ? DocHistory.fromPartial(object.doc_history) : undefined; message.history_files = object.history_files?.map((e) => HistoryFile.fromPartial(e)) || []; return message; }, }; function createBaseMoveFileRequest(): MoveFileRequest { return { username: "", next_space_id: undefined, prev_path: [], next_path: [], node_behind: undefined, ws_client_id: "", }; } export const MoveFileRequest = { encode( message: MoveFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.next_space_id !== undefined) { writer.uint32(18).string(message.next_space_id); } for (const v of message.prev_path) { writer.uint32(26).string(v!); } for (const v of message.next_path) { writer.uint32(34).string(v!); } if (message.node_behind !== undefined) { writer.uint32(42).string(message.node_behind); } if (message.ws_client_id !== "") { writer.uint32(50).string(message.ws_client_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MoveFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMoveFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.next_space_id = reader.string(); break; case 3: message.prev_path.push(reader.string()); break; case 4: message.next_path.push(reader.string()); break; case 5: message.node_behind = reader.string(); break; case 6: message.ws_client_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MoveFileRequest { return { username: isSet(object.username) ? String(object.username) : "", next_space_id: isSet(object.next_space_id) ? String(object.next_space_id) : undefined, prev_path: Array.isArray(object?.prev_path) ? object.prev_path.map((e: any) => String(e)) : [], next_path: Array.isArray(object?.next_path) ? object.next_path.map((e: any) => String(e)) : [], node_behind: isSet(object.node_behind) ? String(object.node_behind) : undefined, ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", }; }, toJSON(message: MoveFileRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.next_space_id !== undefined && (obj.next_space_id = message.next_space_id); if (message.prev_path) { obj.prev_path = message.prev_path.map((e) => e); } else { obj.prev_path = []; } if (message.next_path) { obj.next_path = message.next_path.map((e) => e); } else { obj.next_path = []; } message.node_behind !== undefined && (obj.node_behind = message.node_behind); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); return obj; }, fromPartial, I>>( object: I ): MoveFileRequest { const message = createBaseMoveFileRequest(); message.username = object.username ?? ""; message.next_space_id = object.next_space_id ?? undefined; message.prev_path = object.prev_path?.map((e) => e) || []; message.next_path = object.next_path?.map((e) => e) || []; message.node_behind = object.node_behind ?? undefined; message.ws_client_id = object.ws_client_id ?? ""; return message; }, }; function createBaseFilePathExtend(): FilePathExtend { return { file_id: "", file_path: [] }; } export const FilePathExtend = { encode( message: FilePathExtend, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file_id !== "") { writer.uint32(10).string(message.file_id); } for (const v of message.file_path) { writer.uint32(18).string(v!); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): FilePathExtend { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFilePathExtend(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file_id = reader.string(); break; case 2: message.file_path.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): FilePathExtend { return { file_id: isSet(object.file_id) ? String(object.file_id) : "", file_path: Array.isArray(object?.file_path) ? object.file_path.map((e: any) => String(e)) : [], }; }, toJSON(message: FilePathExtend): unknown { const obj: any = {}; message.file_id !== undefined && (obj.file_id = message.file_id); if (message.file_path) { obj.file_path = message.file_path.map((e) => e); } else { obj.file_path = []; } return obj; }, fromPartial, I>>( object: I ): FilePathExtend { const message = createBaseFilePathExtend(); message.file_id = object.file_id ?? ""; message.file_path = object.file_path?.map((e) => e) || []; return message; }, }; function createBaseMoveFileResponse(): MoveFileResponse { return { index_reset: false, positions: undefined, file: undefined, prev_paths: undefined, parent_id: "", }; } export const MoveFileResponse = { encode( message: MoveFileResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.index_reset === true) { writer.uint32(8).bool(message.index_reset); } if (message.positions !== undefined) { Struct.encode( Struct.wrap(message.positions), writer.uint32(18).fork() ).ldelim(); } if (message.file !== undefined) { FileExtendsPermission.encode( message.file, writer.uint32(26).fork() ).ldelim(); } if (message.prev_paths !== undefined) { FilePathExtend.encode( message.prev_paths, writer.uint32(34).fork() ).ldelim(); } if (message.parent_id !== "") { writer.uint32(42).string(message.parent_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): MoveFileResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMoveFileResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.index_reset = reader.bool(); break; case 2: message.positions = Struct.unwrap( Struct.decode(reader, reader.uint32()) ); break; case 3: message.file = FileExtendsPermission.decode(reader, reader.uint32()); break; case 4: message.prev_paths = FilePathExtend.decode(reader, reader.uint32()); break; case 5: message.parent_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MoveFileResponse { return { index_reset: isSet(object.index_reset) ? Boolean(object.index_reset) : false, positions: isObject(object.positions) ? object.positions : undefined, file: isSet(object.file) ? FileExtendsPermission.fromJSON(object.file) : undefined, prev_paths: isSet(object.prev_paths) ? FilePathExtend.fromJSON(object.prev_paths) : undefined, parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", }; }, toJSON(message: MoveFileResponse): unknown { const obj: any = {}; message.index_reset !== undefined && (obj.index_reset = message.index_reset); message.positions !== undefined && (obj.positions = message.positions); message.file !== undefined && (obj.file = message.file ? FileExtendsPermission.toJSON(message.file) : undefined); message.prev_paths !== undefined && (obj.prev_paths = message.prev_paths ? FilePathExtend.toJSON(message.prev_paths) : undefined); message.parent_id !== undefined && (obj.parent_id = message.parent_id); return obj; }, fromPartial, I>>( object: I ): MoveFileResponse { const message = createBaseMoveFileResponse(); message.index_reset = object.index_reset ?? false; message.positions = object.positions ?? undefined; message.file = object.file !== undefined && object.file !== null ? FileExtendsPermission.fromPartial(object.file) : undefined; message.prev_paths = object.prev_paths !== undefined && object.prev_paths !== null ? FilePathExtend.fromPartial(object.prev_paths) : undefined; message.parent_id = object.parent_id ?? ""; return message; }, }; function createBaseMultipleFilesMoveRequest(): MultipleFilesMoveRequest { return { username: "", next_parent_id: "", prev_paths: [], next_paths: [], node_behind: "", }; } export const MultipleFilesMoveRequest = { encode( message: MultipleFilesMoveRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.next_parent_id !== "") { writer.uint32(18).string(message.next_parent_id); } for (const v of message.prev_paths) { MultipleFilesMoveRequest_FilePath.encode( v!, writer.uint32(26).fork() ).ldelim(); } for (const v of message.next_paths) { MultipleFilesMoveRequest_FilePath.encode( v!, writer.uint32(34).fork() ).ldelim(); } if (message.node_behind !== "") { writer.uint32(42).string(message.node_behind); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): MultipleFilesMoveRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMultipleFilesMoveRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.next_parent_id = reader.string(); break; case 3: message.prev_paths.push( MultipleFilesMoveRequest_FilePath.decode(reader, reader.uint32()) ); break; case 4: message.next_paths.push( MultipleFilesMoveRequest_FilePath.decode(reader, reader.uint32()) ); break; case 5: message.node_behind = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MultipleFilesMoveRequest { return { username: isSet(object.username) ? String(object.username) : "", next_parent_id: isSet(object.next_parent_id) ? String(object.next_parent_id) : "", prev_paths: Array.isArray(object?.prev_paths) ? object.prev_paths.map((e: any) => MultipleFilesMoveRequest_FilePath.fromJSON(e) ) : [], next_paths: Array.isArray(object?.next_paths) ? object.next_paths.map((e: any) => MultipleFilesMoveRequest_FilePath.fromJSON(e) ) : [], node_behind: isSet(object.node_behind) ? String(object.node_behind) : "", }; }, toJSON(message: MultipleFilesMoveRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.next_parent_id !== undefined && (obj.next_parent_id = message.next_parent_id); if (message.prev_paths) { obj.prev_paths = message.prev_paths.map((e) => e ? MultipleFilesMoveRequest_FilePath.toJSON(e) : undefined ); } else { obj.prev_paths = []; } if (message.next_paths) { obj.next_paths = message.next_paths.map((e) => e ? MultipleFilesMoveRequest_FilePath.toJSON(e) : undefined ); } else { obj.next_paths = []; } message.node_behind !== undefined && (obj.node_behind = message.node_behind); return obj; }, fromPartial, I>>( object: I ): MultipleFilesMoveRequest { const message = createBaseMultipleFilesMoveRequest(); message.username = object.username ?? ""; message.next_parent_id = object.next_parent_id ?? ""; message.prev_paths = object.prev_paths?.map((e) => MultipleFilesMoveRequest_FilePath.fromPartial(e) ) || []; message.next_paths = object.next_paths?.map((e) => MultipleFilesMoveRequest_FilePath.fromPartial(e) ) || []; message.node_behind = object.node_behind ?? ""; return message; }, }; function createBaseMultipleFilesMoveRequest_FilePath(): MultipleFilesMoveRequest_FilePath { return { ids: [] }; } export const MultipleFilesMoveRequest_FilePath = { encode( message: MultipleFilesMoveRequest_FilePath, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.ids) { writer.uint32(10).string(v!); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): MultipleFilesMoveRequest_FilePath { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMultipleFilesMoveRequest_FilePath(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.ids.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MultipleFilesMoveRequest_FilePath { return { ids: Array.isArray(object?.ids) ? object.ids.map((e: any) => String(e)) : [], }; }, toJSON(message: MultipleFilesMoveRequest_FilePath): unknown { const obj: any = {}; if (message.ids) { obj.ids = message.ids.map((e) => e); } else { obj.ids = []; } return obj; }, fromPartial< I extends Exact, I> >(object: I): MultipleFilesMoveRequest_FilePath { const message = createBaseMultipleFilesMoveRequest_FilePath(); message.ids = object.ids?.map((e) => e) || []; return message; }, }; function createBaseMultipleFilesMoveResponse(): MultipleFilesMoveResponse { return { files: [] }; } export const MultipleFilesMoveResponse = { encode( message: MultipleFilesMoveResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.files) { FileExtendsPermission.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): MultipleFilesMoveResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMultipleFilesMoveResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.files.push( FileExtendsPermission.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MultipleFilesMoveResponse { return { files: Array.isArray(object?.files) ? object.files.map((e: any) => FileExtendsPermission.fromJSON(e)) : [], }; }, toJSON(message: MultipleFilesMoveResponse): unknown { const obj: any = {}; if (message.files) { obj.files = message.files.map((e) => e ? FileExtendsPermission.toJSON(e) : undefined ); } else { obj.files = []; } return obj; }, fromPartial, I>>( object: I ): MultipleFilesMoveResponse { const message = createBaseMultipleFilesMoveResponse(); message.files = object.files?.map((e) => FileExtendsPermission.fromPartial(e)) || []; return message; }, }; function createBaseGetFilePermissionRequest(): GetFilePermissionRequest { return { username: "", file_id: "" }; } export const GetFilePermissionRequest = { encode( message: GetFilePermissionRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetFilePermissionRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetFilePermissionRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.file_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetFilePermissionRequest { return { username: isSet(object.username) ? String(object.username) : "", file_id: isSet(object.file_id) ? String(object.file_id) : "", }; }, toJSON(message: GetFilePermissionRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.file_id !== undefined && (obj.file_id = message.file_id); return obj; }, fromPartial, I>>( object: I ): GetFilePermissionRequest { const message = createBaseGetFilePermissionRequest(); message.username = object.username ?? ""; message.file_id = object.file_id ?? ""; return message; }, }; function createBaseGetFilePermissionResponse(): GetFilePermissionResponse { return { level: 0 }; } export const GetFilePermissionResponse = { encode( message: GetFilePermissionResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.level !== 0) { writer.uint32(8).int32(message.level); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetFilePermissionResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetFilePermissionResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.level = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetFilePermissionResponse { return { level: isSet(object.level) ? Number(object.level) : 0, }; }, toJSON(message: GetFilePermissionResponse): unknown { const obj: any = {}; message.level !== undefined && (obj.level = Math.round(message.level)); return obj; }, fromPartial, I>>( object: I ): GetFilePermissionResponse { const message = createBaseGetFilePermissionResponse(); message.level = object.level ?? 0; return message; }, }; function createBaseRollbackRequest(): RollbackRequest { return { id: "", created_at: undefined, ws_client_id: "" }; } export const RollbackRequest = { encode( message: RollbackRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.created_at !== undefined) { Timestamp.encode( toTimestamp(message.created_at), writer.uint32(18).fork() ).ldelim(); } if (message.ws_client_id !== "") { writer.uint32(26).string(message.ws_client_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): RollbackRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRollbackRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.created_at = fromTimestamp( Timestamp.decode(reader, reader.uint32()) ); break; case 3: message.ws_client_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RollbackRequest { return { id: isSet(object.id) ? String(object.id) : "", created_at: isSet(object.created_at) ? fromJsonTimestamp(object.created_at) : undefined, ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", }; }, toJSON(message: RollbackRequest): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.created_at !== undefined && (obj.created_at = message.created_at.toISOString()); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); return obj; }, fromPartial, I>>( object: I ): RollbackRequest { const message = createBaseRollbackRequest(); message.id = object.id ?? ""; message.created_at = object.created_at ?? undefined; message.ws_client_id = object.ws_client_id ?? ""; return message; }, }; function createBaseMoveCardOutOfKanbanRequest(): MoveCardOutOfKanbanRequest { return { username: "", file_id: "", next_parent_id: "", prev_project_id: "", next_path: [], node_behind: undefined, ws_client_id: "", }; } export const MoveCardOutOfKanbanRequest = { encode( message: MoveCardOutOfKanbanRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.file_id !== "") { writer.uint32(18).string(message.file_id); } if (message.next_parent_id !== "") { writer.uint32(26).string(message.next_parent_id); } if (message.prev_project_id !== "") { writer.uint32(34).string(message.prev_project_id); } for (const v of message.next_path) { writer.uint32(42).string(v!); } if (message.node_behind !== undefined) { writer.uint32(50).string(message.node_behind); } if (message.ws_client_id !== "") { writer.uint32(58).string(message.ws_client_id); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): MoveCardOutOfKanbanRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMoveCardOutOfKanbanRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.file_id = reader.string(); break; case 3: message.next_parent_id = reader.string(); break; case 4: message.prev_project_id = reader.string(); break; case 5: message.next_path.push(reader.string()); break; case 6: message.node_behind = reader.string(); break; case 7: message.ws_client_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): MoveCardOutOfKanbanRequest { return { username: isSet(object.username) ? String(object.username) : "", file_id: isSet(object.file_id) ? String(object.file_id) : "", next_parent_id: isSet(object.next_parent_id) ? String(object.next_parent_id) : "", prev_project_id: isSet(object.prev_project_id) ? String(object.prev_project_id) : "", next_path: Array.isArray(object?.next_path) ? object.next_path.map((e: any) => String(e)) : [], node_behind: isSet(object.node_behind) ? String(object.node_behind) : undefined, ws_client_id: isSet(object.ws_client_id) ? String(object.ws_client_id) : "", }; }, toJSON(message: MoveCardOutOfKanbanRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.file_id !== undefined && (obj.file_id = message.file_id); message.next_parent_id !== undefined && (obj.next_parent_id = message.next_parent_id); message.prev_project_id !== undefined && (obj.prev_project_id = message.prev_project_id); if (message.next_path) { obj.next_path = message.next_path.map((e) => e); } else { obj.next_path = []; } message.node_behind !== undefined && (obj.node_behind = message.node_behind); message.ws_client_id !== undefined && (obj.ws_client_id = message.ws_client_id); return obj; }, fromPartial, I>>( object: I ): MoveCardOutOfKanbanRequest { const message = createBaseMoveCardOutOfKanbanRequest(); message.username = object.username ?? ""; message.file_id = object.file_id ?? ""; message.next_parent_id = object.next_parent_id ?? ""; message.prev_project_id = object.prev_project_id ?? ""; message.next_path = object.next_path?.map((e) => e) || []; message.node_behind = object.node_behind ?? undefined; message.ws_client_id = object.ws_client_id ?? ""; return message; }, }; function createBaseGetFileRequest(): GetFileRequest { return { file_id: "" }; } export const GetFileRequest = { encode( message: GetFileRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.file_id !== "") { writer.uint32(10).string(message.file_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): GetFileRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetFileRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.file_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetFileRequest { return { file_id: isSet(object.file_id) ? String(object.file_id) : "", }; }, toJSON(message: GetFileRequest): unknown { const obj: any = {}; message.file_id !== undefined && (obj.file_id = message.file_id); return obj; }, fromPartial, I>>( object: I ): GetFileRequest { const message = createBaseGetFileRequest(); message.file_id = object.file_id ?? ""; return message; }, }; function createBaseGetSharedFilesRequest(): GetSharedFilesRequest { return { username: "", list_option: undefined, keywords: undefined, share_level: 0, shared_type: "", }; } export const GetSharedFilesRequest = { encode( message: GetSharedFilesRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.list_option !== undefined) { ListOption.encode(message.list_option, writer.uint32(18).fork()).ldelim(); } if (message.keywords !== undefined) { writer.uint32(26).string(message.keywords); } if (message.share_level !== 0) { writer.uint32(32).int32(message.share_level); } if (message.shared_type !== "") { writer.uint32(42).string(message.shared_type); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetSharedFilesRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetSharedFilesRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.list_option = ListOption.decode(reader, reader.uint32()); break; case 3: message.keywords = reader.string(); break; case 4: message.share_level = reader.int32(); break; case 5: message.shared_type = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetSharedFilesRequest { return { username: isSet(object.username) ? String(object.username) : "", list_option: isSet(object.list_option) ? ListOption.fromJSON(object.list_option) : undefined, keywords: isSet(object.keywords) ? String(object.keywords) : undefined, share_level: isSet(object.share_level) ? Number(object.share_level) : 0, shared_type: isSet(object.shared_type) ? String(object.shared_type) : "", }; }, toJSON(message: GetSharedFilesRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.list_option !== undefined && (obj.list_option = message.list_option ? ListOption.toJSON(message.list_option) : undefined); message.keywords !== undefined && (obj.keywords = message.keywords); message.share_level !== undefined && (obj.share_level = Math.round(message.share_level)); message.shared_type !== undefined && (obj.shared_type = message.shared_type); return obj; }, fromPartial, I>>( object: I ): GetSharedFilesRequest { const message = createBaseGetSharedFilesRequest(); message.username = object.username ?? ""; message.list_option = object.list_option !== undefined && object.list_option !== null ? ListOption.fromPartial(object.list_option) : undefined; message.keywords = object.keywords ?? undefined; message.share_level = object.share_level ?? 0; message.shared_type = object.shared_type ?? ""; return message; }, }; function createBaseGetProjectListAndCardListsRequest(): GetProjectListAndCardListsRequest { return { username: "", sub_type: "" }; } export const GetProjectListAndCardListsRequest = { encode( message: GetProjectListAndCardListsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.username !== "") { writer.uint32(10).string(message.username); } if (message.sub_type !== "") { writer.uint32(18).string(message.sub_type); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetProjectListAndCardListsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetProjectListAndCardListsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.string(); break; case 2: message.sub_type = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetProjectListAndCardListsRequest { return { username: isSet(object.username) ? String(object.username) : "", sub_type: isSet(object.sub_type) ? String(object.sub_type) : "", }; }, toJSON(message: GetProjectListAndCardListsRequest): unknown { const obj: any = {}; message.username !== undefined && (obj.username = message.username); message.sub_type !== undefined && (obj.sub_type = message.sub_type); return obj; }, fromPartial< I extends Exact, I> >(object: I): GetProjectListAndCardListsRequest { const message = createBaseGetProjectListAndCardListsRequest(); message.username = object.username ?? ""; message.sub_type = object.sub_type ?? ""; return message; }, }; function createBaseProjectList(): ProjectList { return { id: "", title: "", lists: [], sub_type: "", type: "", parent_id: "", }; } export const ProjectList = { encode( message: ProjectList, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.id !== "") { writer.uint32(10).string(message.id); } if (message.title !== "") { writer.uint32(18).string(message.title); } for (const v of message.lists) { File.encode(v!, writer.uint32(26).fork()).ldelim(); } if (message.sub_type !== "") { writer.uint32(34).string(message.sub_type); } if (message.type !== "") { writer.uint32(42).string(message.type); } if (message.parent_id !== "") { writer.uint32(50).string(message.parent_id); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): ProjectList { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProjectList(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.title = reader.string(); break; case 3: message.lists.push(File.decode(reader, reader.uint32())); break; case 4: message.sub_type = reader.string(); break; case 5: message.type = reader.string(); break; case 6: message.parent_id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): ProjectList { return { id: isSet(object.id) ? String(object.id) : "", title: isSet(object.title) ? String(object.title) : "", lists: Array.isArray(object?.lists) ? object.lists.map((e: any) => File.fromJSON(e)) : [], sub_type: isSet(object.sub_type) ? String(object.sub_type) : "", type: isSet(object.type) ? String(object.type) : "", parent_id: isSet(object.parent_id) ? String(object.parent_id) : "", }; }, toJSON(message: ProjectList): unknown { const obj: any = {}; message.id !== undefined && (obj.id = message.id); message.title !== undefined && (obj.title = message.title); if (message.lists) { obj.lists = message.lists.map((e) => (e ? File.toJSON(e) : undefined)); } else { obj.lists = []; } message.sub_type !== undefined && (obj.sub_type = message.sub_type); message.type !== undefined && (obj.type = message.type); message.parent_id !== undefined && (obj.parent_id = message.parent_id); return obj; }, fromPartial, I>>( object: I ): ProjectList { const message = createBaseProjectList(); message.id = object.id ?? ""; message.title = object.title ?? ""; message.lists = object.lists?.map((e) => File.fromPartial(e)) || []; message.sub_type = object.sub_type ?? ""; message.type = object.type ?? ""; message.parent_id = object.parent_id ?? ""; return message; }, }; function createBaseGetProjectListAndCardListsResponse(): GetProjectListAndCardListsResponse { return { projects: [] }; } export const GetProjectListAndCardListsResponse = { encode( message: GetProjectListAndCardListsResponse, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.projects) { ProjectList.encode(v!, writer.uint32(10).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): GetProjectListAndCardListsResponse { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetProjectListAndCardListsResponse(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.projects.push(ProjectList.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): GetProjectListAndCardListsResponse { return { projects: Array.isArray(object?.projects) ? object.projects.map((e: any) => ProjectList.fromJSON(e)) : [], }; }, toJSON(message: GetProjectListAndCardListsResponse): unknown { const obj: any = {}; if (message.projects) { obj.projects = message.projects.map((e) => e ? ProjectList.toJSON(e) : undefined ); } else { obj.projects = []; } return obj; }, fromPartial< I extends Exact, I> >(object: I): GetProjectListAndCardListsResponse { const message = createBaseGetProjectListAndCardListsResponse(); message.projects = object.projects?.map((e) => ProjectList.fromPartial(e)) || []; return message; }, }; export interface Files { SearchFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetFilePath( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetOrgFilesSize( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetSuggestedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetSpaceFileTree( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetStarredFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise; CreateFileViewingRecords( request: DeepPartial, metadata?: grpc.Metadata ): Promise; UpdateFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; UpdateFileMarkdownContent( request: DeepPartial, metadata?: grpc.Metadata ): Promise; CreateFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetUsersPermissionsByFileID( request: DeepPartial, metadata?: grpc.Metadata ): Promise; DeleteFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise; CreateFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetSpaces( request: DeepPartial, metadata?: grpc.Metadata ): Promise; ImportFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetCreateFileLocation( request: DeepPartial, metadata?: grpc.Metadata ): Promise; CreateFileStars( request: DeepPartial, metadata?: grpc.Metadata ): Promise; MoveFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; MoveCardOutOfKanban( request: DeepPartial, metadata?: grpc.Metadata ): Promise; MultipleFilesMove( request: DeepPartial, metadata?: grpc.Metadata ): Promise; CreatePastedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetSharedFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetHistory( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise; Rollback( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetSharedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise; GetProjectListAndCardLists( request: DeepPartial, metadata?: grpc.Metadata ): Promise; } export class FilesClientImpl implements Files { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.SearchFile = this.SearchFile.bind(this); this.GetFilePath = this.GetFilePath.bind(this); this.GetOrgFilesSize = this.GetOrgFilesSize.bind(this); this.GetSuggestedFiles = this.GetSuggestedFiles.bind(this); this.GetSpaceFileTree = this.GetSpaceFileTree.bind(this); this.GetStarredFiles = this.GetStarredFiles.bind(this); this.CreateFileViewingRecords = this.CreateFileViewingRecords.bind(this); this.UpdateFile = this.UpdateFile.bind(this); this.UpdateFileMarkdownContent = this.UpdateFileMarkdownContent.bind(this); this.CreateFile = this.CreateFile.bind(this); this.GetUsersPermissionsByFileID = this.GetUsersPermissionsByFileID.bind(this); this.DeleteFilePermission = this.DeleteFilePermission.bind(this); this.CreateFilePermission = this.CreateFilePermission.bind(this); this.GetSpaces = this.GetSpaces.bind(this); this.ImportFile = this.ImportFile.bind(this); this.GetCreateFileLocation = this.GetCreateFileLocation.bind(this); this.CreateFileStars = this.CreateFileStars.bind(this); this.MoveFile = this.MoveFile.bind(this); this.MoveCardOutOfKanban = this.MoveCardOutOfKanban.bind(this); this.MultipleFilesMove = this.MultipleFilesMove.bind(this); this.CreatePastedFiles = this.CreatePastedFiles.bind(this); this.GetSharedFile = this.GetSharedFile.bind(this); this.GetHistory = this.GetHistory.bind(this); this.GetFilePermission = this.GetFilePermission.bind(this); this.Rollback = this.Rollback.bind(this); this.GetFile = this.GetFile.bind(this); this.GetSharedFiles = this.GetSharedFiles.bind(this); this.GetProjectListAndCardLists = this.GetProjectListAndCardLists.bind(this); } SearchFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesSearchFileDesc, SearchFileRequest.fromPartial(request), metadata ); } GetFilePath( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetFilePathDesc, GetFilePathRequest.fromPartial(request), metadata ); } GetOrgFilesSize( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetOrgFilesSizeDesc, GetOrgFilesSizeRequest.fromPartial(request), metadata ); } GetSuggestedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetSuggestedFilesDesc, Empty.fromPartial(request), metadata ); } GetSpaceFileTree( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetSpaceFileTreeDesc, GetSpaceFileTreeRequest.fromPartial(request), metadata ); } GetStarredFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetStarredFilesDesc, GetStarredFilesRequest.fromPartial(request), metadata ); } CreateFileViewingRecords( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesCreateFileViewingRecordsDesc, CreateFileViewingRecordsRequest.fromPartial(request), metadata ); } UpdateFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesUpdateFileDesc, UpdateFileRequest.fromPartial(request), metadata ); } UpdateFileMarkdownContent( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesUpdateFileMarkdownContentDesc, UpdateFileMarkdownContentRequest.fromPartial(request), metadata ); } CreateFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesCreateFileDesc, CreateFileRequest.fromPartial(request), metadata ); } GetUsersPermissionsByFileID( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetUsersPermissionsByFileIDDesc, GetUsersPermissionsByFileIDRequest.fromPartial(request), metadata ); } DeleteFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesDeleteFilePermissionDesc, DeleteFilePermissionRequest.fromPartial(request), metadata ); } CreateFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesCreateFilePermissionDesc, CreateFilePermissionRequest.fromPartial(request), metadata ); } GetSpaces( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetSpacesDesc, GetSpacesRequest.fromPartial(request), metadata ); } ImportFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesImportFileDesc, ImportFileRequest.fromPartial(request), metadata ); } GetCreateFileLocation( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetCreateFileLocationDesc, GetCreateFileLocationRequest.fromPartial(request), metadata ); } CreateFileStars( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesCreateFileStarsDesc, CreateFileStarsRequest.fromPartial(request), metadata ); } MoveFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesMoveFileDesc, MoveFileRequest.fromPartial(request), metadata ); } MoveCardOutOfKanban( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesMoveCardOutOfKanbanDesc, MoveCardOutOfKanbanRequest.fromPartial(request), metadata ); } MultipleFilesMove( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesMultipleFilesMoveDesc, MultipleFilesMoveRequest.fromPartial(request), metadata ); } CreatePastedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesCreatePastedFilesDesc, CreatePastedFilesRequest.fromPartial(request), metadata ); } GetSharedFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetSharedFileDesc, GetSharedFileRequest.fromPartial(request), metadata ); } GetHistory( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetHistoryDesc, GetHistoryRequest.fromPartial(request), metadata ); } GetFilePermission( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetFilePermissionDesc, GetFilePermissionRequest.fromPartial(request), metadata ); } Rollback( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesRollbackDesc, RollbackRequest.fromPartial(request), metadata ); } GetFile( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetFileDesc, GetFileRequest.fromPartial(request), metadata ); } GetSharedFiles( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetSharedFilesDesc, GetSharedFilesRequest.fromPartial(request), metadata ); } GetProjectListAndCardLists( request: DeepPartial, metadata?: grpc.Metadata ): Promise { return this.rpc.unary( FilesGetProjectListAndCardListsDesc, GetProjectListAndCardListsRequest.fromPartial(request), metadata ); } } export const FilesDesc = { serviceName: "api.v1.Files", }; export const FilesSearchFileDesc: UnaryMethodDefinitionish = { methodName: "SearchFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return SearchFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...SearchFileResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetFilePathDesc: UnaryMethodDefinitionish = { methodName: "GetFilePath", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetFilePathRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetFilePathResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetOrgFilesSizeDesc: UnaryMethodDefinitionish = { methodName: "GetOrgFilesSize", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetOrgFilesSizeRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetOrgFilesSizeResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetSuggestedFilesDesc: UnaryMethodDefinitionish = { methodName: "GetSuggestedFiles", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return Empty.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetSuggestedFilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetSpaceFileTreeDesc: UnaryMethodDefinitionish = { methodName: "GetSpaceFileTree", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetSpaceFileTreeRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetStarredFilesDesc: UnaryMethodDefinitionish = { methodName: "GetStarredFiles", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetStarredFilesRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetStarredFilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesCreateFileViewingRecordsDesc: UnaryMethodDefinitionish = { methodName: "CreateFileViewingRecords", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return CreateFileViewingRecordsRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...Empty.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesUpdateFileDesc: UnaryMethodDefinitionish = { methodName: "UpdateFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return UpdateFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...File.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesUpdateFileMarkdownContentDesc: UnaryMethodDefinitionish = { methodName: "UpdateFileMarkdownContent", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return UpdateFileMarkdownContentRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...UpdateFileMarkdownContentResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesCreateFileDesc: UnaryMethodDefinitionish = { methodName: "CreateFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return CreateFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...CreateFileResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetUsersPermissionsByFileIDDesc: UnaryMethodDefinitionish = { methodName: "GetUsersPermissionsByFileID", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetUsersPermissionsByFileIDRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetUsersPermissionsByFileIDResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesDeleteFilePermissionDesc: UnaryMethodDefinitionish = { methodName: "DeleteFilePermission", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return DeleteFilePermissionRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...Empty.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesCreateFilePermissionDesc: UnaryMethodDefinitionish = { methodName: "CreateFilePermission", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return CreateFilePermissionRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...CreateFilePermissionResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetSpacesDesc: UnaryMethodDefinitionish = { methodName: "GetSpaces", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetSpacesRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesImportFileDesc: UnaryMethodDefinitionish = { methodName: "ImportFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return ImportFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FileExtendsPermission.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetCreateFileLocationDesc: UnaryMethodDefinitionish = { methodName: "GetCreateFileLocation", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetCreateFileLocationRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesCreateFileStarsDesc: UnaryMethodDefinitionish = { methodName: "CreateFileStars", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return CreateFileStarsRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...Empty.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesMoveFileDesc: UnaryMethodDefinitionish = { methodName: "MoveFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return MoveFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...MoveFileResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesMoveCardOutOfKanbanDesc: UnaryMethodDefinitionish = { methodName: "MoveCardOutOfKanban", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return MoveCardOutOfKanbanRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...Empty.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesMultipleFilesMoveDesc: UnaryMethodDefinitionish = { methodName: "MultipleFilesMove", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return MultipleFilesMoveRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...MultipleFilesMoveResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesCreatePastedFilesDesc: UnaryMethodDefinitionish = { methodName: "CreatePastedFiles", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return CreatePastedFilesRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetSharedFileDesc: UnaryMethodDefinitionish = { methodName: "GetSharedFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetSharedFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetSharedFileResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetHistoryDesc: UnaryMethodDefinitionish = { methodName: "GetHistory", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetHistoryRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetHistoryResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetFilePermissionDesc: UnaryMethodDefinitionish = { methodName: "GetFilePermission", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetFilePermissionRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetFilePermissionResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesRollbackDesc: UnaryMethodDefinitionish = { methodName: "Rollback", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return RollbackRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FileExtendsPermission.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetFileDesc: UnaryMethodDefinitionish = { methodName: "GetFile", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetFileRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FileExtendsPermission.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetSharedFilesDesc: UnaryMethodDefinitionish = { methodName: "GetSharedFiles", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetSharedFilesRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...FilesResponse.decode(data), toObject() { return this; }, }; }, } as any, }; export const FilesGetProjectListAndCardListsDesc: UnaryMethodDefinitionish = { methodName: "GetProjectListAndCardLists", service: FilesDesc, requestStream: false, responseStream: false, requestType: { serializeBinary() { return GetProjectListAndCardListsRequest.encode(this).finish(); }, } as any, responseType: { deserializeBinary(data: Uint8Array) { return { ...GetProjectListAndCardListsResponse.decode(data), toObject() { return this; }, }; }, } as any, }; interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition { requestStream: any; responseStream: any; } type UnaryMethodDefinitionish = UnaryMethodDefinitionishR; interface Rpc { unary( methodDesc: T, request: any, metadata: grpc.Metadata | undefined ): Promise; } export class GrpcWebImpl { private host: string; private options: { transport?: grpc.TransportFactory; debug?: boolean; metadata?: grpc.Metadata; }; constructor( host: string, options: { transport?: grpc.TransportFactory; debug?: boolean; metadata?: grpc.Metadata; } ) { this.host = host; this.options = options; } unary( methodDesc: T, _request: any, metadata: grpc.Metadata | undefined ): Promise { const request = { ..._request, ...methodDesc.requestType }; const maybeCombinedMetadata = metadata && this.options.metadata ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap, }) : metadata || this.options.metadata; return new Promise((resolve, reject) => { grpc.unary(methodDesc, { request, host: this.host, metadata: maybeCombinedMetadata, transport: this.options.transport, debug: this.options.debug, onEnd: function (response) { if (response.status === grpc.Code.OK) { resolve(response.message); } else { const err = new Error(response.statusMessage) as any; err.code = response.status; err.metadata = response.trailers; reject(err); } }, }); }); } } declare var self: any | undefined; declare var window: any | undefined; declare var global: any | undefined; var globalThis: any = (() => { if (typeof globalThis !== "undefined") return globalThis; if (typeof self !== "undefined") return self; if (typeof window !== "undefined") return window; if (typeof global !== "undefined") return global; throw "Unable to locate global object"; })(); type Builtin = | Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & Record< Exclude>, never >; function toTimestamp(date: Date): Timestamp { const seconds = date.getTime() / 1_000; const nanos = (date.getTime() % 1_000) * 1_000_000; return { seconds, nanos }; } function fromTimestamp(t: Timestamp): Date { let millis = t.seconds * 1_000; millis += t.nanos / 1_000_000; return new Date(millis); } function fromJsonTimestamp(o: any): Date { if (o instanceof Date) { return o; } else if (typeof o === "string") { return new Date(o); } else { return fromTimestamp(Timestamp.fromJSON(o)); } } function longToNumber(long: Long): number { if (long.gt(Number.MAX_SAFE_INTEGER)) { throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); } return long.toNumber(); } // If you get a compile-error about 'Constructor and ... have no overlap', // add '--ts_proto_opt=esModuleInterop=true' as a flag when calling 'protoc'. if (_m0.util.Long !== Long) { _m0.util.Long = Long as any; _m0.configure(); } function isObject(value: any): boolean { return typeof value === "object" && value !== null; } function isSet(value: any): boolean { return value !== null && value !== undefined; }