Реализация реферальной системы и улучшение системы авторизации
- Добавлена полная реферальная система с GraphQL резолверами и UI компонентами - Улучшена система регистрации с поддержкой ВКонтакте и реферальных ссылок - Обновлена схема Prisma для поддержки реферальной системы - Добавлены новые файлы документации правил системы - Улучшена система партнерства и контрагентов - Обновлены компоненты авторизации для поддержки новых функций - Удален устаревший server.log 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -119,6 +119,24 @@ export const typeDefs = gql`
|
||||
|
||||
# Типы для кеша склада WB
|
||||
getWBWarehouseData: WBWarehouseCacheResponse!
|
||||
|
||||
# Реферальная система
|
||||
myReferralLink: String!
|
||||
myPartnerLink: String!
|
||||
myReferrals(
|
||||
dateFrom: DateTime
|
||||
dateTo: DateTime
|
||||
type: OrganizationType
|
||||
source: ReferralSource
|
||||
search: String
|
||||
limit: Int
|
||||
offset: Int
|
||||
): ReferralsResponse!
|
||||
myReferralStats: ReferralStats!
|
||||
myReferralTransactions(
|
||||
limit: Int
|
||||
offset: Int
|
||||
): ReferralTransactionsResponse!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
@ -306,6 +324,12 @@ export const typeDefs = gql`
|
||||
isCurrentUser: Boolean
|
||||
hasOutgoingRequest: Boolean
|
||||
hasIncomingRequest: Boolean
|
||||
# Реферальная система
|
||||
referralCode: String
|
||||
referredBy: Organization
|
||||
referrals: [Organization!]!
|
||||
referralPoints: Int!
|
||||
isMyReferral: Boolean!
|
||||
createdAt: DateTime!
|
||||
updatedAt: DateTime!
|
||||
}
|
||||
@ -346,6 +370,8 @@ export const typeDefs = gql`
|
||||
phone: String!
|
||||
inn: String!
|
||||
type: OrganizationType!
|
||||
referralCode: String
|
||||
partnerCode: String
|
||||
}
|
||||
|
||||
input SellerRegistrationInput {
|
||||
@ -353,6 +379,8 @@ export const typeDefs = gql`
|
||||
wbApiKey: String
|
||||
ozonApiKey: String
|
||||
ozonClientId: String
|
||||
referralCode: String
|
||||
partnerCode: String
|
||||
}
|
||||
|
||||
input MarketplaceApiKeyInput {
|
||||
@ -1430,4 +1458,81 @@ export const typeDefs = gql`
|
||||
extend type Query {
|
||||
fulfillmentWarehouseStats: FulfillmentWarehouseStats!
|
||||
}
|
||||
|
||||
# Типы для реферальной системы
|
||||
type ReferralsResponse {
|
||||
referrals: [Referral!]!
|
||||
totalCount: Int!
|
||||
totalPages: Int!
|
||||
}
|
||||
|
||||
type Referral {
|
||||
id: ID!
|
||||
organization: Organization!
|
||||
source: ReferralSource!
|
||||
spheresEarned: Int!
|
||||
registeredAt: DateTime!
|
||||
status: ReferralStatus!
|
||||
transactions: [ReferralTransaction!]!
|
||||
}
|
||||
|
||||
type ReferralStats {
|
||||
totalPartners: Int!
|
||||
totalSpheres: Int!
|
||||
monthlyPartners: Int!
|
||||
monthlySpheres: Int!
|
||||
referralsByType: [ReferralTypeStats!]!
|
||||
referralsBySource: [ReferralSourceStats!]!
|
||||
}
|
||||
|
||||
type ReferralTypeStats {
|
||||
type: OrganizationType!
|
||||
count: Int!
|
||||
spheres: Int!
|
||||
}
|
||||
|
||||
type ReferralSourceStats {
|
||||
source: ReferralSource!
|
||||
count: Int!
|
||||
spheres: Int!
|
||||
}
|
||||
|
||||
type ReferralTransactionsResponse {
|
||||
transactions: [ReferralTransaction!]!
|
||||
totalCount: Int!
|
||||
}
|
||||
|
||||
type ReferralTransaction {
|
||||
id: ID!
|
||||
referrer: Organization!
|
||||
referral: Organization!
|
||||
spheres: Int!
|
||||
type: ReferralTransactionType!
|
||||
description: String
|
||||
createdAt: DateTime!
|
||||
}
|
||||
|
||||
enum ReferralSource {
|
||||
REFERRAL_LINK
|
||||
AUTO_BUSINESS
|
||||
}
|
||||
|
||||
enum ReferralStatus {
|
||||
ACTIVE
|
||||
INACTIVE
|
||||
BLOCKED
|
||||
}
|
||||
|
||||
enum ReferralTransactionType {
|
||||
REGISTRATION
|
||||
AUTO_PARTNERSHIP
|
||||
FIRST_ORDER
|
||||
MONTHLY_BONUS
|
||||
}
|
||||
|
||||
enum CounterpartyType {
|
||||
MANUAL
|
||||
REFERRAL
|
||||
AUTO_BUSINESS
|
||||
}
|
||||
`
|
||||
|
Reference in New Issue
Block a user