@aaronshaf/ger 2.0.6 → 2.0.8
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 +8 -0
- package/package.json +1 -1
- package/src/api/gerrit.ts +1 -1
- package/src/cli/commands/search.ts +38 -0
- package/src/schemas/gerrit.ts +38 -54
package/README.md
CHANGED
package/package.json
CHANGED
package/src/api/gerrit.ts
CHANGED
|
@@ -215,7 +215,7 @@ export const GerritApiServiceLive: Layer.Layer<GerritApiService, never, ConfigSe
|
|
|
215
215
|
const listChanges = (query = 'is:open') =>
|
|
216
216
|
Effect.gen(function* () {
|
|
217
217
|
const { credentials, authHeader } = yield* getCredentialsAndAuth
|
|
218
|
-
const url = `${credentials.host}/a/changes/?q=${encodeURIComponent(query)}&o=LABELS&o=DETAILED_LABELS&o=DETAILED_ACCOUNTS&o=SUBMITTABLE`
|
|
218
|
+
const url = `${credentials.host}/a/changes/?q=${encodeURIComponent(query)}&o=LABELS&o=DETAILED_LABELS&o=DETAILED_ACCOUNTS&o=SUBMITTABLE&o=CURRENT_REVISION`
|
|
219
219
|
return yield* makeRequest(url, authHeader, 'GET', undefined, Schema.Array(ChangeInfo))
|
|
220
220
|
})
|
|
221
221
|
|
|
@@ -103,13 +103,51 @@ export const searchCommand = (
|
|
|
103
103
|
changes: groupedChanges.flatMap(({ project, changes: projectChanges }) =>
|
|
104
104
|
projectChanges.map((change) => ({
|
|
105
105
|
number: change._number,
|
|
106
|
+
id: change.id,
|
|
107
|
+
change_id: change.change_id,
|
|
106
108
|
subject: change.subject,
|
|
107
109
|
status: change.status,
|
|
108
110
|
project,
|
|
109
111
|
branch: change.branch,
|
|
110
112
|
owner: change.owner?.name ?? 'Unknown',
|
|
113
|
+
...(change.owner?._account_id !== undefined
|
|
114
|
+
? { owner_account_id: change.owner._account_id }
|
|
115
|
+
: {}),
|
|
111
116
|
...(change.owner?.email ? { owner_email: change.owner.email } : {}),
|
|
117
|
+
...(change.owner?.username ? { owner_username: change.owner.username } : {}),
|
|
118
|
+
...(change.created ? { created: change.created } : {}),
|
|
112
119
|
...(change.updated ? { updated: change.updated } : {}),
|
|
120
|
+
...(change.insertions !== undefined ? { insertions: change.insertions } : {}),
|
|
121
|
+
...(change.deletions !== undefined ? { deletions: change.deletions } : {}),
|
|
122
|
+
...(change.current_revision ? { current_revision: change.current_revision } : {}),
|
|
123
|
+
...(change.submittable !== undefined ? { submittable: change.submittable } : {}),
|
|
124
|
+
...(change.work_in_progress !== undefined
|
|
125
|
+
? { work_in_progress: change.work_in_progress }
|
|
126
|
+
: {}),
|
|
127
|
+
...(change.topic ? { topic: change.topic } : {}),
|
|
128
|
+
...(change.labels && Object.keys(change.labels).length > 0
|
|
129
|
+
? { labels: change.labels }
|
|
130
|
+
: {}),
|
|
131
|
+
...(change.reviewers?.REVIEWER && change.reviewers.REVIEWER.length > 0
|
|
132
|
+
? {
|
|
133
|
+
reviewers: change.reviewers.REVIEWER.map((r) => ({
|
|
134
|
+
...(r._account_id !== undefined ? { account_id: r._account_id } : {}),
|
|
135
|
+
...(r.name ? { name: r.name } : {}),
|
|
136
|
+
...(r.email ? { email: r.email } : {}),
|
|
137
|
+
...(r.username ? { username: r.username } : {}),
|
|
138
|
+
})),
|
|
139
|
+
}
|
|
140
|
+
: {}),
|
|
141
|
+
...(change.reviewers?.CC && change.reviewers.CC.length > 0
|
|
142
|
+
? {
|
|
143
|
+
cc: change.reviewers.CC.map((r) => ({
|
|
144
|
+
...(r._account_id !== undefined ? { account_id: r._account_id } : {}),
|
|
145
|
+
...(r.name ? { name: r.name } : {}),
|
|
146
|
+
...(r.email ? { email: r.email } : {}),
|
|
147
|
+
...(r.username ? { username: r.username } : {}),
|
|
148
|
+
})),
|
|
149
|
+
}
|
|
150
|
+
: {}),
|
|
113
151
|
})),
|
|
114
152
|
),
|
|
115
153
|
}
|
package/src/schemas/gerrit.ts
CHANGED
|
@@ -78,6 +78,19 @@ const ChangeReviewerAccountInfo: Schema.Schema<ChangeReviewerAccount> = Schema.S
|
|
|
78
78
|
type ChangeReviewerMap = Partial<
|
|
79
79
|
Record<'REVIEWER' | 'CC' | 'REMOVED', ReadonlyArray<ChangeReviewerAccount>>
|
|
80
80
|
>
|
|
81
|
+
// Account/User schema (reusable for groups and reviewers)
|
|
82
|
+
export const AccountInfo: Schema.Schema<{
|
|
83
|
+
readonly _account_id: number
|
|
84
|
+
readonly name?: string
|
|
85
|
+
readonly email?: string
|
|
86
|
+
readonly username?: string
|
|
87
|
+
}> = Schema.Struct({
|
|
88
|
+
_account_id: Schema.Number,
|
|
89
|
+
name: Schema.optional(Schema.String),
|
|
90
|
+
email: Schema.optional(Schema.String),
|
|
91
|
+
username: Schema.optional(Schema.String),
|
|
92
|
+
})
|
|
93
|
+
export type AccountInfo = Schema.Schema.Type<typeof AccountInfo>
|
|
81
94
|
|
|
82
95
|
export const ChangeInfo: Schema.Schema<{
|
|
83
96
|
readonly id: string
|
|
@@ -145,51 +158,36 @@ export const ChangeInfo: Schema.Schema<{
|
|
|
145
158
|
insertions: Schema.optional(Schema.Number),
|
|
146
159
|
deletions: Schema.optional(Schema.Number),
|
|
147
160
|
_number: Schema.Number,
|
|
148
|
-
owner: Schema.optional(
|
|
149
|
-
Schema.Struct({
|
|
150
|
-
_account_id: Schema.Number,
|
|
151
|
-
name: Schema.optional(Schema.String),
|
|
152
|
-
email: Schema.optional(Schema.String),
|
|
153
|
-
username: Schema.optional(Schema.String),
|
|
154
|
-
}),
|
|
155
|
-
),
|
|
161
|
+
owner: Schema.optional(AccountInfo),
|
|
156
162
|
labels: Schema.optional(
|
|
157
163
|
Schema.Record({
|
|
158
164
|
key: Schema.String,
|
|
159
165
|
value: Schema.Struct({
|
|
160
|
-
approved: Schema.optional(
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
email: Schema.optional(Schema.String),
|
|
165
|
-
username: Schema.optional(Schema.String),
|
|
166
|
-
}),
|
|
167
|
-
),
|
|
168
|
-
rejected: Schema.optional(
|
|
169
|
-
Schema.Struct({
|
|
170
|
-
_account_id: Schema.Number,
|
|
171
|
-
name: Schema.optional(Schema.String),
|
|
172
|
-
email: Schema.optional(Schema.String),
|
|
173
|
-
username: Schema.optional(Schema.String),
|
|
174
|
-
}),
|
|
175
|
-
),
|
|
176
|
-
recommended: Schema.optional(
|
|
177
|
-
Schema.Struct({
|
|
178
|
-
_account_id: Schema.Number,
|
|
179
|
-
name: Schema.optional(Schema.String),
|
|
180
|
-
email: Schema.optional(Schema.String),
|
|
181
|
-
username: Schema.optional(Schema.String),
|
|
182
|
-
}),
|
|
183
|
-
),
|
|
184
|
-
disliked: Schema.optional(
|
|
185
|
-
Schema.Struct({
|
|
186
|
-
_account_id: Schema.Number,
|
|
187
|
-
name: Schema.optional(Schema.String),
|
|
188
|
-
email: Schema.optional(Schema.String),
|
|
189
|
-
username: Schema.optional(Schema.String),
|
|
190
|
-
}),
|
|
191
|
-
),
|
|
166
|
+
approved: Schema.optional(AccountInfo),
|
|
167
|
+
rejected: Schema.optional(AccountInfo),
|
|
168
|
+
recommended: Schema.optional(AccountInfo),
|
|
169
|
+
disliked: Schema.optional(AccountInfo),
|
|
192
170
|
value: Schema.optional(Schema.Number),
|
|
171
|
+
default_value: Schema.optional(Schema.Number),
|
|
172
|
+
blocking: Schema.optional(Schema.Boolean),
|
|
173
|
+
optional: Schema.optional(Schema.Boolean),
|
|
174
|
+
values: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.String })),
|
|
175
|
+
all: Schema.optional(
|
|
176
|
+
Schema.Array(
|
|
177
|
+
Schema.Struct({
|
|
178
|
+
_account_id: Schema.optional(Schema.Number),
|
|
179
|
+
name: Schema.optional(Schema.String),
|
|
180
|
+
email: Schema.optional(Schema.String),
|
|
181
|
+
username: Schema.optional(Schema.String),
|
|
182
|
+
value: Schema.optional(Schema.Number),
|
|
183
|
+
permitted_voting_range: Schema.optional(
|
|
184
|
+
Schema.Struct({ min: Schema.Number, max: Schema.Number }),
|
|
185
|
+
),
|
|
186
|
+
date: Schema.optional(Schema.String),
|
|
187
|
+
tag: Schema.optional(Schema.String),
|
|
188
|
+
}),
|
|
189
|
+
),
|
|
190
|
+
),
|
|
193
191
|
}),
|
|
194
192
|
}),
|
|
195
193
|
),
|
|
@@ -605,20 +603,6 @@ export const GerritError: Schema.Schema<{
|
|
|
605
603
|
})
|
|
606
604
|
export type GerritError = Schema.Schema.Type<typeof GerritError>
|
|
607
605
|
|
|
608
|
-
// Account/User schema (reusable for groups and reviewers)
|
|
609
|
-
export const AccountInfo: Schema.Schema<{
|
|
610
|
-
readonly _account_id: number
|
|
611
|
-
readonly name?: string
|
|
612
|
-
readonly email?: string
|
|
613
|
-
readonly username?: string
|
|
614
|
-
}> = Schema.Struct({
|
|
615
|
-
_account_id: Schema.Number,
|
|
616
|
-
name: Schema.optional(Schema.String),
|
|
617
|
-
email: Schema.optional(Schema.String),
|
|
618
|
-
username: Schema.optional(Schema.String),
|
|
619
|
-
})
|
|
620
|
-
export type AccountInfo = Schema.Schema.Type<typeof AccountInfo>
|
|
621
|
-
|
|
622
606
|
// Groups schemas
|
|
623
607
|
export const GroupInfo: Schema.Schema<{
|
|
624
608
|
readonly id: string
|