MCPcopy Index your code
hub / github.com/simstudioai/sim / apiFindNotesMetadata

Function apiFindNotesMetadata

apps/sim/connectors/evernote/evernote.ts:231–308  ·  view source on GitHub ↗

* Calls NoteStore.findNotesMetadata with offset-based pagination. * * Thrift field numbers (from NoteStore.thrift): * findNotesMetadata(1:token, 2:NoteFilter, 3:offset, 4:maxNotes, 5:ResultSpec) * NoteFilter: 4:notebookGuid * NotesMetadataResultSpec: 2:includeTitle, 6:includeCreated, 7:in

(
  token: string,
  offset: number,
  maxNotes: number,
  notebookGuid?: string,
  retryOptions?: Parameters<typeof fetchWithRetry>[2]
)

Source from the content-addressed store, hash-verified

229 * 11:notebookGuid, 12:list<tagGuids>
230 */
231async function apiFindNotesMetadata(
232 token: string,
233 offset: number,
234 maxNotes: number,
235 notebookGuid?: string,
236 retryOptions?: Parameters<typeof fetchWithRetry>[2]
237): Promise<{ totalNotes: number; notes: NoteMetadata[] }> {
238 const w = new ThriftWriter()
239 w.writeMessageBegin('findNotesMetadata', 0)
240 w.writeStringField(1, token)
241
242 w.writeFieldBegin(TYPE_STRUCT, 2) // NoteFilter
243 if (notebookGuid) {
244 w.writeStringField(4, notebookGuid)
245 }
246 w.writeFieldStop()
247
248 w.writeI32Field(3, offset)
249 w.writeI32Field(4, maxNotes)
250
251 w.writeFieldBegin(TYPE_STRUCT, 5) // NotesMetadataResultSpec
252 w.writeBoolField(2, true) // includeTitle
253 w.writeBoolField(6, true) // includeCreated
254 w.writeBoolField(7, true) // includeUpdated
255 w.writeBoolField(11, true) // includeNotebookGuid
256 w.writeBoolField(12, true) // includeTagGuids
257 w.writeFieldStop()
258
259 w.writeFieldStop()
260
261 const r = await callNoteStore(token, w, retryOptions)
262
263 let totalNotes = 0
264 const notes: NoteMetadata[] = []
265
266 r.readStruct((r2, fid, ftype) => {
267 if (fid === 0 && ftype === TYPE_STRUCT) {
268 r2.readStruct((r3, fid3, ftype3) => {
269 if (fid3 === 1 && ftype3 === TYPE_I32) {
270 r3.readI32()
271 } else if (fid3 === 2 && ftype3 === TYPE_I32) {
272 totalNotes = r3.readI32()
273 } else if (fid3 === 3 && ftype3 === TYPE_LIST) {
274 const { size } = r3.readListBegin()
275 for (let i = 0; i < size; i++) {
276 let guid = ''
277 let title = ''
278 let created = 0
279 let updated = 0
280 let nbGuid = ''
281 const tagGuids: string[] = []
282
283 r3.readStruct((r4, fid4, ftype4) => {
284 if (fid4 === 1 && ftype4 === TYPE_STRING) guid = r4.readString()
285 else if (fid4 === 2 && ftype4 === TYPE_STRING) title = r4.readString()
286 else if (fid4 === 6 && ftype4 === TYPE_I64) created = Number(r4.readI64())
287 else if (fid4 === 7 && ftype4 === TYPE_I64) updated = Number(r4.readI64())
288 else if (fid4 === 11 && ftype4 === TYPE_STRING) nbGuid = r4.readString()

Callers 1

evernote.tsFile · 0.85

Calls 15

writeMessageBeginMethod · 0.95
writeStringFieldMethod · 0.95
writeFieldBeginMethod · 0.95
writeFieldStopMethod · 0.95
writeI32FieldMethod · 0.95
writeBoolFieldMethod · 0.95
checkExceptionFunction · 0.85
readStructMethod · 0.80
readI32Method · 0.80
readListBeginMethod · 0.80
readStringMethod · 0.80
readI64Method · 0.80

Tested by

no test coverage detected