Skip to content

Instantly share code, notes, and snippets.

@maiordom
Last active March 22, 2022 16:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maiordom/cf5f8c8fea5f533adb242f3996b66851 to your computer and use it in GitHub Desktop.
Save maiordom/cf5f8c8fea5f533adb242f3996b66851 to your computer and use it in GitHub Desktop.
scalar Date
scalar File
scalar Url
schema {
query: Query
}
type Query {
me: User!
user(id: ID!): User
meta: MetaResponse
company: Company
}
type MetaResponse {
professions: [Profession!]!
workingConditions: [WorkingCondition!]!
workingHours: [WorkingHours!]!
workingSchedule: [WorkingSchedule!]!
salaryType: [SalaryType!]!
currencies: [Currency!]!
}
input MediaSectionInput {
vacancyId: String!
videos: [Video!]
photos: [Photo!]!
}
input ProfessionSectionInput {
vacancyId: String!
professionId: String!
}
input WorkScheduleSectionInput {
vacancyId: String!
address: GeoObject!
workingHours: ID!
workingSchedule: ID!
}
input GeoObject {
title: String!
lat: Float!
lng: Float!
}
input SalarySectionInput {
vacancyId: String!
salary: SalaryInput
}
input SalaryInput {
typeId: String!
onHands: String!
currencyCode: String!
}
input WorkingConditionsSectionInput {
vacancyId: String!
workingConditions: [ID!]!
}
enum ConfirmationScope {
User
Company
}
input CompanyInput {
name: String!
}
type Mutation {
uploadPhoto(file: File!): Photo
updateVacancyStatus(status: VacancyStatus): Boolean
createCompany(company: CompanyInput!): Boolean
updateCompany(company: CompanyInput!): Boolean
sendConfirmationCode(phone: String!, scope: ConfirmationScope!): Boolean
validateConfirmationCode(code: String!): Boolean
createVacancy: Vacancy!
setProfessionSection(params: ProfessionSectionInput): Boolean
setMediaSection(params: MediaSectionInput): Boolean
setWorkScheduleSection(params: WorkScheduleSectionInput): Boolean
setSalarySection(params: SalarySectionInput): Boolean
setWorkingConditionsSection(params: WorkingConditionsSectionInput): Boolean
}
enum Role {
Admin
User
}
type User {
id: String!
username: String
email: String
phone: String
role: Role
company: Company
employee: Employee
}
type Employee {
id: String!
}
type Company {
name: String!
phone: String
vacancies: [Vacancy]
}
type Profession {
id: String!
title: String!
}
enum VacancyStatus {
Draft
Active
Moderation
Archived
}
type Vacancy {
id: String!
profession: Profession
status: VacancyStatus!
photos: [Photo]
videos: [Video]
address: GeoObject
workingHours: WorkingHours
workingSchedule: WorkingSchedule
salary: Salary
workingConditions: [WorkingCondition]
phone: String
filters: [VacancyFilter]
responses: [Response]
viewsCount: Int!
responsesCount: Int!
interviewsCount: Int!
}
type WorkingHours {
id: String!
title: String!
}
type Response {
type: ResponseType!
user: User!
created: Date!
}
enum ResponseType {
Active
Declined
Interview
}
type GeoObject {
title: String!
lat: Float!
lng: Float!
}
type VacancyFilter {
id: String!
type: VacancyFilterType!
slug: String!
title: String!
uiType: UIType!
value: VacancyFilterValue
}
type VacancyFilterValue {
title: String!
value: String!
}
enum VacancyFilterType {
Primary
Secondary
}
enum UIType {
Select
Checkbox
}
type WorkingCondition {
id: String!
title: String!
}
type Video {
url: String!
}
type Photo {
s: Url!
m: Url!
}
type WorkingSchedule {
id: String!
title: String!
}
type SalaryType {
id: String!
title: String!
}
type Salary {
id: String!
type: SalaryType!
title: String!
onHands: String!
currency: Currency!
}
type Currency {
id: String!
title: String!
sign: String!
code: String!
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment