blob: 7a72e6489a42aaf3d1d1c0194cc16525002b8ec2 (
plain)
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
|
import * as mongo from 'mongodb';
import Note from '../../../models/note';
import User, { isRemoteUser, isLocalUser } from '../../../models/user';
import { IdentifiableError } from '../../../misc/identifiable-error';
/**
* Get note for API processing
*/
export async function getNote(noteId: mongo.ObjectID) {
const note = await Note.findOne({
_id: noteId,
deletedAt: { $exists: false }
});
if (note === null) {
throw new IdentifiableError('9725d0ce-ba28-4dde-95a7-2cbb2c15de24', 'No such note.');
}
return note;
}
/**
* Get user for API processing
*/
export async function getUser(userId: mongo.ObjectID) {
const user = await User.findOne({
_id: userId,
$or: [{
isDeleted: { $exists: false }
}, {
isDeleted: false
}]
}, {
fields: {
data: false,
profile: false,
clientSettings: false
}
});
if (user === null) {
throw new IdentifiableError('15348ddd-432d-49c2-8a5a-8069753becff', 'No such user.');
}
return user;
}
/**
* Get remote user for API processing
*/
export async function getRemoteUser(userId: mongo.ObjectID) {
const user = await getUser(userId);
if (!isRemoteUser(user)) {
throw 'user is not a remote user';
}
return user;
}
/**
* Get local user for API processing
*/
export async function getLocalUser(userId: mongo.ObjectID) {
const user = await getUser(userId);
if (!isLocalUser(user)) {
throw 'user is not a local user';
}
return user;
}
|