@kinotic-ai/os-api 1.8.0 → 1.9.0
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/dist/index.cjs +44 -17
- package/dist/index.d.cts +93 -54
- package/dist/index.d.ts +93 -54
- package/dist/index.js +49 -20
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -62,6 +62,7 @@ __export(exports_src, {
|
|
|
62
62
|
ProjectService: () => ProjectService,
|
|
63
63
|
Project: () => Project,
|
|
64
64
|
ProgressType: () => ProgressType,
|
|
65
|
+
PendingInviteSummary: () => PendingInviteSummary,
|
|
65
66
|
ParticipantType: () => ParticipantType,
|
|
66
67
|
PageableC3Type: () => PageableC3Type,
|
|
67
68
|
PageC3Type: () => PageC3Type,
|
|
@@ -73,13 +74,13 @@ __export(exports_src, {
|
|
|
73
74
|
NamedQueriesDefinitionService: () => NamedQueriesDefinitionService,
|
|
74
75
|
NamedQueriesDefinition: () => NamedQueriesDefinition,
|
|
75
76
|
MigrationService: () => MigrationService,
|
|
77
|
+
MemberService: () => MemberService,
|
|
76
78
|
LoggersDescriptor: () => LoggersDescriptor,
|
|
77
79
|
LoggerLevelsDescriptor: () => LoggerLevelsDescriptor,
|
|
78
80
|
LogManager: () => LogManager,
|
|
79
81
|
LogLevel: () => LogLevel,
|
|
80
82
|
KinoticProjectConfig: () => KinoticProjectConfig,
|
|
81
83
|
IdDecorator: () => IdDecorator,
|
|
82
|
-
IamUserService: () => IamUserService,
|
|
83
84
|
IamUser: () => IamUser,
|
|
84
85
|
GroupLoggerLevelsDescriptor: () => GroupLoggerLevelsDescriptor,
|
|
85
86
|
GitHubToken: () => GitHubToken,
|
|
@@ -282,6 +283,7 @@ class Application {
|
|
|
282
283
|
id;
|
|
283
284
|
organizationId;
|
|
284
285
|
description;
|
|
286
|
+
tenantPerUser = false;
|
|
285
287
|
updated = null;
|
|
286
288
|
constructor(id, description) {
|
|
287
289
|
this.id = id;
|
|
@@ -460,6 +462,16 @@ class IamUser {
|
|
|
460
462
|
created = null;
|
|
461
463
|
updated = null;
|
|
462
464
|
}
|
|
465
|
+
// packages/os-api/src/api/model/iam/PendingInviteSummary.ts
|
|
466
|
+
class PendingInviteSummary {
|
|
467
|
+
id = null;
|
|
468
|
+
email = "";
|
|
469
|
+
displayName = null;
|
|
470
|
+
applicationId = null;
|
|
471
|
+
invitedByName = null;
|
|
472
|
+
created = null;
|
|
473
|
+
expiresAt = null;
|
|
474
|
+
}
|
|
463
475
|
// packages/os-api/src/api/model/github/GitHubAppInstallation.ts
|
|
464
476
|
class GitHubAppInstallation {
|
|
465
477
|
id = null;
|
|
@@ -512,8 +524,7 @@ function isSystemParticipant(participant) {
|
|
|
512
524
|
return scopeType(participant) === "system" /* SYSTEM */;
|
|
513
525
|
}
|
|
514
526
|
function isOrganizationParticipant(participant) {
|
|
515
|
-
|
|
516
|
-
return type === "organization" /* ORGANIZATION */ || type === "application" /* APPLICATION */;
|
|
527
|
+
return scopeType(participant) === "organization" /* ORGANIZATION */;
|
|
517
528
|
}
|
|
518
529
|
function isApplicationParticipant(participant) {
|
|
519
530
|
return scopeType(participant) === "application" /* APPLICATION */;
|
|
@@ -734,27 +745,43 @@ class WorkloadServiceProxy extends import_core7.CrudServiceProxy {
|
|
|
734
745
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
735
746
|
}
|
|
736
747
|
}
|
|
737
|
-
// packages/os-api/src/api/services/
|
|
748
|
+
// packages/os-api/src/api/services/IMemberService.ts
|
|
738
749
|
var import_core8 = require("@kinotic-ai/core");
|
|
739
750
|
|
|
740
|
-
class
|
|
751
|
+
class MemberService {
|
|
752
|
+
serviceProxy;
|
|
741
753
|
constructor(kinotic) {
|
|
742
|
-
|
|
754
|
+
this.serviceProxy = kinotic.serviceProxy("org.kinotic.os.api.services.iam.MemberService");
|
|
755
|
+
}
|
|
756
|
+
async findMembers(applicationId, pageable) {
|
|
757
|
+
const page = await this.serviceProxy.invoke("findMembers", [applicationId, pageable]);
|
|
758
|
+
return new import_core8.FunctionalIterablePage(pageable, page, (next) => this.serviceProxy.invoke("findMembers", [applicationId, next]));
|
|
759
|
+
}
|
|
760
|
+
async searchMembers(searchText, applicationId, pageable) {
|
|
761
|
+
const page = await this.serviceProxy.invoke("searchMembers", [searchText, applicationId, pageable]);
|
|
762
|
+
return new import_core8.FunctionalIterablePage(pageable, page, (next) => this.serviceProxy.invoke("searchMembers", [searchText, applicationId, next]));
|
|
743
763
|
}
|
|
744
|
-
|
|
745
|
-
return
|
|
764
|
+
inviteMember(email, displayName, applicationId) {
|
|
765
|
+
return this.serviceProxy.invoke("inviteMember", [email, displayName, applicationId]);
|
|
746
766
|
}
|
|
747
|
-
|
|
748
|
-
return this.serviceProxy.invoke("
|
|
767
|
+
setMemberEnabled(userId, enabled) {
|
|
768
|
+
return this.serviceProxy.invoke("setMemberEnabled", [userId, enabled]);
|
|
749
769
|
}
|
|
750
|
-
|
|
751
|
-
return this.serviceProxy.invoke("
|
|
770
|
+
removeMember(userId) {
|
|
771
|
+
return this.serviceProxy.invoke("removeMember", [userId]);
|
|
752
772
|
}
|
|
753
|
-
|
|
754
|
-
|
|
773
|
+
async findPendingInvites(applicationId, pageable) {
|
|
774
|
+
const page = await this.serviceProxy.invoke("findPendingInvites", [applicationId, pageable]);
|
|
775
|
+
return new import_core8.FunctionalIterablePage(pageable, page, (next) => this.serviceProxy.invoke("findPendingInvites", [applicationId, next]));
|
|
755
776
|
}
|
|
756
|
-
|
|
757
|
-
return this.serviceProxy.invoke("
|
|
777
|
+
cancelInvite(inviteId) {
|
|
778
|
+
return this.serviceProxy.invoke("cancelInvite", [inviteId]);
|
|
779
|
+
}
|
|
780
|
+
memberDataSource(applicationId) {
|
|
781
|
+
return {
|
|
782
|
+
findAll: (pageable) => this.findMembers(applicationId, pageable),
|
|
783
|
+
search: (searchText, pageable) => this.searchMembers(searchText, applicationId, pageable)
|
|
784
|
+
};
|
|
758
785
|
}
|
|
759
786
|
}
|
|
760
787
|
// packages/os-api/src/api/services/IDeviceApprovalService.ts
|
|
@@ -798,7 +825,7 @@ var OsApiPlugin = {
|
|
|
798
825
|
dataInsights: new DataInsightsService(kinotic),
|
|
799
826
|
vmNodes: new VmNodeServiceProxy(kinotic),
|
|
800
827
|
workloads: new WorkloadServiceProxy(kinotic),
|
|
801
|
-
|
|
828
|
+
members: new MemberService(kinotic),
|
|
802
829
|
deviceApproval: new DeviceApprovalService(kinotic),
|
|
803
830
|
githubAppInstallations: new GitHubAppInstallationService(kinotic)
|
|
804
831
|
};
|
package/dist/index.d.cts
CHANGED
|
@@ -145,6 +145,12 @@ declare class Application implements Identifiable<string> {
|
|
|
145
145
|
*/
|
|
146
146
|
organizationId: string;
|
|
147
147
|
description: string;
|
|
148
|
+
/**
|
|
149
|
+
* When true, every APPLICATION-scope user created for this application receives an
|
|
150
|
+
* auto-generated unique tenantId, isolating each user's SHARED entity data in its own
|
|
151
|
+
* tenant. Applies only to users created after it is enabled.
|
|
152
|
+
*/
|
|
153
|
+
tenantPerUser: boolean;
|
|
148
154
|
updated: number | null;
|
|
149
155
|
constructor(id: string, description: string);
|
|
150
156
|
}
|
|
@@ -585,12 +591,31 @@ interface CompleteOrgRequest {
|
|
|
585
591
|
}
|
|
586
592
|
import { Identifiable as Identifiable9 } from "@kinotic-ai/core";
|
|
587
593
|
/**
|
|
594
|
+
* Console view of a pending invitation. Deliberately excludes the accept token — anyone who
|
|
595
|
+
* can list invitations must not be able to redeem them.
|
|
596
|
+
*/
|
|
597
|
+
declare class PendingInviteSummary implements Identifiable9<string> {
|
|
598
|
+
id: string | null;
|
|
599
|
+
/** Email the invitation was sent to. */
|
|
600
|
+
email: string;
|
|
601
|
+
/** Display name the inviter entered, if any. */
|
|
602
|
+
displayName: string | null;
|
|
603
|
+
/** The application the invitee would join; null for an organization-member invite. */
|
|
604
|
+
applicationId: string | null;
|
|
605
|
+
/** Display name of the member who sent the invitation. */
|
|
606
|
+
invitedByName: string | null;
|
|
607
|
+
created: number | null;
|
|
608
|
+
/** When the invitation stops being acceptable. */
|
|
609
|
+
expiresAt: number | null;
|
|
610
|
+
}
|
|
611
|
+
import { Identifiable as Identifiable10 } from "@kinotic-ai/core";
|
|
612
|
+
/**
|
|
588
613
|
* Persisted record of one GitHub App installation that a Kinotic Org has authorised.
|
|
589
614
|
* The durable binding that says "Org X has access to GitHub install Y" — without it,
|
|
590
615
|
* no installation token can be minted on behalf of the org and webhook deliveries
|
|
591
616
|
* can't be matched to a project.
|
|
592
617
|
*/
|
|
593
|
-
declare class GitHubAppInstallation implements
|
|
618
|
+
declare class GitHubAppInstallation implements Identifiable10<string> {
|
|
594
619
|
id: string | null;
|
|
595
620
|
organizationId: string;
|
|
596
621
|
githubInstallationId: number;
|
|
@@ -716,27 +741,33 @@ interface ISystemParticipant extends IParticipant {
|
|
|
716
741
|
}
|
|
717
742
|
import { IParticipant as IParticipant2 } from "@kinotic-ai/core";
|
|
718
743
|
/**
|
|
719
|
-
* A participant authenticated against an Organization
|
|
720
|
-
*
|
|
721
|
-
*
|
|
722
|
-
* {@code OrganizationParticipant}.
|
|
744
|
+
* A participant authenticated against an Organization, carrying ORGANIZATION-scope authority over
|
|
745
|
+
* that Organization's resources. {@link organizationId} is the id of the owning Organization and
|
|
746
|
+
* is never null. Mirrors the server {@code OrganizationParticipant}.
|
|
723
747
|
*/
|
|
724
748
|
interface IOrganizationParticipant extends IParticipant2 {
|
|
725
|
-
type: ParticipantType.ORGANIZATION
|
|
749
|
+
type: ParticipantType.ORGANIZATION;
|
|
726
750
|
/**
|
|
727
751
|
* The id of the Organization this participant is authenticated under; never null.
|
|
728
752
|
*/
|
|
729
753
|
organizationId: string;
|
|
730
754
|
}
|
|
755
|
+
import { IParticipant as IParticipant3 } from "@kinotic-ai/core";
|
|
731
756
|
/**
|
|
732
|
-
* A participant authenticated against an Application
|
|
733
|
-
*
|
|
734
|
-
*
|
|
735
|
-
*
|
|
757
|
+
* A participant authenticated against an Application, carrying APPLICATION-scope authority over
|
|
758
|
+
* that Application's own resources and end-user data. {@link organizationId} is the id of the
|
|
759
|
+
* Organization that owns the Application; it identifies the owning org for data ownership and
|
|
760
|
+
* routing of the Application's entity definitions and end-user data, and is never null.
|
|
761
|
+
* Mirrors the server {@code ApplicationParticipant}.
|
|
736
762
|
*/
|
|
737
|
-
interface IApplicationParticipant extends
|
|
763
|
+
interface IApplicationParticipant extends IParticipant3 {
|
|
738
764
|
type: ParticipantType.APPLICATION;
|
|
739
765
|
/**
|
|
766
|
+
* The id of the Organization that owns the Application this participant is authenticated
|
|
767
|
+
* under; never null.
|
|
768
|
+
*/
|
|
769
|
+
organizationId: string;
|
|
770
|
+
/**
|
|
740
771
|
* The id of the Application this participant is authenticated under; never null.
|
|
741
772
|
*/
|
|
742
773
|
applicationId: string;
|
|
@@ -746,23 +777,22 @@ interface IApplicationParticipant extends IOrganizationParticipant {
|
|
|
746
777
|
*/
|
|
747
778
|
tenantId?: string | null;
|
|
748
779
|
}
|
|
749
|
-
import { IParticipant as
|
|
780
|
+
import { IParticipant as IParticipant4 } from "@kinotic-ai/core";
|
|
750
781
|
/**
|
|
751
782
|
* @return true if the participant authenticated against the platform SYSTEM scope
|
|
752
783
|
*/
|
|
753
|
-
declare function isSystemParticipant(participant:
|
|
784
|
+
declare function isSystemParticipant(participant: IParticipant4): participant is ISystemParticipant;
|
|
754
785
|
/**
|
|
755
|
-
* Narrows to an {@link IOrganizationParticipant}, which carries an {@code organizationId}
|
|
756
|
-
*
|
|
757
|
-
* Organization.
|
|
786
|
+
* Narrows to an {@link IOrganizationParticipant}, which carries an {@code organizationId} and
|
|
787
|
+
* ORGANIZATION-scope authority.
|
|
758
788
|
*
|
|
759
|
-
* @return true if the participant authenticated against an Organization
|
|
789
|
+
* @return true if the participant authenticated against an Organization
|
|
760
790
|
*/
|
|
761
|
-
declare function isOrganizationParticipant(participant:
|
|
791
|
+
declare function isOrganizationParticipant(participant: IParticipant4): participant is IOrganizationParticipant;
|
|
762
792
|
/**
|
|
763
793
|
* @return true if the participant authenticated against an Application
|
|
764
794
|
*/
|
|
765
|
-
declare function isApplicationParticipant(participant:
|
|
795
|
+
declare function isApplicationParticipant(participant: IParticipant4): participant is IApplicationParticipant;
|
|
766
796
|
import { IKinotic } from "@kinotic-ai/core";
|
|
767
797
|
import { CrudServiceProxy, ICrudServiceProxy } from "@kinotic-ai/core";
|
|
768
798
|
interface IApplicationService extends ICrudServiceProxy<Application> {
|
|
@@ -1082,46 +1112,55 @@ declare class WorkloadServiceProxy extends CrudServiceProxy7<Workload> implement
|
|
|
1082
1112
|
countForNode(nodeId: string): Promise<number>;
|
|
1083
1113
|
syncIndex(): Promise<void>;
|
|
1084
1114
|
}
|
|
1085
|
-
import {
|
|
1115
|
+
import { IDataSource, IKinotic as IKinotic11, IterablePage as IterablePage4, Pageable as Pageable4 } from "@kinotic-ai/core";
|
|
1086
1116
|
/**
|
|
1087
|
-
*
|
|
1088
|
-
*
|
|
1089
|
-
*
|
|
1090
|
-
*
|
|
1091
|
-
* the service. The shape here is kept in sync so it is ready once that happens; confirm the
|
|
1092
|
-
* published namespace before relying on it.
|
|
1117
|
+
* Member management for the caller's organization and its applications. Scope is selected
|
|
1118
|
+
* with applicationId — null addresses org members, set addresses that application's
|
|
1119
|
+
* members — and the backend derives the organization from the authenticated participant,
|
|
1120
|
+
* so it is never a parameter.
|
|
1093
1121
|
*/
|
|
1094
|
-
interface
|
|
1095
|
-
/**
|
|
1096
|
-
|
|
1122
|
+
interface IMemberService {
|
|
1123
|
+
/** Lists the members of the scope. */
|
|
1124
|
+
findMembers(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1125
|
+
/**
|
|
1126
|
+
* Searches the scope's members by free text over email and display name. Blank
|
|
1127
|
+
* searchText is equivalent to {@link findMembers}.
|
|
1128
|
+
*/
|
|
1129
|
+
searchMembers(searchText: string, applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1097
1130
|
/**
|
|
1098
|
-
*
|
|
1099
|
-
*
|
|
1100
|
-
*
|
|
1131
|
+
* Invites someone into the scope by email. Sends the invitation email and returns the
|
|
1132
|
+
* pending invitation. Rejects when the email already has an account in the scope or an
|
|
1133
|
+
* invitation is already pending for it.
|
|
1101
1134
|
*/
|
|
1102
|
-
|
|
1135
|
+
inviteMember(email: string, displayName: string | null, applicationId: string | null): Promise<PendingInviteSummary>;
|
|
1103
1136
|
/**
|
|
1104
|
-
*
|
|
1105
|
-
*
|
|
1137
|
+
* Enables or disables a member of the caller's organization. Disabling gates future
|
|
1138
|
+
* logins; established sessions last until they expire. Callers cannot disable themselves.
|
|
1106
1139
|
*/
|
|
1107
|
-
|
|
1140
|
+
setMemberEnabled(userId: string, enabled: boolean): Promise<void>;
|
|
1108
1141
|
/**
|
|
1109
|
-
*
|
|
1110
|
-
*
|
|
1142
|
+
* Permanently removes a member of the caller's organization, including any stored
|
|
1143
|
+
* credential. Callers cannot remove themselves.
|
|
1111
1144
|
*/
|
|
1112
|
-
|
|
1113
|
-
/**
|
|
1114
|
-
|
|
1115
|
-
/**
|
|
1116
|
-
|
|
1145
|
+
removeMember(userId: string): Promise<void>;
|
|
1146
|
+
/** Lists the scope's live (unexpired) pending invitations. */
|
|
1147
|
+
findPendingInvites(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<PendingInviteSummary>>;
|
|
1148
|
+
/** Cancels a pending invitation belonging to the caller's organization. */
|
|
1149
|
+
cancelInvite(inviteId: string): Promise<void>;
|
|
1150
|
+
/** An {@link IDataSource} over the scope's members, for table components. */
|
|
1151
|
+
memberDataSource(applicationId: string | null): IDataSource<IamUser>;
|
|
1117
1152
|
}
|
|
1118
|
-
declare class
|
|
1153
|
+
declare class MemberService implements IMemberService {
|
|
1154
|
+
private readonly serviceProxy;
|
|
1119
1155
|
constructor(kinotic: IKinotic11);
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1156
|
+
findMembers(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1157
|
+
searchMembers(searchText: string, applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1158
|
+
inviteMember(email: string, displayName: string | null, applicationId: string | null): Promise<PendingInviteSummary>;
|
|
1159
|
+
setMemberEnabled(userId: string, enabled: boolean): Promise<void>;
|
|
1160
|
+
removeMember(userId: string): Promise<void>;
|
|
1161
|
+
findPendingInvites(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<PendingInviteSummary>>;
|
|
1162
|
+
cancelInvite(inviteId: string): Promise<void>;
|
|
1163
|
+
memberDataSource(applicationId: string | null): IDataSource<IamUser>;
|
|
1125
1164
|
}
|
|
1126
1165
|
import { IKinotic as IKinotic12 } from "@kinotic-ai/core";
|
|
1127
1166
|
/**
|
|
@@ -1141,8 +1180,8 @@ declare class DeviceApprovalService implements IDeviceApprovalService {
|
|
|
1141
1180
|
constructor(kinotic: IKinotic12);
|
|
1142
1181
|
approve(userCode: string): Promise<void>;
|
|
1143
1182
|
}
|
|
1144
|
-
import { CrudServiceProxy as
|
|
1145
|
-
interface IGitHubAppInstallationService extends
|
|
1183
|
+
import { CrudServiceProxy as CrudServiceProxy8, IKinotic as IKinotic13, ICrudServiceProxy as ICrudServiceProxy8 } from "@kinotic-ai/core";
|
|
1184
|
+
interface IGitHubAppInstallationService extends ICrudServiceProxy8<GitHubAppInstallation> {
|
|
1146
1185
|
/**
|
|
1147
1186
|
* Stages a single-use state token bound to the caller's organization plus the
|
|
1148
1187
|
* supplied returnTo, then returns the GitHub install URL with that state
|
|
@@ -1167,7 +1206,7 @@ interface IGitHubAppInstallationService extends ICrudServiceProxy9<GitHubAppInst
|
|
|
1167
1206
|
*/
|
|
1168
1207
|
findForCurrentOrg(): Promise<GitHubAppInstallation | null>;
|
|
1169
1208
|
}
|
|
1170
|
-
declare class GitHubAppInstallationService extends
|
|
1209
|
+
declare class GitHubAppInstallationService extends CrudServiceProxy8<GitHubAppInstallation> implements IGitHubAppInstallationService {
|
|
1171
1210
|
constructor(kinotic: IKinotic13);
|
|
1172
1211
|
startInstall(returnTo: string | null): Promise<string>;
|
|
1173
1212
|
completeInstall(installationId: number, state: string): Promise<GitHubInstallCompletion>;
|
|
@@ -1185,7 +1224,7 @@ interface IOsApiExtension {
|
|
|
1185
1224
|
dataInsights: IDataInsightsService;
|
|
1186
1225
|
vmNodes: IVmNodeService;
|
|
1187
1226
|
workloads: IWorkloadService;
|
|
1188
|
-
|
|
1227
|
+
members: IMemberService;
|
|
1189
1228
|
deviceApproval: IDeviceApprovalService;
|
|
1190
1229
|
githubAppInstallations: IGitHubAppInstallationService;
|
|
1191
1230
|
}
|
|
@@ -1193,4 +1232,4 @@ declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
|
|
|
1193
1232
|
declare module "@kinotic-ai/core" {
|
|
1194
1233
|
interface KinoticSingleton extends IOsApiExtension {}
|
|
1195
1234
|
}
|
|
1196
|
-
export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InsightRequest, InsightProgress, IdDecorator,
|
|
1235
|
+
export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
|
package/dist/index.d.ts
CHANGED
|
@@ -145,6 +145,12 @@ declare class Application implements Identifiable<string> {
|
|
|
145
145
|
*/
|
|
146
146
|
organizationId: string;
|
|
147
147
|
description: string;
|
|
148
|
+
/**
|
|
149
|
+
* When true, every APPLICATION-scope user created for this application receives an
|
|
150
|
+
* auto-generated unique tenantId, isolating each user's SHARED entity data in its own
|
|
151
|
+
* tenant. Applies only to users created after it is enabled.
|
|
152
|
+
*/
|
|
153
|
+
tenantPerUser: boolean;
|
|
148
154
|
updated: number | null;
|
|
149
155
|
constructor(id: string, description: string);
|
|
150
156
|
}
|
|
@@ -585,12 +591,31 @@ interface CompleteOrgRequest {
|
|
|
585
591
|
}
|
|
586
592
|
import { Identifiable as Identifiable9 } from "@kinotic-ai/core";
|
|
587
593
|
/**
|
|
594
|
+
* Console view of a pending invitation. Deliberately excludes the accept token — anyone who
|
|
595
|
+
* can list invitations must not be able to redeem them.
|
|
596
|
+
*/
|
|
597
|
+
declare class PendingInviteSummary implements Identifiable9<string> {
|
|
598
|
+
id: string | null;
|
|
599
|
+
/** Email the invitation was sent to. */
|
|
600
|
+
email: string;
|
|
601
|
+
/** Display name the inviter entered, if any. */
|
|
602
|
+
displayName: string | null;
|
|
603
|
+
/** The application the invitee would join; null for an organization-member invite. */
|
|
604
|
+
applicationId: string | null;
|
|
605
|
+
/** Display name of the member who sent the invitation. */
|
|
606
|
+
invitedByName: string | null;
|
|
607
|
+
created: number | null;
|
|
608
|
+
/** When the invitation stops being acceptable. */
|
|
609
|
+
expiresAt: number | null;
|
|
610
|
+
}
|
|
611
|
+
import { Identifiable as Identifiable10 } from "@kinotic-ai/core";
|
|
612
|
+
/**
|
|
588
613
|
* Persisted record of one GitHub App installation that a Kinotic Org has authorised.
|
|
589
614
|
* The durable binding that says "Org X has access to GitHub install Y" — without it,
|
|
590
615
|
* no installation token can be minted on behalf of the org and webhook deliveries
|
|
591
616
|
* can't be matched to a project.
|
|
592
617
|
*/
|
|
593
|
-
declare class GitHubAppInstallation implements
|
|
618
|
+
declare class GitHubAppInstallation implements Identifiable10<string> {
|
|
594
619
|
id: string | null;
|
|
595
620
|
organizationId: string;
|
|
596
621
|
githubInstallationId: number;
|
|
@@ -716,27 +741,33 @@ interface ISystemParticipant extends IParticipant {
|
|
|
716
741
|
}
|
|
717
742
|
import { IParticipant as IParticipant2 } from "@kinotic-ai/core";
|
|
718
743
|
/**
|
|
719
|
-
* A participant authenticated against an Organization
|
|
720
|
-
*
|
|
721
|
-
*
|
|
722
|
-
* {@code OrganizationParticipant}.
|
|
744
|
+
* A participant authenticated against an Organization, carrying ORGANIZATION-scope authority over
|
|
745
|
+
* that Organization's resources. {@link organizationId} is the id of the owning Organization and
|
|
746
|
+
* is never null. Mirrors the server {@code OrganizationParticipant}.
|
|
723
747
|
*/
|
|
724
748
|
interface IOrganizationParticipant extends IParticipant2 {
|
|
725
|
-
type: ParticipantType.ORGANIZATION
|
|
749
|
+
type: ParticipantType.ORGANIZATION;
|
|
726
750
|
/**
|
|
727
751
|
* The id of the Organization this participant is authenticated under; never null.
|
|
728
752
|
*/
|
|
729
753
|
organizationId: string;
|
|
730
754
|
}
|
|
755
|
+
import { IParticipant as IParticipant3 } from "@kinotic-ai/core";
|
|
731
756
|
/**
|
|
732
|
-
* A participant authenticated against an Application
|
|
733
|
-
*
|
|
734
|
-
*
|
|
735
|
-
*
|
|
757
|
+
* A participant authenticated against an Application, carrying APPLICATION-scope authority over
|
|
758
|
+
* that Application's own resources and end-user data. {@link organizationId} is the id of the
|
|
759
|
+
* Organization that owns the Application; it identifies the owning org for data ownership and
|
|
760
|
+
* routing of the Application's entity definitions and end-user data, and is never null.
|
|
761
|
+
* Mirrors the server {@code ApplicationParticipant}.
|
|
736
762
|
*/
|
|
737
|
-
interface IApplicationParticipant extends
|
|
763
|
+
interface IApplicationParticipant extends IParticipant3 {
|
|
738
764
|
type: ParticipantType.APPLICATION;
|
|
739
765
|
/**
|
|
766
|
+
* The id of the Organization that owns the Application this participant is authenticated
|
|
767
|
+
* under; never null.
|
|
768
|
+
*/
|
|
769
|
+
organizationId: string;
|
|
770
|
+
/**
|
|
740
771
|
* The id of the Application this participant is authenticated under; never null.
|
|
741
772
|
*/
|
|
742
773
|
applicationId: string;
|
|
@@ -746,23 +777,22 @@ interface IApplicationParticipant extends IOrganizationParticipant {
|
|
|
746
777
|
*/
|
|
747
778
|
tenantId?: string | null;
|
|
748
779
|
}
|
|
749
|
-
import { IParticipant as
|
|
780
|
+
import { IParticipant as IParticipant4 } from "@kinotic-ai/core";
|
|
750
781
|
/**
|
|
751
782
|
* @return true if the participant authenticated against the platform SYSTEM scope
|
|
752
783
|
*/
|
|
753
|
-
declare function isSystemParticipant(participant:
|
|
784
|
+
declare function isSystemParticipant(participant: IParticipant4): participant is ISystemParticipant;
|
|
754
785
|
/**
|
|
755
|
-
* Narrows to an {@link IOrganizationParticipant}, which carries an {@code organizationId}
|
|
756
|
-
*
|
|
757
|
-
* Organization.
|
|
786
|
+
* Narrows to an {@link IOrganizationParticipant}, which carries an {@code organizationId} and
|
|
787
|
+
* ORGANIZATION-scope authority.
|
|
758
788
|
*
|
|
759
|
-
* @return true if the participant authenticated against an Organization
|
|
789
|
+
* @return true if the participant authenticated against an Organization
|
|
760
790
|
*/
|
|
761
|
-
declare function isOrganizationParticipant(participant:
|
|
791
|
+
declare function isOrganizationParticipant(participant: IParticipant4): participant is IOrganizationParticipant;
|
|
762
792
|
/**
|
|
763
793
|
* @return true if the participant authenticated against an Application
|
|
764
794
|
*/
|
|
765
|
-
declare function isApplicationParticipant(participant:
|
|
795
|
+
declare function isApplicationParticipant(participant: IParticipant4): participant is IApplicationParticipant;
|
|
766
796
|
import { IKinotic } from "@kinotic-ai/core";
|
|
767
797
|
import { CrudServiceProxy, ICrudServiceProxy } from "@kinotic-ai/core";
|
|
768
798
|
interface IApplicationService extends ICrudServiceProxy<Application> {
|
|
@@ -1082,46 +1112,55 @@ declare class WorkloadServiceProxy extends CrudServiceProxy7<Workload> implement
|
|
|
1082
1112
|
countForNode(nodeId: string): Promise<number>;
|
|
1083
1113
|
syncIndex(): Promise<void>;
|
|
1084
1114
|
}
|
|
1085
|
-
import {
|
|
1115
|
+
import { IDataSource, IKinotic as IKinotic11, IterablePage as IterablePage4, Pageable as Pageable4 } from "@kinotic-ai/core";
|
|
1086
1116
|
/**
|
|
1087
|
-
*
|
|
1088
|
-
*
|
|
1089
|
-
*
|
|
1090
|
-
*
|
|
1091
|
-
* the service. The shape here is kept in sync so it is ready once that happens; confirm the
|
|
1092
|
-
* published namespace before relying on it.
|
|
1117
|
+
* Member management for the caller's organization and its applications. Scope is selected
|
|
1118
|
+
* with applicationId — null addresses org members, set addresses that application's
|
|
1119
|
+
* members — and the backend derives the organization from the authenticated participant,
|
|
1120
|
+
* so it is never a parameter.
|
|
1093
1121
|
*/
|
|
1094
|
-
interface
|
|
1095
|
-
/**
|
|
1096
|
-
|
|
1122
|
+
interface IMemberService {
|
|
1123
|
+
/** Lists the members of the scope. */
|
|
1124
|
+
findMembers(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1125
|
+
/**
|
|
1126
|
+
* Searches the scope's members by free text over email and display name. Blank
|
|
1127
|
+
* searchText is equivalent to {@link findMembers}.
|
|
1128
|
+
*/
|
|
1129
|
+
searchMembers(searchText: string, applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1097
1130
|
/**
|
|
1098
|
-
*
|
|
1099
|
-
*
|
|
1100
|
-
*
|
|
1131
|
+
* Invites someone into the scope by email. Sends the invitation email and returns the
|
|
1132
|
+
* pending invitation. Rejects when the email already has an account in the scope or an
|
|
1133
|
+
* invitation is already pending for it.
|
|
1101
1134
|
*/
|
|
1102
|
-
|
|
1135
|
+
inviteMember(email: string, displayName: string | null, applicationId: string | null): Promise<PendingInviteSummary>;
|
|
1103
1136
|
/**
|
|
1104
|
-
*
|
|
1105
|
-
*
|
|
1137
|
+
* Enables or disables a member of the caller's organization. Disabling gates future
|
|
1138
|
+
* logins; established sessions last until they expire. Callers cannot disable themselves.
|
|
1106
1139
|
*/
|
|
1107
|
-
|
|
1140
|
+
setMemberEnabled(userId: string, enabled: boolean): Promise<void>;
|
|
1108
1141
|
/**
|
|
1109
|
-
*
|
|
1110
|
-
*
|
|
1142
|
+
* Permanently removes a member of the caller's organization, including any stored
|
|
1143
|
+
* credential. Callers cannot remove themselves.
|
|
1111
1144
|
*/
|
|
1112
|
-
|
|
1113
|
-
/**
|
|
1114
|
-
|
|
1115
|
-
/**
|
|
1116
|
-
|
|
1145
|
+
removeMember(userId: string): Promise<void>;
|
|
1146
|
+
/** Lists the scope's live (unexpired) pending invitations. */
|
|
1147
|
+
findPendingInvites(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<PendingInviteSummary>>;
|
|
1148
|
+
/** Cancels a pending invitation belonging to the caller's organization. */
|
|
1149
|
+
cancelInvite(inviteId: string): Promise<void>;
|
|
1150
|
+
/** An {@link IDataSource} over the scope's members, for table components. */
|
|
1151
|
+
memberDataSource(applicationId: string | null): IDataSource<IamUser>;
|
|
1117
1152
|
}
|
|
1118
|
-
declare class
|
|
1153
|
+
declare class MemberService implements IMemberService {
|
|
1154
|
+
private readonly serviceProxy;
|
|
1119
1155
|
constructor(kinotic: IKinotic11);
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1156
|
+
findMembers(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1157
|
+
searchMembers(searchText: string, applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<IamUser>>;
|
|
1158
|
+
inviteMember(email: string, displayName: string | null, applicationId: string | null): Promise<PendingInviteSummary>;
|
|
1159
|
+
setMemberEnabled(userId: string, enabled: boolean): Promise<void>;
|
|
1160
|
+
removeMember(userId: string): Promise<void>;
|
|
1161
|
+
findPendingInvites(applicationId: string | null, pageable: Pageable4): Promise<IterablePage4<PendingInviteSummary>>;
|
|
1162
|
+
cancelInvite(inviteId: string): Promise<void>;
|
|
1163
|
+
memberDataSource(applicationId: string | null): IDataSource<IamUser>;
|
|
1125
1164
|
}
|
|
1126
1165
|
import { IKinotic as IKinotic12 } from "@kinotic-ai/core";
|
|
1127
1166
|
/**
|
|
@@ -1141,8 +1180,8 @@ declare class DeviceApprovalService implements IDeviceApprovalService {
|
|
|
1141
1180
|
constructor(kinotic: IKinotic12);
|
|
1142
1181
|
approve(userCode: string): Promise<void>;
|
|
1143
1182
|
}
|
|
1144
|
-
import { CrudServiceProxy as
|
|
1145
|
-
interface IGitHubAppInstallationService extends
|
|
1183
|
+
import { CrudServiceProxy as CrudServiceProxy8, IKinotic as IKinotic13, ICrudServiceProxy as ICrudServiceProxy8 } from "@kinotic-ai/core";
|
|
1184
|
+
interface IGitHubAppInstallationService extends ICrudServiceProxy8<GitHubAppInstallation> {
|
|
1146
1185
|
/**
|
|
1147
1186
|
* Stages a single-use state token bound to the caller's organization plus the
|
|
1148
1187
|
* supplied returnTo, then returns the GitHub install URL with that state
|
|
@@ -1167,7 +1206,7 @@ interface IGitHubAppInstallationService extends ICrudServiceProxy9<GitHubAppInst
|
|
|
1167
1206
|
*/
|
|
1168
1207
|
findForCurrentOrg(): Promise<GitHubAppInstallation | null>;
|
|
1169
1208
|
}
|
|
1170
|
-
declare class GitHubAppInstallationService extends
|
|
1209
|
+
declare class GitHubAppInstallationService extends CrudServiceProxy8<GitHubAppInstallation> implements IGitHubAppInstallationService {
|
|
1171
1210
|
constructor(kinotic: IKinotic13);
|
|
1172
1211
|
startInstall(returnTo: string | null): Promise<string>;
|
|
1173
1212
|
completeInstall(installationId: number, state: string): Promise<GitHubInstallCompletion>;
|
|
@@ -1185,7 +1224,7 @@ interface IOsApiExtension {
|
|
|
1185
1224
|
dataInsights: IDataInsightsService;
|
|
1186
1225
|
vmNodes: IVmNodeService;
|
|
1187
1226
|
workloads: IWorkloadService;
|
|
1188
|
-
|
|
1227
|
+
members: IMemberService;
|
|
1189
1228
|
deviceApproval: IDeviceApprovalService;
|
|
1190
1229
|
githubAppInstallations: IGitHubAppInstallationService;
|
|
1191
1230
|
}
|
|
@@ -1193,4 +1232,4 @@ declare const OsApiPlugin: KinoticPlugin<IOsApiExtension>;
|
|
|
1193
1232
|
declare module "@kinotic-ai/core" {
|
|
1194
1233
|
interface KinoticSingleton extends IOsApiExtension {}
|
|
1195
1234
|
}
|
|
1196
|
-
export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InsightRequest, InsightProgress, IdDecorator,
|
|
1235
|
+
export { isSystemParticipant, isOrganizationParticipant, isApplicationParticipant, WorkloadStatus, WorkloadServiceProxy, Workload, VmProviderType, VmNodeStatus, VmNodeServiceProxy, VmNode, VersionDecorator, TimeReferenceDecorator, TextDecorator, TenantSelectionC3Type, TenantIdDecorator, SingleLoggerLevelsDescriptor, SignUpRequest, SignUpCompleteRequest, QueryOptionsC3Type, QueryDecorator, ProjectType, ProjectService, Project, ProgressType, PendingInviteSummary, ParticipantType, PageableC3Type, PageC3Type, OsApiPlugin, OrganizationService, Organization, NotIndexedDecorator, NestedDecorator, NamedQueriesDefinitionService, NamedQueriesDefinition, MigrationService, MigrationResult, MigrationRequest, MigrationDefinition, MemberService, LoggersDescriptor, LoggerLevelsDescriptor, LogManager, LogLevel, KinoticProjectConfig, InsightRequest, InsightProgress, IdDecorator, IamUser, IWorkloadService, IVmNodeService, ISystemParticipant, IProjectService, IOsApiExtension, IOrganizationService, IOrganizationParticipant, INamedQueriesDefinitionService, IMigrationService, IMemberService, ILogManager, IGitHubAppInstallationService, IEntityDefinitionService, IDeviceApprovalService, IDataInsightsService, IApplicationService, IApplicationParticipant, GroupLoggerLevelsDescriptor, GitHubToken, GitHubRepoToken, GitHubInstallCompletion, GitHubAppInstallationService, GitHubAppInstallation, FlattenedDecorator, EsIndexConfigurationDecorator, EntityDefinitionService, EntityDefinition, EntityDecorator, EntitiesPathConfig, DiscriminatorDecorator, DeviceApprovalService, DataInsightsService, DataInsightsComponent, CompleteOrgRequest, AutoGeneratedIdDecorator, AuthType, ApplicationService, Application };
|
package/dist/index.js
CHANGED
|
@@ -178,6 +178,7 @@ class Application {
|
|
|
178
178
|
id;
|
|
179
179
|
organizationId;
|
|
180
180
|
description;
|
|
181
|
+
tenantPerUser = false;
|
|
181
182
|
updated = null;
|
|
182
183
|
constructor(id, description) {
|
|
183
184
|
this.id = id;
|
|
@@ -356,6 +357,16 @@ class IamUser {
|
|
|
356
357
|
created = null;
|
|
357
358
|
updated = null;
|
|
358
359
|
}
|
|
360
|
+
// packages/os-api/src/api/model/iam/PendingInviteSummary.ts
|
|
361
|
+
class PendingInviteSummary {
|
|
362
|
+
id = null;
|
|
363
|
+
email = "";
|
|
364
|
+
displayName = null;
|
|
365
|
+
applicationId = null;
|
|
366
|
+
invitedByName = null;
|
|
367
|
+
created = null;
|
|
368
|
+
expiresAt = null;
|
|
369
|
+
}
|
|
359
370
|
// packages/os-api/src/api/model/github/GitHubAppInstallation.ts
|
|
360
371
|
class GitHubAppInstallation {
|
|
361
372
|
id = null;
|
|
@@ -408,8 +419,7 @@ function isSystemParticipant(participant) {
|
|
|
408
419
|
return scopeType(participant) === "system" /* SYSTEM */;
|
|
409
420
|
}
|
|
410
421
|
function isOrganizationParticipant(participant) {
|
|
411
|
-
|
|
412
|
-
return type === "organization" /* ORGANIZATION */ || type === "application" /* APPLICATION */;
|
|
422
|
+
return scopeType(participant) === "organization" /* ORGANIZATION */;
|
|
413
423
|
}
|
|
414
424
|
function isApplicationParticipant(participant) {
|
|
415
425
|
return scopeType(participant) === "application" /* APPLICATION */;
|
|
@@ -630,27 +640,45 @@ class WorkloadServiceProxy extends CrudServiceProxy7 {
|
|
|
630
640
|
return this.serviceProxy.invoke("syncIndex", []);
|
|
631
641
|
}
|
|
632
642
|
}
|
|
633
|
-
// packages/os-api/src/api/services/
|
|
634
|
-
import {
|
|
643
|
+
// packages/os-api/src/api/services/IMemberService.ts
|
|
644
|
+
import {
|
|
645
|
+
FunctionalIterablePage as FunctionalIterablePage4
|
|
646
|
+
} from "@kinotic-ai/core";
|
|
635
647
|
|
|
636
|
-
class
|
|
648
|
+
class MemberService {
|
|
649
|
+
serviceProxy;
|
|
637
650
|
constructor(kinotic) {
|
|
638
|
-
|
|
651
|
+
this.serviceProxy = kinotic.serviceProxy("org.kinotic.os.api.services.iam.MemberService");
|
|
652
|
+
}
|
|
653
|
+
async findMembers(applicationId, pageable) {
|
|
654
|
+
const page = await this.serviceProxy.invoke("findMembers", [applicationId, pageable]);
|
|
655
|
+
return new FunctionalIterablePage4(pageable, page, (next) => this.serviceProxy.invoke("findMembers", [applicationId, next]));
|
|
639
656
|
}
|
|
640
|
-
|
|
641
|
-
|
|
657
|
+
async searchMembers(searchText, applicationId, pageable) {
|
|
658
|
+
const page = await this.serviceProxy.invoke("searchMembers", [searchText, applicationId, pageable]);
|
|
659
|
+
return new FunctionalIterablePage4(pageable, page, (next) => this.serviceProxy.invoke("searchMembers", [searchText, applicationId, next]));
|
|
642
660
|
}
|
|
643
|
-
|
|
644
|
-
return this.serviceProxy.invoke("
|
|
661
|
+
inviteMember(email, displayName, applicationId) {
|
|
662
|
+
return this.serviceProxy.invoke("inviteMember", [email, displayName, applicationId]);
|
|
645
663
|
}
|
|
646
|
-
|
|
647
|
-
return this.serviceProxy.invoke("
|
|
664
|
+
setMemberEnabled(userId, enabled) {
|
|
665
|
+
return this.serviceProxy.invoke("setMemberEnabled", [userId, enabled]);
|
|
648
666
|
}
|
|
649
|
-
|
|
650
|
-
return this.serviceProxy.invoke("
|
|
667
|
+
removeMember(userId) {
|
|
668
|
+
return this.serviceProxy.invoke("removeMember", [userId]);
|
|
651
669
|
}
|
|
652
|
-
|
|
653
|
-
|
|
670
|
+
async findPendingInvites(applicationId, pageable) {
|
|
671
|
+
const page = await this.serviceProxy.invoke("findPendingInvites", [applicationId, pageable]);
|
|
672
|
+
return new FunctionalIterablePage4(pageable, page, (next) => this.serviceProxy.invoke("findPendingInvites", [applicationId, next]));
|
|
673
|
+
}
|
|
674
|
+
cancelInvite(inviteId) {
|
|
675
|
+
return this.serviceProxy.invoke("cancelInvite", [inviteId]);
|
|
676
|
+
}
|
|
677
|
+
memberDataSource(applicationId) {
|
|
678
|
+
return {
|
|
679
|
+
findAll: (pageable) => this.findMembers(applicationId, pageable),
|
|
680
|
+
search: (searchText, pageable) => this.searchMembers(searchText, applicationId, pageable)
|
|
681
|
+
};
|
|
654
682
|
}
|
|
655
683
|
}
|
|
656
684
|
// packages/os-api/src/api/services/IDeviceApprovalService.ts
|
|
@@ -664,9 +692,9 @@ class DeviceApprovalService {
|
|
|
664
692
|
}
|
|
665
693
|
}
|
|
666
694
|
// packages/os-api/src/api/services/IGitHubAppInstallationService.ts
|
|
667
|
-
import { CrudServiceProxy as
|
|
695
|
+
import { CrudServiceProxy as CrudServiceProxy8 } from "@kinotic-ai/core";
|
|
668
696
|
|
|
669
|
-
class GitHubAppInstallationService extends
|
|
697
|
+
class GitHubAppInstallationService extends CrudServiceProxy8 {
|
|
670
698
|
constructor(kinotic) {
|
|
671
699
|
super(kinotic.serviceProxy("org.kinotic.github.api.services.GitHubAppInstallationService"));
|
|
672
700
|
}
|
|
@@ -694,7 +722,7 @@ var OsApiPlugin = {
|
|
|
694
722
|
dataInsights: new DataInsightsService(kinotic),
|
|
695
723
|
vmNodes: new VmNodeServiceProxy(kinotic),
|
|
696
724
|
workloads: new WorkloadServiceProxy(kinotic),
|
|
697
|
-
|
|
725
|
+
members: new MemberService(kinotic),
|
|
698
726
|
deviceApproval: new DeviceApprovalService(kinotic),
|
|
699
727
|
githubAppInstallations: new GitHubAppInstallationService(kinotic)
|
|
700
728
|
};
|
|
@@ -723,6 +751,7 @@ export {
|
|
|
723
751
|
ProjectService,
|
|
724
752
|
Project,
|
|
725
753
|
ProgressType,
|
|
754
|
+
PendingInviteSummary,
|
|
726
755
|
ParticipantType,
|
|
727
756
|
PageableC3Type,
|
|
728
757
|
PageC3Type,
|
|
@@ -734,13 +763,13 @@ export {
|
|
|
734
763
|
NamedQueriesDefinitionService,
|
|
735
764
|
NamedQueriesDefinition,
|
|
736
765
|
MigrationService,
|
|
766
|
+
MemberService,
|
|
737
767
|
LoggersDescriptor,
|
|
738
768
|
LoggerLevelsDescriptor,
|
|
739
769
|
LogManager,
|
|
740
770
|
LogLevel,
|
|
741
771
|
KinoticProjectConfig,
|
|
742
772
|
IdDecorator,
|
|
743
|
-
IamUserService,
|
|
744
773
|
IamUser,
|
|
745
774
|
GroupLoggerLevelsDescriptor,
|
|
746
775
|
GitHubToken,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kinotic-ai/os-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"rxjs": "^7.8.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@kinotic-ai/core": "1.6.
|
|
44
|
+
"@kinotic-ai/core": "1.6.2",
|
|
45
45
|
"@types/node": "^25.3.2",
|
|
46
46
|
"@vitest/coverage-v8": "^4.0.18",
|
|
47
47
|
"@vitest/runner": "^4.0.18",
|