summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-01 09:19:22 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-01 09:19:22 +0900
commit1fca8d322c5fe3c104ab465c96130344a97e6ad7 (patch)
tree4b289762b73f5d80ad1f43270d3f544dcf0c8d13 /src
parentImprove performance (diff)
downloadsharkey-1fca8d322c5fe3c104ab465c96130344a97e6ad7.tar.gz
sharkey-1fca8d322c5fe3c104ab465c96130344a97e6ad7.tar.bz2
sharkey-1fca8d322c5fe3c104ab465c96130344a97e6ad7.zip
Clean up
Diffstat (limited to 'src')
-rw-r--r--src/models/app.ts17
-rw-r--r--src/models/user.ts37
-rw-r--r--src/server/api/endpoints/app/create.ts1
-rw-r--r--src/server/api/endpoints/app/show.ts1
-rw-r--r--src/server/api/endpoints/i/authorized_apps.ts5
-rw-r--r--src/server/api/endpoints/my/apps.ts5
6 files changed, 27 insertions, 39 deletions
diff --git a/src/models/app.ts b/src/models/app.ts
index 45686fe405..cf08ba1bda 100644
--- a/src/models/app.ts
+++ b/src/models/app.ts
@@ -22,27 +22,28 @@ export type IApp = {
/**
* Pack an app for API response
- *
- * @param {any} app
- * @param {any} me?
- * @param {any} options?
- * @return {Promise<any>}
*/
export const pack = (
app: any,
me?: any,
options?: {
+ detail?: boolean,
includeSecret?: boolean,
includeProfileImageIds?: boolean
}
) => new Promise<any>(async (resolve, reject) => {
- const opts = options || {
+ const opts = Object.assign({
+ detail: false,
includeSecret: false,
includeProfileImageIds: false
- };
+ }, options);
let _app: any;
+ const fields = opts.detail ? {} : {
+ name: true
+ };
+
// Populate the app if 'app' is ID
if (isObjectId(app)) {
_app = await App.findOne({
@@ -51,7 +52,7 @@ export const pack = (
} else if (typeof app === 'string') {
_app = await App.findOne({
_id: new mongo.ObjectID(app)
- });
+ }, { fields });
} else {
_app = deepcopy(app);
}
diff --git a/src/models/user.ts b/src/models/user.ts
index c1c42e891e..f629ddbd20 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -223,33 +223,16 @@ export const pack = (
let _user: any;
- const fields = opts.detail ? {
- } : {
- usernameLower: false,
- bannerColor: false,
- bannerUrl: false,
- description: false,
- notesCount: false,
- followersCount: false,
- followingCount: false,
- lastUsedAt: false,
- settings: false,
- clientSettings: false,
- profile: false,
- keywords: false,
- domains: false,
- pinnedNoteIds: false,
- wallpaperColor: false,
- wallpaperId: false,
- wallpaperUrl: false,
- twitter: false,
- pendingReceivedFollowRequestsCount: false,
- featured: false,
- sharedInbox: false,
- endpoints: false,
- inbox: false,
- twoFactorTempSecret: false,
- twoFactorSecret: false
+ const fields = opts.detail ? {} : {
+ name: true,
+ username: true,
+ host: true,
+ avatarColor: true,
+ avatarUrl: true,
+ isCat: true,
+ isBot: true,
+ isAdmin: true,
+ isVerified: true
};
// Populate the user if 'user' is ID
diff --git a/src/server/api/endpoints/app/create.ts b/src/server/api/endpoints/app/create.ts
index afe3ab35af..19795f1728 100644
--- a/src/server/api/endpoints/app/create.ts
+++ b/src/server/api/endpoints/app/create.ts
@@ -44,6 +44,7 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res,
// Response
res(await pack(app, null, {
+ detail: true,
includeSecret: true
}));
});
diff --git a/src/server/api/endpoints/app/show.ts b/src/server/api/endpoints/app/show.ts
index 072fbaeb79..8cc2abdc28 100644
--- a/src/server/api/endpoints/app/show.ts
+++ b/src/server/api/endpoints/app/show.ts
@@ -21,6 +21,7 @@ export default (params: any, user: ILocalUser, app: IApp) => new Promise(async (
// Send response
res(await pack(ap, user, {
+ detail: true,
includeSecret: isSecure && ap.userId.equals(user._id)
}));
});
diff --git a/src/server/api/endpoints/i/authorized_apps.ts b/src/server/api/endpoints/i/authorized_apps.ts
index 313bb474f4..9c15670d17 100644
--- a/src/server/api/endpoints/i/authorized_apps.ts
+++ b/src/server/api/endpoints/i/authorized_apps.ts
@@ -34,6 +34,7 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
// Serialize
- res(await Promise.all(tokens.map(async token =>
- await pack(token.appId))));
+ res(await Promise.all(tokens.map(token => pack(token.appId, user, {
+ detail: true
+ }))));
});
diff --git a/src/server/api/endpoints/my/apps.ts b/src/server/api/endpoints/my/apps.ts
index 412dff6164..30c08aa09c 100644
--- a/src/server/api/endpoints/my/apps.ts
+++ b/src/server/api/endpoints/my/apps.ts
@@ -35,6 +35,7 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
// Reply
- res(await Promise.all(apps.map(async app =>
- await pack(app))));
+ res(await Promise.all(apps.map(app => pack(app, user, {
+ detail: true
+ }))));
});