[@portaljs/ckan][xl] - add ckan package and example using it

This commit is contained in:
Luccas Mateus de Medeiros Gomes
2023-05-23 14:47:25 -03:00
parent eac0a22aa8
commit c82bfdd847
87 changed files with 31067 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import { User } from "./user.interface";
export interface Activity {
id: string;
timestamp: string;
user_id: string;
object_id?: string;
activity_type?: string;
user_data?: User;
data?: {
package?: {
title?: string;
};
};
}

View File

@@ -0,0 +1,80 @@
import { Activity } from "./activity.interface";
import { Group } from "./group.interface";
import { Organization } from "./organization.interface";
export interface Dataset {
author?: string;
author_email?: string;
creator_user_id?: string;
id: string;
isopen?: boolean;
license_id?: string;
license_title?: string;
maintainer?: string;
maintainer_email?: string;
metadata_created?: string;
metadata_modified?: string;
name: string;
notes?: string;
num_resources: number;
num_tags: number;
owner_org?: string;
private?: boolean;
state?: "active" | "inactive" | "deleted";
title?: string;
type?: "dataset";
url?: string;
version?: string;
activity_stream?: Array<Activity>;
resources: Array<Resource>;
organization?: Organization;
groups?: Array<Group>;
tags?: Array<Tag>;
total_downloads?: number;
}
export interface Resource {
cache_last_updated?: string;
cache_url?: string;
created?: string;
datastore_active?: boolean;
description?: string;
format?: string;
hash?: string;
id?: string;
last_modified?: string;
metadata_modified?: string;
mimetype?: string;
mimetype_inner?: string;
name?: string;
package_id?: string;
position?: number;
resource_type?: null;
size?: number;
state?: "active" | "inactive" | "deleted";
url?: string;
url_type?: string;
}
export interface DatasetListQueryOptions {
offset: number;
limit: number;
}
export interface PackageSearchOptions {
offset: number;
limit: number;
groups: Array<string>;
orgs: Array<string>;
tags: Array<string>;
query?: string;
resFormat?: Array<string>;
sort?: string;
}
export interface Tag {
display_name?: string;
id: string;
name: string;
state: "active";
vocabulary_id?: string;
}

View File

@@ -0,0 +1,12 @@
export interface TableMetadata {
_id: string;
name?: string;
oid: number;
alias_of?: string;
}
export interface ResourceInfo {
schema: Record<string, string | boolean | number>;
meta: Record<string, string | boolean | number>;
alias?: string;
}

View File

@@ -0,0 +1,25 @@
import { Activity } from "./activity.interface";
import { Dataset, Tag } from "./dataset.interface";
import { User } from "./user.interface";
export interface Group {
display_name: string;
description: string;
image_display_url: string;
package_count: number;
created: string;
name: string;
is_organization: false;
state: "active" | "deleted" | "inactive";
image_url: string;
type: "group";
title: string;
revision_id: string;
num_followers: number;
id: string;
approval_status: string;
packages?: Array<Dataset>;
activity_stream?: Array<Activity>;
tags?: Array<Tag>;
users?: Array<User>;
}

View File

@@ -0,0 +1,7 @@
export * from './activity.interface'
export * from './dataset.interface'
export * from './datastore.interface'
export * from './group.interface'
export * from './organization.interface'
export * from './user.interface'
export * from './misc.interface'

View File

@@ -0,0 +1,5 @@
export interface FilterObj {
org?: string;
group?: string;
format?: string;
}

View File

@@ -0,0 +1,22 @@
import { Activity } from "./activity.interface";
import { Dataset, Tag } from "./dataset.interface";
import { User } from "./user.interface";
export interface Organization {
id: string;
name: string;
title: string;
display_name: string;
type: string;
description?: string;
image_url?: string;
image_display_url?: string;
created?: string;
is_organization: boolean;
approval_status?: "approved";
state: "active";
packages?: Array<Dataset>;
activity_stream?: Array<Activity>;
users?: Array<User>;
tags?: Array<Tag>;
}

View File

@@ -0,0 +1,17 @@
export interface User {
id?: string;
name?: string;
fullname?: string;
created?: string;
about?: null;
activity_streams_email_notifications?: boolean;
sysadmin?: boolean;
state?: "active" | "inactive" | "deleted";
image_url?: string;
display_name?: string;
email_hash?: string;
number_created_packages?: number;
apikey?: string;
email?: string;
image_display_url?: string;
}