@nekutima/biome-sdk 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/ecosystem/ecosystem.model.d.ts +46 -3
- package/dist/ecosystem/ecosystem.model.d.ts.map +1 -1
- package/dist/ecosystem/ecosystem.model.js +2 -2
- package/dist/ecosystem/ecosystem.service.d.ts +76 -0
- package/dist/ecosystem/ecosystem.service.d.ts.map +1 -0
- package/dist/ecosystem/ecosystem.service.js +211 -0
- package/dist/ecosystem/ecosystem.service.js.map +1 -0
- package/dist/ecosystem/organization.model.d.ts +83 -0
- package/dist/ecosystem/organization.model.d.ts.map +1 -0
- package/dist/ecosystem/organization.model.js +7 -0
- package/dist/ecosystem/organization.model.js.map +1 -0
- package/dist/ecosystem/organization.service.d.ts +76 -0
- package/dist/ecosystem/organization.service.d.ts.map +1 -0
- package/dist/ecosystem/organization.service.js +213 -0
- package/dist/ecosystem/organization.service.js.map +1 -0
- package/dist/ecosystem/person.model.d.ts +75 -0
- package/dist/ecosystem/person.model.d.ts.map +1 -0
- package/dist/ecosystem/person.model.js +7 -0
- package/dist/ecosystem/person.model.js.map +1 -0
- package/dist/ecosystem/person.service.d.ts +77 -0
- package/dist/ecosystem/person.service.d.ts.map +1 -0
- package/dist/ecosystem/person.service.js +214 -0
- package/dist/ecosystem/person.service.js.map +1 -0
- package/dist/ecosystem/schemas.d.ts +30 -1
- package/dist/ecosystem/schemas.d.ts.map +1 -1
- package/dist/ecosystem/schemas.js +39 -2
- package/dist/ecosystem/schemas.js.map +1 -1
- package/dist/ecosystem/search.model.d.ts +28 -0
- package/dist/ecosystem/search.model.d.ts.map +1 -0
- package/dist/ecosystem/search.model.js +6 -0
- package/dist/ecosystem/search.model.js.map +1 -0
- package/dist/ecosystem/search.service.d.ts +30 -0
- package/dist/ecosystem/search.service.d.ts.map +1 -0
- package/dist/ecosystem/search.service.js +92 -0
- package/dist/ecosystem/search.service.js.map +1 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -3
- package/dist/index.js.map +1 -1
- package/dist/utils/validation.utils.d.ts +20 -0
- package/dist/utils/validation.utils.d.ts.map +1 -1
- package/dist/utils/validation.utils.js +39 -1
- package/dist/utils/validation.utils.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ The Biome SDK is the **official contract** between frontend and backend teams, p
|
|
|
11
11
|
- 🔄 **Authentication** - Login, logout, session management
|
|
12
12
|
- 📋 **Task Management** - CRUD operations, state transitions, search
|
|
13
13
|
- 👤 **Profile Management** - User profiles, updates, validation
|
|
14
|
+
- 💬 **Chat System** - Real-time messaging, typing indicators, read receipts
|
|
14
15
|
- 📁 **File Upload** - Image validation, upload, management
|
|
15
16
|
- 🛡️ **CSRF Protection** - Auto-injection, token management
|
|
16
17
|
- 🔧 **Utilities** - Sorting, validation, date manipulation
|
|
@@ -176,6 +177,9 @@ const biomeNoCsrf = BiomeSDK.initialize({
|
|
|
176
177
|
- [CONTRACT.md](./CONTRACT.md) - SDK contract and scope
|
|
177
178
|
- [FRONTEND_INTEGRATION.md](./FRONTEND_INTEGRATION.md) - Frontend integration guide
|
|
178
179
|
- [BACKEND_INTEGRATION.md](./BACKEND_INTEGRATION.md) - Backend integration guide
|
|
180
|
+
- [docs/INDEX.md](./docs/INDEX.md) - Complete documentation index
|
|
181
|
+
- [docs/chat-sdk.md](./docs/chat-sdk.md) - Comprehensive chat SDK documentation
|
|
182
|
+
- [CHANGELOG.md](./CHANGELOG.md) - Version history and changes
|
|
179
183
|
|
|
180
184
|
## Version
|
|
181
185
|
|
|
@@ -1,16 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Ecosystem model for Biome platform
|
|
3
|
+
* Ecosystems are containers that can be nested and have participants
|
|
4
4
|
*/
|
|
5
|
+
import { OrganizationMinimal } from './organization.model';
|
|
6
|
+
import { PersonMinimal } from './person.model';
|
|
7
|
+
export type EcosystemType = 'business' | 'personal' | 'community' | 'government' | 'nonprofit' | 'other';
|
|
8
|
+
export type EcosystemStatus = 'active' | 'inactive' | 'archived';
|
|
9
|
+
export { OrganizationMinimal };
|
|
10
|
+
export { PersonMinimal };
|
|
5
11
|
export interface Ecosystem {
|
|
6
12
|
id?: number;
|
|
7
13
|
name: string;
|
|
8
14
|
description?: string;
|
|
9
|
-
|
|
15
|
+
type?: EcosystemType;
|
|
16
|
+
status?: EcosystemStatus;
|
|
17
|
+
ownerId: number;
|
|
18
|
+
parentEcosystemId?: number;
|
|
19
|
+
deletedAt?: Date;
|
|
20
|
+
deletedBy?: number;
|
|
10
21
|
createdAt: Date;
|
|
11
22
|
createdBy: number;
|
|
12
23
|
updatedAt: Date;
|
|
13
24
|
updatedBy: number;
|
|
14
25
|
}
|
|
15
26
|
export type EcosystemMinimal = Pick<Ecosystem, 'id' | 'name' | 'description'>;
|
|
27
|
+
export interface CreateEcosystemRequest {
|
|
28
|
+
name: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
type?: EcosystemType;
|
|
31
|
+
parentEcosystemId?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface UpdateEcosystemRequest {
|
|
34
|
+
name?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
type?: EcosystemType;
|
|
37
|
+
status?: EcosystemStatus;
|
|
38
|
+
parentEcosystemId?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface EcosystemListParams {
|
|
41
|
+
page?: number;
|
|
42
|
+
limit?: number;
|
|
43
|
+
status?: EcosystemStatus;
|
|
44
|
+
parentEcosystemId?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface EcosystemListResponse {
|
|
47
|
+
ecosystems: Ecosystem[];
|
|
48
|
+
pagination: {
|
|
49
|
+
page: number;
|
|
50
|
+
limit: number;
|
|
51
|
+
total: number;
|
|
52
|
+
totalPages: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export interface EcosystemWithParticipants extends Ecosystem {
|
|
56
|
+
organizations: OrganizationMinimal[];
|
|
57
|
+
people: PersonMinimal[];
|
|
58
|
+
}
|
|
16
59
|
//# sourceMappingURL=ecosystem.model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecosystem.model.d.ts","sourceRoot":"","sources":["../../src/ecosystem/ecosystem.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"ecosystem.model.d.ts","sourceRoot":"","sources":["../../src/ecosystem/ecosystem.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,mBAAmB,EAAoB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAU,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AACzG,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,WAAW,SAAS;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,MAAM,WAAW,yBAA0B,SAAQ,SAAS;IACxD,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,MAAM,EAAE,aAAa,EAAE,CAAC;CAC3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Ecosystem model for Biome platform
|
|
4
|
+
* Ecosystems are containers that can be nested and have participants
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
//# sourceMappingURL=ecosystem.model.js.map
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { BiomeHttpClient } from "../core/http-client";
|
|
2
|
+
import { Ecosystem, CreateEcosystemRequest, UpdateEcosystemRequest, EcosystemListParams, EcosystemListResponse, OrganizationMinimal, PersonMinimal } from "./ecosystem.model";
|
|
3
|
+
/**
|
|
4
|
+
* Ecosystem management service
|
|
5
|
+
*/
|
|
6
|
+
export declare class BiomeEcosystems {
|
|
7
|
+
private http;
|
|
8
|
+
constructor(http: BiomeHttpClient);
|
|
9
|
+
/**
|
|
10
|
+
* Get ecosystem by ID
|
|
11
|
+
*/
|
|
12
|
+
getById(id: number): Promise<Ecosystem>;
|
|
13
|
+
/**
|
|
14
|
+
* Get organizations belonging to an ecosystem
|
|
15
|
+
*/
|
|
16
|
+
getOrganizations(ecosystemId: number): Promise<OrganizationMinimal[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Get people belonging to an ecosystem
|
|
19
|
+
*/
|
|
20
|
+
getPeople(ecosystemId: number): Promise<PersonMinimal[]>;
|
|
21
|
+
/**
|
|
22
|
+
* List ecosystems with pagination and filters
|
|
23
|
+
*/
|
|
24
|
+
list(params?: EcosystemListParams): Promise<EcosystemListResponse>;
|
|
25
|
+
/**
|
|
26
|
+
* Get child ecosystems (nested 1:n)
|
|
27
|
+
*/
|
|
28
|
+
getChildren(parentId: number): Promise<Ecosystem[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a new ecosystem
|
|
31
|
+
*/
|
|
32
|
+
create(ecosystem: CreateEcosystemRequest): Promise<{
|
|
33
|
+
id: number;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Update an existing ecosystem
|
|
37
|
+
*/
|
|
38
|
+
update(id: number, updates: UpdateEcosystemRequest): Promise<Ecosystem>;
|
|
39
|
+
/**
|
|
40
|
+
* Delete an ecosystem (soft delete)
|
|
41
|
+
*/
|
|
42
|
+
delete(id: number): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Add organization to ecosystem
|
|
45
|
+
*/
|
|
46
|
+
addOrganization(ecosystemId: number, organizationId: number): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Remove organization from ecosystem
|
|
49
|
+
*/
|
|
50
|
+
removeOrganization(ecosystemId: number, organizationId: number): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Add person to ecosystem
|
|
53
|
+
*/
|
|
54
|
+
addPerson(ecosystemId: number, personId: number): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Remove person from ecosystem
|
|
57
|
+
*/
|
|
58
|
+
removePerson(ecosystemId: number, personId: number): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Set parent ecosystem (for nesting)
|
|
61
|
+
*/
|
|
62
|
+
setParent(ecosystemId: number, parentEcosystemId: number): Promise<Ecosystem>;
|
|
63
|
+
/**
|
|
64
|
+
* Remove parent ecosystem
|
|
65
|
+
*/
|
|
66
|
+
removeParent(ecosystemId: number): Promise<Ecosystem>;
|
|
67
|
+
/**
|
|
68
|
+
* Transfer ownership to another user
|
|
69
|
+
*/
|
|
70
|
+
transferOwnership(ecosystemId: number, newOwnerId: number): Promise<Ecosystem>;
|
|
71
|
+
/**
|
|
72
|
+
* Build query parameters from filters
|
|
73
|
+
*/
|
|
74
|
+
private buildQueryParams;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=ecosystem.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.service.d.ts","sourceRoot":"","sources":["../../src/ecosystem/ecosystem.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACH,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,eAAe;IACZ,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEzC;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAW7C;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAW3E;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW9D;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAYxE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAWzD;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAYxE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAY7E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjF;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpF;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrE;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxE;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYnF;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAW3D;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYpF;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoB3B"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BiomeEcosystems = void 0;
|
|
4
|
+
const error_handler_1 = require("../core/error-handler");
|
|
5
|
+
/**
|
|
6
|
+
* Ecosystem management service
|
|
7
|
+
*/
|
|
8
|
+
class BiomeEcosystems {
|
|
9
|
+
constructor(http) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get ecosystem by ID
|
|
14
|
+
*/
|
|
15
|
+
async getById(id) {
|
|
16
|
+
try {
|
|
17
|
+
const response = await this.http.get(`/ecosystems/${id}`);
|
|
18
|
+
return response.payload;
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to get ecosystem");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get organizations belonging to an ecosystem
|
|
26
|
+
*/
|
|
27
|
+
async getOrganizations(ecosystemId) {
|
|
28
|
+
try {
|
|
29
|
+
const response = await this.http.get(`/ecosystems/${ecosystemId}/organizations`);
|
|
30
|
+
return response.payload;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to get ecosystem organizations");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get people belonging to an ecosystem
|
|
38
|
+
*/
|
|
39
|
+
async getPeople(ecosystemId) {
|
|
40
|
+
try {
|
|
41
|
+
const response = await this.http.get(`/ecosystems/${ecosystemId}/people`);
|
|
42
|
+
return response.payload;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to get ecosystem people");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* List ecosystems with pagination and filters
|
|
50
|
+
*/
|
|
51
|
+
async list(params) {
|
|
52
|
+
try {
|
|
53
|
+
const queryParams = this.buildQueryParams(params);
|
|
54
|
+
const response = await this.http.get(`/ecosystems?${queryParams}`);
|
|
55
|
+
return response.payload;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to list ecosystems");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get child ecosystems (nested 1:n)
|
|
63
|
+
*/
|
|
64
|
+
async getChildren(parentId) {
|
|
65
|
+
try {
|
|
66
|
+
const response = await this.http.get(`/ecosystems/${parentId}/children`);
|
|
67
|
+
return response.payload;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to get child ecosystems");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create a new ecosystem
|
|
75
|
+
*/
|
|
76
|
+
async create(ecosystem) {
|
|
77
|
+
try {
|
|
78
|
+
const response = await this.http.post("/ecosystems", ecosystem);
|
|
79
|
+
return response.payload;
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to create ecosystem");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Update an existing ecosystem
|
|
87
|
+
*/
|
|
88
|
+
async update(id, updates) {
|
|
89
|
+
try {
|
|
90
|
+
const response = await this.http.put(`/ecosystems/${id}`, updates);
|
|
91
|
+
return response.payload;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to update ecosystem");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Delete an ecosystem (soft delete)
|
|
99
|
+
*/
|
|
100
|
+
async delete(id) {
|
|
101
|
+
try {
|
|
102
|
+
await this.http.delete(`/ecosystems/${id}`);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to delete ecosystem");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Add organization to ecosystem
|
|
110
|
+
*/
|
|
111
|
+
async addOrganization(ecosystemId, organizationId) {
|
|
112
|
+
try {
|
|
113
|
+
await this.http.post(`/ecosystems/${ecosystemId}/organizations`, { organizationId });
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to add organization to ecosystem");
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Remove organization from ecosystem
|
|
121
|
+
*/
|
|
122
|
+
async removeOrganization(ecosystemId, organizationId) {
|
|
123
|
+
try {
|
|
124
|
+
await this.http.delete(`/ecosystems/${ecosystemId}/organizations/${organizationId}`);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to remove organization from ecosystem");
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Add person to ecosystem
|
|
132
|
+
*/
|
|
133
|
+
async addPerson(ecosystemId, personId) {
|
|
134
|
+
try {
|
|
135
|
+
await this.http.post(`/ecosystems/${ecosystemId}/people`, { personId });
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to add person to ecosystem");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Remove person from ecosystem
|
|
143
|
+
*/
|
|
144
|
+
async removePerson(ecosystemId, personId) {
|
|
145
|
+
try {
|
|
146
|
+
await this.http.delete(`/ecosystems/${ecosystemId}/people/${personId}`);
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to remove person from ecosystem");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Set parent ecosystem (for nesting)
|
|
154
|
+
*/
|
|
155
|
+
async setParent(ecosystemId, parentEcosystemId) {
|
|
156
|
+
try {
|
|
157
|
+
const response = await this.http.put(`/ecosystems/${ecosystemId}/parent`, { parentEcosystemId });
|
|
158
|
+
return response.payload;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to set parent ecosystem");
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Remove parent ecosystem
|
|
166
|
+
*/
|
|
167
|
+
async removeParent(ecosystemId) {
|
|
168
|
+
try {
|
|
169
|
+
const response = await this.http.delete(`/ecosystems/${ecosystemId}/parent`);
|
|
170
|
+
return response.payload;
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to remove parent ecosystem");
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Transfer ownership to another user
|
|
178
|
+
*/
|
|
179
|
+
async transferOwnership(ecosystemId, newOwnerId) {
|
|
180
|
+
try {
|
|
181
|
+
const response = await this.http.put(`/ecosystems/${ecosystemId}/owner`, { newOwnerId });
|
|
182
|
+
return response.payload;
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
throw (0, error_handler_1.createSdkError)(error, "Failed to transfer ecosystem ownership");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Build query parameters from filters
|
|
190
|
+
*/
|
|
191
|
+
buildQueryParams(params) {
|
|
192
|
+
if (!params)
|
|
193
|
+
return "";
|
|
194
|
+
const queryParams = new URLSearchParams();
|
|
195
|
+
if (params.page) {
|
|
196
|
+
queryParams.append("page", params.page.toString());
|
|
197
|
+
}
|
|
198
|
+
if (params.limit) {
|
|
199
|
+
queryParams.append("limit", params.limit.toString());
|
|
200
|
+
}
|
|
201
|
+
if (params.status) {
|
|
202
|
+
queryParams.append("status", params.status);
|
|
203
|
+
}
|
|
204
|
+
if (params.parentEcosystemId) {
|
|
205
|
+
queryParams.append("parentId", params.parentEcosystemId.toString());
|
|
206
|
+
}
|
|
207
|
+
return queryParams.toString();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
exports.BiomeEcosystems = BiomeEcosystems;
|
|
211
|
+
//# sourceMappingURL=ecosystem.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecosystem.service.js","sourceRoot":"","sources":["../../src/ecosystem/ecosystem.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Organization model for Biome platform
|
|
3
|
+
* Organizations can participate in ecosystems and have people members
|
|
4
|
+
*/
|
|
5
|
+
export type OrganizationType = 'ong' | 'profit' | 'government' | 'cooperative' | 'individual' | 'other';
|
|
6
|
+
export type OrganizationStatus = 'active' | 'inactive' | 'archived';
|
|
7
|
+
export interface Organization {
|
|
8
|
+
id?: number;
|
|
9
|
+
name: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
logoFileId?: number;
|
|
12
|
+
type?: OrganizationType;
|
|
13
|
+
size?: number;
|
|
14
|
+
markets?: string[];
|
|
15
|
+
techVertical?: string[];
|
|
16
|
+
responsiblePersonId?: number;
|
|
17
|
+
parentOrganizationId?: number;
|
|
18
|
+
status?: OrganizationStatus;
|
|
19
|
+
createdAt: Date;
|
|
20
|
+
createdBy: number;
|
|
21
|
+
updatedAt: Date;
|
|
22
|
+
updatedBy: number;
|
|
23
|
+
}
|
|
24
|
+
export interface OrganizationMinimal {
|
|
25
|
+
id: number;
|
|
26
|
+
name: string;
|
|
27
|
+
logoFileId?: number;
|
|
28
|
+
type?: OrganizationType;
|
|
29
|
+
}
|
|
30
|
+
export interface CreateOrganizationRequest {
|
|
31
|
+
name: string;
|
|
32
|
+
description?: string;
|
|
33
|
+
logoFileId?: number;
|
|
34
|
+
type?: OrganizationType;
|
|
35
|
+
size?: number;
|
|
36
|
+
markets?: string[];
|
|
37
|
+
techVertical?: string[];
|
|
38
|
+
responsiblePersonId?: number;
|
|
39
|
+
parentOrganizationId?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface UpdateOrganizationRequest {
|
|
42
|
+
name?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
logoFileId?: number;
|
|
45
|
+
type?: OrganizationType;
|
|
46
|
+
size?: number;
|
|
47
|
+
markets?: string[];
|
|
48
|
+
techVertical?: string[];
|
|
49
|
+
responsiblePersonId?: number;
|
|
50
|
+
parentOrganizationId?: number;
|
|
51
|
+
status?: OrganizationStatus;
|
|
52
|
+
}
|
|
53
|
+
export interface OrganizationListParams {
|
|
54
|
+
page?: number;
|
|
55
|
+
limit?: number;
|
|
56
|
+
status?: OrganizationStatus;
|
|
57
|
+
parentOrganizationId?: number;
|
|
58
|
+
ecosystemId?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface OrganizationListResponse {
|
|
61
|
+
organizations: Organization[];
|
|
62
|
+
pagination: {
|
|
63
|
+
page: number;
|
|
64
|
+
limit: number;
|
|
65
|
+
total: number;
|
|
66
|
+
totalPages: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface OrganizationWithMembers extends Organization {
|
|
70
|
+
ecosystems: EcosystemMinimal[];
|
|
71
|
+
people: PersonWithPosition[];
|
|
72
|
+
}
|
|
73
|
+
export interface EcosystemMinimal {
|
|
74
|
+
id: number;
|
|
75
|
+
name: string;
|
|
76
|
+
}
|
|
77
|
+
export interface PersonWithPosition {
|
|
78
|
+
id: number;
|
|
79
|
+
prename?: string;
|
|
80
|
+
familyName?: string;
|
|
81
|
+
position?: string;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=organization.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.model.d.ts","sourceRoot":"","sources":["../../src/ecosystem/organization.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.model.js","sourceRoot":"","sources":["../../src/ecosystem/organization.model.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { BiomeHttpClient } from "../core/http-client";
|
|
2
|
+
import { Organization, CreateOrganizationRequest, UpdateOrganizationRequest, OrganizationListParams, OrganizationListResponse, OrganizationWithMembers, OrganizationMinimal, EcosystemMinimal } from "./organization.model";
|
|
3
|
+
/**
|
|
4
|
+
* Organization management service
|
|
5
|
+
*/
|
|
6
|
+
export declare class BiomeOrganizations {
|
|
7
|
+
private http;
|
|
8
|
+
constructor(http: BiomeHttpClient);
|
|
9
|
+
/**
|
|
10
|
+
* Get organization by ID
|
|
11
|
+
*/
|
|
12
|
+
getById(id: number): Promise<Organization>;
|
|
13
|
+
/**
|
|
14
|
+
* Get organization with all members (organizations and people)
|
|
15
|
+
*/
|
|
16
|
+
getWithMembers(id: number): Promise<OrganizationWithMembers>;
|
|
17
|
+
/**
|
|
18
|
+
* List organizations with pagination and filters
|
|
19
|
+
*/
|
|
20
|
+
list(params?: OrganizationListParams): Promise<OrganizationListResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Get child organizations (1:n relationship)
|
|
23
|
+
*/
|
|
24
|
+
getChildren(parentId: number): Promise<OrganizationMinimal[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Get ecosystems the organization participates in
|
|
27
|
+
*/
|
|
28
|
+
getEcosystems(organizationId: number): Promise<EcosystemMinimal[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a new organization
|
|
31
|
+
*/
|
|
32
|
+
create(organization: CreateOrganizationRequest): Promise<{
|
|
33
|
+
id: number;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Update an existing organization
|
|
37
|
+
*/
|
|
38
|
+
update(id: number, updates: UpdateOrganizationRequest): Promise<Organization>;
|
|
39
|
+
/**
|
|
40
|
+
* Delete an organization (soft delete)
|
|
41
|
+
*/
|
|
42
|
+
delete(id: number): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Add a person to the organization
|
|
45
|
+
*/
|
|
46
|
+
addPerson(organizationId: number, personId: number, position?: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Remove a person from the organization
|
|
49
|
+
*/
|
|
50
|
+
removePerson(organizationId: number, personId: number): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Update person's position in organization
|
|
53
|
+
*/
|
|
54
|
+
updatePersonPosition(organizationId: number, personId: number, position: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Add the organization to an ecosystem
|
|
57
|
+
*/
|
|
58
|
+
addToEcosystem(organizationId: number, ecosystemId: number): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Remove the organization from an ecosystem
|
|
61
|
+
*/
|
|
62
|
+
removeFromEcosystem(organizationId: number, ecosystemId: number): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Set parent organization (1:n relationship)
|
|
65
|
+
*/
|
|
66
|
+
setParent(organizationId: number, parentOrganizationId: number): Promise<Organization>;
|
|
67
|
+
/**
|
|
68
|
+
* Remove parent organization
|
|
69
|
+
*/
|
|
70
|
+
removeParent(organizationId: number): Promise<Organization>;
|
|
71
|
+
/**
|
|
72
|
+
* Build query parameters from filters
|
|
73
|
+
*/
|
|
74
|
+
private buildQueryParams;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=organization.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.service.d.ts","sourceRoot":"","sources":["../../src/ecosystem/organization.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACH,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,qBAAa,kBAAkB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,eAAe;IAEzC;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAWhD;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAWlE;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAY9E;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAWnE;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAWxE;;OAEG;IACG,MAAM,CAAC,YAAY,EAAE,yBAAyB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAY9E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC;IAYnF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC;;OAEG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F;;OAEG;IACG,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3E;;OAEG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrG;;OAEG;IACG,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhF;;OAEG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrF;;OAEG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAY5F;;OAEG;IACG,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAWjE;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAuB3B"}
|