@oneuptime/common 12.0.3 → 12.0.4
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/Models/DatabaseModels/CephCluster.ts +14 -0
- package/Models/DatabaseModels/CodeRepository.ts +14 -6
- package/Models/DatabaseModels/DockerHost.ts +14 -0
- package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
- package/Models/DatabaseModels/GlobalSsoProject.ts +18 -0
- package/Models/DatabaseModels/IoTFleet.ts +14 -0
- package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
- package/Models/DatabaseModels/NetworkDevice.ts +14 -0
- package/Models/DatabaseModels/NetworkInterface.ts +18 -0
- package/Models/DatabaseModels/Project.ts +16 -2
- package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
- package/Models/DatabaseModels/Service.ts +30 -0
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
- package/Models/DatabaseModels/User.ts +30 -0
- package/Server/API/AIAgentDataAPI.ts +31 -0
- package/Server/API/DashboardAPI.ts +419 -12
- package/Server/API/GitHubAPI.ts +119 -283
- package/Server/API/UserAPI.ts +263 -1
- package/Server/EnvironmentConfig.ts +7 -3
- package/Server/Infrastructure/GlobalCache.ts +37 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Services/AnalyticsDatabaseService.ts +72 -1
- package/Server/Services/CodeRepositoryService.ts +105 -2
- package/Server/Services/DatabaseService.ts +185 -2
- package/Server/Services/OpenTelemetryIngestService.ts +230 -26
- package/Server/Services/UserService.ts +184 -0
- package/Server/Utils/AI/Toolbox/CodeTools.ts +45 -4
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
- package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -0
- package/Server/Utils/PasswordHash.ts +306 -0
- package/Tests/App/Dashboard/OverviewCustomFields.test.tsx +333 -0
- package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -0
- package/Tests/Server/API/AIAgentDataRepositoryToken.test.ts +381 -0
- package/Tests/Server/API/DashboardPublicAttributeValuesAPI.test.ts +943 -0
- package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
- package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
- package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
- package/Tests/Server/API/Helpers.ts +6 -1
- package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
- package/Tests/Server/Infrastructure/GlobalCache.test.ts +128 -0
- package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -0
- package/Tests/Server/Services/AddPerUserPasswordSaltMigration.test.ts +178 -0
- package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +5 -0
- package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
- package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
- package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +870 -0
- package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +568 -0
- package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
- package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
- package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +885 -0
- package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -0
- package/Tests/Server/Utils/AI/CodeTools.test.ts +47 -1
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
- package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
- package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
- package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -0
- package/Tests/Server/Utils/PasswordHash.test.ts +555 -0
- package/Tests/Types/Database/ColumnLength.test.ts +7 -1
- package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
- package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
- package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
- package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -0
- package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +271 -0
- package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +696 -0
- package/Tests/UI/Utils/UserProjectsModelAPI.test.ts +714 -0
- package/Tests/Utils/TeamMembersByProject.test.ts +655 -0
- package/Types/Database/ColumnLength.ts +9 -1
- package/Types/Database/TableColumn.ts +11 -0
- package/Types/Database/UnsynchronizedIndex.ts +48 -0
- package/Types/HashedString.ts +139 -4
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +85 -11
- package/UI/Components/Navbar/NavBar.tsx +12 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
- package/UI/Utils/ModelAPI/UserProjectsModelAPI.ts +257 -0
- package/Utils/TeamMembersByProject.ts +237 -0
- package/build/dist/Models/DatabaseModels/CephCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js +16 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js +16 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +16 -2
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Service.js +28 -1
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +32 -0
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +21 -2
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +304 -10
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/GitHubAPI.js +94 -167
- package/build/dist/Server/API/GitHubAPI.js.map +1 -1
- package/build/dist/Server/API/UserAPI.js +187 -2
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +7 -3
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/GlobalCache.js +29 -0
- package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +57 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
- package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +160 -2
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +155 -25
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +165 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +31 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +13 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
- package/build/dist/Server/Utils/PasswordHash.js +237 -0
- package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
- package/build/dist/Types/Database/ColumnLength.js +9 -1
- package/build/dist/Types/Database/ColumnLength.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
- package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
- package/build/dist/Types/HashedString.js +95 -5
- package/build/dist/Types/HashedString.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +51 -10
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBar.js +3 -1
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js +156 -0
- package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
- package/build/dist/Utils/TeamMembersByProject.js +145 -0
- package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import ModelAPI, { ListResult, RequestOptions } from "./ModelAPI";
|
|
2
|
+
import API from "../API/API";
|
|
3
|
+
import { APP_API_URL } from "../../Config";
|
|
4
|
+
import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
5
|
+
import Team from "../../../Models/DatabaseModels/Team";
|
|
6
|
+
import TeamMember from "../../../Models/DatabaseModels/TeamMember";
|
|
7
|
+
import User from "../../../Models/DatabaseModels/User";
|
|
8
|
+
import HTTPErrorResponse from "../../../Types/API/HTTPErrorResponse";
|
|
9
|
+
import HTTPMethod from "../../../Types/API/HTTPMethod";
|
|
10
|
+
import HTTPResponse from "../../../Types/API/HTTPResponse";
|
|
11
|
+
import URL from "../../../Types/API/URL";
|
|
12
|
+
import Query from "../../../Types/BaseDatabase/Query";
|
|
13
|
+
import Select from "../../../Types/BaseDatabase/Select";
|
|
14
|
+
import Sort from "../../../Types/BaseDatabase/Sort";
|
|
15
|
+
import GroupBy from "../../../Types/BaseDatabase/GroupBy";
|
|
16
|
+
import BadDataException from "../../../Types/Exception/BadDataException";
|
|
17
|
+
import { JSONArray, JSONObject } from "../../../Types/JSON";
|
|
18
|
+
import ObjectID from "../../../Types/ObjectID";
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
* A drop-in ModelAPI for tables that list TeamMember but mean to list the
|
|
22
|
+
* PROJECTS one user belongs to - the Admin Dashboard's User > Projects page
|
|
23
|
+
* being the one that does.
|
|
24
|
+
*
|
|
25
|
+
* TeamMember rows are (user, team) pairs, so the plain API pages over
|
|
26
|
+
* memberships: a user on three teams of one project occupies three rows and
|
|
27
|
+
* reads as three projects. This API pages over projects instead, by calling the
|
|
28
|
+
* master-admin endpoint that does the grouping server-side
|
|
29
|
+
* (POST /user/:userId/projects). Grouping there rather than in the browser is
|
|
30
|
+
* what makes `count` a number of projects and every page boundary fall between
|
|
31
|
+
* two projects rather than between two of one project's teams.
|
|
32
|
+
*
|
|
33
|
+
* The endpoint owns the shape of a row, so the caller's `select` and `sort` are
|
|
34
|
+
* NOT forwarded - a row is always a project with its teams, always ordered by
|
|
35
|
+
* project name. Adding a column to the table therefore means adding the field
|
|
36
|
+
* to the endpoint's select and to the row it serializes, not just to the
|
|
37
|
+
* column list. Only `skip`/`limit` and the user in the query are the caller's.
|
|
38
|
+
*
|
|
39
|
+
* Deleting is redefined to match what a row now means - see deleteItem.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
export interface UserProjectExtras {
|
|
43
|
+
// Every team this user belongs to in this project, sorted by name.
|
|
44
|
+
teamsForProject: Array<Team>;
|
|
45
|
+
teamCountForProject: number;
|
|
46
|
+
/*
|
|
47
|
+
* How many of those memberships are still unaccepted invitations. A user can
|
|
48
|
+
* be a fully accepted member of one team of a project and a pending invite on
|
|
49
|
+
* another.
|
|
50
|
+
*/
|
|
51
|
+
pendingTeamCountForProject: number;
|
|
52
|
+
// The ids of every membership this row was folded from.
|
|
53
|
+
teamMemberIdsForProject: Array<string>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* The row is still a TeamMember - the table, its columns and its delete action
|
|
58
|
+
* are all typed against the model - it just stands for a project the user is in
|
|
59
|
+
* rather than for one of their memberships.
|
|
60
|
+
*/
|
|
61
|
+
export type UserProjectRow = TeamMember & UserProjectExtras;
|
|
62
|
+
|
|
63
|
+
export default class UserProjectsModelAPI extends ModelAPI {
|
|
64
|
+
public static override async getList<TBaseModel extends BaseModel>(data: {
|
|
65
|
+
modelType: { new (): TBaseModel };
|
|
66
|
+
query: Query<TBaseModel>;
|
|
67
|
+
groupBy?: GroupBy<TBaseModel> | undefined;
|
|
68
|
+
limit: number;
|
|
69
|
+
skip: number;
|
|
70
|
+
select: Select<TBaseModel>;
|
|
71
|
+
sort: Sort<TBaseModel>;
|
|
72
|
+
requestOptions?: RequestOptions | undefined;
|
|
73
|
+
}): Promise<ListResult<TBaseModel>> {
|
|
74
|
+
if (!(new data.modelType() instanceof TeamMember)) {
|
|
75
|
+
/*
|
|
76
|
+
* Not the model this API exists for - a table's entity filter fetching
|
|
77
|
+
* its dropdown options, say. Behave like the plain one, but through
|
|
78
|
+
* `super` so a subclass's getCommonHeaders still applies.
|
|
79
|
+
*/
|
|
80
|
+
return super.getList<TBaseModel>(data);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const userId: ObjectID | null = this.getUserIdFromQuery(
|
|
84
|
+
data.query as Query<TeamMember>,
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
if (!userId) {
|
|
88
|
+
/*
|
|
89
|
+
* Without a user there is no list to fetch - the endpoint is
|
|
90
|
+
* "the projects of THIS user". Failing loudly beats returning an empty
|
|
91
|
+
* list, which would render as "this user is in no projects".
|
|
92
|
+
*/
|
|
93
|
+
throw new BadDataException(
|
|
94
|
+
"A user id is required to list the projects a user belongs to.",
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const url: URL = URL.fromString(APP_API_URL.toString())
|
|
99
|
+
.addRoute(new User().getCrudApiPath()!)
|
|
100
|
+
.addRoute(`/${userId.toString()}/projects`);
|
|
101
|
+
|
|
102
|
+
const result: HTTPResponse<JSONArray> | HTTPErrorResponse =
|
|
103
|
+
await API.fetch<JSONArray>({
|
|
104
|
+
method: HTTPMethod.POST,
|
|
105
|
+
url: url,
|
|
106
|
+
data: {},
|
|
107
|
+
headers: this.getCommonHeaders(data.requestOptions),
|
|
108
|
+
params: {
|
|
109
|
+
limit: data.limit.toString(),
|
|
110
|
+
skip: data.skip.toString(),
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
if (result instanceof HTTPErrorResponse) {
|
|
115
|
+
throw result;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const rows: Array<UserProjectRow> = (result.data as JSONArray).map(
|
|
119
|
+
(item: JSONObject) => {
|
|
120
|
+
return this.toRow(item);
|
|
121
|
+
},
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
return {
|
|
125
|
+
data: rows as unknown as Array<TBaseModel>,
|
|
126
|
+
count: result.count,
|
|
127
|
+
skip: result.skip,
|
|
128
|
+
limit: result.limit,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Removes the user from the project on this row - every one of their team
|
|
134
|
+
* memberships in it, not just the one whose id the row happens to carry.
|
|
135
|
+
*
|
|
136
|
+
* A grouped row stands for a project, so deleting one membership would leave
|
|
137
|
+
* the row on screen (still in the project, via their other teams) and look
|
|
138
|
+
* like the delete silently failed. Removing the user from a single team is
|
|
139
|
+
* done from the memberships table on the same page, where a row is a
|
|
140
|
+
* membership again.
|
|
141
|
+
*
|
|
142
|
+
* This goes through one `remove-from-project` request rather than a DELETE
|
|
143
|
+
* per membership, and that is load-bearing rather than an optimisation. The
|
|
144
|
+
* server refuses to remove the last accepted member of the Owners team, and
|
|
145
|
+
* it refuses per request - so a loop deletes every other membership first and
|
|
146
|
+
* only then reports a failure, leaving the person stripped of the teams the
|
|
147
|
+
* caller was just told they had not lost. The endpoint runs that check across
|
|
148
|
+
* the whole set before deleting anything.
|
|
149
|
+
*/
|
|
150
|
+
public static override async deleteItem<TBaseModel extends BaseModel>(data: {
|
|
151
|
+
modelType: { new (): TBaseModel };
|
|
152
|
+
id: ObjectID;
|
|
153
|
+
requestOptions?: RequestOptions | undefined;
|
|
154
|
+
}): Promise<void> {
|
|
155
|
+
if (!(new data.modelType() instanceof TeamMember)) {
|
|
156
|
+
return super.deleteItem<TBaseModel>(data);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const rowMembership: TeamMember | null = await this.getItem<TeamMember>({
|
|
160
|
+
modelType: TeamMember,
|
|
161
|
+
id: data.id,
|
|
162
|
+
select: {
|
|
163
|
+
_id: true,
|
|
164
|
+
userId: true,
|
|
165
|
+
projectId: true,
|
|
166
|
+
},
|
|
167
|
+
requestOptions: data.requestOptions,
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
const userId: ObjectID | undefined = rowMembership?.userId;
|
|
171
|
+
const projectId: ObjectID | undefined = rowMembership?.projectId;
|
|
172
|
+
|
|
173
|
+
if (!userId || !projectId) {
|
|
174
|
+
/*
|
|
175
|
+
* The row is gone, or came back without the user or project it stands
|
|
176
|
+
* for. Fall back to the single delete the table asked for rather than
|
|
177
|
+
* guessing which project to empty.
|
|
178
|
+
*/
|
|
179
|
+
return super.deleteItem<TBaseModel>(data);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
const url: URL = URL.fromString(APP_API_URL.toString())
|
|
183
|
+
.addRoute(new User().getCrudApiPath()!)
|
|
184
|
+
.addRoute(`/${userId.toString()}/remove-from-project`);
|
|
185
|
+
|
|
186
|
+
const result: HTTPResponse<JSONObject> | HTTPErrorResponse =
|
|
187
|
+
await API.post<JSONObject>({
|
|
188
|
+
url: url,
|
|
189
|
+
data: {
|
|
190
|
+
projectId: projectId.toString(),
|
|
191
|
+
},
|
|
192
|
+
headers: this.getCommonHeaders(data.requestOptions),
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
if (result instanceof HTTPErrorResponse) {
|
|
196
|
+
throw result;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* The user the table is listing projects for.
|
|
202
|
+
*
|
|
203
|
+
* Accepts the id in the shapes a table query can carry it in: an ObjectID
|
|
204
|
+
* (what the page passes) or a plain string.
|
|
205
|
+
*/
|
|
206
|
+
private static getUserIdFromQuery(query: Query<TeamMember>): ObjectID | null {
|
|
207
|
+
const value: unknown = (query as Record<string, unknown>)["userId"];
|
|
208
|
+
|
|
209
|
+
if (value instanceof ObjectID) {
|
|
210
|
+
return value;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
if (typeof value === "string" && value) {
|
|
214
|
+
return new ObjectID(value);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* One row of the response.
|
|
222
|
+
*
|
|
223
|
+
* The base of the row is a TeamMember and hydrates as one. The aggregate
|
|
224
|
+
* fields are not columns of TeamMember, so BaseModel.fromJSON drops them -
|
|
225
|
+
* they are read off the raw JSON and attached here.
|
|
226
|
+
*/
|
|
227
|
+
private static toRow(item: JSONObject): UserProjectRow {
|
|
228
|
+
const row: UserProjectRow = BaseModel.fromJSON(
|
|
229
|
+
item,
|
|
230
|
+
TeamMember,
|
|
231
|
+
) as UserProjectRow;
|
|
232
|
+
|
|
233
|
+
row.teamsForProject = BaseModel.fromJSONArray(
|
|
234
|
+
(item["teams"] as Array<JSONObject>) || [],
|
|
235
|
+
Team,
|
|
236
|
+
);
|
|
237
|
+
row.teamCountForProject = row.teamsForProject.length;
|
|
238
|
+
row.pendingTeamCountForProject = this.toCount(item["pendingTeamCount"]);
|
|
239
|
+
row.teamMemberIdsForProject = (
|
|
240
|
+
(item["teamMemberIds"] as Array<unknown>) || []
|
|
241
|
+
)
|
|
242
|
+
.map((id: unknown) => {
|
|
243
|
+
return id?.toString() || "";
|
|
244
|
+
})
|
|
245
|
+
.filter((id: string) => {
|
|
246
|
+
return Boolean(id);
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
return row;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
private static toCount(value: unknown): number {
|
|
253
|
+
const count: number = Number(value);
|
|
254
|
+
|
|
255
|
+
return Number.isFinite(count) && count > 0 ? count : 0;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import Project from "../Models/DatabaseModels/Project";
|
|
2
|
+
import Team from "../Models/DatabaseModels/Team";
|
|
3
|
+
import TeamMember from "../Models/DatabaseModels/TeamMember";
|
|
4
|
+
import ObjectID from "../Types/ObjectID";
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* TeamMember is a (user, team) pair, so "every membership this user has" is not
|
|
8
|
+
* the same list as "every project this user belongs to": someone on three teams
|
|
9
|
+
* of the same project has three memberships but is in one project.
|
|
10
|
+
*
|
|
11
|
+
* These helpers collapse a user's memberships into one row per project, carrying
|
|
12
|
+
* every team they belong to in that project. The Admin Dashboard's
|
|
13
|
+
* User > Projects page is the list this exists for, and the master-admin
|
|
14
|
+
* `POST /user/:userId/projects` endpoint is what runs it.
|
|
15
|
+
*
|
|
16
|
+
* This is the project-side mirror of TeamMembersByUser (which collapses a
|
|
17
|
+
* project's memberships into one row per user). They are kept apart rather than
|
|
18
|
+
* generalised into one grouper because the aggregate each side needs is
|
|
19
|
+
* different - one carries teams, the other carries teams *and* the project - and
|
|
20
|
+
* a shared abstraction would be read by neither caller.
|
|
21
|
+
*/
|
|
22
|
+
export interface UserProjectMembership {
|
|
23
|
+
/*
|
|
24
|
+
* Identity of the row. The lowest of the user's membership ids in this
|
|
25
|
+
* project, so the row carries the same id whatever order the memberships came
|
|
26
|
+
* back in - a first-seen id would change between two reads sorted differently
|
|
27
|
+
* and break every id-keyed thing on top of it (row selection, delete).
|
|
28
|
+
*/
|
|
29
|
+
id: string | undefined;
|
|
30
|
+
projectId: ObjectID | undefined;
|
|
31
|
+
project: Project | undefined;
|
|
32
|
+
// Every team this user belongs to in this project, sorted by name.
|
|
33
|
+
teams: Array<Team>;
|
|
34
|
+
// The ids of every membership folded into this row.
|
|
35
|
+
teamMemberIds: Array<string>;
|
|
36
|
+
/*
|
|
37
|
+
* True as soon as ONE of the memberships has been accepted: a person who has
|
|
38
|
+
* accepted their invitation to any team of the project is in the project.
|
|
39
|
+
*/
|
|
40
|
+
hasAcceptedInvitation: boolean;
|
|
41
|
+
// How many of the memberships are still unaccepted invitations.
|
|
42
|
+
pendingTeamCount: number;
|
|
43
|
+
// When the user was first invited to this project (earliest membership).
|
|
44
|
+
joinedAt: Date | undefined;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default class TeamMembersByProject {
|
|
48
|
+
/**
|
|
49
|
+
* The project a membership is grouped under. Null when the membership carries
|
|
50
|
+
* no project at all - those rows are never merged, because merging them would
|
|
51
|
+
* put memberships of unrelated projects on one line.
|
|
52
|
+
*/
|
|
53
|
+
public static getGroupKey(teamMember: TeamMember): string | null {
|
|
54
|
+
const projectId: string =
|
|
55
|
+
teamMember.projectId?.toString() ||
|
|
56
|
+
teamMember.project?._id?.toString() ||
|
|
57
|
+
"";
|
|
58
|
+
|
|
59
|
+
return projectId || null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The name this row reads and sorts under. Falls back to the project id so a
|
|
64
|
+
* row whose project could not be joined still lands somewhere deterministic
|
|
65
|
+
* rather than sorting as a blank.
|
|
66
|
+
*/
|
|
67
|
+
public static getProjectName(row: UserProjectMembership): string {
|
|
68
|
+
return (
|
|
69
|
+
row.project?.name?.toString() ||
|
|
70
|
+
row.projectId?.toString() ||
|
|
71
|
+
row.project?._id?.toString() ||
|
|
72
|
+
""
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* One row per project, in the order each project was first seen. The input
|
|
78
|
+
* order is whatever the caller sorted the memberships by, so first-seen order
|
|
79
|
+
* keeps that sort intact.
|
|
80
|
+
*/
|
|
81
|
+
public static groupByProject(
|
|
82
|
+
teamMembers: Array<TeamMember>,
|
|
83
|
+
): Array<UserProjectMembership> {
|
|
84
|
+
const rowsByGroupKey: Map<string, UserProjectMembership> = new Map<
|
|
85
|
+
string,
|
|
86
|
+
UserProjectMembership
|
|
87
|
+
>();
|
|
88
|
+
const rows: Array<UserProjectMembership> = [];
|
|
89
|
+
|
|
90
|
+
/*
|
|
91
|
+
* Which teams are already on a row. Tracked separately rather than
|
|
92
|
+
* re-derived from `teams`, because a membership identifies its team by
|
|
93
|
+
* `teamId` while the team object it carries identifies itself by `_id`, and
|
|
94
|
+
* either one can be missing from a given select.
|
|
95
|
+
*/
|
|
96
|
+
const teamKeysByRow: Map<UserProjectMembership, Set<string>> = new Map<
|
|
97
|
+
UserProjectMembership,
|
|
98
|
+
Set<string>
|
|
99
|
+
>();
|
|
100
|
+
|
|
101
|
+
for (const teamMember of teamMembers) {
|
|
102
|
+
const groupKey: string | null = this.getGroupKey(teamMember);
|
|
103
|
+
|
|
104
|
+
let row: UserProjectMembership | undefined = groupKey
|
|
105
|
+
? rowsByGroupKey.get(groupKey)
|
|
106
|
+
: undefined;
|
|
107
|
+
|
|
108
|
+
if (!row) {
|
|
109
|
+
row = {
|
|
110
|
+
id: undefined,
|
|
111
|
+
projectId: teamMember.projectId || undefined,
|
|
112
|
+
project: teamMember.project || undefined,
|
|
113
|
+
teams: [],
|
|
114
|
+
teamMemberIds: [],
|
|
115
|
+
hasAcceptedInvitation: false,
|
|
116
|
+
pendingTeamCount: 0,
|
|
117
|
+
joinedAt: undefined,
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
teamKeysByRow.set(row, new Set<string>());
|
|
121
|
+
|
|
122
|
+
if (groupKey) {
|
|
123
|
+
rowsByGroupKey.set(groupKey, row);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
rows.push(row);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
this.addMembershipToRow(row, teamMember, teamKeysByRow.get(row)!);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
for (const row of rows) {
|
|
133
|
+
this.finalizeRow(row);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return rows;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Alphabetical by project name, case-insensitively. Rows with no name at all
|
|
141
|
+
* sort last so the list does not open on a run of blanks.
|
|
142
|
+
*
|
|
143
|
+
* Returns a new array; the input is left alone.
|
|
144
|
+
*/
|
|
145
|
+
public static sortByProjectName(
|
|
146
|
+
rows: Array<UserProjectMembership>,
|
|
147
|
+
): Array<UserProjectMembership> {
|
|
148
|
+
return [...rows].sort(
|
|
149
|
+
(a: UserProjectMembership, b: UserProjectMembership) => {
|
|
150
|
+
const nameA: string = this.getProjectName(a).toLowerCase();
|
|
151
|
+
const nameB: string = this.getProjectName(b).toLowerCase();
|
|
152
|
+
|
|
153
|
+
if (!nameA && !nameB) {
|
|
154
|
+
return 0;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (!nameA) {
|
|
158
|
+
return 1;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!nameB) {
|
|
162
|
+
return -1;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return nameA.localeCompare(nameB);
|
|
166
|
+
},
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
private static addMembershipToRow(
|
|
171
|
+
row: UserProjectMembership,
|
|
172
|
+
teamMember: TeamMember,
|
|
173
|
+
teamKeys: Set<string>,
|
|
174
|
+
): void {
|
|
175
|
+
if (teamMember.hasAcceptedInvitation) {
|
|
176
|
+
row.hasAcceptedInvitation = true;
|
|
177
|
+
} else {
|
|
178
|
+
row.pendingTeamCount = row.pendingTeamCount + 1;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/*
|
|
182
|
+
* A later membership can carry the joined project when the first one did
|
|
183
|
+
* not (different selects, or a nullified relation), so fill in whatever is
|
|
184
|
+
* still missing rather than trusting the first membership seen.
|
|
185
|
+
*/
|
|
186
|
+
if (!row.project && teamMember.project) {
|
|
187
|
+
row.project = teamMember.project;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (!row.projectId && teamMember.projectId) {
|
|
191
|
+
row.projectId = teamMember.projectId;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const membershipId: string = teamMember._id?.toString() || "";
|
|
195
|
+
|
|
196
|
+
if (membershipId) {
|
|
197
|
+
row.teamMemberIds.push(membershipId);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const createdAt: Date | undefined = teamMember.createdAt;
|
|
201
|
+
|
|
202
|
+
if (createdAt && (!row.joinedAt || createdAt < row.joinedAt)) {
|
|
203
|
+
row.joinedAt = createdAt;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const team: Team | undefined = teamMember.team;
|
|
207
|
+
|
|
208
|
+
if (!team) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const teamKey: string =
|
|
213
|
+
teamMember.teamId?.toString() ||
|
|
214
|
+
team._id?.toString() ||
|
|
215
|
+
team.name?.toString() ||
|
|
216
|
+
"";
|
|
217
|
+
|
|
218
|
+
if (!teamKey || teamKeys.has(teamKey)) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
teamKeys.add(teamKey);
|
|
223
|
+
row.teams.push(team);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
private static finalizeRow(row: UserProjectMembership): void {
|
|
227
|
+
row.teams.sort((a: Team, b: Team) => {
|
|
228
|
+
return (a.name?.toString() || "")
|
|
229
|
+
.toLowerCase()
|
|
230
|
+
.localeCompare((b.name?.toString() || "").toLowerCase());
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
if (row.teamMemberIds.length > 0) {
|
|
234
|
+
row.id = [...row.teamMemberIds].sort()[0]!;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -1112,7 +1112,22 @@ CephCluster = __decorate([
|
|
|
1112
1112
|
*/
|
|
1113
1113
|
,
|
|
1114
1114
|
Index(["projectId", "name"], { unique: true }),
|
|
1115
|
-
Index(["projectId", "isArchived"])
|
|
1115
|
+
Index(["projectId", "isArchived"])
|
|
1116
|
+
/*
|
|
1117
|
+
* Restores a UNIQUE index that an autogenerated migration deleted.
|
|
1118
|
+
*
|
|
1119
|
+
* Declared natively and NAMED. TypeORM's schema builder matches database
|
|
1120
|
+
* indexes to entity metadata by name and drops every one it cannot find, which
|
|
1121
|
+
* is how the original was lost: it existed only in a migration, so entity
|
|
1122
|
+
* metadata never mentioned it and `migration:generate` emitted a DROP. Naming
|
|
1123
|
+
* it here keeps the original index name and lets the builder match, compare
|
|
1124
|
+
* uniqueness and columns, and keep it.
|
|
1125
|
+
*/
|
|
1126
|
+
,
|
|
1127
|
+
Index("IDX_ceph_cluster_slug", ["slug"], {
|
|
1128
|
+
unique: true,
|
|
1129
|
+
where: '"deletedAt" IS NULL',
|
|
1130
|
+
}),
|
|
1116
1131
|
TableMetadata({
|
|
1117
1132
|
tableName: "CephCluster",
|
|
1118
1133
|
singularName: "Ceph Cluster",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CephCluster.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/CephCluster.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CephCluster.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/CephCluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,19 @@ let CodeRepository = class CodeRepository extends BaseModel {
|
|
|
51
51
|
this.testCommand = undefined;
|
|
52
52
|
this.maxOpenFixPullRequests = undefined;
|
|
53
53
|
this.repositoryUrl = undefined;
|
|
54
|
-
|
|
54
|
+
/*
|
|
55
|
+
* GitHub App specific fields.
|
|
56
|
+
*
|
|
57
|
+
* `create` is empty on purpose. This column decides which GitHub App
|
|
58
|
+
* installation a repository token is minted from, so a caller who could set
|
|
59
|
+
* it could name ANOTHER tenant's installation, put the row in a project they
|
|
60
|
+
* own, and pass every "is this row in your project?" check on the way to a
|
|
61
|
+
* live `ghs_` token. It is assigned server-side only — by the install
|
|
62
|
+
* callback and the installation webhooks, which write with `isRoot` after
|
|
63
|
+
* GitHub has confirmed the installation belongs to the project.
|
|
64
|
+
* CodeRepositoryService.onBeforeCreate/onBeforeUpdate enforce the same rule
|
|
65
|
+
* a second time, in case a future route writes as root.
|
|
66
|
+
*/
|
|
55
67
|
this.gitHubAppInstallationId = undefined;
|
|
56
68
|
// GitLab specific fields
|
|
57
69
|
this.gitLabProjectId = undefined;
|
|
@@ -626,11 +638,7 @@ __decorate([
|
|
|
626
638
|
], CodeRepository.prototype, "repositoryUrl", void 0);
|
|
627
639
|
__decorate([
|
|
628
640
|
ColumnAccessControl({
|
|
629
|
-
create: [
|
|
630
|
-
Permission.ProjectOwner,
|
|
631
|
-
Permission.ProjectAdmin,
|
|
632
|
-
Permission.CreateCodeRepository,
|
|
633
|
-
],
|
|
641
|
+
create: [],
|
|
634
642
|
read: [
|
|
635
643
|
Permission.ProjectOwner,
|
|
636
644
|
Permission.ProjectAdmin,
|