-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlegal.d.ts
More file actions
82 lines (66 loc) · 1.64 KB
/
legal.d.ts
File metadata and controls
82 lines (66 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import type { Mongo } from 'meteor/mongo'
type LegalRichText = {
content?: object
html?: string
}
export declare type LegalDocument = {
_id: string
documentAbbr: string
version: string
effectiveAt: Date
title: string
text: string | LegalRichText
changelog?: string | LegalRichText
language: string
i18n?: object
createdAt?: Date
updatedAt?: Date
}
declare type Agreements = {
documentAbbr?: string
documentId: string
agreed: boolean
}
declare type History = {
createdAt: Date
agreement: string
action: 'revoked' | 'agreed' | 'revision'
}
export declare type LegalAgreement = {
_id: string
ownerId: string
agreements: Agreements[]
history: History[]
createdAt?: Date
updatedAt?: Date
}
export let LegalCollection: Mongo.Collection<LegalDocument>
export let LegalAgreementCollection: Mongo.Collection<LegalAgreement>
interface CanAddLegalHook {
register: (documentAbbr: string, language: string, userId: string) => boolean
}
export let canAddLegalHook: CanAddLegalHook
interface BeforeAgreedHook {
register: (whichAgreement: string, userId: string) => boolean
}
export let beforeAgreedHook: BeforeAgreedHook
interface AfterAgreedHook {
register: (
whichAgreement: string,
userId: string,
dbResults: number | string,
) => void
}
export let afterAgreedHook: AfterAgreedHook
interface BeforeRevokedHook {
register: (whichAgreement: string, userId: string) => void
}
export let beforeRevokedHook: BeforeRevokedHook
interface AfterRevokedHook {
register: (
whichAgreement: string,
userId: string,
dbResults: number | string,
) => void
}
export let afterRevokedHook: AfterRevokedHook