mirror of
				https://github.com/dwaxweiler/connector-mobilizon
				synced 2025-06-05 21:59:25 +02:00 
			
		
		
		
	remove unused code and dependencies
This commit is contained in:
		| @@ -1,78 +0,0 @@ | ||||
| import SessionCache from './session-cache.js' | ||||
| import { request } from 'graphql-request' | ||||
| import DateTimeWrapper from './date-time-wrapper.js' | ||||
|  | ||||
| export function getUpcomingEvents({ url, limit }) { | ||||
|   const query = ` | ||||
|     query ($limit: Int) { | ||||
|       events(limit: $limit) { | ||||
|         elements { | ||||
|           id, | ||||
|           title, | ||||
|           url, | ||||
|           beginsOn, | ||||
|           endsOn, | ||||
|           physicalAddress { | ||||
|             description, | ||||
|             locality | ||||
|           } | ||||
|         }, | ||||
|         total | ||||
|       } | ||||
|     } | ||||
|   ` | ||||
|   const dataInCache = SessionCache.get(sessionStorage, { | ||||
|     url, | ||||
|     query, | ||||
|     variables: { limit }, | ||||
|   }) | ||||
|   if (dataInCache !== null) { | ||||
|     return Promise.resolve(dataInCache) | ||||
|   } | ||||
|   return request(url, query, { limit }).then((data) => { | ||||
|     SessionCache.add(sessionStorage, { url, query, variables: { limit } }, data) | ||||
|     return Promise.resolve(data) | ||||
|   }) | ||||
| } | ||||
|  | ||||
| export function getUpcomingEventsByGroupName({ url, limit, groupName }) { | ||||
|   const query = ` | ||||
|     query ($afterDatetime: DateTime, $groupName: String!, $limit: Int) { | ||||
|       group(preferredUsername: $groupName) { | ||||
|         organizedEvents(afterDatetime: $afterDatetime, limit: $limit) { | ||||
|           elements { | ||||
|             id, | ||||
|             title, | ||||
|             url, | ||||
|             beginsOn, | ||||
|             endsOn, | ||||
|             physicalAddress { | ||||
|               description, | ||||
|               locality | ||||
|             } | ||||
|           }, | ||||
|           total | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   ` | ||||
|   const afterDatetime = DateTimeWrapper.getCurrentDatetimeAsString() | ||||
|   const dataInCache = SessionCache.get(sessionStorage, { | ||||
|     url, | ||||
|     query, | ||||
|     variables: { afterDatetime, groupName, limit }, | ||||
|   }) | ||||
|   if (dataInCache !== null) { | ||||
|     return Promise.resolve(dataInCache) | ||||
|   } | ||||
|   return request(url, query, { afterDatetime, groupName, limit }).then( | ||||
|     (data) => { | ||||
|       SessionCache.add( | ||||
|         sessionStorage, | ||||
|         { url, query, variables: { afterDatetime, groupName, limit } }, | ||||
|         data, | ||||
|       ) | ||||
|       return Promise.resolve(data) | ||||
|     }, | ||||
|   ) | ||||
| } | ||||
| @@ -1,6 +0,0 @@ | ||||
| import test from 'ava' | ||||
| import hash from './object-hash-wrapper.js' | ||||
|  | ||||
| test('#hash object', (t) => { | ||||
|   t.is(hash({ foo: 'bar' }), 'a75c05bdca7d704bdfcd761913e5a4e4636e956b') | ||||
| }) | ||||
| @@ -1,5 +0,0 @@ | ||||
| import objectHash from 'object-hash' | ||||
|  | ||||
| export default function hash(object) { | ||||
|   return objectHash(object) | ||||
| } | ||||
| @@ -1,33 +0,0 @@ | ||||
| import test from 'ava' | ||||
| import SessionCache from './session-cache.js' | ||||
|  | ||||
| const fakeStorage = { | ||||
|   elements: {}, | ||||
|  | ||||
|   clear() { | ||||
|     this.elements = {} | ||||
|   }, | ||||
|  | ||||
|   getItem(key) { | ||||
|     const value = this.elements[key] | ||||
|     if (value === undefined) return null | ||||
|     return value | ||||
|   }, | ||||
|  | ||||
|   setItem(key, value) { | ||||
|     this.elements[key] = value | ||||
|   }, | ||||
| } | ||||
|  | ||||
| test.afterEach(() => { | ||||
|   fakeStorage.clear() | ||||
| }) | ||||
|  | ||||
| test('#add & #get', (t) => { | ||||
|   SessionCache.add(fakeStorage, { a: 'b' }, { c: 'd' }) | ||||
|   t.deepEqual(SessionCache.get(fakeStorage, { a: 'b' }), { c: 'd' }) | ||||
| }) | ||||
|  | ||||
| test('#get no entry', (t) => { | ||||
|   t.is(SessionCache.get(fakeStorage, { a: 'bb' }), null) | ||||
| }) | ||||
| @@ -1,27 +0,0 @@ | ||||
| import hash from './object-hash-wrapper.js' | ||||
|  | ||||
| const MAX_AGE_IN_MS = 120000 | ||||
|  | ||||
| export default class SessionCache { | ||||
|   static add(storage, parameters, data) { | ||||
|     const key = hash(parameters) | ||||
|     const timestamp = Date.now() | ||||
|     const value = { | ||||
|       data, | ||||
|       timestamp, | ||||
|     } | ||||
|     storage.setItem(key, JSON.stringify(value)) | ||||
|   } | ||||
|  | ||||
|   static get(storage, parameters) { | ||||
|     const key = hash(parameters) | ||||
|     const value = JSON.parse(storage.getItem(key)) | ||||
|     if ( | ||||
|       value && | ||||
|       value.timestamp && | ||||
|       value.timestamp > Date.now() - MAX_AGE_IN_MS | ||||
|     ) | ||||
|       return value.data | ||||
|     return null | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user