@chevre/domain
Version:
Chevre Domain Library for Node.js
57 lines (56 loc) • 2.07 kB
TypeScript
import type { Connection, FilterQuery } from 'mongoose';
import * as factory from '../factory';
import { IDocType } from './mongoose/schemas/issuer';
type IIssuer = factory.issuer.IIssuer;
type ISearchConditions = factory.issuer.ISearchConditions;
/**
* 発行者リポジトリ
*/
export declare class IssuerRepo {
private readonly issuerModel;
constructor(connection: Connection);
static CREATE_MONGO_CONDITIONS(params: ISearchConditions): FilterQuery<factory.issuer.IIssuer>[];
saveIssuer(params: IIssuer): Promise<{
id: string;
}>;
renameIssuerIdentifier(params: Pick<IIssuer, 'id' | 'identifier'>): Promise<{
id: string;
}>;
projectPublicFields(params: ISearchConditions): Promise<Pick<IIssuer, 'id' | 'identifier' | 'project' | 'name' | 'url'>[]>;
findById(params: {
id: string;
project: {
id: string;
};
}): Promise<IIssuer>;
findByIdentifier(params: {
identifier: string;
project: {
id: string;
};
}): Promise<Pick<IIssuer, 'id' | 'identifier' | 'project' | 'tokenSecret' | 'url'>>;
deleteById(params: {
id: string;
project: {
id: string;
};
}): Promise<void>;
getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, IDocType> & factory.issuer.IIssuer & {
hasMemberProgram?: (
/**
* 発行者リポジトリ
*/
factory.issuer.IMemberProgram & {
hasTiers?: Pick<factory.issuer.IMemberProgramTier, "identifier" | "typeOf">[];
})[];
} & {
_id: import("mongoose").Types.ObjectId;
}, import("mongoose").QueryOptions<import("mongoose").Document<unknown, {}, IDocType> & factory.issuer.IIssuer & {
hasMemberProgram?: (factory.issuer.IMemberProgram & {
hasTiers?: Pick<factory.issuer.IMemberProgramTier, "identifier" | "typeOf">[];
})[];
} & {
_id: import("mongoose").Types.ObjectId;
}>>;
}
export {};