Improve cqi extension structure

This commit is contained in:
Patrick Jentsch
2023-06-30 15:36:45 +02:00
parent 912bd7da07
commit 1cd9540e5b
6 changed files with 56 additions and 50 deletions

View File

@ -617,8 +617,8 @@ cqi.api.APIClient = class APIClient {
* @param {string} corpus
* @returns {Promise<cqi.status.StatusOk>}
*/
async corpus_update_db(corpus) {
const fn_name = 'nopaque_corpus_update_db';
async ext_corpus_update_db(corpus) {
const fn_name = 'ext_corpus_update_db';
const fn_args = {corpus: corpus};
let payload = await this.#request(fn_name, fn_args);
return new cqi.status.lookup[payload.code]();
@ -628,8 +628,8 @@ cqi.api.APIClient = class APIClient {
* @param {string} corpus
* @returns {Promise<object>}
*/
async corpus_static_data(corpus) {
const fn_name = 'nopaque_corpus_static_data';
async ext_corpus_static_data(corpus) {
const fn_name = 'ext_corpus_static_data';
const fn_args = {corpus: corpus};
return await this.#request(fn_name, fn_args);
}
@ -640,8 +640,8 @@ cqi.api.APIClient = class APIClient {
* @param {number=} per_page
* @returns {Promise<object>}
*/
async corpus_paginate_corpus(corpus, page, per_page) {
const fn_name = 'nopaque_corpus_paginate_corpus';
async ext_corpus_paginate_corpus(corpus, page, per_page) {
const fn_name = 'ext_corpus_paginate_corpus';
const fn_args = {corpus: corpus}
if (page !== undefined) {fn_args.page = page;}
if (per_page !== undefined) {fn_args.per_page = per_page;}
@ -655,8 +655,8 @@ cqi.api.APIClient = class APIClient {
* @param {number=} per_page
* @returns {Promise<object>}
*/
async cqp_paginate_subcorpus(subcorpus, context, page, per_page) {
const fn_name = 'nopaque_cqp_paginate_subcorpus';
async ext_cqp_paginate_subcorpus(subcorpus, context, page, per_page) {
const fn_name = 'ext_cqp_paginate_subcorpus';
const fn_args = {subcorpus: subcorpus}
if (context !== undefined) {fn_args.context = context;}
if (page !== undefined) {fn_args.page = page;}
@ -670,8 +670,8 @@ cqi.api.APIClient = class APIClient {
* @param {number=} context
* @returns {Promise<object>}
*/
async cqp_partial_export_subcorpus(subcorpus, match_id_list, context) {
const fn_name = 'nopaque_cqp_partial_export_subcorpus';
async ext_cqp_partial_export_subcorpus(subcorpus, match_id_list, context) {
const fn_name = 'ext_cqp_partial_export_subcorpus';
const fn_args = {subcorpus: subcorpus, match_id_list: match_id_list};
if (context !== undefined) {fn_args.context = context;}
return await this.#request(fn_name, fn_args);
@ -682,8 +682,8 @@ cqi.api.APIClient = class APIClient {
* @param {number=} context
* @returns {Promise<object>}
*/
async cqp_export_subcorpus(subcorpus, context) {
const fn_name = 'nopaque_cqp_export_subcorpus';
async ext_cqp_export_subcorpus(subcorpus, context) {
const fn_name = 'ext_cqp_export_subcorpus';
const fn_args = {subcorpus: subcorpus};
if (context !== undefined) {fn_args.context = context;}
return await this.#request(fn_name, fn_args);

View File

@ -99,7 +99,7 @@ cqi.models.corpora.Corpus = class Corpus extends cqi.models.resource.Model {
* @returns {cqi.status.StatusOk}
*/
async updateDb() {
return await this.client.api.corpus_update_db(this.apiName);
return await this.client.api.ext_corpus_update_db(this.apiName);
}
/**
@ -108,7 +108,7 @@ cqi.models.corpora.Corpus = class Corpus extends cqi.models.resource.Model {
* @returns {Promise<object>}
*/
async paginate(page, per_page) {
return await this.client.api.corpus_paginate_corpus(this.apiName, page, per_page);
return await this.client.api.ext_corpus_paginate_corpus(this.apiName, page, per_page);
}
};
@ -122,16 +122,24 @@ cqi.models.corpora.CorpusCollection = class CorpusCollection extends cqi.models.
* @returns {Promise<object>}
*/
async _get(corpusName) {
return {
const returnValue = {
api_name: corpusName,
charset: await this.client.api.corpus_charset(corpusName),
// full_name: await this.client.api.corpus_full_name(corpusName),
// info: await this.client.api.corpus_info(corpusName),
name: corpusName,
properties: await this.client.api.corpus_properties(corpusName),
size: await this.client.api.cl_attribute_size(`${corpusName}.word`),
static_data: await this.client.api.corpus_static_data(corpusName),
}
size: await this.client.api.cl_attribute_size(`${corpusName}.word`)
};
/************************************************************************
* NOTE: The following is not included in the CQi specification. *
************************************************************************/
/************************************************************************
* Custom additions for nopaque *
************************************************************************/
returnValue.static_data = await this.client.api.ext_corpus_static_data(corpusName);
return returnValue;
}
/**

View File

@ -100,7 +100,7 @@ cqi.models.subcorpora.Subcorpus = class Subcorpus extends cqi.models.resource.Mo
* @returns {Promise<object>}
*/
async paginate(context, page, perPage) {
return await this.client.api.cqp_paginate_subcorpus(this.apiName, context, page, perPage);
return await this.client.api.ext_cqp_paginate_subcorpus(this.apiName, context, page, perPage);
}
/**
@ -109,7 +109,7 @@ cqi.models.subcorpora.Subcorpus = class Subcorpus extends cqi.models.resource.Mo
* @returns {Promise<object>}
*/
async partialExport(matchIdList, context) {
return await this.client.api.cqp_partial_export_subcorpus(this.apiName, matchIdList, context);
return await this.client.api.ext_cqp_partial_export_subcorpus(this.apiName, matchIdList, context);
}
/**
@ -117,7 +117,7 @@ cqi.models.subcorpora.Subcorpus = class Subcorpus extends cqi.models.resource.Mo
* @returns {Promise<object>}
*/
async export(context) {
return await this.client.api.cqp_export_subcorpus(this.apiName, context);
return await this.client.api.ext_cqp_export_subcorpus(this.apiName, context);
}
};