UNPKG

condoit

Version:

[![](https://img.shields.io/badge/Docs-Docs-00a02e?logo=github&style=for-the-badge&color=0000ff)](https://securisec.github.io/condoit/) ![](https://img.shields.io/npm/v/condoit?style=for-the-badge)

1,135 lines 98.3 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseWebhook = exports.Condoit = exports.transactions = void 0; const axios_1 = __importDefault(require("axios")); const qs_1 = __importDefault(require("qs")); const url_1 = require("url"); const fs_1 = require("fs"); const iToken = __importStar(require("./interfaces/iToken")); const transactions_1 = require("./transactions"); Object.defineProperty(exports, "transactions", { enumerable: true, get: function () { return transactions_1.transactions; } }); /** *The class to create an instance to use the Phabricator api * * @class Condoit */ class Condoit { /** *Creates an instance of Condoit. * @param {string} baseUrl The base url for a phabricator instance * @param {string} apiToken A valid phabricator conduit api token * @param {object} headers Optional headers to pass to the phabricator endpoint * @param {AxiosInstance | undefined} axiosInstance Optional axios instance to use. If a * custom axios instance is used, it needs to be set up with the baseURL. * @memberof Condoit */ constructor(baseUrl, apiToken, headers = {}, axiosInstance = undefined) { /** *Service Directory * * @memberof Condoit */ this.almanac = { /** *Apply transactions to create a new binding or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.binding.edit/} * * @param {iAlmanac.AlmanacBindingEdit} options * @returns {Promise<Transactions>} */ bindingEdit: (options) => { return this.makeRequest('almanac.binding.edit', this.transactionOptions(options)); }, /** *Read information about Almanac bindings. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.binding.search/} * * @param {iAlmanac.AlmanacBindingSearch} options * @returns {Promise<iAlmanac.RetAlmanacBindingSearch>} */ bindingSearch: (options) => { return this.makeRequest('almanac.binding.search', this.returnOptionsAttachments(options)); }, /** *Apply transactions to create a new device or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.device.edit/} * * @param {iAlmanac.AlmanacDeviceEdit} options * @returns {Promise<Transactions>} */ deviceEdit: (options) => { return this.makeRequest('almanac.device.edit', this.transactionOptions(options)); }, /** *Read information about Almanac devices. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.device.search/} * * @param {iAlmanac.AlmanacDeviceSearch} options * @returns {Promise<iAlmanac.RetAlmanacDeviceSearch>} */ deviceSearch: (options) => { return this.makeRequest('almanac.device.search', this.returnOptionsAttachments(options)); }, /** *Apply transactions to create a new interface or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.interface.edit/} * * @param {iAlmanac.AlmanacInterfaceEdit} options * @returns {Promise<Transactions>} */ interfaceEdit: (options) => { return this.makeRequest('almanac.interface.edit', this.transactionOptions(options)); }, /** *Read information about Almanac interfaces. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.interface.search/} * * @param {iAlmanac.AlmanacInterfaceSearch} options * @returns {Promise<iAlmanac.RetAlmanacInterfaceSearch>} */ interfaceSearch: (options) => { return this.makeRequest('almanac.interface.search', this.returnOptions(options)); }, namespaceEdit: () => { throw Error('Not implemented'); }, /** *Read information about Almanac namespaces. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.namespace.search/} * * @param {iAlmanac.AlmanacNamespaceSearch} options * @returns {Promise<iAlmanac.RetAlmanacNamespaceSearch>} */ namespaceSearch: (options) => { return this.makeRequest('almanac.namespace.search', this.returnOptionsAttachments(options)); }, /** *Apply transactions to create a new network or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.network.edit/} * * @param {iAlmanac.AlmanacNetworkEdit} options * @returns {Promise<Transactions>} */ networkEdit: (options) => { return this.makeRequest('almanac.network.edit', this.transactionOptions(options)); }, /** *Read information about Almanac bindings. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.network.search/} * * @param {iAlmanac.AlmanacNetworkSearch} options * @returns {Promise<iAlmanac.RetAlmanacNetworkSearch>} */ networkSearch: (options) => { return this.makeRequest('almanac.network.search', this.returnOptions(options)); }, /** *Apply transactions to create a new service or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.service.edit/} * * @param {iAlmanac.AlmanacServiceEdit} options * @returns {Promise<Transactions>} */ serviceEdit: (options) => { return this.makeRequest('almanac.service.edit', this.transactionOptions(options)); }, /** *Read information about Almanac services. [Docs]{@link https://secure.phabricator.com/conduit/method/almanac.service.search/} * * @param {iAlmanac.AlmanacServiceSearch} options * @returns {Promise<iAlmanac.RetAlmanacServiceSearch>} */ serviceSearch: (options) => { return this.makeRequest('almanac.service.search', this.returnOptionsAttachments(options)); }, }; /** ***Marked for deprecation** Query audit requests. [Docs]{@link https://secure.phabricator.com/conduit/method/audit.query/} * * @memberof Condoit */ this.audit = { query: (options) => { return this.makeRequest('audit.query', { authodPHIDs: options?.authorPHIDs, commitPHIDs: options?.commitPHIDs, status: options?.status, offset: options?.offset, limit: options?.limit, }); }, }; /** *Login/Registration * * @memberof Condoit */ this.auth = { /** *Logout of all sessions. [Docs]{@link https://secure.phabricator.com/conduit/method/auth.logout/} * * @returns {Promise<void>} */ logout: () => { return this.makeRequest('auth.logout', {}); }, /** *Query public keys. [Docs]{@link https://secure.phabricator.com/conduit/method/auth.querypublickeys/} * * @param {iAuth.AuthQuerypublickeys} options * @returns {Promise<iAuth.RetAuthQuerypublickeys>} */ querypublickeys: (options) => { return this.makeRequest('auth.querypublickeys', { ids: options?.ids, phids: options?.phids, objectPHIDs: options?.objectPHIDs, before: options?.before, after: options?.after, limit: options?.limit, }); }, }; /** *Achievements and Notoriety * * @memberof Condoit */ this.badge = { /** *Create or edit a Badge. [Docs]{@link https://secure.phabricator.com/conduit/method/badge.edit/} * * @param {iBadge.BadgeEdit} options * @returns {Promise<Transactions>} */ edit: (options) => { return this.makeRequest('badge.edit', this.transactionOptions(options)); }, /** *Read information about badges. [Docs]{@link https://secure.phabricator.com/conduit/method/badge.search/} * * @param {iBadge.BadgeSearch} options * @returns {Promise<iBadge.RetBadgeSearch>} */ search: (options) => { return this.makeRequest('badge.search', this.returnOptionsAttachments(options)); }, }; /** *Developer API * * @memberof Condoit */ this.conduit = { /** *Connect a session based client. [Docs]{@link https://secure.phabricator.com/conduit/method/conduit.connect/} * * @param {iConduit.ConduitConnect} options * @returns {Promise<any>} */ connect: (options) => { return this.makeRequest('conduit.connect', { client: options.client, clientVersion: options.clientVersion, user: options?.user, authToken: options?.authToken, authSignature: options?.authSignature, }); }, /** *List capabilities, wire formats, and authentication protocols available on this server. [Docs]{@link https://secure.phabricator.com/conduit/method/conduit.capabilities/} * * @returns {Promise<iConduit.RetConduitCapabilities>} */ getcapabilities: () => { return this.makeRequest('conduit.getcapabilities', {}); }, /** *Retreive certificate information for a user. [Docs]{@link https://secure.phabricator.com/conduit/method/conduit.getcertificate/} * * @param {{token: string, host: string}} options * @returns {Promise<any>} */ getcertificate: (options) => { return this.makeRequest('conduit.getcertificate', { token: options.token, host: options.host, }); }, /** *Basic ping for monitoring or a health-check. [Docs]{@link https://secure.phabricator.com/conduit/method/conduit.ping/} * * @returns {Promise<iConduit.RetConduitPing>} */ ping: () => { return this.makeRequest('conduit.ping', {}); }, /** *Returns the parameters of the Conduit methods. [Docs]{@link https://secure.phabricator.com/conduit/method/conduit.query/} * * @returns {Promise<GenericReturn>} */ query: () => { return this.makeRequest('conduit.query', {}); }, }; /** *Chat with others. * * @memberof Condoit */ this.conpherence = { /** ***Marked for deprecation** Create a new conpherence thread. [Docs]{@link https://secure.phabricator.com/conduit/method/conpherence.createthread/} * * @param {iConpherence.ConperhenceCreatethread} options * @returns {Promise<iConpherence.RetConperhenceCreatethread>} */ createthread: (options) => { return this.makeRequest('conpherence.createthread', { title: options.title, topic: options?.topic, message: options?.message, participantPHIDs: options.participantPHIDs, }); }, /** *Apply transactions to create a new room or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/conpherence.edit/} * * @param {iConpherence.ConperhenceEdit} options * @returns {Promise<Transactions>} */ edit: (options) => { return this.makeRequest('conpherence.edit', this.transactionOptions(options)); }, /** *Query for Conpherence threads for the logged in user. You can query by IDs or PHIDs for specific Conpherence threads. Otherwise, specify limit and offset to query the most recently updated Conpherences for the logged in user. [Docs]{@link https://secure.phabricator.com/conduit/method/conpherence.querythread/} * * @param {iConpherence.ConpherenceQuerythread} options * @returns {Promise<iConpherence.RetConpherenceQuerythread>} */ querythread: (options) => { return this.makeRequest('conpherence.querythread', { ids: options?.ids, phids: options?.phids, offset: options?.offset, limit: options?.limit, }); }, /** *Query for transactions for the logged in user within a specific Conpherence room. You can specify the room by ID or PHID. Otherwise, specify limit and offset to query the most recent transactions within the Conpherence room for the logged in user. [Docs]{@link https://secure.phabricator.com/conduit/method/conpherence.querytransaction/} * * @param {iConpherence.ConpherenceQuerytransaction} options * @returns {Promise<iConpherence.RetConpherenceQuerytransaction>} */ querytransaction: (options) => { return this.makeRequest('conpherence.querytransaction', { roomID: options?.roomID, roomPHID: options?.roomPHID, offset: options?.offset, limit: options?.limit, }); }, /** ***Marked for deprecation** Update an existing conpherence room. [Docs]{@link https://secure.phabricator.com/conduit/method/conpherence.updatethread/} * * @param {iConpherence.ConperhenceUpdatethread} options * @returns {Promise<GenericReturn>} */ updatethread: (options) => { return this.makeRequest('conpherence.updatethread', { id: options?.id, phid: options?.phid, title: options?.title, message: options?.message, addParticipantPHIDs: options?.addParticipantPHIDs, removeParticipantPHIDs: options?.removeParticipantPHIDs, }); }, }; /** *Countdown to Events. * * @memberof Condoit */ this.countdown = { /** *Read information about countdowns. [Docs]{@link https://secure.phabricator.com/conduit/method/countdown.search/} * * @param {iCountdown.CountdownServiceSearch} options * @returns {Promise<iCountdown.RetCountdownServiceSearch>} */ search: (options) => { return this.makeRequest('countdown.search', this.returnOptionsAttachments(options)); }, /** *Apply transactions to create a new countdown or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/countdown.edit/} * * @param {iCountdown.CountdownEdit} options * @returns {Promise<Transactions>} */ edit: (options) => { return this.makeRequest('countdown.edit', this.transactionOptions(options)); }, }; this.dashboard = { panelEdit: () => { throw Error('Not implemented'); }, }; /** *Pre-commit review * * @memberof Condoit */ this.differential = { /** ***Marked for deprecation** Close a differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.close/} * * @param {{revisionID: number}} options * @returns {Promise<GenericReturn>} */ close: (options) => { return this.makeRequest('differential.close', { revisionID: options.revisionID, }); }, /** ***Marked for deprecation** Add a comment to a differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.createcomment/} * * @param {iDifferential.DiffComment} options * @returns {Promise<GenericReturn>} */ createcomment: (options) => { return this.makeRequest('differential.createcomment', { revision_id: options.revision_id, message: options?.message, action: options?.action, silent: options?.silent, attach_inlines: options?.attach_inlines, }); }, /** *Create a new Differential diff. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.creatediff/} * * @param {iDifferential.DiffCreatediff} options * @returns {Promise<GenericReturn>} */ creatediff: (options) => { return this.makeRequest('differential.creatediff', { changes: options.changes, sourceMachine: options.sourceMachine, sourcePath: options.sourcePath, branch: options.branch, bookmark: options?.bookmark, sourceControlSystem: options.sourceControlSystem, sourceControlBaseRevision: options.sourceControlBaseRevision, creationMethod: options.creationMethod, lintStatus: options.lintStatus, unitStatus: options.unitStatus, repositoryPHID: options?.repositoryPHID, }); }, /** *Add an inline comment to a Differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.createinline/} * * @param {iDifferential.DiffCreateinline} options * @returns {Promise<string>} */ createinline: (options) => { return this.makeRequest('differential.createinline', { revisionID: options?.revisionID, diffID: options?.diffID, filePath: options.filePath, isNewFile: options?.isNewFile, lineNumber: options?.lineNumber, lineLength: options?.lineLength, content: options?.content, }); }, /** *Create a new Differential diff from a raw diff source. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.createrawdiff/} * * @param {iDifferential.DiffCreaterawdiff} options * @returns {Promise<GenericReturn>} */ createrawdiff: (options) => { return this.makeRequest('differential.createrawdiff', { diff: options.diff, repositoryPHID: options?.repositoryPHID, viewPolicy: options?.viewPolicy, }); }, /** ***Marked for deprecation** Create a new differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.createrevision/} * * @param {{ * diffid: string; * fields: object; * }} options * @returns {Promise<GenericReturn>} */ createrevision: (options) => { return this.makeRequest('differential.createrevision', { diffid: options.diffid, fields: options.fields, }); }, /** *Read information about diffs. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.diff.search/} * * @param {iDifferential.DiffDiffSearch} options * @returns {Promise<iDifferential.RetDiffDiffSearch>} */ diffSearch: (options) => { return this.makeRequest('differential.diff.search', this.returnOptionsAttachments(options)); }, /** *Retrieve Differential commit messages or message templates. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.getcommitmessage/} * * @param {iDifferential.DiffGetcommitmessage} options * @returns {Promise<GenericReturn>} */ getcommitmessage: (options) => { return this.makeRequest('differential.getcommitmessage', { revision_id: options?.revision_id, edit: options?.edit, fields: options?.fields, }); }, /** *Query which paths should be included when committing a Differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.getcommitpaths/} * * @param {{revision_id: number}} options * @returns {Promise<GenericReturn>} */ getcommitpaths: (options) => { return this.makeRequest('differential.getcommitpaths', { revision_id: options.revision_id, }); }, /** *Retreive a raw diff. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.getrawdiff/} * * @param {{diffID: string}} options * @returns {Promise<GenericReturn>} */ getrawdiff: (options) => { return this.makeRequest('differential.getrawdiff', { diffID: options.diffID, }); }, /** *Parse commit messages for Differential fields. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.parsecommitmessage/} * * @param {{corpus: string, partial?: boolean}} options * @returns {Promise<GenericReturn>} */ parsecommitmessage: (options) => { return this.makeRequest('differential.parsecommitmessage', { corpus: options.corpus, partial: options?.partial, }); }, /** ***Marked for deprecation** Query Differential revisions which match certain criteria. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.query/} * * @param {iDifferential.DiffQuery} options * @returns {Promise<GenericReturn>} */ query: (options) => { return this.makeRequest('differential.query', { authors: options?.authors, ccs: options?.ccs, reviewers: options?.reviewers, paths: options?.paths, commitHashes: options?.commitHashes, status: options?.status, order: options?.order, limit: options?.limit, offset: options?.offset, ids: options?.ids, phids: options?.phids, subscribers: options?.subscribers, responsibleUsers: options?.responsibleUsers, branches: options?.branches, }); }, /** ***Marked for deprecation** Query differential diffs which match certain criteria. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.querydiffs/} * * @param {{ids?: Array<number>, revisionIDs?: Array<number>}} options * @returns {Promise<GenericReturn>} */ querydiffs: (options) => { return this.makeRequest('differential.querydiffs', { ids: options?.ids, revisionIDs: options?.revisionIDs, }); }, /** *Apply transactions to create or update a revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.revision.edit/} * * @param {iDifferential.DiffRevisionEdit} options * @returns {Promise<Transactions>} */ revisionEdit: (options) => { return this.makeRequest('differential.revision.edit', this.transactionOptions(options)); }, /** *Read information about revisions. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.revision.search/} * * @param {iDifferential.DiffRevisionSearch} options * @returns {Promise<iDifferential.RetDiffRevisionSearch>} */ revisionSearch: (options) => { return this.makeRequest('differential.revision.search', this.returnOptionsAttachments(options)); }, /** *Attach properties to Differential diffs. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.setdiffproperty/} * * @param {{ * diff_id: string; * name: string; * data: string; * }} options * @returns {Promise<GenericReturn>} */ setdiffproperty: (options) => { return this.makeRequest('differential.setdiffproperty', { diff_id: options.diff_id, data: options.data, name: options.name, }); }, /** ***Marked for deprecation** Update a differential revision. [Docs]{@link https://secure.phabricator.com/conduit/method/differential.updaterevision/} * * @param {iDifferential.DiffUpdateRevision} options * @returns {Promise<GenericReturn>} */ updaterevision: (options) => { return this.makeRequest('differential.updaterevision', { od: options.id, diffid: options.diffid, message: options.message, fields: options.fields, }); }, }; /** *Host and Browse Repositories * * @memberof Condoit */ this.diffusion = { /** *Get blame information for a list of paths. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.blame/} * * @param {iDiffusion.DiffusionBlame} options * @returns {Promise<GenericReturn>} */ blame: (options) => { return this.makeRequest('diffusion.blame', { paths: options.paths, commit: options.commit, timeout: options?.timeout, repository: options?.repository, branch: options?.branch, }); }, /** *Determine what branches exist for a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.branchquery/} * * @param {iDiffusion.DiffusionBranchQuery} options * @returns {Promise<Array<iDiffusion.RetDiffusionBranchquery>>} */ branchquery: (options) => { return this.makeRequest('diffusion.branchquery', { closed: options?.closed, limit: options?.limit, offset: options?.offset, contains: options?.contains, pattern: options?.pattern, repository: options?.repository, branch: options?.branch, }); }, /** *File(s) information for a repository at an (optional) path and (optional) commit. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.browsequery/} * * @param {iDiffusion.DiffusionBrowsequery} options * @returns {Promise<iDiffusion.RetDiffusionBrowsequery>} */ browsequery: (options) => { return this.makeRequest('diffusion.browsequery', { path: options?.path, commit: options?.commit, needValidityOnly: options?.needValidityOnly, limit: options?.limit, offset: options?.offset, repository: options?.repository, branch: options?.branch, }); }, /** *Apply transactions to edit an existing commit. This method can not create new commits. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.commit.edit/} * * @param {iDiffusion.DiffusionCommitEdit} options * @returns {Promise<Transactions>} */ commitEdit: (options) => { return this.makeRequest('diffusion.commit.edit', this.transactionOptions(options)); }, /** *Read information about commits. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.commit.search/} * * @param {iDiffusion.DiffusionCommitSearch} options * @returns {Promise<iDiffusion.RetDiffusionCommitSearch>} */ commitSearch: (options) => { return this.makeRequest('diffusion.commit.search', this.returnOptionsAttachments(options)); }, /** *Get the commit identifiers for a commit's parent or parents. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.commitparentsquery/} * * @param {iDiffusion.DiffusionCommitparentsquery} options * @returns {Promise<GenericReturn>} */ commitparentsquery: (options) => { return this.makeRequest('diffusion.commitparentsquery', { commit: options.commit, repository: options?.repository, branch: options?.branch, }); }, /** *Get diff information from a repository for a specific path at an (optional) commit. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.diffquery/} * * @param {iDiffusion.DiffusionDiffQuery} options * @returns {Promise<iDiffusion.RetDiffusionDiffquery>} */ diffquery: (options) => { return this.makeRequest('diffusion.diffquery', { path: options?.path, commit: options?.commit, repository: options.repository, branch: options?.branch, }); }, /** *Determine if code exists in a version control system. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.existsquery/} * * @param {iDiffusion.DiffusionExistsquery} options * @returns {Promise<any>} */ existsquery: (options) => { return this.makeRequest('diffusion.existsquery', { commit: options.commit, repository: options?.repository, branch: options?.branch, }); }, /** *Retreive file content from a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.filecontentquery/} * * @param {iDiffusion.DiffusionFilecontentquery} options * @returns {Promise<iDiffusion.RetDiffusionFilecontentquery>} */ filecontentquery: (options) => { return this.makeRequest('diffusion.filecontentquery', { path: options.path, commit: options?.commit, timeout: options?.timeout, byteLimit: options?.byteLimit, repository: options.repository, branch: options?.branch, }); }, /** *Retrieve Diffusion symbol information. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.findsymbols/} * * @param {iDiffusion.DiffusionFindsymbols} options * @returns {Promise<GenericReturn>} */ findsymbols: (options) => { return this.makeRequest('diffusion.findsymbols', { name: options?.name, namePrefix: options?.namePrefix, context: options?.context, language: options?.language, type: options?.type, repositoryPHID: options?.repositoryPHID, }); }, /** *Returns history information for a repository at a specific commit and path. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.historyquery/} * * @param {iDiffusion.DiffusionHistoryquery} options * @returns {Promise<iDiffusion.RetDiffusionHistoryquery>} */ historyquery: (options) => { return this.makeRequest('diffusion.historyquery', { commit: options.commit, against: options?.against, path: options?.path, offset: options?.offset, limit: options?.limit, needDirectChanges: options?.needDirectChanges, needChildChanges: options?.needChildChanges, repository: options?.repository, branch: options?.branch, }); }, /** *Get the commits at which paths were last modified. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.lastmodifiedquery/} * * @param {iDiffusion.DiffusionLastmodifiedQuery} options * @returns {Promise<GenericReturn>} */ lastmodifiedquery: (options) => { return this.makeRequest('diffusion.lastmodifiedquery', { paths: options.paths, repository: options?.repository, branch: options?.branch, }); }, /** *Merged commit information for a specific commit in a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.mergedcommitsquery/} * * @param {iDiffusion.DiffusionMergedcommitsquery} options * @returns {Promise<GenericReturn>} */ mergedcommitsquery: (options) => { return this.makeRequest('diffusion.mergedcommitsquery', { commit: options.commit, branch: options?.branch, repository: options?.repository, limit: options?.limit, }); }, /** ***Marked for deprecation** Retreive information about commits. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.querycommits/} * * @param {iDiffusion.DiffusionQuerycommits} options * @returns {Promise<iDiffusion.RetDiffusionQuerycommits>} */ querycommits: (options) => { return this.makeRequest('diffusion.querycommits', { ids: options?.ids, phids: options?.phids, names: options?.names, repositoryPHID: options?.repositoryPHID, needMessages: options?.needMessages, bypassCache: options?.bypassCache, before: options?.before, after: options?.after, limit: options?.limit, }); }, /** *Filename search on a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.querypaths/} * * @param {iDiffusion.DiffusionQuerypaths} [options] * @returns {Promise<GenericReturn>} */ querypaths: (options) => { return this.makeRequest('diffusion.querypaths', { path: options?.path, commit: options?.commit, pattern: options?.pattern, limit: options?.limit, offset: options?.offset, repository: options?.repository, branch: options?.branch, }); }, /** *Get raw diff information from a repository for a specific commit at an (optional) path. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.rawdiffquery/} * * @param {iDiffusion.DiffusionRawdiffquery} options * @returns {Promise<GenericReturn>} */ rawdiffquery: (options) => { return this.makeRequest('diffusion.rawdiffquery', { path: options?.path, commit: options?.commit, linesOfContext: options?.linesOfContext, timeout: options?.timeout, byteLimit: options?.byteLimit, repository: options?.repository, branch: options?.branch, }); }, /** *Query a git repository for ref information at a specific commit. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.refsquery/} * * @param {iDiffusion.BranchCommitRepo} options * @returns {Promise<iDiffusion.RetDiffusionRefsquery>} */ refsquery: (options) => { return this.makeRequest('diffusion.refsquery', { branch: options?.branch, commit: options?.commit, repository: options?.repository, }); }, /** *Apply transactions to create a new repository or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.repository.edit/} * * @param {iDiffusion.DiffusionRepositoryEdit} options * @returns {Promise<Transactions>} */ repositoryEdit: (options) => { return this.makeRequest('diffusion.repository.edit', this.transactionOptions(options)); }, /** *Read information about repositories. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.repository.search/} * * @param {iDiffusion.DiffusionRepositorySearch} options * @returns {Promise<iDiffusion.RetDiffusionRepositorySearch>} */ repositorySearch: (options) => { return this.makeRequest('diffusion.repository.search', this.returnOptionsAttachments(options)); }, /** *Resolve references into stable, canonical identifiers. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.resolverefs/} * * @param {iDiffusion.DiffusionResolverefs} options * @returns {Promise<GenericReturn>} */ resolverefs: (options) => { return this.makeRequest('diffusion.resolverefs', { refs: options?.refs, types: options?.types, repository: options?.repository, branch: options?.branch, }); }, /** *Search (grep) a repository at a specific path and commit. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.searchquery/} * * @param {iDiffusion.DiffusionSearchquery} options * @returns {Promise<GenericReturn>} */ searchquery: (options) => { return this.makeRequest('diffusion.searchquery', { path: options?.path, commit: options?.commit, grep: options.grep, limit: options?.limit, offset: options?.offset, branch: options?.branch, repository: options?.repository, }); }, /** *Retrieve information about tags in a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.tagsquery/} * * @param {iDiffusion.DiffusionTagsquery} options * @returns {Promise<GenericReturn>} */ tagsquery: (options) => { return this.makeRequest('diffusion.tagsquery', { names: options?.names, needMessages: options?.needMessages, commit: options?.commit, limit: options?.limit, offset: options?.offset, branch: options?.branch, repository: options?.repository, }); }, /** *Apply transactions to create a new repository URI or edit an existing one. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.uri.edit/} * * @param {iDiffusion.DiffusionUriedit} options * @returns {Promise<Transactions>} */ uriEdit: (options) => { return this.makeRequest('diffusion.uri.edit', this.transactionOptions(options)); }, /** *Get lint messages for existing code. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.getlintmessages/} * * @param {iDiffusion.DiffusionGetlinemessages} options * @returns {Promise<GenericReturn>} */ getlintmessages: (options) => { return this.makeRequest('diffusion.getlintmessages', { repositoryPHID: options.repositoryPHID, branch: options.branch, commit: options?.commit, files: options.files, }); }, /** *Advises Phabricator to look for new commits in a repository as soon as possible. This advice is most useful if you have just pushed new commits to that repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.looksoon/} * * @param {{repositories?: Array<string>, urgency?: string}} options * @returns {Promise<GenericReturn>} */ looksoon: (options) => { return this.makeRequest('diffusion.looksoon', { repositories: options?.repositories, urgency: options?.urgency, }); }, /** *Publish coverage information for a repository. [Docs]{@link https://secure.phabricator.com/conduit/method/diffusion.updatecoverage/} * * @param {iDiffusion.DiffusionUpdatecoverage} options * @returns {Promise<GenericReturn>} */ updatecoverage: (options) => { return this.makeRequest('diffusion.updatecoverage', { repositoryPHID: options.repositoryPHID, commit: options.commit, branch: options.branch, mode: options?.mode, coverage: options.coverage, }); }, }; /** *Allocate software resources. * * @memberof Condoit */ this.drydock = { /** *Retrieve information about Drydock authorizations. [Docs]{@link https://secure.phabricator.com/conduit/method/drydock.authorization.search/} * * @param {iDrydock.DrydockAlmanacSearch} options * @returns {Promise<iDrydock.RetHarbormasterArtifactSearch>} */ authorizationSearch: (options) => { return this.makeRequest('drydock.authorization.search', this.returnOptions(options)); }, /** *Apply transactions to create or edit a blueprint. [Docs]{@link https://secure.phabricator.com/conduit/method/drydock.blueprint.edit/} * * @param {iDrydock.DrydockBlueprintEdit} options * @returns {Promise<Transactions>} */ blueprintEdit: (options) => { return this.makeRequest('drydock.blueprint.edit', this.transactionOptions(options)); }, /** *Retrieve information about Drydock blueprints. [Docs]{@link https://secure.phabricator.com/conduit/method/drydock.blueprint.search/} * * @param {iDrydock.DrydockBlueprintSearch} options * @returns {Promise<iDrydock.RetDDBlueprintSearch>} */ blueprintSearch: (options) => { return this.makeRequest('drydock.blueprint.search', this.returnOptionsAttachments(options)); }, /** *Retrieve information about Drydock leases. [Docs]{@link https://secure.phabricator.com/conduit/method/drydock.lease.search/} * * @param {iDrydock.DrydockLeaseSearch} options * @returns {Promise<iDrydock.RetDDLeaseSearch>} */ leaseSearch: (options) => { return this.makeRequest('drydock.lease.search', this.returnOptions(options)); }, /** *Retrieve information about Drydock resources. [Docs]{@link https://secure.phabricator.com/conduit/method/drydock.resource.search/} * * @param {iDrydock.DrydockResourceSearch} options * @returns {Promise<iD