strapi-plugin-masterclass
Version:
528 lines (527 loc) • 17.9 kB
TypeScript
/// <reference types="koa" />
declare const _default: {
register: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
bootstrap: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
destroy: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
config: {
default: {
stripeSecretKey: string;
paypalClientId: string;
paypalClientSecret: string;
brandName: string;
paypalReturnUrl: string;
paypalCancelUrl: string;
paypalProductionMode: boolean;
callbackUrl: string;
paymentMethods: string[];
allowPromotionCodes: boolean;
checkoutSuccessUrl: string;
checkoutCancelUrl: string;
};
validator(config: import("./utils/config").Config): void;
};
controllers: {
courses: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
find(ctx: import("koa").Context): Promise<void>;
findOne(ctx: import("koa").Context): Promise<void>;
findSlugs(ctx: import("koa").Context): Promise<void>;
getCourseDetails(ctx: import("koa").Context): Promise<void>;
getClassesCompleted(ctx: import("koa").Context): Promise<import("koa").Context>;
getCurrentLecture(ctx: import("koa").Context): Promise<import("koa").Context | {
currentLecture: any;
}>;
resumeCourse(ctx: import("koa").Context): Promise<import("koa").Context | {
PlayAuth: string;
VideoId: any;
classesCompleted: any;
currentLectureID: any;
}>;
getPlayAuth(ctx: import("koa").Context): Promise<import("koa").Context | {
PlayAuth: string;
VideoId: any;
classesCompleted: any;
currentLectureID: number;
}>;
checkLecture(ctx: import("koa").Context): Promise<import("koa").Context>;
getItemsPurchased(ctx: import("koa").Context): Promise<import("koa").Context>;
getMyLearning(ctx: any): Promise<any>;
};
categories: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
index(ctx: import("koa").Context): Promise<void>;
findOne(ctx: import("koa").Context): Promise<void>;
};
orders: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
find(ctx: import("koa").Context): Promise<import("koa").Context>;
findOne(ctx: any): Promise<any>;
create(ctx: any): Promise<any>;
confirmWithUser(ctx: any): Promise<any>;
confirm(ctx: any): Promise<any>;
finishRegister(ctx: any): Promise<any>;
};
};
routes: {
'content-api': {
type: string;
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
};
services: {
stripe: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
stripe_client: any;
success_url: string;
cancel_url: string;
getStripeClient(): Promise<any>;
createCheckoutSession(params: any): Promise<{
error: boolean;
status: string;
msg: string;
data?: undefined;
checkout_session?: undefined;
total?: undefined;
} | {
data: any;
checkout_session: any;
total: number;
error?: undefined;
status?: undefined;
msg?: undefined;
}>;
getPaymentStatus(checkout_session: any): Promise<any>;
};
paypal: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
paypal_client_id: string;
paypal_client_secret: string;
brand_name: string;
return_url: string;
cancel_url: string;
production_mode: boolean;
isValidConfig(): boolean;
getPaypalAuth(): Promise<{
username: string;
password: string;
}>;
createCheckoutSession(params: any): Promise<{
error: boolean;
status: string;
msg: string;
data?: undefined;
checkout_session?: undefined;
total?: undefined;
} | {
data: any;
checkout_session: any;
total: number;
error?: undefined;
status?: undefined;
msg?: undefined;
}>;
getPaymentStatus(checkout_session: any): Promise<{
error: boolean;
status: string;
msg: string;
orderCaptured?: undefined;
} | {
orderCaptured: boolean;
error?: undefined;
status?: undefined;
msg?: undefined;
}>;
};
payments: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
create(params: any): Promise<any>;
confirm(params: any): Promise<any>;
};
courses: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
signIntoSingleCourse(params: any): Promise<import("@strapi/types/dist/modules/documents").AnyDocument>;
signIntoMultipleCourses(params: any): Promise<any[] | import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", "No user found", unknown>>;
calculateDuration(lectures: any): Promise<number>;
};
};
contentTypes: {
'mc-category': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {
"content-manager": {
visible: boolean;
};
"content-type-builder": {
visible: boolean;
};
};
attributes: {
title: {
type: string;
};
description: {
type: string;
};
thumbnail: {
type: string;
multiple: boolean;
required: boolean;
allowedTypes: string[];
};
slug: {
type: string;
targetField: string;
};
courses: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
};
};
};
'mc-course': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
attributes: {
title: {
type: string;
};
duration: {
type: string;
configurable: boolean;
};
description: {
type: string;
};
price: {
type: string;
};
thumbnail: {
type: string;
multiple: boolean;
required: boolean;
allowedTypes: string[];
};
long_description: {
type: string;
};
difficulty: {
type: string;
enum: string[];
};
language: {
type: string;
enum: string[];
};
category: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
slug: {
type: string;
targetField: string;
};
students: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
modules: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
instructor: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
};
};
};
'mc-lecture': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
attributes: {
title: {
type: string;
};
slug: {
type: string;
targetField: string;
};
duration: {
type: string;
configurable: boolean;
};
video: {
type: string;
relation: string;
target: string;
};
module: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
description: {
type: string;
};
};
};
};
'mc-module': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
attributes: {
title: {
type: string;
};
duration: {
type: string;
configurable: boolean;
};
course: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
lectures: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
slug: {
type: string;
targetField: string;
};
description: {
type: string;
};
};
};
};
'mc-student-course': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
attributes: {
course: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
student: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
current_lecture: {
type: string;
relation: string;
target: string;
};
lectures_completed: {
type: string;
relation: string;
target: string;
};
};
};
};
'mc-order': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
/**
* Plugin server methods
*/
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
comment: string;
};
attributes: {
amount: {
type: string;
configurable: boolean;
};
user: {
type: string;
relation: string;
target: string;
configurable: boolean;
};
confirmed: {
type: string;
default: boolean;
configurable: boolean;
};
checkout_session: {
type: string;
configurable: boolean;
};
payment_method: {
type: string;
enum: string[];
configurable: boolean;
};
items: {
type: string;
configurable: boolean;
};
response: {
type: string;
configurable: boolean;
};
courses: {
type: string;
relation: string;
target: string;
configurable: boolean;
};
};
};
};
'mc-instructor': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {
"content-manager": {
visible: boolean;
};
"content-type-builder": {
visible: boolean;
};
};
attributes: {
name: {
type: string;
};
bio: {
type: string;
};
image: {
type: string;
multiple: boolean;
required: boolean;
allowedTypes: string[];
};
slug: {
type: string;
targetField: string;
};
designation: {
type: string;
};
courses: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
};
};
};
};
policies: {};
middlewares: {};
};
export default _default;