mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-04-10 00:13:10 +00:00
fix: rebase cleanup
fix: rebase cleanup fix: rebase cleanup
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
const merge = require("deepmerge");
|
// const merge = require("deepmerge");
|
||||||
|
|
||||||
const additionalDeps = {
|
const additionalDeps = {
|
||||||
'@openstapps/eslint-config': require('./configuration/eslint-config/package.json'),
|
'@openstapps/eslint-config': require('./configuration/eslint-config/package.json'),
|
||||||
|
|||||||
@@ -1,18 +1,14 @@
|
|||||||
# [1.0.0](https://gitlab.com/openstapps/backend/compare/v0.6.0...v1.0.0) (2023-05-08)
|
# [1.0.0](https://gitlab.com/openstapps/backend/compare/v0.6.0...v1.0.0) (2023-05-08)
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* openapi docs generation ([4ebe44a](https://gitlab.com/openstapps/backend/commit/4ebe44a5a7a1b7bfd0aa5b84d47d4056d3068ffe))
|
- openapi docs generation ([4ebe44a](https://gitlab.com/openstapps/backend/commit/4ebe44a5a7a1b7bfd0aa5b84d47d4056d3068ffe))
|
||||||
* rename deprecated Gitlab CI variables ([3471591](https://gitlab.com/openstapps/backend/commit/3471591a7d458df70447c8dac91f96f3c83e763c))
|
- rename deprecated Gitlab CI variables ([3471591](https://gitlab.com/openstapps/backend/commit/3471591a7d458df70447c8dac91f96f3c83e763c))
|
||||||
* semster boosting ([515a6ee](https://gitlab.com/openstapps/backend/commit/515a6eeea56305a37510d99b9f84a6b118b66f8a))
|
- semster boosting ([515a6ee](https://gitlab.com/openstapps/backend/commit/515a6eeea56305a37510d99b9f84a6b118b66f8a))
|
||||||
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
* update to of elasticsearch 8.4 ([c9b83b5](https://gitlab.com/openstapps/backend/commit/c9b83b5d71610f82bd1d99e837e29ad445758aea))
|
- update to of elasticsearch 8.4 ([c9b83b5](https://gitlab.com/openstapps/backend/commit/c9b83b5d71610f82bd1d99e837e29ad445758aea))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.6.0](https://gitlab.com/openstapps/backend/compare/v0.5.0...v0.6.0) (2023-01-30)
|
# [0.6.0](https://gitlab.com/openstapps/backend/compare/v0.5.0...v0.6.0) (2023-01-30)
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,10 @@ you with everything you need to run this backend.
|
|||||||
# Local usage for development purposes
|
# Local usage for development purposes
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Elasticsearch (8.4)
|
- Elasticsearch (8.4)
|
||||||
* [ICU analysis plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html)
|
- [ICU analysis plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html)
|
||||||
* OR Docker
|
- OR Docker
|
||||||
- Node.js (~14) / NPM
|
- Node.js (~14) / NPM
|
||||||
|
|
||||||
### Startup Behaviour
|
### Startup Behaviour
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
*/
|
*/
|
||||||
import {QueryDslQueryContainer} from '@elastic/elasticsearch/lib/api/types';
|
import {QueryDslQueryContainer} from '@elastic/elasticsearch/lib/api/types';
|
||||||
import {SCConfigFile, SCSearchQuery} from '@openstapps/core';
|
import {SCConfigFile, SCSearchQuery} from '@openstapps/core';
|
||||||
import {ElasticsearchConfig} from '../types/elasticsearch-config';
|
import {ElasticsearchConfig} from '../types/elasticsearch-config.js';
|
||||||
import {buildFilter} from './filter';
|
import {buildFilter} from './filter.js';
|
||||||
import {buildScoringFunctions} from './boost/scoring-functions';
|
import {buildScoringFunctions} from './boost/scoring-functions.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds body for Elasticsearch requests
|
* Builds body for Elasticsearch requests
|
||||||
|
|||||||
@@ -14,10 +14,10 @@
|
|||||||
*/
|
*/
|
||||||
import {Sort} from '@elastic/elasticsearch/lib/api/types';
|
import {Sort} from '@elastic/elasticsearch/lib/api/types';
|
||||||
import {SCSearchSort} from '@openstapps/core';
|
import {SCSearchSort} from '@openstapps/core';
|
||||||
import {buildDistanceSort} from './sort/distance';
|
import {buildDistanceSort} from './sort/distance.js';
|
||||||
import {buildDucetSort} from './sort/ducet';
|
import {buildDucetSort} from './sort/ducet.js';
|
||||||
import {buildGenericSort} from './sort/generic';
|
import {buildGenericSort} from './sort/generic.js';
|
||||||
import {buildPriceSort} from './sort/price';
|
import {buildPriceSort} from './sort/price.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* converts query to
|
* converts query to
|
||||||
@@ -28,14 +28,18 @@ import {buildPriceSort} from './sort/price';
|
|||||||
export function buildSort(sorts: SCSearchSort[]): Sort {
|
export function buildSort(sorts: SCSearchSort[]): Sort {
|
||||||
return sorts.map(sort => {
|
return sorts.map(sort => {
|
||||||
switch (sort.type) {
|
switch (sort.type) {
|
||||||
case 'generic':
|
case 'generic': {
|
||||||
return buildGenericSort(sort);
|
return buildGenericSort(sort);
|
||||||
case 'ducet':
|
}
|
||||||
|
case 'ducet': {
|
||||||
return buildDucetSort(sort);
|
return buildDucetSort(sort);
|
||||||
case 'distance':
|
}
|
||||||
|
case 'distance': {
|
||||||
return buildDistanceSort(sort);
|
return buildDistanceSort(sort);
|
||||||
case 'price':
|
}
|
||||||
|
case 'price': {
|
||||||
return buildPriceSort(sort);
|
return buildPriceSort(sort);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,17 +13,6 @@
|
|||||||
~ this program. If not, see <https://www.gnu.org/licenses/>.
|
~ this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<<<<<<<< HEAD:frontend/app/src/app/modules/data/list/data-list-item-host-default.html
|
|
||||||
<h2>
|
|
||||||
{{ 'name' | thingTranslate: item }}
|
|
||||||
</h2>
|
|
||||||
<p *ngIf="item.description">
|
|
||||||
<stapps-long-inline-text
|
|
||||||
[text]="'description' | thingTranslate: item"
|
|
||||||
[size]="80"
|
|
||||||
></stapps-long-inline-text>
|
|
||||||
</p>
|
|
||||||
========
|
|
||||||
<stapps-section title="{{ 'dashboard.navigation.item.search' | translate }}">
|
<stapps-section title="{{ 'dashboard.navigation.item.search' | translate }}">
|
||||||
<ion-searchbar
|
<ion-searchbar
|
||||||
[routerLink]="['/search']"
|
[routerLink]="['/search']"
|
||||||
@@ -33,4 +22,3 @@
|
|||||||
<ion-ripple-effect></ion-ripple-effect>
|
<ion-ripple-effect></ion-ripple-effect>
|
||||||
</ion-searchbar>
|
</ion-searchbar>
|
||||||
</stapps-section>
|
</stapps-section>
|
||||||
>>>>>>>> app/develop:frontend/app/src/app/modules/dashboard/sections/search-section/search-section.component.html
|
|
||||||
|
|||||||
@@ -24,11 +24,11 @@
|
|||||||
<ion-list inset="true" lines="full">
|
<ion-list inset="true" lines="full">
|
||||||
<ion-item lines="none" (click)="modified.emit(); frequency.click()" class="list-header">
|
<ion-item lines="none" (click)="modified.emit(); frequency.click()" class="list-header">
|
||||||
<ion-list-header>
|
<ion-list-header>
|
||||||
<ion-label>{{
|
<ion-label
|
||||||
frequency.children[0].item.repeatFrequency
|
>{{ frequency.children[0].item.repeatFrequency ? (frequency.children[0].item.repeatFrequency |
|
||||||
? (frequency.children[0].item.repeatFrequency | durationLocalized: true | sentencecase)
|
durationLocalized: true | sentencecase) : ('data.chips.add_events.popover.SINGLE' | translate |
|
||||||
: ('data.chips.add_events.popover.SINGLE' | translate | titlecase)
|
titlecase) }}</ion-label
|
||||||
}}</ion-label>
|
>
|
||||||
<ion-button></ion-button>
|
<ion-button></ion-button>
|
||||||
</ion-list-header>
|
</ion-list-header>
|
||||||
<ion-checkbox slot="end" [checked]="frequency.checked" [indeterminate]="frequency.indeterminate">
|
<ion-checkbox slot="end" [checked]="frequency.checked" [indeterminate]="frequency.indeterminate">
|
||||||
@@ -41,19 +41,18 @@
|
|||||||
<ion-label>
|
<ion-label>
|
||||||
<ng-container *ngIf="date.item.dates.length > 1; else single_event">
|
<ng-container *ngIf="date.item.dates.length > 1; else single_event">
|
||||||
<ion-text>
|
<ion-text>
|
||||||
{{ date.item.dates[0] | amDateFormat: 'dddd, LT' }} -
|
{{ date.item.dates[0] | amDateFormat: 'dddd, LT' }} - {{ date.item.dates[0] | amAdd:
|
||||||
{{ date.item.dates[0] | amAdd: date.item.duration | amDateFormat: 'LT' }}
|
date.item.duration | amDateFormat: 'LT' }}
|
||||||
</ion-text>
|
</ion-text>
|
||||||
<br />
|
<br />
|
||||||
<ion-text>
|
<ion-text>
|
||||||
{{ date.item.dates[0] | amDateFormat: 'LL' }} -
|
{{ date.item.dates[0] | amDateFormat: 'LL' }} - {{ date.item.dates[date.item.dates.length - 1] |
|
||||||
{{ date.item.dates[date.item.dates.length - 1] | amDateFormat: 'LL' }}
|
amDateFormat: 'LL' }}
|
||||||
</ion-text>
|
</ion-text>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-template #single_event>
|
<ng-template #single_event>
|
||||||
<ion-text *ngIf="date.item.dates[0] as time; else noDates">
|
<ion-text *ngIf="date.item.dates[0] as time; else noDates">
|
||||||
{{ time | amDateFormat: 'LL, LT' }} -
|
{{ time | amDateFormat: 'LL, LT' }} - {{ time | amAdd: date.item.duration | amDateFormat: 'LT' }}
|
||||||
{{ time | amAdd: date.item.duration | amDateFormat: 'LT' }}
|
|
||||||
</ion-text>
|
</ion-text>
|
||||||
<ng-template #noDates>
|
<ng-template #noDates>
|
||||||
<ion-text color="danger">{{ 'data.chips.add_events.popover.DATA_ERROR' | translate }}</ion-text>
|
<ion-text color="danger">{{ 'data.chips.add_events.popover.DATA_ERROR' | translate }}</ion-text>
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {SCThingType} from '@openstapps/core';
|
import {SCThingType} from '@openstapps/core';
|
||||||
import {SCIcon} from '../../util/ion-icon/icon';
|
import {SCIcon} from '../../util/ion-icon/icon';
|
||||||
|
|
||||||
@@ -22,6 +21,7 @@ export const DataIcons: Record<SCThingType, string> = {
|
|||||||
'article': SCIcon`article`,
|
'article': SCIcon`article`,
|
||||||
'book': SCIcon`book`,
|
'book': SCIcon`book`,
|
||||||
'building': SCIcon`location_city`,
|
'building': SCIcon`location_city`,
|
||||||
|
'certification': SCIcon`fact_check`,
|
||||||
'catalog': SCIcon`inventory_2`,
|
'catalog': SCIcon`inventory_2`,
|
||||||
'contact point': SCIcon`contact_page`,
|
'contact point': SCIcon`contact_page`,
|
||||||
'course of study': SCIcon`school`,
|
'course of study': SCIcon`school`,
|
||||||
|
|||||||
@@ -13,17 +13,6 @@
|
|||||||
~ this program. If not, see <https://www.gnu.org/licenses/>.
|
~ this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<<<<<<<< HEAD:frontend/app/src/app/modules/dashboard/sections/search-section/search-section.component.html
|
|
||||||
<stapps-section title="{{ 'dashboard.navigation.item.search' | translate }}">
|
|
||||||
<ion-searchbar
|
|
||||||
[routerLink]="'/search'"
|
|
||||||
[routerAnimation]="routeTransition"
|
|
||||||
class="stapps-searchbar ion-activatable ripple-parent"
|
|
||||||
>
|
|
||||||
<ion-ripple-effect></ion-ripple-effect>
|
|
||||||
</ion-searchbar>
|
|
||||||
</stapps-section>
|
|
||||||
========
|
|
||||||
<ion-button (click)="toggle($event)" color="medium" size="small" fill="clear">
|
<ion-button (click)="toggle($event)" color="medium" size="small" fill="clear">
|
||||||
<ion-icon
|
<ion-icon
|
||||||
slot="icon-only"
|
slot="icon-only"
|
||||||
@@ -32,4 +21,3 @@
|
|||||||
name="grade"
|
name="grade"
|
||||||
></ion-icon>
|
></ion-icon>
|
||||||
</ion-button>
|
</ion-button>
|
||||||
>>>>>>>> app/develop:frontend/app/src/app/modules/data/elements/favorite-button.component.html
|
|
||||||
|
|||||||
@@ -15,17 +15,14 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<ion-text *ngIf="price && !soldOut" style="white-space: nowrap">
|
<ion-text *ngIf="price && !soldOut" style="white-space: nowrap">
|
||||||
<h2>
|
<h2>{{ price | currency : 'EUR' : 'symbol' : undefined : 'de' }}</h2>
|
||||||
{{ price | currency : 'EUR' : 'symbol' : undefined : 'de' }}
|
|
||||||
</h2>
|
|
||||||
</ion-text>
|
</ion-text>
|
||||||
<ion-text *ngIf="soldOut" color="danger" class="sold-out" style="white-space: nowrap">
|
<ion-text *ngIf="soldOut" color="danger" class="sold-out" style="white-space: nowrap">
|
||||||
<h2>
|
<h2>{{ 'data.detail.offers.sold_out' | translate }}</h2>
|
||||||
{{ 'data.detail.offers.sold_out' | translate }}
|
|
||||||
</h2>
|
|
||||||
</ion-text>
|
</ion-text>
|
||||||
<p *ngIf="_offers[0].inPlace && !soldOut" class="place" style="white-space: nowrap">
|
<p *ngIf="_offers[0].inPlace && !soldOut" class="place" style="white-space: nowrap">
|
||||||
<ion-icon name="pin_drop"></ion-icon>{{ _offers[0].inPlace.name
|
<ion-icon name="pin_drop"></ion-icon>{{ _offers[0].inPlace.name }}<span *ngIf="_offers.length > 1"
|
||||||
}}<span *ngIf="_offers.length > 1">...</span>
|
>...</span
|
||||||
|
>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,20 +12,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
<<<<<<<< HEAD:frontend/app/src/app/util/simple-swiper.component.ts
|
|
||||||
import {Component, ContentChildren, ElementRef, ViewContainerRef} from '@angular/core';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'simple-swiper',
|
|
||||||
templateUrl: 'simple-swiper.html',
|
|
||||||
styleUrls: ['simple-swiper.scss'],
|
|
||||||
})
|
|
||||||
export class SimpleSwiperComponent {
|
|
||||||
constructor(readonly viewContainerRef: ViewContainerRef) {}
|
|
||||||
|
|
||||||
@ContentChildren('*') children: ElementRef<unknown>;
|
|
||||||
========
|
|
||||||
import {Component, Input} from '@angular/core';
|
import {Component, Input} from '@angular/core';
|
||||||
import {SCThings} from '@openstapps/core';
|
import {SCThings} from '@openstapps/core';
|
||||||
|
|
||||||
@@ -35,5 +21,4 @@ import {SCThings} from '@openstapps/core';
|
|||||||
})
|
})
|
||||||
export class DataListItemHostDefaultComponent {
|
export class DataListItemHostDefaultComponent {
|
||||||
@Input() item: SCThings;
|
@Input() item: SCThings;
|
||||||
>>>>>>>> app/develop:frontend/app/src/app/modules/data/list/data-list-item-host-default.component.ts
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,9 +60,7 @@
|
|||||||
[class.no-results]="!showDefaultData && !items && !loading"
|
[class.no-results]="!showDefaultData && !items && !loading"
|
||||||
[style.display]="!showDefaultData && !items && !loading ? 'block' : 'none'"
|
[style.display]="!showDefaultData && !items && !loading ? 'block' : 'none'"
|
||||||
>
|
>
|
||||||
<ion-label class="centeredMessageContainer">
|
<ion-label class="centeredMessageContainer"> {{ searchInstruction | translate }} </ion-label>
|
||||||
{{ searchInstruction | translate }}
|
|
||||||
</ion-label>
|
|
||||||
</div>
|
</div>
|
||||||
<stapps-data-list
|
<stapps-data-list
|
||||||
id="data-list"
|
id="data-list"
|
||||||
|
|||||||
@@ -13,21 +13,11 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {Component, Input} from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
import {SCThings} from '@openstapps/core';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
<<<<<<<< HEAD:frontend/app/src/app/modules/data/list/data-list-item-host-default.component.ts
|
|
||||||
selector: 'data-list-item-host-default',
|
|
||||||
templateUrl: 'data-list-item-host-default.html',
|
|
||||||
})
|
|
||||||
export class DataListItemHostDefaultComponent {
|
|
||||||
@Input() item: SCThings;
|
|
||||||
}
|
|
||||||
========
|
|
||||||
selector: 'skeleton-list',
|
selector: 'skeleton-list',
|
||||||
templateUrl: 'skeleton-list.html',
|
templateUrl: 'skeleton-list.html',
|
||||||
styleUrls: ['skeleton-list.scss'],
|
styleUrls: ['skeleton-list.scss'],
|
||||||
})
|
})
|
||||||
export class SkeletonListComponent {}
|
export class SkeletonListComponent {}
|
||||||
>>>>>>>> app/develop:frontend/app/src/app/modules/data/list/skeleton-list.component.ts
|
|
||||||
|
|||||||
@@ -22,7 +22,5 @@
|
|||||||
></abbr>
|
></abbr>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ion-label>
|
<ion-label> {{ 'categories' | thingTranslate: item | join: ', ' | titlecase }} </ion-label>
|
||||||
{{ 'categories' | thingTranslate: item | join: ', ' | titlecase }}
|
|
||||||
</ion-label>
|
|
||||||
</ion-note>
|
</ion-note>
|
||||||
|
|||||||
@@ -18,9 +18,7 @@
|
|||||||
<ion-col size="11" size-sm="10">
|
<ion-col size="11" size-sm="10">
|
||||||
<div class="ion-text-wrap">
|
<div class="ion-text-wrap">
|
||||||
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
||||||
<p class="title-sub ion-hide-sm-down">
|
<p class="title-sub ion-hide-sm-down">{{ 'description' | thingTranslate: item }}</p>
|
||||||
{{ 'description' | thingTranslate: item }}
|
|
||||||
</p>
|
|
||||||
<stapps-dish-characteristics [item]="item"></stapps-dish-characteristics>
|
<stapps-dish-characteristics [item]="item"></stapps-dish-characteristics>
|
||||||
</div>
|
</div>
|
||||||
</ion-col>
|
</ion-col>
|
||||||
|
|||||||
@@ -18,9 +18,7 @@
|
|||||||
<ion-col>
|
<ion-col>
|
||||||
<div class="ion-text-wrap">
|
<div class="ion-text-wrap">
|
||||||
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
||||||
<p *ngIf="item.description" class="title-sub">
|
<p *ngIf="item.description" class="title-sub">{{ 'description' | thingTranslate: item }}</p>
|
||||||
{{ 'description' | thingTranslate: item }}
|
|
||||||
</p>
|
|
||||||
<p *ngIf="item.academicTerms" class="title-sub">
|
<p *ngIf="item.academicTerms" class="title-sub">
|
||||||
{{ 'name' | thingTranslate: item.academicTerms[0] }}
|
{{ 'name' | thingTranslate: item.academicTerms[0] }}
|
||||||
</p>
|
</p>
|
||||||
@@ -34,12 +32,8 @@
|
|||||||
<ion-row *ngIf="item.type === 'sport course'">
|
<ion-row *ngIf="item.type === 'sport course'">
|
||||||
<ion-col>
|
<ion-col>
|
||||||
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
<ion-label class="title">{{ 'name' | thingTranslate: item }}</ion-label>
|
||||||
<p *ngIf="item.description" class="title-sub">
|
<p *ngIf="item.description" class="title-sub">{{ 'description' | thingTranslate: item }}</p>
|
||||||
{{ 'description' | thingTranslate: item }}
|
<p *ngIf="item.academicTerms" class="title-sub">{{ 'name' | thingTranslate: item.academicTerms[0] }}</p>
|
||||||
</p>
|
|
||||||
<p *ngIf="item.academicTerms" class="title-sub">
|
|
||||||
{{ 'name' | thingTranslate: item.academicTerms[0] }}
|
|
||||||
</p>
|
|
||||||
<ion-note>{{ 'type' | thingTranslate: item }}</ion-note>
|
<ion-note>{{ 'type' | thingTranslate: item }}</ion-note>
|
||||||
</ion-col>
|
</ion-col>
|
||||||
</ion-row>
|
</ion-row>
|
||||||
|
|||||||
@@ -31,9 +31,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngIf="item.type !== 'building'">
|
<ng-container *ngIf="item.type !== 'building'">
|
||||||
<ion-card *ngIf="item.inPlace">
|
<ion-card *ngIf="item.inPlace">
|
||||||
<ion-card-header>
|
<ion-card-header> {{ 'inPlace' | propertyNameTranslate: item | titlecase }} </ion-card-header>
|
||||||
{{ 'inPlace' | propertyNameTranslate: item | titlecase }}
|
|
||||||
</ion-card-header>
|
|
||||||
<ion-card-content>
|
<ion-card-content>
|
||||||
<stapps-data-list-item [item]="item.inPlace"></stapps-data-list-item>
|
<stapps-data-list-item [item]="item.inPlace"></stapps-data-list-item>
|
||||||
</ion-card-content>
|
</ion-card-content>
|
||||||
|
|||||||
@@ -26,9 +26,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<ion-note *ngIf="item.categories && item.type !== 'building'; else onlyType">
|
<ion-note *ngIf="item.categories && item.type !== 'building'; else onlyType">
|
||||||
<ion-label>
|
<ion-label> {{ 'categories' | thingTranslate: item | join: ', ' | titlecase }} </ion-label>
|
||||||
{{ 'categories' | thingTranslate: item | join: ', ' | titlecase }}
|
|
||||||
</ion-label>
|
|
||||||
<ion-label *ngIf="distance" class="distance">
|
<ion-label *ngIf="distance" class="distance">
|
||||||
<ion-icon name="directions_walk"></ion-icon>
|
<ion-icon name="directions_walk"></ion-icon>
|
||||||
{{ distance | metersLocalized }}
|
{{ distance | metersLocalized }}
|
||||||
@@ -37,9 +35,7 @@
|
|||||||
</p>
|
</p>
|
||||||
<ng-template #onlyType>
|
<ng-template #onlyType>
|
||||||
<ion-note>
|
<ion-note>
|
||||||
<ion-label>
|
<ion-label> {{ 'type' | thingTranslate: item | titlecase }} </ion-label>
|
||||||
{{ 'type' | thingTranslate: item | titlecase }}
|
|
||||||
</ion-label>
|
|
||||||
<ion-label *ngIf="distance" class="distance">
|
<ion-label *ngIf="distance" class="distance">
|
||||||
<ion-icon name="directions_walk"></ion-icon>
|
<ion-icon name="directions_walk"></ion-icon>
|
||||||
{{ distance | metersLocalized }}
|
{{ distance | metersLocalized }}
|
||||||
@@ -47,9 +43,7 @@
|
|||||||
</ion-note>
|
</ion-note>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<p *ngIf="item.description">
|
<p *ngIf="item.description">{{ 'description' | thingTranslate: item }}</p>
|
||||||
{{ 'description' | thingTranslate: item }}
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</ion-col>
|
</ion-col>
|
||||||
<ng-container *ngIf="item.type !== 'building'">
|
<ng-container *ngIf="item.type !== 'building'">
|
||||||
|
|||||||
@@ -42,12 +42,12 @@
|
|||||||
interface="popover"
|
interface="popover"
|
||||||
required="true"
|
required="true"
|
||||||
>
|
>
|
||||||
<ion-select-option value="Comment">{{
|
<ion-select-option value="Comment"
|
||||||
'feedback.form.type.values.comment' | translate
|
>{{ 'feedback.form.type.values.comment' | translate }}</ion-select-option
|
||||||
}}</ion-select-option>
|
>
|
||||||
<ion-select-option value="Bug">{{
|
<ion-select-option value="Bug"
|
||||||
'feedback.form.type.values.bug' | translate
|
>{{ 'feedback.form.type.values.bug' | translate }}</ion-select-option
|
||||||
}}</ion-select-option>
|
>
|
||||||
</ion-select>
|
</ion-select>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item>
|
<ion-item>
|
||||||
@@ -85,9 +85,9 @@
|
|||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item lines="none">
|
<ion-item lines="none">
|
||||||
<ion-label
|
<ion-label
|
||||||
><a style="display: contents" [routerLink]="['/about/privacy']">{{
|
><a style="display: contents" [routerLink]="['/about/privacy']"
|
||||||
'feedback.form.termsAgree.1' | translate
|
>{{ 'feedback.form.termsAgree.1' | translate }}</a
|
||||||
}}</a></ion-label
|
></ion-label
|
||||||
>
|
>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
<ion-item>
|
<ion-item>
|
||||||
@@ -102,9 +102,9 @@
|
|||||||
<ion-card>
|
<ion-card>
|
||||||
<ion-card-title>
|
<ion-card-title>
|
||||||
<ion-button expand="block" fill="clear" (click)="toggleShowMetaData()">
|
<ion-button expand="block" fill="clear" (click)="toggleShowMetaData()">
|
||||||
<ng-container *ngIf="!showMetaData; else hide">{{
|
<ng-container *ngIf="!showMetaData; else hide"
|
||||||
'feedback.form.protocolData.show' | translate
|
>{{ 'feedback.form.protocolData.show' | translate }}</ng-container
|
||||||
}}</ng-container>
|
>
|
||||||
<ng-template #hide>{{ 'feedback.form.protocolData.hide' | translate }}</ng-template>
|
<ng-template #hide>{{ 'feedback.form.protocolData.hide' | translate }}</ng-template>
|
||||||
</ion-button>
|
</ion-button>
|
||||||
</ion-card-title>
|
</ion-card-title>
|
||||||
|
|||||||
@@ -16,9 +16,7 @@
|
|||||||
<ion-menu type="overlay" menuId="context" contentId="{{ contentId }}" maxEdgeStart="0" side="end">
|
<ion-menu type="overlay" menuId="context" contentId="{{ contentId }}" maxEdgeStart="0" side="end">
|
||||||
<ion-toolbar color="primary" mode="ios">
|
<ion-toolbar color="primary" mode="ios">
|
||||||
<ion-label class="ion-padding-horizontal">
|
<ion-label class="ion-padding-horizontal">
|
||||||
<h1 class="ion-padding-horizontal">
|
<h1 class="ion-padding-horizontal">{{ 'menu.context.title' | translate | titlecase }}</h1>
|
||||||
{{ 'menu.context.title' | translate | titlecase }}
|
|
||||||
</h1>
|
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
<ion-content>
|
<ion-content>
|
||||||
@@ -59,9 +57,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<ion-list-header class="h3">
|
<ion-list-header class="h3">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<span *ngIf="facet.info.onlyOnType"
|
<span *ngIf="facet.info.onlyOnType"><b>{{ facet.info.onlyOnType | titlecase }}</b> / </span>
|
||||||
><b>{{ facet.info.onlyOnType | titlecase }}</b> /
|
|
||||||
</span>
|
|
||||||
{{ facet.info.field | titlecase }}
|
{{ facet.info.field | titlecase }}
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-list-header>
|
</ion-list-header>
|
||||||
@@ -74,12 +70,9 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<ion-label class="filter-item-label">
|
<ion-label class="filter-item-label">
|
||||||
({{ bucket.count }})
|
({{ bucket.count }}) {{ facet.field === 'type' ? (getTranslatedPropertyValue($any(bucket.key),
|
||||||
{{
|
'type') | titlecase) : (getTranslatedPropertyValue(facet.onlyOnType, facet.field, bucket.key)
|
||||||
facet.field === 'type'
|
| titlecase) }}
|
||||||
? (getTranslatedPropertyValue($any(bucket.key), 'type') | titlecase)
|
|
||||||
: (getTranslatedPropertyValue(facet.onlyOnType, facet.field, bucket.key) | titlecase)
|
|
||||||
}}
|
|
||||||
</ion-label>
|
</ion-label>
|
||||||
<ion-checkbox
|
<ion-checkbox
|
||||||
[(ngModel)]="bucket.checked"
|
[(ngModel)]="bucket.checked"
|
||||||
|
|||||||
@@ -42,38 +42,24 @@
|
|||||||
class="main-info"
|
class="main-info"
|
||||||
>
|
>
|
||||||
<ng-container *ngIf="user$ | async as userInfo">
|
<ng-container *ngIf="user$ | async as userInfo">
|
||||||
<ion-text class="full-name">
|
<ion-text class="full-name"> {{ userInfo?.name }} </ion-text>
|
||||||
{{ userInfo?.name }}
|
|
||||||
</ion-text>
|
|
||||||
<div class="matriculation-number">
|
<div class="matriculation-number">
|
||||||
<ion-label>
|
<ion-label> {{ 'profile.userInfo.studentId' | translate | uppercase }} </ion-label>
|
||||||
{{ 'profile.userInfo.studentId' | translate | uppercase }}
|
<ion-text> {{ userInfo?.studentId }} </ion-text>
|
||||||
</ion-label>
|
|
||||||
<ion-text>
|
|
||||||
{{ userInfo?.studentId }}
|
|
||||||
</ion-text>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="user-name">
|
<div class="user-name">
|
||||||
<ion-label>
|
<ion-label> {{ 'profile.userInfo.username' | translate | uppercase }} </ion-label>
|
||||||
{{ 'profile.userInfo.username' | translate | uppercase }}
|
|
||||||
</ion-label>
|
|
||||||
<ion-text>{{ userInfo?.id }}</ion-text>
|
<ion-text>{{ userInfo?.id }}</ion-text>
|
||||||
</div>
|
</div>
|
||||||
<div class="email">
|
<div class="email">
|
||||||
<ion-label>
|
<ion-label> {{ 'profile.userInfo.email' | translate | uppercase }} </ion-label>
|
||||||
{{ 'profile.userInfo.email' | translate | uppercase }}
|
<ion-text> {{ userInfo?.email }} </ion-text>
|
||||||
</ion-label>
|
|
||||||
<ion-text>
|
|
||||||
{{ userInfo?.email }}
|
|
||||||
</ion-text>
|
|
||||||
</div>
|
</div>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ion-col>
|
</ion-col>
|
||||||
<ng-template #logInPrompt>
|
<ng-template #logInPrompt>
|
||||||
<ion-col size="9">
|
<ion-col size="9">
|
||||||
<ion-text class="log-in-prompt">
|
<ion-text class="log-in-prompt"> {{ 'profile.userInfo.logInPrompt' | translate }} </ion-text>
|
||||||
{{ 'profile.userInfo.logInPrompt' | translate }}
|
|
||||||
</ion-text>
|
|
||||||
</ion-col>
|
</ion-col>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</ion-row>
|
</ion-row>
|
||||||
@@ -86,9 +72,7 @@
|
|||||||
[item]="section"
|
[item]="section"
|
||||||
></stapps-profile-page-section>
|
></stapps-profile-page-section>
|
||||||
<section class="courses">
|
<section class="courses">
|
||||||
<ion-label class="section-headline">
|
<ion-label class="section-headline"> {{ 'profile.titleCourses' | translate | uppercase }} </ion-label>
|
||||||
{{ 'profile.titleCourses' | translate | uppercase }}
|
|
||||||
</ion-label>
|
|
||||||
<ion-card class="courses-card">
|
<ion-card class="courses-card">
|
||||||
<ion-card-header (click)="toggleCourseCardState()">
|
<ion-card-header (click)="toggleCourseCardState()">
|
||||||
<span>{{ 'profile.courses.today' | translate | uppercase }}</span>
|
<span>{{ 'profile.courses.today' | translate | uppercase }}</span>
|
||||||
@@ -96,17 +80,13 @@
|
|||||||
</ion-card-header>
|
</ion-card-header>
|
||||||
<ion-card-content class="course-card" [class.show-card]="courseCardState === courseCardEnum.expanded">
|
<ion-card-content class="course-card" [class.show-card]="courseCardState === courseCardEnum.expanded">
|
||||||
<ng-container *ngIf="myCoursesToday.length === 0">
|
<ng-container *ngIf="myCoursesToday.length === 0">
|
||||||
<div class="no-course">
|
<div class="no-course">{{ 'profile.courses.no_courses' | translate }}</div>
|
||||||
{{ 'profile.courses.no_courses' | translate }}
|
|
||||||
</div>
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container *ngFor="let myCourse of myCoursesToday">
|
<ng-container *ngFor="let myCourse of myCoursesToday">
|
||||||
<div class="clickable" [routerLink]="['/data-detail', myCourse.course.event.uid]">
|
<div class="clickable" [routerLink]="['/data-detail', myCourse.course.event.uid]">
|
||||||
<div>{{ myCourse?.startTime }} - {{ myCourse?.endTime }}</div>
|
<div>{{ myCourse?.startTime }} - {{ myCourse?.endTime }}</div>
|
||||||
<div>{{ myCourse?.course.event?.originalCategory }}</div>
|
<div>{{ myCourse?.course.event?.originalCategory }}</div>
|
||||||
<div [class.last]="!myCourse?.course.inPlace?.name">
|
<div [class.last]="!myCourse?.course.inPlace?.name">{{ myCourse.course?.event?.name }}</div>
|
||||||
{{ myCourse.course?.event?.name }}
|
|
||||||
</div>
|
|
||||||
<div *ngIf="myCourse.course?.inPlace?.name" [class.last]="myCourse.course?.inPlace?.name">
|
<div *ngIf="myCourse.course?.inPlace?.name" [class.last]="myCourse.course?.inPlace?.name">
|
||||||
{{ myCourse.course?.inPlace.name }}
|
{{ myCourse.course?.inPlace.name }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,23 +12,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
<<<<<<<< HEAD:frontend/app/src/app/modules/data/list/data-list.scss
|
|
||||||
cdk-virtual-scroll-viewport {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
::ng-deep {
|
|
||||||
.cdk-virtual-scroll-content-wrapper {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.virtual-scroll-expander {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
========
|
|
||||||
import {ChangeDetectionStrategy, Component} from '@angular/core';
|
import {ChangeDetectionStrategy, Component} from '@angular/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@@ -38,4 +21,3 @@ import {ChangeDetectionStrategy, Component} from '@angular/core';
|
|||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
})
|
})
|
||||||
export class SimpleSwiperComponent {}
|
export class SimpleSwiperComponent {}
|
||||||
>>>>>>>> app/develop:frontend/app/src/app/util/simple-swiper.component.ts
|
|
||||||
|
|||||||
@@ -1,25 +1,16 @@
|
|||||||
# [1.1.0](https://gitlab.com/openstapps/api/compare/v1.0.1...v1.1.0) (2023-05-19)
|
# [1.1.0](https://gitlab.com/openstapps/api/compare/v1.0.1...v1.1.0) (2023-05-19)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [1.0.1](https://gitlab.com/openstapps/api/compare/v1.0.0...v1.0.1) (2023-05-08)
|
## [1.0.1](https://gitlab.com/openstapps/api/compare/v1.0.0...v1.0.1) (2023-05-08)
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* changelog generation on version tags ([a5291af](https://gitlab.com/openstapps/api/commit/a5291af83831d542a60d8df119dc10fc44233ae6))
|
- changelog generation on version tags ([a5291af](https://gitlab.com/openstapps/api/commit/a5291af83831d542a60d8df119dc10fc44233ae6))
|
||||||
* rename deprecated Gitlab CI variables ([10f7cb8](https://gitlab.com/openstapps/api/commit/10f7cb802883b51fcee52b05d2751cbac27130cd))
|
- rename deprecated Gitlab CI variables ([10f7cb8](https://gitlab.com/openstapps/api/commit/10f7cb802883b51fcee52b05d2751cbac27130cd))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [1.0.0](https://gitlab.com/openstapps/api/compare/v0.46.0...v1.0.0) (2023-05-04)
|
# [1.0.0](https://gitlab.com/openstapps/api/compare/v0.46.0...v1.0.0) (2023-05-04)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.46.0](https://gitlab.com/openstapps/api/compare/v0.45.0...v0.46.0) (2023-05-04)
|
# [0.46.0](https://gitlab.com/openstapps/api/compare/v0.45.0...v0.46.0) (2023-05-04)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.45.0](https://gitlab.com/openstapps/api/compare/v0.44.0...v0.45.0) (2022-12-06)
|
# [0.45.0](https://gitlab.com/openstapps/api/compare/v0.44.0...v0.45.0) (2022-12-06)
|
||||||
|
|
||||||
# [0.44.0](https://gitlab.com/openstapps/api/compare/v0.43.0...v0.44.0) (2022-10-18)
|
# [0.44.0](https://gitlab.com/openstapps/api/compare/v0.43.0...v0.44.0) (2022-10-18)
|
||||||
|
|||||||
0
packages/api/app.js
Normal file → Executable file
0
packages/api/app.js
Normal file → Executable file
0
packages/core-tools/app.js
Normal file → Executable file
0
packages/core-tools/app.js
Normal file → Executable file
@@ -1,24 +1,16 @@
|
|||||||
# [1.1.0](https://gitlab.com/openstapps/core/compare/v1.0.1...v1.1.0) (2023-05-19)
|
# [1.1.0](https://gitlab.com/openstapps/core/compare/v1.0.1...v1.1.0) (2023-05-19)
|
||||||
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
* add certification thing ([fd63fb7](https://gitlab.com/openstapps/core/commit/fd63fb764f882a87b8da3c5fb27701a090469df2))
|
- add certification thing ([fd63fb7](https://gitlab.com/openstapps/core/commit/fd63fb764f882a87b8da3c5fb27701a090469df2))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [1.0.1](https://gitlab.com/openstapps/core/compare/v1.0.0...v1.0.1) (2023-04-28)
|
## [1.0.1](https://gitlab.com/openstapps/core/compare/v1.0.0...v1.0.1) (2023-04-28)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [1.0.0](https://gitlab.com/openstapps/core/compare/v0.75.0...v1.0.0) (2023-04-28)
|
# [1.0.0](https://gitlab.com/openstapps/core/compare/v0.75.0...v1.0.0) (2023-04-28)
|
||||||
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
* support ES 8.4 via mapping generator ([afcc73f](https://gitlab.com/openstapps/core/commit/afcc73f3da856a76a613d939a759cf1cd701a2c5))
|
- support ES 8.4 via mapping generator ([afcc73f](https://gitlab.com/openstapps/core/commit/afcc73f3da856a76a613d939a759cf1cd701a2c5))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.75.0](https://gitlab.com/openstapps/core/compare/v0.74.0...v0.75.0) (2023-02-28)
|
# [0.75.0](https://gitlab.com/openstapps/core/compare/v0.74.0...v0.75.0) (2023-02-28)
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,11 @@ import {SCAssessment, SCAssessmentMeta, SCAssessmentWithoutReferences} from './t
|
|||||||
import {SCBook, SCBookMeta, SCBookWithoutReferences} from './things/book.js';
|
import {SCBook, SCBookMeta, SCBookWithoutReferences} from './things/book.js';
|
||||||
import {SCBuilding, SCBuildingMeta, SCBuildingWithoutReferences} from './things/building.js';
|
import {SCBuilding, SCBuildingMeta, SCBuildingWithoutReferences} from './things/building.js';
|
||||||
import {SCCatalog, SCCatalogMeta, SCCatalogWithoutReferences} from './things/catalog.js';
|
import {SCCatalog, SCCatalogMeta, SCCatalogWithoutReferences} from './things/catalog.js';
|
||||||
import {SCCertification, SCCertificationMeta, SCCertificationWithoutReferences} from './things/certification';
|
import {
|
||||||
|
SCCertification,
|
||||||
|
SCCertificationMeta,
|
||||||
|
SCCertificationWithoutReferences,
|
||||||
|
} from './things/certification.js';
|
||||||
import {SCContactPoint, SCContactPointMeta, SCContactPointWithoutReferences} from './things/contact-point.js';
|
import {SCContactPoint, SCContactPointMeta, SCContactPointWithoutReferences} from './things/contact-point.js';
|
||||||
import {
|
import {
|
||||||
SCCourseOfStudy,
|
SCCourseOfStudy,
|
||||||
|
|||||||
@@ -12,16 +12,16 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n.js';
|
||||||
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing.js';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from './abstract/thing-with-categories';
|
} from './abstract/thing-with-categories.js';
|
||||||
import {SCOrganizationWithoutReferences} from './organization';
|
import {SCOrganizationWithoutReferences} from './organization.js';
|
||||||
|
|
||||||
export interface SCCertificationWithoutReferences
|
export interface SCCertificationWithoutReferences
|
||||||
extends SCThingWithCategoriesWithoutReferences<
|
extends SCThingWithCategoriesWithoutReferences<
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {SCMultiSearchResponse} from '../src/index.js';
|
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {
|
import {
|
||||||
isBulkResponse,
|
isBulkResponse,
|
||||||
@@ -26,11 +25,7 @@ import {bulkResponse} from './dummy/bulk-response.js';
|
|||||||
import {dishWithTranslation} from './dummy/dish-with-translation.js';
|
import {dishWithTranslation} from './dummy/dish-with-translation.js';
|
||||||
import {dishWithTranslationSearchResponse} from './dummy/dish-with-translation-search-response.js';
|
import {dishWithTranslationSearchResponse} from './dummy/dish-with-translation-search-response.js';
|
||||||
import {notADish} from './dummy/not-a-dish.js';
|
import {notADish} from './dummy/not-a-dish.js';
|
||||||
import {SCBulkResponse} from '../src/protocol/routes/bulk-request.js';
|
import {SCMultiSearchResponse} from '../src/index.js';
|
||||||
import {SCSearchResponse} from '../src/protocol/routes/search.js';
|
|
||||||
import {SCMultiSearchResponse} from '../src/protocol/routes/search-multi.js';
|
|
||||||
import {SCThingOriginType, SCThingType} from '../src/things/abstract/thing.js';
|
|
||||||
import {SCDish} from '../src/things/dish.js';
|
|
||||||
|
|
||||||
describe('Guards', function () {
|
describe('Guards', function () {
|
||||||
this.timeout(10_000);
|
this.timeout(10_000);
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {SCBulkRoute} from '../src/index.js';
|
import {SCBulkRoute} from '../src/index.js';
|
||||||
import {SCBulkAddRoute} from '../src/index.js';
|
import {SCBulkAddRoute} from '../src/index.js';
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import clone from 'rfdc';
|
import clone from 'rfdc';
|
||||||
import {SCThingRemoteOrigin} from '../src/index.js';
|
import {SCThingRemoteOrigin} from '../src/index.js';
|
||||||
|
|||||||
@@ -1,11 +1,7 @@
|
|||||||
# [0.6.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.5.0...v0.6.0) (2023-04-28)
|
# [0.6.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.5.0...v0.6.0) (2023-04-28)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.5.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.4.0...v0.5.0) (2023-04-27)
|
# [0.5.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.4.0...v0.5.0) (2023-04-27)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.4.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.3.0...v0.4.0) (2023-01-12)
|
# [0.4.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.3.0...v0.4.0) (2023-01-12)
|
||||||
|
|
||||||
# [0.3.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.2.0...v0.3.0) (2022-08-17)
|
# [0.3.0](https://gitlab.com/openstapps/es-mapping-generator/compare/v0.2.0...v0.3.0) (2022-08-17)
|
||||||
|
|||||||
0
packages/es-mapping-generator/app.js
Normal file → Executable file
0
packages/es-mapping-generator/app.js
Normal file → Executable file
@@ -10,7 +10,6 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"openstapps-es-mapping-generator": "app.js"
|
"openstapps-es-mapping-generator": "app.js"
|
||||||
},
|
},
|
||||||
"author": "Thea Schöbl <dev@theaninova.de>",
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rimraf lib && tsc",
|
"build": "rimraf lib && tsc",
|
||||||
"format": "prettier . --ignore-path ../../.gitignore",
|
"format": "prettier . --ignore-path ../../.gitignore",
|
||||||
@@ -41,7 +40,7 @@
|
|||||||
"c8": "7.13.0",
|
"c8": "7.13.0",
|
||||||
"nock": "13.3.0",
|
"nock": "13.3.0",
|
||||||
"rimraf": "5.0.0",
|
"rimraf": "5.0.0",
|
||||||
"ts-node": "10.9.1",
|
"ts-node": "10.9.1"
|
||||||
},
|
},
|
||||||
"prettier": "@openstapps/prettier-config"
|
"prettier": "@openstapps/prettier-config"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ commander
|
|||||||
}
|
}
|
||||||
if (typeof options.errorPath !== 'undefined') {
|
if (typeof options.errorPath !== 'undefined') {
|
||||||
const errorPath = path.resolve(options.errorPath);
|
const errorPath = path.resolve(options.errorPath);
|
||||||
mkdirSync(path.dirname(errPath), {recursive: true});
|
mkdirSync(path.dirname(errorPath), {recursive: true});
|
||||||
// tslint:disable-next-line:no-magic-numbers
|
// tslint:disable-next-line:no-magic-numbers
|
||||||
writeFileSync(errorPath, JSON.stringify(result.errors, null, 2));
|
writeFileSync(errorPath, JSON.stringify(result.errors, null, 2));
|
||||||
console.log(`Mapping errors written to ${errorPath}.`);
|
console.log(`Mapping errors written to ${errorPath}.`);
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import {
|
|||||||
MappingObjectProperty,
|
MappingObjectProperty,
|
||||||
MappingProperty,
|
MappingProperty,
|
||||||
} from '@elastic/elasticsearch/lib/api/types';
|
} from '@elastic/elasticsearch/lib/api/types';
|
||||||
import {Logger} from '@openstapps/logger';
|
|
||||||
import merge from 'deepmerge';
|
import merge from 'deepmerge';
|
||||||
import {stringify} from 'flatted';
|
import {stringify} from 'flatted';
|
||||||
import {DeclarationReflection, ProjectReflection, SignatureReflection} from 'typedoc';
|
import {DeclarationReflection, ProjectReflection, SignatureReflection} from 'typedoc';
|
||||||
@@ -38,8 +37,7 @@ import {premaps} from './config/premap';
|
|||||||
import {settings} from './config/settings';
|
import {settings} from './config/settings';
|
||||||
import {dynamicTypes, isTagType, MISSING_PREMAP, PARSE_ERROR, TYPE_CONFLICT, typemap} from './config/typemap';
|
import {dynamicTypes, isTagType, MISSING_PREMAP, PARSE_ERROR, TYPE_CONFLICT, typemap} from './config/typemap';
|
||||||
import {AggregationSchema, ESNestedAggregation} from './types/aggregation';
|
import {AggregationSchema, ESNestedAggregation} from './types/aggregation';
|
||||||
import {ElasticsearchTemplateCollection,
|
import {ElasticsearchTemplateCollection, MappingGenTemplate} from './types/mapping';
|
||||||
MappingGenTemplate} from './types/mapping';
|
|
||||||
import * as console from 'console';
|
import * as console from 'console';
|
||||||
|
|
||||||
let dynamicTemplates: Record<string, MappingDynamicTemplate>[] = [];
|
let dynamicTemplates: Record<string, MappingDynamicTemplate>[] = [];
|
||||||
@@ -260,11 +258,7 @@ function handleDeclarationReflection(
|
|||||||
// check if we have an object referencing a generic
|
// check if we have an object referencing a generic
|
||||||
if (generics.has(decl.name)) {
|
if (generics.has(decl.name)) {
|
||||||
// if the object name is the same as the generic name
|
// if the object name is the same as the generic name
|
||||||
return readFieldTags(
|
return readFieldTags(generics.get(decl.name)!, path, topTypeName, decl.comment?.tags ?? []);
|
||||||
generics.get(decl.name)!,
|
|
||||||
path,
|
|
||||||
topTypeName, decl.comment?.tags ?? [],
|
|
||||||
);
|
|
||||||
// use the value defined by the generic
|
// use the value defined by the generic
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -687,12 +681,7 @@ function readFieldTags(
|
|||||||
* @param topTypeName the name of the SCThingType
|
* @param topTypeName the name of the SCThingType
|
||||||
* @param tags tags attached to the value
|
* @param tags tags attached to the value
|
||||||
*/
|
*/
|
||||||
function readTypeTags(
|
function readTypeTags(type: string, path: string, topTypeName: string, tags: CommentTag[]): MappingProperty {
|
||||||
type: string,
|
|
||||||
path: string,
|
|
||||||
topTypeName: string,
|
|
||||||
tags: CommentTag[],
|
|
||||||
): MappingProperty {
|
|
||||||
let out: MappingProperty = {type: PARSE_ERROR};
|
let out: MappingProperty = {type: PARSE_ERROR};
|
||||||
|
|
||||||
if (typeof typemap[type] !== 'undefined') {
|
if (typeof typemap[type] !== 'undefined') {
|
||||||
|
|||||||
0
packages/gitlab-api/app.js
Normal file → Executable file
0
packages/gitlab-api/app.js
Normal file → Executable file
9112
pnpm-lock.yaml
generated
9112
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user