Skip to content
Snippets Groups Projects
Commit b72a12e0 authored by Yoan VALLET's avatar Yoan VALLET
Browse files

feat: review of type for usageEvent creation

parent 2703567f
No related branches found
No related tags found
1 merge request!348Features/create aggregation usage service
import { UsageEventType } from 'enum/usageEvent.enum' import { UsageEventType } from 'enum/usageEvent.enum'
import { DateTime } from 'luxon' import { DateTime } from 'luxon'
export interface UsageEventEntity { export interface UsageEventCreationEntity {
_id: string
date: string date: string
type: UsageEventType type: UsageEventType
target?: string target?: string
...@@ -11,6 +10,10 @@ export interface UsageEventEntity { ...@@ -11,6 +10,10 @@ export interface UsageEventEntity {
aggregated: boolean aggregated: boolean
} }
export interface UsageEventEntity extends UsageEventCreationEntity {
_id: string
}
export interface UsageEvent extends Omit<UsageEventEntity, 'date'> { export interface UsageEvent extends Omit<UsageEventEntity, 'date'> {
date: DateTime date: DateTime
} }
import { Client, QueryDefinition, QueryResult, Q } from 'cozy-client' import {
Client,
QueryDefinition,
QueryResult,
Q,
MongoSelector,
} from 'cozy-client'
import { USAGEEVENT_DOCTYPE } from 'doctypes' import { USAGEEVENT_DOCTYPE } from 'doctypes'
import { UsageEventType } from 'enum/usageEvent.enum' import { UsageEventType } from 'enum/usageEvent.enum'
import { DateTime } from 'luxon' import { DateTime } from 'luxon'
import { UsageEvent, UsageEventEntity } from 'models' import { UsageEvent, UsageEventCreationEntity, UsageEventEntity } from 'models'
interface AddEventParams { interface AddEventParams {
type: UsageEventType type: UsageEventType
...@@ -11,14 +17,6 @@ interface AddEventParams { ...@@ -11,14 +17,6 @@ interface AddEventParams {
context?: string context?: string
} }
interface GetEventParams {
type?: UsageEventType
target?: string
result?: string
context?: string
aggregated?: boolean
}
export default class UsageEventService { export default class UsageEventService {
/** /**
* addEvent * addEvent
...@@ -30,12 +28,14 @@ export default class UsageEventService { ...@@ -30,12 +28,14 @@ export default class UsageEventService {
client: Client, client: Client,
params: AddEventParams params: AddEventParams
): Promise<UsageEvent> { ): Promise<UsageEvent> {
const usageEvent: UsageEvent = { const usageEvent: UsageEventCreationEntity = {
date: DateTime.local().setZone('utc', {
keepLocalTime: true,
}),
aggregated: false,
...params, ...params,
date: DateTime.local()
.setZone('utc', {
keepLocalTime: true,
})
.toString(),
aggregated: false,
} }
const { data }: QueryResult<UsageEventEntity> = await client.create( const { data }: QueryResult<UsageEventEntity> = await client.create(
USAGEEVENT_DOCTYPE, USAGEEVENT_DOCTYPE,
...@@ -47,12 +47,12 @@ export default class UsageEventService { ...@@ -47,12 +47,12 @@ export default class UsageEventService {
/** /**
* getEvents * getEvents
* @param {Client} client * @param {Client} client
* @param {GetEventParams} filterParams * @param {MongoSelector} filterParams
* @returns {Promise<UsageEvent[]>} usageEvent added * @returns {Promise<UsageEvent[]>} usageEvent added
*/ */
static async getEvents( static async getEvents(
client: Client, client: Client,
filterParams: GetEventParams filterParams: MongoSelector
): Promise<UsageEvent[]> { ): Promise<UsageEvent[]> {
const query: QueryDefinition = Q(USAGEEVENT_DOCTYPE) const query: QueryDefinition = Q(USAGEEVENT_DOCTYPE)
.where(filterParams) .where(filterParams)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment