# OneOnOne → Performance API
_Class and module references found in \**/one_on_ones/**.rb files_
- [x] app/graphql/types/one_on_ones/schedule_type.rb
```
PauseState
```
- [x] app/models/mandrill_emails/one_on_ones/manager_reminder_email.rb
```
PerformanceAPIUrl
```
- [x] app/models/mandrill_emails/one_on_ones/subject_reminder_email.rb
```
PerformanceAPIUrl
```
- [x] app/one_on_ones/actions/create_one_on_one.rb
```
User
```
- [x] app/one_on_ones/actions/send_manager_reminder_email.rb
```
User
```
- [x] app/one_on_ones/actions/send_subject_reminder_email.rb
```
User
```
- [ ] app/one_on_ones/admin_report_repo.rb
```
DemographicValue
DemographicValueAssignment
OptionalFieldsMapping
Structs::AdminDashboard::CompanyEmployeeParticipation
Structs::AdminDashboard::DepartmentEmployeeParticipation
User
```
- [x] app/one_on_ones/commands/create_one_on_one_with_my_direct_report.rb
```
User
```
- [x] app/one_on_ones/commands/process_one_on_one_schedule.rb
```
User
```
- [ ] app/one_on_ones/demographic_value_assignment_repo.rb
```
DemographicValueAssignment
OptionalFieldsMapping
```
- [x] app/one_on_ones/errors.rb
```
AgendaItemNotFound
CurrentUserNotAuthorized
DifferentCompany
FailedToAddScheduleException
FailedToCreateUpcomingMeetings
FreeTextQuestionNotFound
InvalidResponseForRatingTopic
ManagerNotFound
RatingTopicNotFound
ScheduleNotFound
SharedNoteNotFound
```
- [x] app/one_on_ones/loaders/user_loader.rb
```
User
```
- [ ] app/one_on_ones/one_on_one_repo.rb
```
Arel::Nodes::OuterJoin
JobTitle
Schedule
User
```
- [x] app/one_on_ones/schedule.rb
```
IceCube::Schedule
```
- [x] app/one_on_ones/schedule_repo.rb
```
Every
IceCube::Schedule
Monthly
Weekly
```
- [x] app/one_on_ones/seed.rb
```
Company
User
```
- [x] app/one_on_ones/set_flags.rb
```
Flipper
Rails
```
- [x] app/one_on_ones/structs/admin_dashboard/one_on_one_conversations_by_department.rb
```
DepartmentEmployeeParticipation
```
- [x] app/one_on_ones/subscription_triggers.rb
```
PerformanceAPISchema
```
- [x] app/one_on_ones/user_errors.rb
```
OutsideGracePeriod
UserError
```
- [x] spec/graphql/integration/mutations/one_on_ones/add_agenda_item_spec.rb
```
AddAgendaItemInput
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/add_shared_note_spec.rb
```
AddSharedNoteInput
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/create_one_on_one_schedule_with_my_direct_report_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/create_one_on_one_with_my_direct_report_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/edit_agenda_item_spec.rb
```
EditAgendaItemInput
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/edit_shared_note_spec.rb
```
EditSharedNoteInput
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/remove_agenda_item_spec.rb
```
PerformanceAPISchema
RemoveAgendaItemInput
```
- [x] spec/graphql/integration/mutations/one_on_ones/remove_one_on_one_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/remove_shared_note_spec.rb
```
PerformanceAPISchema
RemoveSharedNoteInput
```
- [x] spec/graphql/integration/mutations/one_on_ones/respond_to_free_text_question_spec.rb
```
PerformanceAPISchema
RespondToFreeTextQuestionInput
```
- [x] spec/graphql/integration/mutations/one_on_ones/respond_to_rating_topic_spec.rb
```
PerformanceAPISchema
RespondToRatingTopicInput
```
- [x] spec/graphql/integration/mutations/one_on_ones/set_one_on_one_schedule_with_my_direct_report_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/mutations/one_on_ones/toggle_pause_one_on_one_schedule_with_my_direct_report_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/one_on_ones/admin_report_spec.rb
```
AdminDashboardSchema
```
- [x] spec/graphql/integration/one_on_ones/batch_loading_spec.rb
```
PerformanceAPISchema
```
- [x] spec/graphql/integration/one_on_ones/permissions_spec.rb
```
PerformanceAPISchema
```
- [x] spec/one_on_ones/system/emails_spec.rb
```
Matching
SendEmail
```
#### Script:
for f in **/one_on_ones/**.rb ; set temp (perl -n -e'(my $input = $_) =~ s/".*?"/""/g; while(!/^\s+#/ && !/class / && !/module / && $input =~ m/((?:(?:::)?(?:\.)?\b[A-Z][a-z][A-Za-z]*)+)/g) { print " ",$1, "\n" }' $f | grep -vE 'OneOnOnes|ONE_ON_ONE|Success|Failure|Monads|Set|SecureRandom|Time|StandardError|ActiveRecord|Sidekiq::Worker|Types::Strict|Types::UUID|OneOnOne|Types|String|Raven|Boolean|Int|Datadog|Float|FactoryBot|Array|Class|Sidekiq'); if test -n "$temp"; echo "- [ ] $f"; echo '```'; string join \n $temp | sort | uniq; echo '```';end; end | pbcopy
---
# Performance API → OneOnOne
_References to `OneOnOnes` found in non \**/one_on_ones/**.rb files_
- [x] app/graphql/types/viewer_type.rb
```
10: field :most_recent_one_on_one_with_my_direct_reports, [Types::OneOnOnes::OneOnOneType], null: false
11: field :most_recent_one_on_one_with_my_manager, [Types::OneOnOnes::OneOnOneType], null: false
12: field :schedules_with_my_direct_reports, [Types::OneOnOnes::ScheduleType], null: false
23: ::OneOnOnes::Queries::MostRecentOneOnOneWithMyDirectReports.new.call(current_user: object)
27: ::OneOnOnes::Queries::MostRecentOneOnOneWithMyManager.new.call(current_user: object)
31: ::OneOnOnes::Queries::SchedulesWithMyDirectReports.new.call(current_user: object)
```
- [x] app/graphql/types/subscription_type.rb
```
3: field :one_on_one, subscription: Subscriptions::OneOnOnes::OneOnOne
4: field :agenda_items, subscription: Subscriptions::OneOnOnes::AgendaItems
5: field :shared_notes, subscription: Subscriptions::OneOnOnes::SharedNotes
6: field :rating_responses, subscription: Subscriptions::OneOnOnes::RatingResponses
7: field :free_text_responses, subscription: Subscriptions::OneOnOnes::FreeTextResponses
```
- [x] app/graphql/types/mutation_type.rb
```
3: field :create_one_on_one_with_my_direct_report, mutation: Mutations::OneOnOnes::CreateOneOnOneWithMyDirectReport
4: field :remove_one_on_one, mutation: Mutations::OneOnOnes::RemoveOneOnOne
6: field :add_agenda_item, mutation: Mutations::OneOnOnes::AddAgendaItem
7: field :remove_agenda_item, mutation: Mutations::OneOnOnes::RemoveAgendaItem
8: field :edit_agenda_item, mutation: Mutations::OneOnOnes::EditAgendaItem
10: field :add_shared_note, mutation: Mutations::OneOnOnes::AddSharedNote
11: field :remove_shared_note, mutation: Mutations::OneOnOnes::RemoveSharedNote
12: field :edit_shared_note, mutation: Mutations::OneOnOnes::EditSharedNote
14: field :respond_to_rating_topic, mutation: Mutations::OneOnOnes::RespondToRatingTopic
15: field :respond_to_free_text_question, mutation: Mutations::OneOnOnes::RespondToFreeTextQuestion
17: field :create_one_on_one_schedule_with_my_direct_report, mutation: Mutations::OneOnOnes::CreateOneOnOneScheduleWithMyDirectReport
18: field :set_one_on_one_schedule_with_my_direct_report, mutation: Mutations::OneOnOnes::SetOneOnOneScheduleWithMyDirectReport
19: field :toggle_pause_one_on_one_schedule_with_my_direct_report, mutation: Mutations::OneOnOnes::TogglePauseOneOnOneScheduleWithMyDirectReport
```
- [x] app/graphql/admin_dashboard/types/query_type.rb
```
7: OneOnOnes::AdminReportRepo.new(
```
- [x] app/graphql/types/query_type.rb
```
31: field :one_on_ones_with_my_direct_reports, [Types::OneOnOnes::OneOnOneType], null: false
34: ::OneOnOnes::Queries::OneOnOnesWithMyDirectReportsQuery
39: field :one_on_one_with_my_manager, Types::OneOnOnes::OneOnOneType, null: true
42: ::OneOnOnes::Queries::OneOnOneWithMyManagerQuery
47: field :one_on_one, Types::OneOnOnes::OneOnOneType, null: true do
52: ::OneOnOnes::Queries::OneOnOneQuery
```
- [ ] app/graphql/performance_api_schema.rb
```
11: lazy_resolve(OneOnOnes::Loaders::UserLoader, :resolve)
12: lazy_resolve(OneOnOnes::Loaders::RatingResponseLoader, :resolve)
13: lazy_resolve(OneOnOnes::Loaders::FreeTextResponseLoader, :resolve)
```
- [ ] spec/graphql/integration/subscriptions/free_text_responses_spec.rb
```
55: }.to raise_error(::OneOnOnes::Errors::CurrentUserNotAuthorized)
79: }.to raise_error(::OneOnOnes::Errors::OneOnOneNotFound)
```
- [ ] spec/graphql/integration/subscriptions/rating_responses_spec.rb
```
55: }.to raise_error(::OneOnOnes::Errors::CurrentUserNotAuthorized)
79: }.to raise_error(::OneOnOnes::Errors::OneOnOneNotFound)
```
- [ ] spec/graphql/integration/subscriptions/shared_notes_spec.rb
```
55: }.to raise_error(::OneOnOnes::Errors::CurrentUserNotAuthorized)
79: }.to raise_error(::OneOnOnes::Errors::OneOnOneNotFound)
```
- [ ] spec/graphql/integration/subscriptions/agenda_items_spec.rb
```
55: }.to raise_error(::OneOnOnes::Errors::CurrentUserNotAuthorized)
79: }.to raise_error(::OneOnOnes::Errors::OneOnOneNotFound)
```
- [ ] spec/factories/free_text_response.rb
```
2: factory :free_text_response, class: OneOnOnes::FreeTextResponse do
```
- [ ] spec/factories/agenda_item.rb
```
2: factory :agenda_item, class: OneOnOnes::AgendaItem do
```
- [ ] spec/factories/default_checkin_template.rb
```
2: factory :default_checkin_template, class: OneOnOnes::CheckinTemplate do
```
- [ ] spec/factories/schedule.rb
```
2: factory :schedule, class: OneOnOnes::Schedule do
```
- [ ] spec/factories/free_text_question.rb
```
2: factory :free_text_question, class: OneOnOnes::FreeTextQuestion do
```
- [ ] spec/factories/rating_topic.rb
```
2: factory :rating_topic, class: OneOnOnes::RatingTopic do
9: factory :empty_rating_topic, class: OneOnOnes::RatingTopic do
```
- [ ] spec/factories/shared_note.rb
```
2: factory :shared_note, class: OneOnOnes::SharedNote do
```
- [ ] spec/factories/rating_response.rb
```
2: factory :rating_response, class: OneOnOnes::RatingResponse do
```
- [ ] db/seeds/all.rb
```
85: OneOnOnes::Seed.call
```
#### Script:
ag '\bOneOnOnes::' --ruby --ignore=spec --ignore=db/migrate --ignore='*one_on_one*' -H | awk '/^[0-9]/ { print " ",$0 } /^[^0-9]/{ print "\n", $0, "\n" }'
---