@chevre/domain 21.4.0-alpha.26 → 21.4.0-alpha.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+
4
+ import { chevre } from '../../../../lib/index';
5
+
6
+ const PROJECT_ID = String(process.env.PROJECT_ID);
7
+ const memberId = String(process.env.MEMBER_ID);
8
+
9
+ async function main() {
10
+ await mongoose.connect(<string>process.env.MONGOLAB_URI);
11
+
12
+ const memberRepo = new chevre.repository.Member(mongoose.connection);
13
+
14
+ const ids = await memberRepo.searchMemberOfIdsByMemberId({
15
+ member: {
16
+ id: memberId,
17
+ memberOf: {
18
+ // typeOf: chevre.factory.organizationType.Corporation,
19
+ typeOf: chevre.factory.organizationType.Project
20
+ }
21
+ },
22
+ project: {
23
+ id: PROJECT_ID
24
+ }
25
+ });
26
+ console.log(ids);
27
+ }
28
+
29
+ main()
30
+ .then(console.log)
31
+ .catch(console.error);
@@ -1,10 +1,10 @@
1
1
  // tslint:disable:no-console
2
2
  import * as mongoose from 'mongoose';
3
3
 
4
- import { chevre } from '../../../lib/index';
4
+ import { chevre } from '../../../../lib/index';
5
5
 
6
6
  // const PROJECT_ID = String(process.env.PROJECT_ID);
7
- const memberId = 'xxx';
7
+ const memberId = String(process.env.MEMBER_ID);
8
8
 
9
9
  async function main() {
10
10
  await mongoose.connect(<string>process.env.MONGOLAB_URI);
@@ -134,5 +134,20 @@ export declare class MongoRepository {
134
134
  limit: number;
135
135
  page: number;
136
136
  }): Promise<string[]>;
137
+ /**
138
+ * member.memberOf.typeOfからmember.memberOf.idのリストを検索する
139
+ * 権限を持つ販売者IDの検索など
140
+ */
141
+ searchMemberOfIdsByMemberId(params: {
142
+ member: {
143
+ id: string;
144
+ memberOf: {
145
+ typeOf: factory.organizationType.Project | factory.organizationType.Corporation;
146
+ };
147
+ };
148
+ project: {
149
+ id: string;
150
+ };
151
+ }): Promise<string[]>;
137
152
  getCursor(conditions: any, projection: any): import("mongoose").Cursor<any, import("mongoose").QueryOptions<any>>;
138
153
  }
@@ -302,6 +302,21 @@ class MongoRepository {
302
302
  .then((docs) => docs.map((doc) => doc._id));
303
303
  });
304
304
  }
305
+ /**
306
+ * member.memberOf.typeOfからmember.memberOf.idのリストを検索する
307
+ * 権限を持つ販売者IDの検索など
308
+ */
309
+ searchMemberOfIdsByMemberId(params) {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ const query = this.memberModel.distinct('member.memberOf.id', {
312
+ 'project.id': { $eq: params.project.id },
313
+ 'member.id': { $eq: params.member.id },
314
+ 'member.memberOf.typeOf': { $eq: params.member.memberOf.typeOf }
315
+ });
316
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
317
+ .exec();
318
+ });
319
+ }
305
320
  getCursor(conditions, projection) {
306
321
  return this.memberModel.find(conditions, projection)
307
322
  .sort({ 'member.id': factory.sortType.Ascending })
package/package.json CHANGED
@@ -117,5 +117,5 @@
117
117
  "postversion": "git push origin --tags",
118
118
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
119
119
  },
120
- "version": "21.4.0-alpha.26"
120
+ "version": "21.4.0-alpha.27"
121
121
  }