diff --git a/functions/_gql/gql.ts b/functions/_gql/gql.ts index 1a713b3ea..b9565c6d7 100644 --- a/functions/_gql/gql.ts +++ b/functions/_gql/gql.ts @@ -30,8 +30,12 @@ const documents = { "fragment MeetingRecurring on meeting_recurring {\n id\n orgId\n circleId\n circle {\n role {\n name\n colorHue\n }\n }\n participantsScope\n participantsMembersIds\n templateId\n template {\n title\n stepsConfig\n }\n rrule\n duration\n videoConf\n createdAt\n}": types.MeetingRecurringFragmentDoc, "fragment MeetingStep on meeting_step {\n id\n meetingId\n stepConfigId\n notes\n type\n data\n}": types.MeetingStepFragmentDoc, "fragment Member on member {\n id\n orgId\n archived\n name\n description\n pictureFileId\n picture\n userId\n inviteEmail\n inviteDate\n workedMinPerWeek\n role\n meetingId\n preferences\n}\n\nfragment MemberSummary on member {\n id\n userId\n name\n picture\n}": types.MemberFragmentDoc, - "fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}": types.OrgFragmentDoc, + "fragment MemberSkillLevel on member_skill_level {\n id\n memberId\n skillLevelId\n}": types.MemberSkillLevelFragmentDoc, + "fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}": types.OrgFragmentDoc, "fragment Role on role {\n id\n orgId\n archived\n base\n name\n purpose\n domain\n accountabilities\n checklist\n indicators\n notes\n singleMember\n autoCreate\n link\n defaultMinPerWeek\n colorHue\n}": types.RoleFragmentDoc, + "fragment Skill on skill {\n id\n name\n description\n categoryId\n category {\n ...SkillCategory\n }\n skill_levels {\n ...SkillLevelSummary\n }\n}": types.SkillFragmentDoc, + "fragment SkillCategory on skill_category {\n id\n name\n description\n skills {\n id\n name\n description\n }\n}": types.SkillCategoryFragmentDoc, + "fragment SkillLevel on skill_level {\n id\n name\n description\n degree\n skillId\n skills {\n ...Skill\n }\n}\n\nfragment SkillLevelSummary on skill_level {\n id\n name\n description\n degree\n}": types.SkillLevelFragmentDoc, "fragment Task on task {\n id\n orgId\n circleId\n memberId\n title\n description\n archived\n createdAt\n dueDate\n status\n}": types.TaskFragmentDoc, "fragment Thread on thread {\n id\n orgId\n circleId\n participantsScope\n participantsMembersIds\n initiatorMemberId\n title\n createdAt\n archived\n status\n}\n\nfragment ThreadMemberStatus on thread_member_status {\n lastReadActivityId\n lastReadDate\n}": types.ThreadFragmentDoc, "fragment ThreadActivity on thread_activity {\n id\n threadId\n userId\n createdAt\n type\n data\n refThread {\n ...Thread\n }\n refMeeting {\n ...MeetingSummary\n }\n refTask {\n ...Task\n }\n refDecision {\n ...Decision\n }\n}": types.ThreadActivityFragmentDoc, @@ -108,8 +112,12 @@ export function gql(source: "fragment Meeting on meeting {\n id\n orgId\n cir export function gql(source: "fragment MeetingRecurring on meeting_recurring {\n id\n orgId\n circleId\n circle {\n role {\n name\n colorHue\n }\n }\n participantsScope\n participantsMembersIds\n templateId\n template {\n title\n stepsConfig\n }\n rrule\n duration\n videoConf\n createdAt\n}"): (typeof documents)["fragment MeetingRecurring on meeting_recurring {\n id\n orgId\n circleId\n circle {\n role {\n name\n colorHue\n }\n }\n participantsScope\n participantsMembersIds\n templateId\n template {\n title\n stepsConfig\n }\n rrule\n duration\n videoConf\n createdAt\n}"]; export function gql(source: "fragment MeetingStep on meeting_step {\n id\n meetingId\n stepConfigId\n notes\n type\n data\n}"): (typeof documents)["fragment MeetingStep on meeting_step {\n id\n meetingId\n stepConfigId\n notes\n type\n data\n}"]; export function gql(source: "fragment Member on member {\n id\n orgId\n archived\n name\n description\n pictureFileId\n picture\n userId\n inviteEmail\n inviteDate\n workedMinPerWeek\n role\n meetingId\n preferences\n}\n\nfragment MemberSummary on member {\n id\n userId\n name\n picture\n}"): (typeof documents)["fragment Member on member {\n id\n orgId\n archived\n name\n description\n pictureFileId\n picture\n userId\n inviteEmail\n inviteDate\n workedMinPerWeek\n role\n meetingId\n preferences\n}\n\nfragment MemberSummary on member {\n id\n userId\n name\n picture\n}"]; -export function gql(source: "fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}"): (typeof documents)["fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n}"]; +export function gql(source: "fragment MemberSkillLevel on member_skill_level {\n id\n memberId\n skillLevelId\n}"): (typeof documents)["fragment MemberSkillLevel on member_skill_level {\n id\n memberId\n skillLevelId\n}"]; +export function gql(source: "fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}"): (typeof documents)["fragment Org on org {\n id\n name\n archived\n createdAt\n defaultWorkedMinPerWeek\n slug\n}\n\nfragment OrgFull on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...CircleFull\n }\n roles(where: {archived: {_eq: false}, base: {_eq: true}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}\n\nfragment OrgFullLight on org {\n ...Org\n circles(where: {archived: {_eq: false}}) {\n ...Circle\n members(where: {archived: {_eq: false}}) {\n id\n memberId\n avgMinPerWeek\n }\n }\n roles(where: {archived: {_eq: false}}) {\n ...Role\n }\n members(where: {archived: {_eq: false}}) {\n ...Member\n }\n skill_categories {\n ...SkillCategory\n }\n}"]; export function gql(source: "fragment Role on role {\n id\n orgId\n archived\n base\n name\n purpose\n domain\n accountabilities\n checklist\n indicators\n notes\n singleMember\n autoCreate\n link\n defaultMinPerWeek\n colorHue\n}"): (typeof documents)["fragment Role on role {\n id\n orgId\n archived\n base\n name\n purpose\n domain\n accountabilities\n checklist\n indicators\n notes\n singleMember\n autoCreate\n link\n defaultMinPerWeek\n colorHue\n}"]; +export function gql(source: "fragment Skill on skill {\n id\n name\n description\n categoryId\n category {\n ...SkillCategory\n }\n skill_levels {\n ...SkillLevelSummary\n }\n}"): (typeof documents)["fragment Skill on skill {\n id\n name\n description\n categoryId\n category {\n ...SkillCategory\n }\n skill_levels {\n ...SkillLevelSummary\n }\n}"]; +export function gql(source: "fragment SkillCategory on skill_category {\n id\n name\n description\n skills {\n id\n name\n description\n }\n}"): (typeof documents)["fragment SkillCategory on skill_category {\n id\n name\n description\n skills {\n id\n name\n description\n }\n}"]; +export function gql(source: "fragment SkillLevel on skill_level {\n id\n name\n description\n degree\n skillId\n skills {\n ...Skill\n }\n}\n\nfragment SkillLevelSummary on skill_level {\n id\n name\n description\n degree\n}"): (typeof documents)["fragment SkillLevel on skill_level {\n id\n name\n description\n degree\n skillId\n skills {\n ...Skill\n }\n}\n\nfragment SkillLevelSummary on skill_level {\n id\n name\n description\n degree\n}"]; export function gql(source: "fragment Task on task {\n id\n orgId\n circleId\n memberId\n title\n description\n archived\n createdAt\n dueDate\n status\n}"): (typeof documents)["fragment Task on task {\n id\n orgId\n circleId\n memberId\n title\n description\n archived\n createdAt\n dueDate\n status\n}"]; export function gql(source: "fragment Thread on thread {\n id\n orgId\n circleId\n participantsScope\n participantsMembersIds\n initiatorMemberId\n title\n createdAt\n archived\n status\n}\n\nfragment ThreadMemberStatus on thread_member_status {\n lastReadActivityId\n lastReadDate\n}"): (typeof documents)["fragment Thread on thread {\n id\n orgId\n circleId\n participantsScope\n participantsMembersIds\n initiatorMemberId\n title\n createdAt\n archived\n status\n}\n\nfragment ThreadMemberStatus on thread_member_status {\n lastReadActivityId\n lastReadDate\n}"]; export function gql(source: "fragment ThreadActivity on thread_activity {\n id\n threadId\n userId\n createdAt\n type\n data\n refThread {\n ...Thread\n }\n refMeeting {\n ...MeetingSummary\n }\n refTask {\n ...Task\n }\n refDecision {\n ...Decision\n }\n}"): (typeof documents)["fragment ThreadActivity on thread_activity {\n id\n threadId\n userId\n createdAt\n type\n data\n refThread {\n ...Thread\n }\n refMeeting {\n ...MeetingSummary\n }\n refTask {\n ...Task\n }\n refDecision {\n ...Decision\n }\n}"]; diff --git a/functions/_gql/graphql.ts b/functions/_gql/graphql.ts index 363f1c222..1f043981e 100644 --- a/functions/_gql/graphql.ts +++ b/functions/_gql/graphql.ts @@ -6605,6 +6605,162 @@ export type Member_Set_Input = { workedMinPerWeek?: InputMaybe; }; +/** columns and relationships of "member_skill_level" */ +export type Member_Skill_Level = { + __typename?: 'member_skill_level'; + id: Scalars['uuid']; + memberId: Scalars['uuid']; + /** An object relationship */ + members: Member; + skillLevelId: Scalars['uuid']; + /** An object relationship */ + skillLevels: Skill_Level; +}; + +/** aggregated selection of "member_skill_level" */ +export type Member_Skill_Level_Aggregate = { + __typename?: 'member_skill_level_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "member_skill_level" */ +export type Member_Skill_Level_Aggregate_Fields = { + __typename?: 'member_skill_level_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "member_skill_level" */ +export type Member_Skill_Level_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "member_skill_level". All fields are combined with a logical 'AND'. */ +export type Member_Skill_Level_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** unique or primary key constraints on table "member_skill_level" */ +export enum Member_Skill_Level_Constraint { + /** unique or primary key constraint on columns "id" */ + MemberSkillLevelPkey = 'member_skill_level_pkey' +} + +/** input type for inserting data into table "member_skill_level" */ +export type Member_Skill_Level_Insert_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Member_Skill_Level_Max_Fields = { + __typename?: 'member_skill_level_max_fields'; + id?: Maybe; + memberId?: Maybe; + skillLevelId?: Maybe; +}; + +/** aggregate min on columns */ +export type Member_Skill_Level_Min_Fields = { + __typename?: 'member_skill_level_min_fields'; + id?: Maybe; + memberId?: Maybe; + skillLevelId?: Maybe; +}; + +/** response of any mutation on the table "member_skill_level" */ +export type Member_Skill_Level_Mutation_Response = { + __typename?: 'member_skill_level_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** on_conflict condition type for table "member_skill_level" */ +export type Member_Skill_Level_On_Conflict = { + constraint: Member_Skill_Level_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "member_skill_level". */ +export type Member_Skill_Level_Order_By = { + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** primary key columns input for table: member_skill_level */ +export type Member_Skill_Level_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "member_skill_level" */ +export enum Member_Skill_Level_Select_Column { + /** column name */ + Id = 'id', + /** column name */ + MemberId = 'memberId', + /** column name */ + SkillLevelId = 'skillLevelId' +} + +/** input type for updating data in table "member_skill_level" */ +export type Member_Skill_Level_Set_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + skillLevelId?: InputMaybe; +}; + +/** Streaming cursor of the table "member_skill_level" */ +export type Member_Skill_Level_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Member_Skill_Level_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Member_Skill_Level_Stream_Cursor_Value_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + skillLevelId?: InputMaybe; +}; + +/** update columns of table "member_skill_level" */ +export enum Member_Skill_Level_Update_Column { + /** column name */ + Id = 'id', + /** column name */ + MemberId = 'memberId', + /** column name */ + SkillLevelId = 'skillLevelId' +} + +export type Member_Skill_Level_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Member_Skill_Level_Bool_Exp; +}; + /** aggregate stddev on columns */ export type Member_Stddev_Fields = { __typename?: 'member_stddev_fields'; @@ -6844,6 +7000,10 @@ export type Mutation_Root = { delete_member_scope?: Maybe; /** delete single row from the table: "member_scope" */ delete_member_scope_by_pk?: Maybe; + /** delete data from the table: "member_skill_level" */ + delete_member_skill_level?: Maybe; + /** delete single row from the table: "member_skill_level" */ + delete_member_skill_level_by_pk?: Maybe; /** delete data from the table: "old_id" */ delete_old_id?: Maybe; /** delete single row from the table: "old_id" */ @@ -6864,6 +7024,18 @@ export type Mutation_Root = { delete_role?: Maybe; /** delete single row from the table: "role" */ delete_role_by_pk?: Maybe; + /** delete data from the table: "skill" */ + delete_skill?: Maybe; + /** delete single row from the table: "skill" */ + delete_skill_by_pk?: Maybe; + /** delete data from the table: "skill_category" */ + delete_skill_category?: Maybe; + /** delete single row from the table: "skill_category" */ + delete_skill_category_by_pk?: Maybe; + /** delete data from the table: "skill_level" */ + delete_skill_level?: Maybe; + /** delete single row from the table: "skill_level" */ + delete_skill_level_by_pk?: Maybe; /** delete data from the table: "subscription_payment_status" */ delete_subscription_payment_status?: Maybe; /** delete single row from the table: "subscription_payment_status" */ @@ -7000,6 +7172,10 @@ export type Mutation_Root = { insert_member_scope?: Maybe; /** insert a single row into the table: "member_scope" */ insert_member_scope_one?: Maybe; + /** insert data into the table: "member_skill_level" */ + insert_member_skill_level?: Maybe; + /** insert a single row into the table: "member_skill_level" */ + insert_member_skill_level_one?: Maybe; /** insert data into the table: "old_id" */ insert_old_id?: Maybe; /** insert a single row into the table: "old_id" */ @@ -7020,6 +7196,18 @@ export type Mutation_Root = { insert_role?: Maybe; /** insert a single row into the table: "role" */ insert_role_one?: Maybe; + /** insert data into the table: "skill" */ + insert_skill?: Maybe; + /** insert data into the table: "skill_category" */ + insert_skill_category?: Maybe; + /** insert a single row into the table: "skill_category" */ + insert_skill_category_one?: Maybe; + /** insert data into the table: "skill_level" */ + insert_skill_level?: Maybe; + /** insert a single row into the table: "skill_level" */ + insert_skill_level_one?: Maybe; + /** insert a single row into the table: "skill" */ + insert_skill_one?: Maybe; /** insert data into the table: "subscription_payment_status" */ insert_subscription_payment_status?: Maybe; /** insert a single row into the table: "subscription_payment_status" */ @@ -7200,6 +7388,12 @@ export type Mutation_Root = { update_member_scope_by_pk?: Maybe; /** update multiples rows of table: "member_scope" */ update_member_scope_many?: Maybe>>; + /** update data of the table: "member_skill_level" */ + update_member_skill_level?: Maybe; + /** update single row of the table: "member_skill_level" */ + update_member_skill_level_by_pk?: Maybe; + /** update multiples rows of table: "member_skill_level" */ + update_member_skill_level_many?: Maybe>>; /** update data of the table: "old_id" */ update_old_id?: Maybe; /** update single row of the table: "old_id" */ @@ -7230,6 +7424,24 @@ export type Mutation_Root = { update_role_by_pk?: Maybe; /** update multiples rows of table: "role" */ update_role_many?: Maybe>>; + /** update data of the table: "skill" */ + update_skill?: Maybe; + /** update single row of the table: "skill" */ + update_skill_by_pk?: Maybe; + /** update data of the table: "skill_category" */ + update_skill_category?: Maybe; + /** update single row of the table: "skill_category" */ + update_skill_category_by_pk?: Maybe; + /** update multiples rows of table: "skill_category" */ + update_skill_category_many?: Maybe>>; + /** update data of the table: "skill_level" */ + update_skill_level?: Maybe; + /** update single row of the table: "skill_level" */ + update_skill_level_by_pk?: Maybe; + /** update multiples rows of table: "skill_level" */ + update_skill_level_many?: Maybe>>; + /** update multiples rows of table: "skill" */ + update_skill_many?: Maybe>>; /** update data of the table: "subscription_payment_status" */ update_subscription_payment_status?: Maybe; /** update single row of the table: "subscription_payment_status" */ @@ -7577,6 +7789,18 @@ export type Mutation_RootDelete_Member_Scope_By_PkArgs = { }; +/** mutation root */ +export type Mutation_RootDelete_Member_Skill_LevelArgs = { + where: Member_Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Member_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + /** mutation root */ export type Mutation_RootDelete_Old_IdArgs = { where: Old_Id_Bool_Exp; @@ -7637,6 +7861,42 @@ export type Mutation_RootDelete_Role_By_PkArgs = { }; +/** mutation root */ +export type Mutation_RootDelete_SkillArgs = { + where: Skill_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_By_PkArgs = { + id: Scalars['uuid']; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_CategoryArgs = { + where: Skill_Category_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_Category_By_PkArgs = { + id: Scalars['uuid']; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_LevelArgs = { + where: Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + /** mutation root */ export type Mutation_RootDelete_Subscription_Payment_StatusArgs = { where: Subscription_Payment_Status_Bool_Exp; @@ -8091,6 +8351,20 @@ export type Mutation_RootInsert_Member_Scope_OneArgs = { }; +/** mutation root */ +export type Mutation_RootInsert_Member_Skill_LevelArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Member_Skill_Level_OneArgs = { + object: Member_Skill_Level_Insert_Input; + on_conflict?: InputMaybe; +}; + + /** mutation root */ export type Mutation_RootInsert_Old_IdArgs = { objects: Array; @@ -8161,6 +8435,48 @@ export type Mutation_RootInsert_Role_OneArgs = { }; +/** mutation root */ +export type Mutation_RootInsert_SkillArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_CategoryArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_Category_OneArgs = { + object: Skill_Category_Insert_Input; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_LevelArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_Level_OneArgs = { + object: Skill_Level_Insert_Input; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_OneArgs = { + object: Skill_Insert_Input; + on_conflict?: InputMaybe; +}; + + /** mutation root */ export type Mutation_RootInsert_Subscription_Payment_StatusArgs = { objects: Array; @@ -8811,6 +9127,26 @@ export type Mutation_RootUpdate_Member_Scope_ManyArgs = { }; +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_LevelArgs = { + _set?: InputMaybe; + where: Member_Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_Level_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Member_Skill_Level_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_Level_ManyArgs = { + updates: Array; +}; + + /** mutation root */ export type Mutation_RootUpdate_Old_IdArgs = { _set?: InputMaybe; @@ -8915,6 +9251,68 @@ export type Mutation_RootUpdate_Role_ManyArgs = { }; +/** mutation root */ +export type Mutation_RootUpdate_SkillArgs = { + _set?: InputMaybe; + where: Skill_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Skill_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_CategoryArgs = { + _set?: InputMaybe; + where: Skill_Category_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Category_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Skill_Category_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Category_ManyArgs = { + updates: Array; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_LevelArgs = { + _inc?: InputMaybe; + _set?: InputMaybe; + where: Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Level_By_PkArgs = { + _inc?: InputMaybe; + _set?: InputMaybe; + pk_columns: Skill_Level_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Level_ManyArgs = { + updates: Array; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_ManyArgs = { + updates: Array; +}; + + /** mutation root */ export type Mutation_RootUpdate_Subscription_Payment_StatusArgs = { _set?: InputMaybe; @@ -9350,6 +9748,10 @@ export type Org = { roles: Array; /** An aggregate relationship */ roles_aggregate: Role_Aggregate; + /** An array relationship */ + skill_categories: Array; + /** An aggregate relationship */ + skill_categories_aggregate: Skill_Category_Aggregate; slug?: Maybe; subscriptionId?: Maybe; /** An array relationship */ @@ -9547,6 +9949,26 @@ export type OrgRoles_AggregateArgs = { }; +/** columns and relationships of "org" */ +export type OrgSkill_CategoriesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "org" */ +export type OrgSkill_Categories_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + /** columns and relationships of "org" */ export type OrgTask_ViewsArgs = { distinct_on?: InputMaybe>; @@ -9671,6 +10093,8 @@ export type Org_Bool_Exp = { org_subscription?: InputMaybe; roles?: InputMaybe; roles_aggregate?: InputMaybe; + skill_categories?: InputMaybe; + skill_categories_aggregate?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views?: InputMaybe; @@ -9906,6 +10330,7 @@ export type Org_Insert_Input = { name?: InputMaybe; org_subscription?: InputMaybe; roles?: InputMaybe; + skill_categories?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views?: InputMaybe; @@ -9975,6 +10400,7 @@ export type Org_Order_By = { name?: InputMaybe; org_subscription?: InputMaybe; roles_aggregate?: InputMaybe; + skill_categories_aggregate?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views_aggregate?: InputMaybe; @@ -10438,6 +10864,12 @@ export type Query_Root = { member_scope_aggregate: Member_Scope_Aggregate; /** fetch data from the table: "member_scope" using primary key columns */ member_scope_by_pk?: Maybe; + /** fetch data from the table: "member_skill_level" */ + member_skill_level: Array; + /** fetch aggregated fields from the table: "member_skill_level" */ + member_skill_level_aggregate: Member_Skill_Level_Aggregate; + /** fetch data from the table: "member_skill_level" using primary key columns */ + member_skill_level_by_pk?: Maybe; /** fetch data from the table: "old_id" */ old_id: Array; /** fetch aggregated fields from the table: "old_id" */ @@ -10468,6 +10900,24 @@ export type Query_Root = { role_aggregate: Role_Aggregate; /** fetch data from the table: "role" using primary key columns */ role_by_pk?: Maybe; + /** fetch data from the table: "skill" */ + skill: Array; + /** fetch aggregated fields from the table: "skill" */ + skill_aggregate: Skill_Aggregate; + /** fetch data from the table: "skill" using primary key columns */ + skill_by_pk?: Maybe; + /** fetch data from the table: "skill_category" */ + skill_category: Array; + /** fetch aggregated fields from the table: "skill_category" */ + skill_category_aggregate: Skill_Category_Aggregate; + /** fetch data from the table: "skill_category" using primary key columns */ + skill_category_by_pk?: Maybe; + /** fetch data from the table: "skill_level" */ + skill_level: Array; + /** fetch aggregated fields from the table: "skill_level" */ + skill_level_aggregate: Skill_Level_Aggregate; + /** fetch data from the table: "skill_level" using primary key columns */ + skill_level_by_pk?: Maybe; /** fetch data from the table: "subscription_payment_status" */ subscription_payment_status: Array; /** fetch aggregated fields from the table: "subscription_payment_status" */ @@ -11067,6 +11517,29 @@ export type Query_RootMember_Scope_By_PkArgs = { }; +export type Query_RootMember_Skill_LevelArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMember_Skill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMember_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + export type Query_RootOld_IdArgs = { distinct_on?: InputMaybe>; limit?: InputMaybe; @@ -11182,66 +11655,135 @@ export type Query_RootRole_By_PkArgs = { }; -export type Query_RootSubscription_Payment_StatusArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkillArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Payment_Status_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Payment_Status_By_PkArgs = { - value: Scalars['String']; +export type Query_RootSkill_By_PkArgs = { + id: Scalars['uuid']; }; -export type Query_RootSubscription_Plan_TypeArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_CategoryArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Plan_Type_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_Category_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Plan_Type_By_PkArgs = { - value: Scalars['String']; +export type Query_RootSkill_Category_By_PkArgs = { + id: Scalars['uuid']; }; -export type Query_RootTaskArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_LevelArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootTask_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSkill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Query_RootSubscription_Payment_StatusArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Payment_Status_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Payment_Status_By_PkArgs = { + value: Scalars['String']; +}; + + +export type Query_RootSubscription_Plan_TypeArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Plan_Type_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Plan_Type_By_PkArgs = { + value: Scalars['String']; +}; + + +export type Query_RootTaskArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootTask_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; where?: InputMaybe; }; @@ -11873,155 +12415,964 @@ export type Role_Stddev_Order_By = { }; /** aggregate stddev_pop on columns */ -export type Role_Stddev_Pop_Fields = { - __typename?: 'role_stddev_pop_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Role_Stddev_Pop_Fields = { + __typename?: 'role_stddev_pop_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by stddev_pop() on columns of table "role" */ +export type Role_Stddev_Pop_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Role_Stddev_Samp_Fields = { + __typename?: 'role_stddev_samp_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by stddev_samp() on columns of table "role" */ +export type Role_Stddev_Samp_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** Streaming cursor of the table "role" */ +export type Role_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Role_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Role_Stream_Cursor_Value_Input = { + accountabilities?: InputMaybe; + archived?: InputMaybe; + autoCreate?: InputMaybe; + base?: InputMaybe; + checklist?: InputMaybe; + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; + domain?: InputMaybe; + id?: InputMaybe; + indicators?: InputMaybe; + /** Link to another circle (parent or other) to represent parent circle's purpose in this other circle. If string, circleId. If "Parent" = grand parent circle. If "No", not a link. */ + link?: InputMaybe; + name?: InputMaybe; + notes?: InputMaybe; + orgId?: InputMaybe; + purpose?: InputMaybe; + singleMember?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Role_Sum_Fields = { + __typename?: 'role_sum_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by sum() on columns of table "role" */ +export type Role_Sum_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** update columns of table "role" */ +export enum Role_Update_Column { + /** column name */ + Accountabilities = 'accountabilities', + /** column name */ + Archived = 'archived', + /** column name */ + AutoCreate = 'autoCreate', + /** column name */ + Base = 'base', + /** column name */ + Checklist = 'checklist', + /** column name */ + ColorHue = 'colorHue', + /** column name */ + DefaultMinPerWeek = 'defaultMinPerWeek', + /** column name */ + Domain = 'domain', + /** column name */ + Id = 'id', + /** column name */ + Indicators = 'indicators', + /** column name */ + Link = 'link', + /** column name */ + Name = 'name', + /** column name */ + Notes = 'notes', + /** column name */ + OrgId = 'orgId', + /** column name */ + Purpose = 'purpose', + /** column name */ + SingleMember = 'singleMember' +} + +export type Role_Updates = { + /** increments the numeric columns with given value of the filtered values */ + _inc?: InputMaybe; + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Role_Bool_Exp; +}; + +/** aggregate var_pop on columns */ +export type Role_Var_Pop_Fields = { + __typename?: 'role_var_pop_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by var_pop() on columns of table "role" */ +export type Role_Var_Pop_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Role_Var_Samp_Fields = { + __typename?: 'role_var_samp_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by var_samp() on columns of table "role" */ +export type Role_Var_Samp_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Role_Variance_Fields = { + __typename?: 'role_variance_fields'; + colorHue?: Maybe; + defaultMinPerWeek?: Maybe; +}; + +/** order by variance() on columns of table "role" */ +export type Role_Variance_Order_By = { + colorHue?: InputMaybe; + defaultMinPerWeek?: InputMaybe; +}; + +/** columns and relationships of "skill" */ +export type Skill = { + __typename?: 'skill'; + /** An object relationship */ + category?: Maybe; + categoryId?: Maybe; + description: Scalars['String']; + id: Scalars['uuid']; + name: Scalars['String']; + /** An array relationship */ + skill_levels: Array; + /** An aggregate relationship */ + skill_levels_aggregate: Skill_Level_Aggregate; +}; + + +/** columns and relationships of "skill" */ +export type SkillSkill_LevelsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "skill" */ +export type SkillSkill_Levels_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "skill" */ +export type Skill_Aggregate = { + __typename?: 'skill_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +export type Skill_Aggregate_Bool_Exp = { + count?: InputMaybe; +}; + +export type Skill_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; + distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; +}; + +/** aggregate fields of "skill" */ +export type Skill_Aggregate_Fields = { + __typename?: 'skill_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "skill" */ +export type Skill_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "skill" */ +export type Skill_Aggregate_Order_By = { + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; +}; + +/** input type for inserting array relation for remote table "skill" */ +export type Skill_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "skill". All fields are combined with a logical 'AND'. */ +export type Skill_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels?: InputMaybe; + skill_levels_aggregate?: InputMaybe; +}; + +/** columns and relationships of "skill_category" */ +export type Skill_Category = { + __typename?: 'skill_category'; + description?: Maybe; + id: Scalars['uuid']; + name: Scalars['String']; + orgId: Scalars['uuid']; + /** An array relationship */ + skills: Array; + /** An aggregate relationship */ + skills_aggregate: Skill_Aggregate; +}; + + +/** columns and relationships of "skill_category" */ +export type Skill_CategorySkillsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "skill_category" */ +export type Skill_CategorySkills_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + +/** aggregated selection of "skill_category" */ +export type Skill_Category_Aggregate = { + __typename?: 'skill_category_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +export type Skill_Category_Aggregate_Bool_Exp = { + count?: InputMaybe; +}; + +export type Skill_Category_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; + distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; +}; + +/** aggregate fields of "skill_category" */ +export type Skill_Category_Aggregate_Fields = { + __typename?: 'skill_category_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "skill_category" */ +export type Skill_Category_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "skill_category" */ +export type Skill_Category_Aggregate_Order_By = { + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; +}; + +/** input type for inserting array relation for remote table "skill_category" */ +export type Skill_Category_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "skill_category". All fields are combined with a logical 'AND'. */ +export type Skill_Category_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills?: InputMaybe; + skills_aggregate?: InputMaybe; +}; + +/** unique or primary key constraints on table "skill_category" */ +export enum Skill_Category_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillCategoryPkey = 'skill_category_pkey' +} + +/** input type for inserting data into table "skill_category" */ +export type Skill_Category_Insert_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Skill_Category_Max_Fields = { + __typename?: 'skill_category_max_fields'; + description?: Maybe; + id?: Maybe; + name?: Maybe; + orgId?: Maybe; +}; + +/** order by max() on columns of table "skill_category" */ +export type Skill_Category_Max_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Category_Min_Fields = { + __typename?: 'skill_category_min_fields'; + description?: Maybe; + id?: Maybe; + name?: Maybe; + orgId?: Maybe; +}; + +/** order by min() on columns of table "skill_category" */ +export type Skill_Category_Min_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** response of any mutation on the table "skill_category" */ +export type Skill_Category_Mutation_Response = { + __typename?: 'skill_category_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill_category" */ +export type Skill_Category_Obj_Rel_Insert_Input = { + data: Skill_Category_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill_category" */ +export type Skill_Category_On_Conflict = { + constraint: Skill_Category_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill_category". */ +export type Skill_Category_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills_aggregate?: InputMaybe; +}; + +/** primary key columns input for table: skill_category */ +export type Skill_Category_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill_category" */ +export enum Skill_Category_Select_Column { + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + OrgId = 'orgId' +} + +/** input type for updating data in table "skill_category" */ +export type Skill_Category_Set_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** Streaming cursor of the table "skill_category" */ +export type Skill_Category_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Skill_Category_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Skill_Category_Stream_Cursor_Value_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** update columns of table "skill_category" */ +export enum Skill_Category_Update_Column { + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + OrgId = 'orgId' +} + +export type Skill_Category_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Skill_Category_Bool_Exp; +}; + +/** unique or primary key constraints on table "skill" */ +export enum Skill_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillPkey = 'skill_pkey' +} + +/** input type for inserting data into table "skill" */ +export type Skill_Insert_Input = { + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels?: InputMaybe; +}; + +/** columns and relationships of "skill_level" */ +export type Skill_Level = { + __typename?: 'skill_level'; + degree: Scalars['Int']; + description: Scalars['String']; + id: Scalars['uuid']; + name: Scalars['String']; + skillId: Scalars['uuid']; + /** An object relationship */ + skills: Skill; +}; + +/** aggregated selection of "skill_level" */ +export type Skill_Level_Aggregate = { + __typename?: 'skill_level_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +export type Skill_Level_Aggregate_Bool_Exp = { + count?: InputMaybe; +}; + +export type Skill_Level_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; + distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; +}; + +/** aggregate fields of "skill_level" */ +export type Skill_Level_Aggregate_Fields = { + __typename?: 'skill_level_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "skill_level" */ +export type Skill_Level_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "skill_level" */ +export type Skill_Level_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** input type for inserting array relation for remote table "skill_level" */ +export type Skill_Level_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Skill_Level_Avg_Fields = { + __typename?: 'skill_level_avg_fields'; + degree?: Maybe; +}; + +/** order by avg() on columns of table "skill_level" */ +export type Skill_Level_Avg_Order_By = { + degree?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "skill_level". All fields are combined with a logical 'AND'. */ +export type Skill_Level_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** unique or primary key constraints on table "skill_level" */ +export enum Skill_Level_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillLevelPkey = 'skill_level_pkey' +} + +/** input type for incrementing numeric columns in table "skill_level" */ +export type Skill_Level_Inc_Input = { + degree?: InputMaybe; +}; + +/** input type for inserting data into table "skill_level" */ +export type Skill_Level_Insert_Input = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Skill_Level_Max_Fields = { + __typename?: 'skill_level_max_fields'; + degree?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; + skillId?: Maybe; +}; + +/** order by max() on columns of table "skill_level" */ +export type Skill_Level_Max_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Level_Min_Fields = { + __typename?: 'skill_level_min_fields'; + degree?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; + skillId?: Maybe; +}; + +/** order by min() on columns of table "skill_level" */ +export type Skill_Level_Min_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** response of any mutation on the table "skill_level" */ +export type Skill_Level_Mutation_Response = { + __typename?: 'skill_level_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill_level" */ +export type Skill_Level_Obj_Rel_Insert_Input = { + data: Skill_Level_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill_level" */ +export type Skill_Level_On_Conflict = { + constraint: Skill_Level_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill_level". */ +export type Skill_Level_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** primary key columns input for table: skill_level */ +export type Skill_Level_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill_level" */ +export enum Skill_Level_Select_Column { + /** column name */ + Degree = 'degree', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + SkillId = 'skillId' +} + +/** input type for updating data in table "skill_level" */ +export type Skill_Level_Set_Input = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** aggregate stddev on columns */ +export type Skill_Level_Stddev_Fields = { + __typename?: 'skill_level_stddev_fields'; + degree?: Maybe; +}; + +/** order by stddev() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Skill_Level_Stddev_Pop_Fields = { + __typename?: 'skill_level_stddev_pop_fields'; + degree?: Maybe; }; -/** order by stddev_pop() on columns of table "role" */ -export type Role_Stddev_Pop_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by stddev_pop() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Pop_Order_By = { + degree?: InputMaybe; }; /** aggregate stddev_samp on columns */ -export type Role_Stddev_Samp_Fields = { - __typename?: 'role_stddev_samp_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Skill_Level_Stddev_Samp_Fields = { + __typename?: 'skill_level_stddev_samp_fields'; + degree?: Maybe; }; -/** order by stddev_samp() on columns of table "role" */ -export type Role_Stddev_Samp_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by stddev_samp() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Samp_Order_By = { + degree?: InputMaybe; }; -/** Streaming cursor of the table "role" */ -export type Role_Stream_Cursor_Input = { +/** Streaming cursor of the table "skill_level" */ +export type Skill_Level_Stream_Cursor_Input = { /** Stream column input with initial value */ - initial_value: Role_Stream_Cursor_Value_Input; + initial_value: Skill_Level_Stream_Cursor_Value_Input; /** cursor ordering */ ordering?: InputMaybe; }; /** Initial value of the column from where the streaming should start */ -export type Role_Stream_Cursor_Value_Input = { - accountabilities?: InputMaybe; - archived?: InputMaybe; - autoCreate?: InputMaybe; - base?: InputMaybe; - checklist?: InputMaybe; - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; - domain?: InputMaybe; +export type Skill_Level_Stream_Cursor_Value_Input = { + degree?: InputMaybe; + description?: InputMaybe; id?: InputMaybe; - indicators?: InputMaybe; - /** Link to another circle (parent or other) to represent parent circle's purpose in this other circle. If string, circleId. If "Parent" = grand parent circle. If "No", not a link. */ - link?: InputMaybe; name?: InputMaybe; - notes?: InputMaybe; - orgId?: InputMaybe; - purpose?: InputMaybe; - singleMember?: InputMaybe; + skillId?: InputMaybe; }; /** aggregate sum on columns */ -export type Role_Sum_Fields = { - __typename?: 'role_sum_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Skill_Level_Sum_Fields = { + __typename?: 'skill_level_sum_fields'; + degree?: Maybe; }; -/** order by sum() on columns of table "role" */ -export type Role_Sum_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by sum() on columns of table "skill_level" */ +export type Skill_Level_Sum_Order_By = { + degree?: InputMaybe; }; -/** update columns of table "role" */ -export enum Role_Update_Column { - /** column name */ - Accountabilities = 'accountabilities', - /** column name */ - Archived = 'archived', - /** column name */ - AutoCreate = 'autoCreate', - /** column name */ - Base = 'base', - /** column name */ - Checklist = 'checklist', - /** column name */ - ColorHue = 'colorHue', +/** update columns of table "skill_level" */ +export enum Skill_Level_Update_Column { /** column name */ - DefaultMinPerWeek = 'defaultMinPerWeek', + Degree = 'degree', /** column name */ - Domain = 'domain', + Description = 'description', /** column name */ Id = 'id', /** column name */ - Indicators = 'indicators', - /** column name */ - Link = 'link', - /** column name */ Name = 'name', /** column name */ - Notes = 'notes', - /** column name */ - OrgId = 'orgId', - /** column name */ - Purpose = 'purpose', - /** column name */ - SingleMember = 'singleMember' + SkillId = 'skillId' } -export type Role_Updates = { +export type Skill_Level_Updates = { /** increments the numeric columns with given value of the filtered values */ - _inc?: InputMaybe; + _inc?: InputMaybe; /** sets the columns of the filtered rows to the given values */ - _set?: InputMaybe; + _set?: InputMaybe; /** filter the rows which have to be updated */ - where: Role_Bool_Exp; + where: Skill_Level_Bool_Exp; }; /** aggregate var_pop on columns */ -export type Role_Var_Pop_Fields = { - __typename?: 'role_var_pop_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Skill_Level_Var_Pop_Fields = { + __typename?: 'skill_level_var_pop_fields'; + degree?: Maybe; }; -/** order by var_pop() on columns of table "role" */ -export type Role_Var_Pop_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by var_pop() on columns of table "skill_level" */ +export type Skill_Level_Var_Pop_Order_By = { + degree?: InputMaybe; }; /** aggregate var_samp on columns */ -export type Role_Var_Samp_Fields = { - __typename?: 'role_var_samp_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Skill_Level_Var_Samp_Fields = { + __typename?: 'skill_level_var_samp_fields'; + degree?: Maybe; }; -/** order by var_samp() on columns of table "role" */ -export type Role_Var_Samp_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by var_samp() on columns of table "skill_level" */ +export type Skill_Level_Var_Samp_Order_By = { + degree?: InputMaybe; }; /** aggregate variance on columns */ -export type Role_Variance_Fields = { - __typename?: 'role_variance_fields'; - colorHue?: Maybe; - defaultMinPerWeek?: Maybe; +export type Skill_Level_Variance_Fields = { + __typename?: 'skill_level_variance_fields'; + degree?: Maybe; }; -/** order by variance() on columns of table "role" */ -export type Role_Variance_Order_By = { - colorHue?: InputMaybe; - defaultMinPerWeek?: InputMaybe; +/** order by variance() on columns of table "skill_level" */ +export type Skill_Level_Variance_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Skill_Max_Fields = { + __typename?: 'skill_max_fields'; + categoryId?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; +}; + +/** order by max() on columns of table "skill" */ +export type Skill_Max_Order_By = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Min_Fields = { + __typename?: 'skill_min_fields'; + categoryId?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; +}; + +/** order by min() on columns of table "skill" */ +export type Skill_Min_Order_By = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** response of any mutation on the table "skill" */ +export type Skill_Mutation_Response = { + __typename?: 'skill_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill" */ +export type Skill_Obj_Rel_Insert_Input = { + data: Skill_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill" */ +export type Skill_On_Conflict = { + constraint: Skill_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill". */ +export type Skill_Order_By = { + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels_aggregate?: InputMaybe; +}; + +/** primary key columns input for table: skill */ +export type Skill_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill" */ +export enum Skill_Select_Column { + /** column name */ + CategoryId = 'categoryId', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name' +} + +/** input type for updating data in table "skill" */ +export type Skill_Set_Input = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** Streaming cursor of the table "skill" */ +export type Skill_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Skill_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Skill_Stream_Cursor_Value_Input = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** update columns of table "skill" */ +export enum Skill_Update_Column { + /** column name */ + CategoryId = 'categoryId', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name' +} + +export type Skill_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Skill_Bool_Exp; }; /** Boolean expression to compare columns of type "smallint". All fields are combined with logical 'AND'. */ @@ -12496,6 +13847,14 @@ export type Subscription_Root = { member_scope_by_pk?: Maybe; /** fetch data from the table in a streaming manner: "member_scope" */ member_scope_stream: Array; + /** fetch data from the table: "member_skill_level" */ + member_skill_level: Array; + /** fetch aggregated fields from the table: "member_skill_level" */ + member_skill_level_aggregate: Member_Skill_Level_Aggregate; + /** fetch data from the table: "member_skill_level" using primary key columns */ + member_skill_level_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "member_skill_level" */ + member_skill_level_stream: Array; /** fetch data from the table in a streaming manner: "member" */ member_stream: Array; /** fetch data from the table: "old_id" */ @@ -12538,6 +13897,30 @@ export type Subscription_Root = { role_by_pk?: Maybe; /** fetch data from the table in a streaming manner: "role" */ role_stream: Array; + /** fetch data from the table: "skill" */ + skill: Array; + /** fetch aggregated fields from the table: "skill" */ + skill_aggregate: Skill_Aggregate; + /** fetch data from the table: "skill" using primary key columns */ + skill_by_pk?: Maybe; + /** fetch data from the table: "skill_category" */ + skill_category: Array; + /** fetch aggregated fields from the table: "skill_category" */ + skill_category_aggregate: Skill_Category_Aggregate; + /** fetch data from the table: "skill_category" using primary key columns */ + skill_category_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "skill_category" */ + skill_category_stream: Array; + /** fetch data from the table: "skill_level" */ + skill_level: Array; + /** fetch aggregated fields from the table: "skill_level" */ + skill_level_aggregate: Skill_Level_Aggregate; + /** fetch data from the table: "skill_level" using primary key columns */ + skill_level_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "skill_level" */ + skill_level_stream: Array; + /** fetch data from the table in a streaming manner: "skill" */ + skill_stream: Array; /** fetch data from the table: "subscription_payment_status" */ subscription_payment_status: Array; /** fetch aggregated fields from the table: "subscription_payment_status" */ @@ -13315,6 +14698,36 @@ export type Subscription_RootMember_Scope_StreamArgs = { }; +export type Subscription_RootMember_Skill_LevelArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMember_Skill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMember_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootMember_Skill_Level_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + export type Subscription_RootMember_StreamArgs = { batch_size: Scalars['Int']; cursor: Array>; @@ -13472,6 +14885,96 @@ export type Subscription_RootRole_StreamArgs = { }; +export type Subscription_RootSkillArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootSkill_CategoryArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_Category_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_Category_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootSkill_Category_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_LevelArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootSkill_Level_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + export type Subscription_RootSubscription_Payment_StatusArgs = { distinct_on?: InputMaybe>; limit?: InputMaybe; @@ -16832,14 +18335,24 @@ export type MemberFragment = { __typename?: 'member', id: string, orgId: string, export type MemberSummaryFragment = { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null }; +export type MemberSkillLevelFragment = { __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string }; + export type OrgFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null }; -export type OrgFullFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, avgMinPerWeek?: number | null, member: { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null } }>, role: { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null } }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }> }; +export type OrgFullFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, avgMinPerWeek?: number | null, member: { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null } }>, role: { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null } }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }>, skill_categories: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> }; -export type OrgFullLightFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }> }; +export type OrgFullLightFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }>, skill_categories: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> }; export type RoleFragment = { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }; +export type SkillFragment = { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> }; + +export type SkillCategoryFragment = { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }; + +export type SkillLevelFragment = { __typename?: 'skill_level', id: string, name: string, description: string, degree: number, skillId: string, skills: { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> } }; + +export type SkillLevelSummaryFragment = { __typename?: 'skill_level', id: string, name: string, description: string, degree: number }; + export type TaskFragment = { __typename?: 'task', id: string, orgId: string, circleId: string, memberId?: string | null, title: string, description: string, archived: boolean, createdAt: string, dueDate?: string | null, status: Task_Status_Enum }; export type ThreadFragment = { __typename?: 'thread', id: string, orgId: string, circleId: string, participantsScope: Member_Scope_Enum, participantsMembersIds: Array, initiatorMemberId: string, title: string, createdAt: string, archived: boolean, status: Thread_Status_Enum }; @@ -17187,6 +18700,7 @@ export const LogFragmentDoc = {"kind":"Document","definitions":[{"kind":"Fragmen export const MeetingFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Meeting"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"meeting"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"circleId"}},{"kind":"Field","name":{"kind":"Name","value":"participantsScope"}},{"kind":"Field","name":{"kind":"Name","value":"participantsMembersIds"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"startDate"}},{"kind":"Field","name":{"kind":"Name","value":"endDate"}},{"kind":"Field","name":{"kind":"Name","value":"ended"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"attendees"}},{"kind":"Field","name":{"kind":"Name","value":"stepsConfig"}},{"kind":"Field","name":{"kind":"Name","value":"currentStepId"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}},{"kind":"Field","name":{"kind":"Name","value":"videoConf"}},{"kind":"Field","name":{"kind":"Name","value":"recurringId"}},{"kind":"Field","name":{"kind":"Name","value":"recurringDate"}}]}}]} as unknown as DocumentNode; export const MeetingRecurringFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MeetingRecurring"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"meeting_recurring"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"circleId"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"role"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"colorHue"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"participantsScope"}},{"kind":"Field","name":{"kind":"Name","value":"participantsMembersIds"}},{"kind":"Field","name":{"kind":"Name","value":"templateId"}},{"kind":"Field","name":{"kind":"Name","value":"template"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"stepsConfig"}}]}},{"kind":"Field","name":{"kind":"Name","value":"rrule"}},{"kind":"Field","name":{"kind":"Name","value":"duration"}},{"kind":"Field","name":{"kind":"Name","value":"videoConf"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]} as unknown as DocumentNode; export const MeetingStepFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MeetingStep"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"meeting_step"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"meetingId"}},{"kind":"Field","name":{"kind":"Name","value":"stepConfigId"}},{"kind":"Field","name":{"kind":"Name","value":"notes"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"data"}}]}}]} as unknown as DocumentNode; +export const MemberSkillLevelFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MemberSkillLevel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"member_skill_level"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"memberId"}},{"kind":"Field","name":{"kind":"Name","value":"skillLevelId"}}]}}]} as unknown as DocumentNode; export const OrgFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Org"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"org"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultWorkedMinPerWeek"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]} as unknown as DocumentNode; export const CircleFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Circle"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"circle"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"parentId"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}}]}}]} as unknown as DocumentNode; export const RoleFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Role"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"role"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}},{"kind":"Field","name":{"kind":"Name","value":"base"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"purpose"}},{"kind":"Field","name":{"kind":"Name","value":"domain"}},{"kind":"Field","name":{"kind":"Name","value":"accountabilities"}},{"kind":"Field","name":{"kind":"Name","value":"checklist"}},{"kind":"Field","name":{"kind":"Name","value":"indicators"}},{"kind":"Field","name":{"kind":"Name","value":"notes"}},{"kind":"Field","name":{"kind":"Name","value":"singleMember"}},{"kind":"Field","name":{"kind":"Name","value":"autoCreate"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"defaultMinPerWeek"}},{"kind":"Field","name":{"kind":"Name","value":"colorHue"}}]}}]} as unknown as DocumentNode; @@ -17194,8 +18708,12 @@ export const CircleWithRoleFragmentDoc = {"kind":"Document","definitions":[{"kin export const MemberSummaryFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MemberSummary"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"member"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"picture"}}]}}]} as unknown as DocumentNode; export const CircleFullFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CircleFull"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"circle"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CircleWithRole"}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}},{"kind":"ObjectField","name":{"kind":"Name","value":"member"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"avgMinPerWeek"}},{"kind":"Field","name":{"kind":"Name","value":"member"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MemberSummary"}}]}}]}}]}},...CircleWithRoleFragmentDoc.definitions,...MemberSummaryFragmentDoc.definitions]} as unknown as DocumentNode; export const MemberFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Member"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"member"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"pictureFileId"}},{"kind":"Field","name":{"kind":"Name","value":"picture"}},{"kind":"Field","name":{"kind":"Name","value":"userId"}},{"kind":"Field","name":{"kind":"Name","value":"inviteEmail"}},{"kind":"Field","name":{"kind":"Name","value":"inviteDate"}},{"kind":"Field","name":{"kind":"Name","value":"workedMinPerWeek"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"meetingId"}},{"kind":"Field","name":{"kind":"Name","value":"preferences"}}]}}]} as unknown as DocumentNode; -export const OrgFullFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OrgFull"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"org"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Org"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CircleFull"}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}},{"kind":"ObjectField","name":{"kind":"Name","value":"base"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":true}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Member"}}]}}]}},...OrgFragmentDoc.definitions,...CircleFullFragmentDoc.definitions,...RoleFragmentDoc.definitions,...MemberFragmentDoc.definitions]} as unknown as DocumentNode; -export const OrgFullLightFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OrgFullLight"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"org"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Org"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Circle"}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"memberId"}},{"kind":"Field","name":{"kind":"Name","value":"avgMinPerWeek"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Member"}}]}}]}},...OrgFragmentDoc.definitions,...CircleFragmentDoc.definitions,...RoleFragmentDoc.definitions,...MemberFragmentDoc.definitions]} as unknown as DocumentNode; +export const SkillCategoryFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SkillCategory"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"skill_category"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"skills"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}}]}}]} as unknown as DocumentNode; +export const OrgFullFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OrgFull"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"org"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Org"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CircleFull"}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}},{"kind":"ObjectField","name":{"kind":"Name","value":"base"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":true}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Member"}}]}},{"kind":"Field","name":{"kind":"Name","value":"skill_categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SkillCategory"}}]}}]}},...OrgFragmentDoc.definitions,...CircleFullFragmentDoc.definitions,...RoleFragmentDoc.definitions,...MemberFragmentDoc.definitions,...SkillCategoryFragmentDoc.definitions]} as unknown as DocumentNode; +export const OrgFullLightFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OrgFullLight"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"org"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Org"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Circle"}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"memberId"}},{"kind":"Field","name":{"kind":"Name","value":"avgMinPerWeek"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"roles"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"members"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"where"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"archived"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"_eq"},"value":{"kind":"BooleanValue","value":false}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Member"}}]}},{"kind":"Field","name":{"kind":"Name","value":"skill_categories"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SkillCategory"}}]}}]}},...OrgFragmentDoc.definitions,...CircleFragmentDoc.definitions,...RoleFragmentDoc.definitions,...MemberFragmentDoc.definitions,...SkillCategoryFragmentDoc.definitions]} as unknown as DocumentNode; +export const SkillLevelSummaryFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SkillLevelSummary"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"skill_level"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"degree"}}]}}]} as unknown as DocumentNode; +export const SkillFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Skill"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"skill"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"categoryId"}},{"kind":"Field","name":{"kind":"Name","value":"category"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SkillCategory"}}]}},{"kind":"Field","name":{"kind":"Name","value":"skill_levels"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"SkillLevelSummary"}}]}}]}},...SkillCategoryFragmentDoc.definitions,...SkillLevelSummaryFragmentDoc.definitions]} as unknown as DocumentNode; +export const SkillLevelFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"SkillLevel"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"skill_level"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"degree"}},{"kind":"Field","name":{"kind":"Name","value":"skillId"}},{"kind":"Field","name":{"kind":"Name","value":"skills"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"Skill"}}]}}]}},...SkillFragmentDoc.definitions]} as unknown as DocumentNode; export const ThreadMemberStatusFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ThreadMemberStatus"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"thread_member_status"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lastReadActivityId"}},{"kind":"Field","name":{"kind":"Name","value":"lastReadDate"}}]}}]} as unknown as DocumentNode; export const ThreadFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Thread"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"thread"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"circleId"}},{"kind":"Field","name":{"kind":"Name","value":"participantsScope"}},{"kind":"Field","name":{"kind":"Name","value":"participantsMembersIds"}},{"kind":"Field","name":{"kind":"Name","value":"initiatorMemberId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"archived"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]} as unknown as DocumentNode; export const MeetingSummaryFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MeetingSummary"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"meeting"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"orgId"}},{"kind":"Field","name":{"kind":"Name","value":"circleId"}},{"kind":"Field","name":{"kind":"Name","value":"participantsScope"}},{"kind":"Field","name":{"kind":"Name","value":"participantsMembersIds"}},{"kind":"Field","name":{"kind":"Name","value":"startDate"}},{"kind":"Field","name":{"kind":"Name","value":"endDate"}},{"kind":"Field","name":{"kind":"Name","value":"ended"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"currentStepId"}}]}}]} as unknown as DocumentNode; diff --git a/functions/_shared/fragments/member_skill_level.gql b/functions/_shared/fragments/member_skill_level.gql new file mode 100644 index 000000000..71814428c --- /dev/null +++ b/functions/_shared/fragments/member_skill_level.gql @@ -0,0 +1,5 @@ +fragment MemberSkillLevel on member_skill_level { + id + memberId + skillLevelId +} diff --git a/functions/_shared/fragments/org.gql b/functions/_shared/fragments/org.gql index f38d51a23..296eba2ad 100644 --- a/functions/_shared/fragments/org.gql +++ b/functions/_shared/fragments/org.gql @@ -21,6 +21,9 @@ fragment OrgFull on org { members(where: { archived: { _eq: false } }) { ...Member } + skill_categories { + ...SkillCategory + } } fragment OrgFullLight on org { @@ -39,4 +42,7 @@ fragment OrgFullLight on org { members(where: { archived: { _eq: false } }) { ...Member } + skill_categories { + ...SkillCategory + } } diff --git a/functions/_shared/fragments/skill.gql b/functions/_shared/fragments/skill.gql new file mode 100644 index 000000000..f7577ba28 --- /dev/null +++ b/functions/_shared/fragments/skill.gql @@ -0,0 +1,12 @@ +fragment Skill on skill { + id + name + description + categoryId + category { + ...SkillCategory + } + skill_levels { + ...SkillLevelSummary + } +} diff --git a/functions/_shared/fragments/skill_category.gql b/functions/_shared/fragments/skill_category.gql new file mode 100644 index 000000000..e1e4d6912 --- /dev/null +++ b/functions/_shared/fragments/skill_category.gql @@ -0,0 +1,10 @@ +fragment SkillCategory on skill_category { + id + name + description + skills { + id + name + description + } +} diff --git a/functions/_shared/fragments/skill_level.gql b/functions/_shared/fragments/skill_level.gql new file mode 100644 index 000000000..1c382b581 --- /dev/null +++ b/functions/_shared/fragments/skill_level.gql @@ -0,0 +1,17 @@ +fragment SkillLevel on skill_level { + id + name + description + degree + skillId + skills { + ...Skill + } +} + +fragment SkillLevelSummary on skill_level { + id + name + description + degree +} diff --git a/functions/_shared/model/search.ts b/functions/_shared/model/search.ts index 6c7b5632a..ef6139516 100644 --- a/functions/_shared/model/search.ts +++ b/functions/_shared/model/search.ts @@ -26,6 +26,7 @@ export enum SearchTypes { Meeting = 'Meeting', Task = 'Task', Decision = 'Decision', + Skill = 'Skill', } export interface AlgoliaConfig { diff --git a/nhost/metadata/databases/default/tables/public_member_skill_level.yaml b/nhost/metadata/databases/default/tables/public_member_skill_level.yaml new file mode 100644 index 000000000..ea9177863 --- /dev/null +++ b/nhost/metadata/databases/default/tables/public_member_skill_level.yaml @@ -0,0 +1,48 @@ +table: + name: member_skill_level + schema: public +object_relationships: + - name: members + using: + foreign_key_constraint_on: memberId + - name: skillLevels + using: + foreign_key_constraint_on: skillLevelId +insert_permissions: + - role: user + permission: + check: {} + columns: + - memberId + - skillLevelId +select_permissions: + - role: user + permission: + columns: + - id + - memberId + - skillLevelId + filter: {} +update_permissions: + - role: user + permission: + columns: + - memberId + - skillLevelId + filter: {} + check: null +delete_permissions: + - role: user + permission: + filter: + members: + _and: + - userId: + _eq: X-Hasura-User-Id + - _or: + - role: + _eq: Member + - role: + _eq: Admin + - role: + _eq: Owner diff --git a/nhost/metadata/databases/default/tables/public_org.yaml b/nhost/metadata/databases/default/tables/public_org.yaml index 33b6615eb..1c28045d4 100644 --- a/nhost/metadata/databases/default/tables/public_org.yaml +++ b/nhost/metadata/databases/default/tables/public_org.yaml @@ -73,6 +73,15 @@ array_relationships: table: name: role schema: public + - name: skill_categories + using: + manual_configuration: + column_mapping: + id: orgId + insertion_order: null + remote_table: + name: skill_category + schema: public - name: task_views using: foreign_key_constraint_on: diff --git a/nhost/metadata/databases/default/tables/public_skill.yaml b/nhost/metadata/databases/default/tables/public_skill.yaml new file mode 100644 index 000000000..43eef080d --- /dev/null +++ b/nhost/metadata/databases/default/tables/public_skill.yaml @@ -0,0 +1,40 @@ +table: + name: skill + schema: public +object_relationships: + - name: category + using: + foreign_key_constraint_on: categoryId +array_relationships: + - name: skill_levels + using: + foreign_key_constraint_on: + column: skillId + table: + name: skill_level + schema: public +insert_permissions: + - role: user + permission: + check: {} + columns: + - categoryId + - description + - name +select_permissions: + - role: user + permission: + columns: + - categoryId + - description + - id + - name + filter: {} +update_permissions: + - role: user + permission: + columns: + - description + - name + filter: {} + check: null diff --git a/nhost/metadata/databases/default/tables/public_skill_category.yaml b/nhost/metadata/databases/default/tables/public_skill_category.yaml new file mode 100644 index 000000000..96ae193f2 --- /dev/null +++ b/nhost/metadata/databases/default/tables/public_skill_category.yaml @@ -0,0 +1,36 @@ +table: + name: skill_category + schema: public +array_relationships: + - name: skills + using: + foreign_key_constraint_on: + column: categoryId + table: + name: skill + schema: public +insert_permissions: + - role: user + permission: + check: {} + columns: + - description + - name + - orgId +select_permissions: + - role: user + permission: + columns: + - description + - id + - name + - orgId + filter: {} +update_permissions: + - role: user + permission: + columns: + - description + - name + filter: {} + check: null diff --git a/nhost/metadata/databases/default/tables/public_skill_level.yaml b/nhost/metadata/databases/default/tables/public_skill_level.yaml new file mode 100644 index 000000000..fc7e5c798 --- /dev/null +++ b/nhost/metadata/databases/default/tables/public_skill_level.yaml @@ -0,0 +1,35 @@ +table: + name: skill_level + schema: public +object_relationships: + - name: skills + using: + foreign_key_constraint_on: skillId +insert_permissions: + - role: user + permission: + check: {} + columns: + - degree + - description + - name + - skillId +select_permissions: + - role: user + permission: + columns: + - degree + - description + - id + - name + - skillId + filter: {} +update_permissions: + - role: user + permission: + columns: + - degree + - description + - name + filter: {} + check: null diff --git a/nhost/metadata/databases/default/tables/tables.yaml b/nhost/metadata/databases/default/tables/tables.yaml index 1e0aac33e..71178410a 100644 --- a/nhost/metadata/databases/default/tables/tables.yaml +++ b/nhost/metadata/databases/default/tables/tables.yaml @@ -20,11 +20,15 @@ - "!include public_member.yaml" - "!include public_member_role.yaml" - "!include public_member_scope.yaml" +- "!include public_member_skill_level.yaml" - "!include public_old_id.yaml" - "!include public_org.yaml" - "!include public_org_file.yaml" - "!include public_org_subscription.yaml" - "!include public_role.yaml" +- "!include public_skill.yaml" +- "!include public_skill_category.yaml" +- "!include public_skill_level.yaml" - "!include public_subscription_payment_status.yaml" - "!include public_subscription_plan_type.yaml" - "!include public_task.yaml" diff --git a/nhost/migrations/default/1688561635128_create_table_public_skill_category/down.sql b/nhost/migrations/default/1688561635128_create_table_public_skill_category/down.sql new file mode 100644 index 000000000..dc4a17d5c --- /dev/null +++ b/nhost/migrations/default/1688561635128_create_table_public_skill_category/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."skill_category"; diff --git a/nhost/migrations/default/1688561635128_create_table_public_skill_category/up.sql b/nhost/migrations/default/1688561635128_create_table_public_skill_category/up.sql new file mode 100644 index 000000000..162736886 --- /dev/null +++ b/nhost/migrations/default/1688561635128_create_table_public_skill_category/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."skill_category" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "name" text NOT NULL, "description" text NOT NULL, "orgId" uuid NOT NULL, PRIMARY KEY ("id") , UNIQUE ("id")); +CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/down.sql b/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/down.sql new file mode 100644 index 000000000..7314b9a6c --- /dev/null +++ b/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "public"."skill_category_orgId_key"; diff --git a/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/up.sql b/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/up.sql new file mode 100644 index 000000000..5ed80c910 --- /dev/null +++ b/nhost/migrations/default/1688561712491_create_index_skill_category_orgId_key/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "skill_category_orgId_key" on + "public"."skill_category" using btree ("orgId"); diff --git a/nhost/migrations/default/1688563499210_create_table_public_skill/down.sql b/nhost/migrations/default/1688563499210_create_table_public_skill/down.sql new file mode 100644 index 000000000..29e72b126 --- /dev/null +++ b/nhost/migrations/default/1688563499210_create_table_public_skill/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."skill"; diff --git a/nhost/migrations/default/1688563499210_create_table_public_skill/up.sql b/nhost/migrations/default/1688563499210_create_table_public_skill/up.sql new file mode 100644 index 000000000..16be96bd8 --- /dev/null +++ b/nhost/migrations/default/1688563499210_create_table_public_skill/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."skill" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "name" text NOT NULL, "description" text NOT NULL, "categoryId" uuid NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("categoryId") REFERENCES "public"."skill_category"("id") ON UPDATE restrict ON DELETE restrict, UNIQUE ("id")); +CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/nhost/migrations/default/1688565671656_create_table_public_skill_level/down.sql b/nhost/migrations/default/1688565671656_create_table_public_skill_level/down.sql new file mode 100644 index 000000000..ce4395fb4 --- /dev/null +++ b/nhost/migrations/default/1688565671656_create_table_public_skill_level/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."skill_level"; diff --git a/nhost/migrations/default/1688565671656_create_table_public_skill_level/up.sql b/nhost/migrations/default/1688565671656_create_table_public_skill_level/up.sql new file mode 100644 index 000000000..d28cc968f --- /dev/null +++ b/nhost/migrations/default/1688565671656_create_table_public_skill_level/up.sql @@ -0,0 +1,2 @@ +-- CREATE TABLE "public"."skill_level" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "name" text NOT NULL, "description" text NOT NULL, "degree" integer NOT NULL, "skillId" uuid NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("skillId") REFERENCES "public"."skill"("id") ON UPDATE restrict ON DELETE restrict, UNIQUE ("id")); +-- CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/down.sql b/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/down.sql new file mode 100644 index 000000000..dca936d6a --- /dev/null +++ b/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."member_skill_level"; diff --git a/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/up.sql b/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/up.sql new file mode 100644 index 000000000..36d83ad3f --- /dev/null +++ b/nhost/migrations/default/1688633248275_create_table_public_member_skill_level/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."member_skill_level" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "memberId" uuid NOT NULL, "skillLevelId" uuid NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("memberId") REFERENCES "public"."member"("id") ON UPDATE restrict ON DELETE restrict, FOREIGN KEY ("skillLevelId") REFERENCES "public"."skill_level"("id") ON UPDATE restrict ON DELETE restrict, UNIQUE ("id")); +CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/down.sql b/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/down.sql new file mode 100644 index 000000000..13e220d29 --- /dev/null +++ b/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/down.sql @@ -0,0 +1 @@ +alter table "public"."skill" alter column "categoryId" set not null; diff --git a/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/up.sql b/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/up.sql new file mode 100644 index 000000000..8a23c39e9 --- /dev/null +++ b/nhost/migrations/default/1688636336245_alter_table_public_skill_alter_column_categoryId/up.sql @@ -0,0 +1 @@ +alter table "public"."skill" alter column "categoryId" drop not null; diff --git a/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/down.sql b/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/down.sql new file mode 100644 index 000000000..411fb242e --- /dev/null +++ b/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/down.sql @@ -0,0 +1 @@ +alter table "public"."skill_category" alter column "description" set not null; diff --git a/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/up.sql b/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/up.sql new file mode 100644 index 000000000..6eb0e7c14 --- /dev/null +++ b/nhost/migrations/default/1688639412766_alter_table_public_skill_category_alter_column_description/up.sql @@ -0,0 +1 @@ +alter table "public"."skill_category" alter column "description" drop not null; diff --git a/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/down.sql b/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/down.sql new file mode 100644 index 000000000..a3a5b96ef --- /dev/null +++ b/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/down.sql @@ -0,0 +1,5 @@ +alter table "public"."skill" drop constraint "skill_categoryId_fkey", + add constraint "skill_categoryId_fkey" + foreign key ("categoryId") + references "public"."skill_category" + ("id") on update restrict on delete restrict; diff --git a/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/up.sql b/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/up.sql new file mode 100644 index 000000000..e188fe9a7 --- /dev/null +++ b/nhost/migrations/default/1688647741746_set_fk_public_skill_categoryId/up.sql @@ -0,0 +1,5 @@ +alter table "public"."skill" drop constraint "skill_categoryId_fkey", + add constraint "skill_categoryId_fkey" + foreign key ("categoryId") + references "public"."skill_category" + ("id") on update cascade on delete cascade; diff --git a/src/api/member_skill_level.gql b/src/api/member_skill_level.gql new file mode 100644 index 000000000..cfec76f89 --- /dev/null +++ b/src/api/member_skill_level.gql @@ -0,0 +1,37 @@ +query getMemberSkillLevel($id: uuid!) { + member_skill_level_by_pk(id: $id) { + ...MemberSkillLevel + } +} + +subscription memberSkillLevels($memberId: uuid!) { + member_skill_level( + where: { + memberId: { _eq: $memberId } + # skillLevelId: { _eq: $skillLevelId } + } + ) { + ...MemberSkillLevel + } +} + +mutation createMemberSkillLevel($values: member_skill_level_insert_input!) { + insert_member_skill_level_one(object: $values) { + ...MemberSkillLevel + } +} + +mutation updateMemberSkillLevel( + $id: uuid! + $values: member_skill_level_set_input! +) { + update_member_skill_level_by_pk(pk_columns: { id: $id }, _set: $values) { + ...MemberSkillLevel + } +} + +mutation deleteMemberSkillLevel($id: uuid!) { + delete_member_skill_level_by_pk(id: $id) { + id + } +} diff --git a/src/api/skill.gql b/src/api/skill.gql new file mode 100644 index 000000000..2dfe6ddc3 --- /dev/null +++ b/src/api/skill.gql @@ -0,0 +1,29 @@ +query getSkill($id: uuid!) { + skill_by_pk(id: $id) { + ...Skill + } +} + +subscription skillsByCategory($categoryId: uuid!) { + skill(where: { categoryId: { _eq: $categoryId } }, order_by: { name: asc }) { + ...Skill + } +} + +mutation createSkill($values: skill_insert_input!) { + insert_skill_one(object: $values) { + ...Skill + } +} + +mutation updateSkill($id: uuid!, $values: skill_set_input!) { + update_skill_by_pk(pk_columns: { id: $id }, _set: $values) { + ...Skill + } +} + +mutation deleteSkill($id: uuid!) { + delete_skill_by_pk(id: $id) { + id + } +} diff --git a/src/api/skill_category.gql b/src/api/skill_category.gql new file mode 100644 index 000000000..354053c77 --- /dev/null +++ b/src/api/skill_category.gql @@ -0,0 +1,56 @@ +query getSkillCategory($id: uuid!) { + skill_category_by_pk(id: $id) { + ...SkillCategory + } +} + +# query getSkillCategories($orgId: uuid!) { +# skill_category(where: { orgId: { _eq: $orgId } }, order_by: { name: asc }) { +# id +# orgId +# name +# description +# skills { +# name +# levels { +# id +# name +# description +# degree +# } +# id +# description +# } +# } +# } + +subscription skillCategories($orgId: uuid!) { + skill_category(where: { orgId: { _eq: $orgId } }, order_by: { name: asc }) { + id + name + description + skills { + id + name + description + } + } +} + +mutation createSkillCategory($values: skill_category_insert_input!) { + insert_skill_category_one(object: $values) { + ...SkillCategory + } +} + +mutation updateSkillCategory($id: uuid!, $values: skill_category_set_input!) { + update_skill_category_by_pk(pk_columns: { id: $id }, _set: $values) { + ...SkillCategory + } +} + +mutation deleteSkillCategory($id: uuid!) { + delete_skill_category_by_pk(id: $id) { + id + } +} diff --git a/src/api/skill_level.gql b/src/api/skill_level.gql new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/molecules/member/MemberSkills.tsx b/src/components/molecules/member/MemberSkills.tsx new file mode 100644 index 000000000..c477f887e --- /dev/null +++ b/src/components/molecules/member/MemberSkills.tsx @@ -0,0 +1,98 @@ +import { Box, Flex, Heading } from '@chakra-ui/react' +import { + MemberFragment, + useMemberSkillLevelsSubscription, + useSkillCategoriesSubscription, +} from '@gql' +import { useOrgId } from '@hooks/useOrgId' +import useOrgMember from '@hooks/useOrgMember' +import MemberSkillsTable from '@molecules/member/MemberSkillsTable' +import SkillsSearchButton from '@molecules/search/entities/skills/SkillsSearchButton' +import React, { useCallback } from 'react' +import { useTranslation } from 'react-i18next' +import { FiPlus } from 'react-icons/fi' + +interface Props { + member: MemberFragment +} + +export default function MemberSkills({ member }: Props) { + const { t } = useTranslation() + + const isMember = useOrgMember() + const orgId = useOrgId() + + // Subscribe to skills of org + const { data } = useSkillCategoriesSubscription({ + skip: !orgId, + variables: { + orgId: orgId!, + }, + }) + const skillByCategories = data?.skill_category || [] + + const { data: memberSkills } = useMemberSkillLevelsSubscription({ + skip: !member.id, + variables: { + memberId: member.id, + }, + }) + + console.log(memberSkills) + + // const addCircleMember = useAddCircleMember() + + const handleAddMemberSkills = useCallback(async (id: string) => { + // TODO: Create member skill of existing skill + console.log(id) + }, []) + + const handleCreateMemberSkills = useCallback(async (name: string) => { + // TODO: Create skill then skills + // open modal with name + add categ + level + descriptions ? + console.log(name) + }, []) + + return ( + + + + {t('MemberSkills.heading')} + + {isMember && ( + } + onSelect={handleAddMemberSkills} + onCreate={handleCreateMemberSkills} + > + {t('MemberSkills.addSkill')} + + )} + + + + + + + {/* + {memberCircles.map((circle) => ( + + ))} + */} + + ) +} diff --git a/src/components/molecules/member/MemberSkillsTable.tsx b/src/components/molecules/member/MemberSkillsTable.tsx new file mode 100644 index 000000000..8fb44ea9f --- /dev/null +++ b/src/components/molecules/member/MemberSkillsTable.tsx @@ -0,0 +1,54 @@ +import { + TableContainer, + Table, + Thead, + Tr, + Th, + Tbody, + Td, + Text, +} from '@chakra-ui/react' +import { MemberSkillLevelFragment } from '@gql' +import React from 'react' +import { useTranslation } from 'react-i18next' +import { FiTrash2 } from 'react-icons/fi' + +interface Props { + skills?: MemberSkillLevelFragment[] +} + +const MemberSkillsTable = ({ skills }: Props) => { + const { t } = useTranslation() + + if (!skills?.length) + return {t('MemberSkillsTable.emptySkills')} + + return ( + + + + + + + + + + {/* + {skills?.map((skill) => ( + + + + + + + ))} + */} +
{t('MemberSkillsTable.header.title')}{t('MemberSkillsTable.header.level')}{t('MemberSkillsTable.header.description')} +
{skill.name}{skill.skillLevels.}{skill.skillLevels.description} + +
+
+ ) +} + +export default MemberSkillsTable diff --git a/src/components/molecules/search/SearchResultIcon.tsx b/src/components/molecules/search/SearchResultIcon.tsx index cc0fcca5e..512785165 100644 --- a/src/components/molecules/search/SearchResultIcon.tsx +++ b/src/components/molecules/search/SearchResultIcon.tsx @@ -37,7 +37,10 @@ export default function SearchResultIcon({ item }: Props) { /> ) } - if (item.type === SearchTypes.CreateAction) { + if ( + item.type === SearchTypes.CreateAction || + item.type === SearchTypes.Skill + ) { return null } diff --git a/src/components/molecules/search/entities/skills/SkillsSearchButton.tsx b/src/components/molecules/search/entities/skills/SkillsSearchButton.tsx new file mode 100644 index 000000000..18a94029a --- /dev/null +++ b/src/components/molecules/search/entities/skills/SkillsSearchButton.tsx @@ -0,0 +1,21 @@ +import { SkillCategoryFragment } from '@gql' +import SearchButton, { SearchButtonProps } from '@molecules/search/SearchButton' +import { useSkillSearchItems } from '@molecules/search/entities/skills/useSkillSearchItems' +import React from 'react' + +interface Props extends Omit { + skillByCategories: SkillCategoryFragment[] + excludeIds?: string[] +} + +export default function SkillsSearchButton({ + skillByCategories, + excludeIds, + ...props +}: Props) { + const items = useSkillSearchItems(skillByCategories, excludeIds) + + console.log(items) + + return +} diff --git a/src/components/molecules/search/entities/skills/useSkillSearchItems.ts b/src/components/molecules/search/entities/skills/useSkillSearchItems.ts new file mode 100644 index 000000000..01c9e1631 --- /dev/null +++ b/src/components/molecules/search/entities/skills/useSkillSearchItems.ts @@ -0,0 +1,27 @@ +import { SkillCategoryFragment } from '@gql' +import { SearchItem } from '@molecules/search/searchTypes' +import { SearchTypes } from '@shared/model/search' +import { useMemo } from 'react' + +export function useSkillSearchItems( + skills: SkillCategoryFragment[], + excludeIds?: string[] +): SearchItem[] { + return useMemo( + () => + skills + .map((skill): SearchItem | undefined => { + // Exclude by id + if (excludeIds?.includes(skill.id)) return + + return { + id: skill.id, + text: skill.name.toLowerCase(), + type: SearchTypes.Skill, + title: skill.name, + } + }) + .filter(Boolean) as SearchItem[], + [skills, excludeIds] + ) +} diff --git a/src/components/organisms/member/MemberContent.tsx b/src/components/organisms/member/MemberContent.tsx index dd7a77c35..9c89a458d 100644 --- a/src/components/organisms/member/MemberContent.tsx +++ b/src/components/organisms/member/MemberContent.tsx @@ -22,6 +22,7 @@ import { useUserId } from '@nhost/react' import React from 'react' import { useTranslation } from 'react-i18next' import MemberEditModal from './MemberEditModal' +import MemberSkills from '@molecules/member/MemberSkills' interface Props { id: string @@ -95,7 +96,7 @@ export default function MemberContent({ - + + diff --git a/src/graphql.generated.ts b/src/graphql.generated.ts index f15488e21..112b778fa 100644 --- a/src/graphql.generated.ts +++ b/src/graphql.generated.ts @@ -6606,6 +6606,162 @@ export type Member_Set_Input = { workedMinPerWeek?: InputMaybe; }; +/** columns and relationships of "member_skill_level" */ +export type Member_Skill_Level = { + __typename?: 'member_skill_level'; + id: Scalars['uuid']; + memberId: Scalars['uuid']; + /** An object relationship */ + members: Member; + skillLevelId: Scalars['uuid']; + /** An object relationship */ + skillLevels: Skill_Level; +}; + +/** aggregated selection of "member_skill_level" */ +export type Member_Skill_Level_Aggregate = { + __typename?: 'member_skill_level_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "member_skill_level" */ +export type Member_Skill_Level_Aggregate_Fields = { + __typename?: 'member_skill_level_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "member_skill_level" */ +export type Member_Skill_Level_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "member_skill_level". All fields are combined with a logical 'AND'. */ +export type Member_Skill_Level_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** unique or primary key constraints on table "member_skill_level" */ +export enum Member_Skill_Level_Constraint { + /** unique or primary key constraint on columns "id" */ + MemberSkillLevelPkey = 'member_skill_level_pkey' +} + +/** input type for inserting data into table "member_skill_level" */ +export type Member_Skill_Level_Insert_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Member_Skill_Level_Max_Fields = { + __typename?: 'member_skill_level_max_fields'; + id?: Maybe; + memberId?: Maybe; + skillLevelId?: Maybe; +}; + +/** aggregate min on columns */ +export type Member_Skill_Level_Min_Fields = { + __typename?: 'member_skill_level_min_fields'; + id?: Maybe; + memberId?: Maybe; + skillLevelId?: Maybe; +}; + +/** response of any mutation on the table "member_skill_level" */ +export type Member_Skill_Level_Mutation_Response = { + __typename?: 'member_skill_level_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** on_conflict condition type for table "member_skill_level" */ +export type Member_Skill_Level_On_Conflict = { + constraint: Member_Skill_Level_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "member_skill_level". */ +export type Member_Skill_Level_Order_By = { + id?: InputMaybe; + memberId?: InputMaybe; + members?: InputMaybe; + skillLevelId?: InputMaybe; + skillLevels?: InputMaybe; +}; + +/** primary key columns input for table: member_skill_level */ +export type Member_Skill_Level_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "member_skill_level" */ +export enum Member_Skill_Level_Select_Column { + /** column name */ + Id = 'id', + /** column name */ + MemberId = 'memberId', + /** column name */ + SkillLevelId = 'skillLevelId' +} + +/** input type for updating data in table "member_skill_level" */ +export type Member_Skill_Level_Set_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + skillLevelId?: InputMaybe; +}; + +/** Streaming cursor of the table "member_skill_level" */ +export type Member_Skill_Level_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Member_Skill_Level_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Member_Skill_Level_Stream_Cursor_Value_Input = { + id?: InputMaybe; + memberId?: InputMaybe; + skillLevelId?: InputMaybe; +}; + +/** update columns of table "member_skill_level" */ +export enum Member_Skill_Level_Update_Column { + /** column name */ + Id = 'id', + /** column name */ + MemberId = 'memberId', + /** column name */ + SkillLevelId = 'skillLevelId' +} + +export type Member_Skill_Level_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Member_Skill_Level_Bool_Exp; +}; + /** aggregate stddev on columns */ export type Member_Stddev_Fields = { __typename?: 'member_stddev_fields'; @@ -6845,6 +7001,10 @@ export type Mutation_Root = { delete_member_scope?: Maybe; /** delete single row from the table: "member_scope" */ delete_member_scope_by_pk?: Maybe; + /** delete data from the table: "member_skill_level" */ + delete_member_skill_level?: Maybe; + /** delete single row from the table: "member_skill_level" */ + delete_member_skill_level_by_pk?: Maybe; /** delete data from the table: "old_id" */ delete_old_id?: Maybe; /** delete single row from the table: "old_id" */ @@ -6865,6 +7025,18 @@ export type Mutation_Root = { delete_role?: Maybe; /** delete single row from the table: "role" */ delete_role_by_pk?: Maybe; + /** delete data from the table: "skill" */ + delete_skill?: Maybe; + /** delete single row from the table: "skill" */ + delete_skill_by_pk?: Maybe; + /** delete data from the table: "skill_category" */ + delete_skill_category?: Maybe; + /** delete single row from the table: "skill_category" */ + delete_skill_category_by_pk?: Maybe; + /** delete data from the table: "skill_level" */ + delete_skill_level?: Maybe; + /** delete single row from the table: "skill_level" */ + delete_skill_level_by_pk?: Maybe; /** delete data from the table: "subscription_payment_status" */ delete_subscription_payment_status?: Maybe; /** delete single row from the table: "subscription_payment_status" */ @@ -7001,6 +7173,10 @@ export type Mutation_Root = { insert_member_scope?: Maybe; /** insert a single row into the table: "member_scope" */ insert_member_scope_one?: Maybe; + /** insert data into the table: "member_skill_level" */ + insert_member_skill_level?: Maybe; + /** insert a single row into the table: "member_skill_level" */ + insert_member_skill_level_one?: Maybe; /** insert data into the table: "old_id" */ insert_old_id?: Maybe; /** insert a single row into the table: "old_id" */ @@ -7021,6 +7197,18 @@ export type Mutation_Root = { insert_role?: Maybe; /** insert a single row into the table: "role" */ insert_role_one?: Maybe; + /** insert data into the table: "skill" */ + insert_skill?: Maybe; + /** insert data into the table: "skill_category" */ + insert_skill_category?: Maybe; + /** insert a single row into the table: "skill_category" */ + insert_skill_category_one?: Maybe; + /** insert data into the table: "skill_level" */ + insert_skill_level?: Maybe; + /** insert a single row into the table: "skill_level" */ + insert_skill_level_one?: Maybe; + /** insert a single row into the table: "skill" */ + insert_skill_one?: Maybe; /** insert data into the table: "subscription_payment_status" */ insert_subscription_payment_status?: Maybe; /** insert a single row into the table: "subscription_payment_status" */ @@ -7201,6 +7389,12 @@ export type Mutation_Root = { update_member_scope_by_pk?: Maybe; /** update multiples rows of table: "member_scope" */ update_member_scope_many?: Maybe>>; + /** update data of the table: "member_skill_level" */ + update_member_skill_level?: Maybe; + /** update single row of the table: "member_skill_level" */ + update_member_skill_level_by_pk?: Maybe; + /** update multiples rows of table: "member_skill_level" */ + update_member_skill_level_many?: Maybe>>; /** update data of the table: "old_id" */ update_old_id?: Maybe; /** update single row of the table: "old_id" */ @@ -7231,6 +7425,24 @@ export type Mutation_Root = { update_role_by_pk?: Maybe; /** update multiples rows of table: "role" */ update_role_many?: Maybe>>; + /** update data of the table: "skill" */ + update_skill?: Maybe; + /** update single row of the table: "skill" */ + update_skill_by_pk?: Maybe; + /** update data of the table: "skill_category" */ + update_skill_category?: Maybe; + /** update single row of the table: "skill_category" */ + update_skill_category_by_pk?: Maybe; + /** update multiples rows of table: "skill_category" */ + update_skill_category_many?: Maybe>>; + /** update data of the table: "skill_level" */ + update_skill_level?: Maybe; + /** update single row of the table: "skill_level" */ + update_skill_level_by_pk?: Maybe; + /** update multiples rows of table: "skill_level" */ + update_skill_level_many?: Maybe>>; + /** update multiples rows of table: "skill" */ + update_skill_many?: Maybe>>; /** update data of the table: "subscription_payment_status" */ update_subscription_payment_status?: Maybe; /** update single row of the table: "subscription_payment_status" */ @@ -7578,6 +7790,18 @@ export type Mutation_RootDelete_Member_Scope_By_PkArgs = { }; +/** mutation root */ +export type Mutation_RootDelete_Member_Skill_LevelArgs = { + where: Member_Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Member_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + /** mutation root */ export type Mutation_RootDelete_Old_IdArgs = { where: Old_Id_Bool_Exp; @@ -7638,6 +7862,42 @@ export type Mutation_RootDelete_Role_By_PkArgs = { }; +/** mutation root */ +export type Mutation_RootDelete_SkillArgs = { + where: Skill_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_By_PkArgs = { + id: Scalars['uuid']; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_CategoryArgs = { + where: Skill_Category_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_Category_By_PkArgs = { + id: Scalars['uuid']; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_LevelArgs = { + where: Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootDelete_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + /** mutation root */ export type Mutation_RootDelete_Subscription_Payment_StatusArgs = { where: Subscription_Payment_Status_Bool_Exp; @@ -8092,6 +8352,20 @@ export type Mutation_RootInsert_Member_Scope_OneArgs = { }; +/** mutation root */ +export type Mutation_RootInsert_Member_Skill_LevelArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Member_Skill_Level_OneArgs = { + object: Member_Skill_Level_Insert_Input; + on_conflict?: InputMaybe; +}; + + /** mutation root */ export type Mutation_RootInsert_Old_IdArgs = { objects: Array; @@ -8162,6 +8436,48 @@ export type Mutation_RootInsert_Role_OneArgs = { }; +/** mutation root */ +export type Mutation_RootInsert_SkillArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_CategoryArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_Category_OneArgs = { + object: Skill_Category_Insert_Input; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_LevelArgs = { + objects: Array; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_Level_OneArgs = { + object: Skill_Level_Insert_Input; + on_conflict?: InputMaybe; +}; + + +/** mutation root */ +export type Mutation_RootInsert_Skill_OneArgs = { + object: Skill_Insert_Input; + on_conflict?: InputMaybe; +}; + + /** mutation root */ export type Mutation_RootInsert_Subscription_Payment_StatusArgs = { objects: Array; @@ -8812,6 +9128,26 @@ export type Mutation_RootUpdate_Member_Scope_ManyArgs = { }; +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_LevelArgs = { + _set?: InputMaybe; + where: Member_Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_Level_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Member_Skill_Level_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Member_Skill_Level_ManyArgs = { + updates: Array; +}; + + /** mutation root */ export type Mutation_RootUpdate_Old_IdArgs = { _set?: InputMaybe; @@ -8916,6 +9252,68 @@ export type Mutation_RootUpdate_Role_ManyArgs = { }; +/** mutation root */ +export type Mutation_RootUpdate_SkillArgs = { + _set?: InputMaybe; + where: Skill_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Skill_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_CategoryArgs = { + _set?: InputMaybe; + where: Skill_Category_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Category_By_PkArgs = { + _set?: InputMaybe; + pk_columns: Skill_Category_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Category_ManyArgs = { + updates: Array; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_LevelArgs = { + _inc?: InputMaybe; + _set?: InputMaybe; + where: Skill_Level_Bool_Exp; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Level_By_PkArgs = { + _inc?: InputMaybe; + _set?: InputMaybe; + pk_columns: Skill_Level_Pk_Columns_Input; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_Level_ManyArgs = { + updates: Array; +}; + + +/** mutation root */ +export type Mutation_RootUpdate_Skill_ManyArgs = { + updates: Array; +}; + + /** mutation root */ export type Mutation_RootUpdate_Subscription_Payment_StatusArgs = { _set?: InputMaybe; @@ -9351,6 +9749,10 @@ export type Org = { roles: Array; /** An aggregate relationship */ roles_aggregate: Role_Aggregate; + /** An array relationship */ + skill_categories: Array; + /** An aggregate relationship */ + skill_categories_aggregate: Skill_Category_Aggregate; slug?: Maybe; subscriptionId?: Maybe; /** An array relationship */ @@ -9548,6 +9950,26 @@ export type OrgRoles_AggregateArgs = { }; +/** columns and relationships of "org" */ +export type OrgSkill_CategoriesArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "org" */ +export type OrgSkill_Categories_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + /** columns and relationships of "org" */ export type OrgTask_ViewsArgs = { distinct_on?: InputMaybe>; @@ -9672,6 +10094,8 @@ export type Org_Bool_Exp = { org_subscription?: InputMaybe; roles?: InputMaybe; roles_aggregate?: InputMaybe; + skill_categories?: InputMaybe; + skill_categories_aggregate?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views?: InputMaybe; @@ -9907,6 +10331,7 @@ export type Org_Insert_Input = { name?: InputMaybe; org_subscription?: InputMaybe; roles?: InputMaybe; + skill_categories?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views?: InputMaybe; @@ -9976,6 +10401,7 @@ export type Org_Order_By = { name?: InputMaybe; org_subscription?: InputMaybe; roles_aggregate?: InputMaybe; + skill_categories_aggregate?: InputMaybe; slug?: InputMaybe; subscriptionId?: InputMaybe; task_views_aggregate?: InputMaybe; @@ -10439,6 +10865,12 @@ export type Query_Root = { member_scope_aggregate: Member_Scope_Aggregate; /** fetch data from the table: "member_scope" using primary key columns */ member_scope_by_pk?: Maybe; + /** fetch data from the table: "member_skill_level" */ + member_skill_level: Array; + /** fetch aggregated fields from the table: "member_skill_level" */ + member_skill_level_aggregate: Member_Skill_Level_Aggregate; + /** fetch data from the table: "member_skill_level" using primary key columns */ + member_skill_level_by_pk?: Maybe; /** fetch data from the table: "old_id" */ old_id: Array; /** fetch aggregated fields from the table: "old_id" */ @@ -10469,6 +10901,24 @@ export type Query_Root = { role_aggregate: Role_Aggregate; /** fetch data from the table: "role" using primary key columns */ role_by_pk?: Maybe; + /** fetch data from the table: "skill" */ + skill: Array; + /** fetch aggregated fields from the table: "skill" */ + skill_aggregate: Skill_Aggregate; + /** fetch data from the table: "skill" using primary key columns */ + skill_by_pk?: Maybe; + /** fetch data from the table: "skill_category" */ + skill_category: Array; + /** fetch aggregated fields from the table: "skill_category" */ + skill_category_aggregate: Skill_Category_Aggregate; + /** fetch data from the table: "skill_category" using primary key columns */ + skill_category_by_pk?: Maybe; + /** fetch data from the table: "skill_level" */ + skill_level: Array; + /** fetch aggregated fields from the table: "skill_level" */ + skill_level_aggregate: Skill_Level_Aggregate; + /** fetch data from the table: "skill_level" using primary key columns */ + skill_level_by_pk?: Maybe; /** fetch data from the table: "subscription_payment_status" */ subscription_payment_status: Array; /** fetch aggregated fields from the table: "subscription_payment_status" */ @@ -11068,6 +11518,29 @@ export type Query_RootMember_Scope_By_PkArgs = { }; +export type Query_RootMember_Skill_LevelArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMember_Skill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootMember_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + export type Query_RootOld_IdArgs = { distinct_on?: InputMaybe>; limit?: InputMaybe; @@ -11183,66 +11656,135 @@ export type Query_RootRole_By_PkArgs = { }; -export type Query_RootSubscription_Payment_StatusArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkillArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Payment_Status_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Payment_Status_By_PkArgs = { - value: Scalars['String']; +export type Query_RootSkill_By_PkArgs = { + id: Scalars['uuid']; }; -export type Query_RootSubscription_Plan_TypeArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_CategoryArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Plan_Type_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_Category_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootSubscription_Plan_Type_By_PkArgs = { - value: Scalars['String']; +export type Query_RootSkill_Category_By_PkArgs = { + id: Scalars['uuid']; }; -export type Query_RootTaskArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_LevelArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Query_RootTask_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Query_RootSkill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSkill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Query_RootSubscription_Payment_StatusArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Payment_Status_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Payment_Status_By_PkArgs = { + value: Scalars['String']; +}; + + +export type Query_RootSubscription_Plan_TypeArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Plan_Type_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootSubscription_Plan_Type_By_PkArgs = { + value: Scalars['String']; +}; + + +export type Query_RootTaskArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Query_RootTask_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; where?: InputMaybe; }; @@ -12025,195 +12567,1004 @@ export type Role_Variance_Order_By = { defaultMinPerWeek?: InputMaybe; }; -/** Boolean expression to compare columns of type "smallint". All fields are combined with logical 'AND'. */ -export type Smallint_Comparison_Exp = { - _eq?: InputMaybe; - _gt?: InputMaybe; - _gte?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _lt?: InputMaybe; - _lte?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; +/** columns and relationships of "skill" */ +export type Skill = { + __typename?: 'skill'; + /** An object relationship */ + category?: Maybe; + categoryId?: Maybe; + description: Scalars['String']; + id: Scalars['uuid']; + name: Scalars['String']; + /** An array relationship */ + skill_levels: Array; + /** An aggregate relationship */ + skill_levels_aggregate: Skill_Level_Aggregate; }; -/** columns and relationships of "subscription_payment_status" */ -export type Subscription_Payment_Status = { - __typename?: 'subscription_payment_status'; - value: Scalars['String']; + +/** columns and relationships of "skill" */ +export type SkillSkill_LevelsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -/** aggregated selection of "subscription_payment_status" */ -export type Subscription_Payment_Status_Aggregate = { - __typename?: 'subscription_payment_status_aggregate'; - aggregate?: Maybe; - nodes: Array; + +/** columns and relationships of "skill" */ +export type SkillSkill_Levels_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -/** aggregate fields of "subscription_payment_status" */ -export type Subscription_Payment_Status_Aggregate_Fields = { - __typename?: 'subscription_payment_status_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; +/** aggregated selection of "skill" */ +export type Skill_Aggregate = { + __typename?: 'skill_aggregate'; + aggregate?: Maybe; + nodes: Array; }; +export type Skill_Aggregate_Bool_Exp = { + count?: InputMaybe; +}; -/** aggregate fields of "subscription_payment_status" */ -export type Subscription_Payment_Status_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; +export type Skill_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; }; -/** Boolean expression to filter rows from the table "subscription_payment_status". All fields are combined with a logical 'AND'. */ -export type Subscription_Payment_Status_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - value?: InputMaybe; +/** aggregate fields of "skill" */ +export type Skill_Aggregate_Fields = { + __typename?: 'skill_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; }; -/** unique or primary key constraints on table "subscription_payment_status" */ -export enum Subscription_Payment_Status_Constraint { - /** unique or primary key constraint on columns "value" */ - SubscriptionPaymentStatusPkey = 'subscription_payment_status_pkey' -} - -export enum Subscription_Payment_Status_Enum { - Active = 'active', - Canceled = 'canceled', - Incomplete = 'incomplete', - IncompleteExpired = 'incomplete_expired', - PastDue = 'past_due', - Trialing = 'trialing', - Unpaid = 'unpaid' -} -/** Boolean expression to compare columns of type "subscription_payment_status_enum". All fields are combined with logical 'AND'. */ -export type Subscription_Payment_Status_Enum_Comparison_Exp = { - _eq?: InputMaybe; - _in?: InputMaybe>; - _is_null?: InputMaybe; - _neq?: InputMaybe; - _nin?: InputMaybe>; +/** aggregate fields of "skill" */ +export type Skill_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; }; -/** input type for inserting data into table "subscription_payment_status" */ -export type Subscription_Payment_Status_Insert_Input = { - value?: InputMaybe; +/** order by aggregate values of table "skill" */ +export type Skill_Aggregate_Order_By = { + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; }; -/** aggregate max on columns */ -export type Subscription_Payment_Status_Max_Fields = { - __typename?: 'subscription_payment_status_max_fields'; - value?: Maybe; +/** input type for inserting array relation for remote table "skill" */ +export type Skill_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; }; -/** aggregate min on columns */ -export type Subscription_Payment_Status_Min_Fields = { - __typename?: 'subscription_payment_status_min_fields'; - value?: Maybe; +/** Boolean expression to filter rows from the table "skill". All fields are combined with a logical 'AND'. */ +export type Skill_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels?: InputMaybe; + skill_levels_aggregate?: InputMaybe; }; -/** response of any mutation on the table "subscription_payment_status" */ -export type Subscription_Payment_Status_Mutation_Response = { - __typename?: 'subscription_payment_status_mutation_response'; - /** number of rows affected by the mutation */ - affected_rows: Scalars['Int']; - /** data from the rows affected by the mutation */ - returning: Array; +/** columns and relationships of "skill_category" */ +export type Skill_Category = { + __typename?: 'skill_category'; + description?: Maybe; + id: Scalars['uuid']; + name: Scalars['String']; + orgId: Scalars['uuid']; + /** An array relationship */ + skills: Array; + /** An aggregate relationship */ + skills_aggregate: Skill_Aggregate; }; -/** on_conflict condition type for table "subscription_payment_status" */ -export type Subscription_Payment_Status_On_Conflict = { - constraint: Subscription_Payment_Status_Constraint; - update_columns?: Array; - where?: InputMaybe; -}; -/** Ordering options when selecting data from "subscription_payment_status". */ -export type Subscription_Payment_Status_Order_By = { - value?: InputMaybe; +/** columns and relationships of "skill_category" */ +export type Skill_CategorySkillsArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -/** primary key columns input for table: subscription_payment_status */ -export type Subscription_Payment_Status_Pk_Columns_Input = { - value: Scalars['String']; + +/** columns and relationships of "skill_category" */ +export type Skill_CategorySkills_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -/** select columns of table "subscription_payment_status" */ -export enum Subscription_Payment_Status_Select_Column { - /** column name */ - Value = 'value' -} +/** aggregated selection of "skill_category" */ +export type Skill_Category_Aggregate = { + __typename?: 'skill_category_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; -/** input type for updating data in table "subscription_payment_status" */ -export type Subscription_Payment_Status_Set_Input = { - value?: InputMaybe; +export type Skill_Category_Aggregate_Bool_Exp = { + count?: InputMaybe; }; -/** Streaming cursor of the table "subscription_payment_status" */ -export type Subscription_Payment_Status_Stream_Cursor_Input = { - /** Stream column input with initial value */ - initial_value: Subscription_Payment_Status_Stream_Cursor_Value_Input; - /** cursor ordering */ - ordering?: InputMaybe; +export type Skill_Category_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; + distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; }; -/** Initial value of the column from where the streaming should start */ -export type Subscription_Payment_Status_Stream_Cursor_Value_Input = { - value?: InputMaybe; +/** aggregate fields of "skill_category" */ +export type Skill_Category_Aggregate_Fields = { + __typename?: 'skill_category_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; }; -/** update columns of table "subscription_payment_status" */ -export enum Subscription_Payment_Status_Update_Column { - /** column name */ - Value = 'value' -} -export type Subscription_Payment_Status_Updates = { - /** sets the columns of the filtered rows to the given values */ - _set?: InputMaybe; - /** filter the rows which have to be updated */ - where: Subscription_Payment_Status_Bool_Exp; +/** aggregate fields of "skill_category" */ +export type Skill_Category_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; }; -/** columns and relationships of "subscription_plan_type" */ -export type Subscription_Plan_Type = { - __typename?: 'subscription_plan_type'; - value: Scalars['String']; +/** order by aggregate values of table "skill_category" */ +export type Skill_Category_Aggregate_Order_By = { + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; }; -/** aggregated selection of "subscription_plan_type" */ -export type Subscription_Plan_Type_Aggregate = { - __typename?: 'subscription_plan_type_aggregate'; - aggregate?: Maybe; - nodes: Array; +/** input type for inserting array relation for remote table "skill_category" */ +export type Skill_Category_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; }; -/** aggregate fields of "subscription_plan_type" */ -export type Subscription_Plan_Type_Aggregate_Fields = { - __typename?: 'subscription_plan_type_aggregate_fields'; - count: Scalars['Int']; - max?: Maybe; - min?: Maybe; +/** Boolean expression to filter rows from the table "skill_category". All fields are combined with a logical 'AND'. */ +export type Skill_Category_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills?: InputMaybe; + skills_aggregate?: InputMaybe; }; +/** unique or primary key constraints on table "skill_category" */ +export enum Skill_Category_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillCategoryPkey = 'skill_category_pkey' +} -/** aggregate fields of "subscription_plan_type" */ -export type Subscription_Plan_Type_Aggregate_FieldsCountArgs = { - columns?: InputMaybe>; - distinct?: InputMaybe; +/** input type for inserting data into table "skill_category" */ +export type Skill_Category_Insert_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills?: InputMaybe; }; -/** Boolean expression to filter rows from the table "subscription_plan_type". All fields are combined with a logical 'AND'. */ -export type Subscription_Plan_Type_Bool_Exp = { - _and?: InputMaybe>; - _not?: InputMaybe; - _or?: InputMaybe>; - value?: InputMaybe; -}; +/** aggregate max on columns */ +export type Skill_Category_Max_Fields = { + __typename?: 'skill_category_max_fields'; + description?: Maybe; + id?: Maybe; + name?: Maybe; + orgId?: Maybe; +}; + +/** order by max() on columns of table "skill_category" */ +export type Skill_Category_Max_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Category_Min_Fields = { + __typename?: 'skill_category_min_fields'; + description?: Maybe; + id?: Maybe; + name?: Maybe; + orgId?: Maybe; +}; + +/** order by min() on columns of table "skill_category" */ +export type Skill_Category_Min_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** response of any mutation on the table "skill_category" */ +export type Skill_Category_Mutation_Response = { + __typename?: 'skill_category_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill_category" */ +export type Skill_Category_Obj_Rel_Insert_Input = { + data: Skill_Category_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill_category" */ +export type Skill_Category_On_Conflict = { + constraint: Skill_Category_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill_category". */ +export type Skill_Category_Order_By = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; + skills_aggregate?: InputMaybe; +}; + +/** primary key columns input for table: skill_category */ +export type Skill_Category_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill_category" */ +export enum Skill_Category_Select_Column { + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + OrgId = 'orgId' +} + +/** input type for updating data in table "skill_category" */ +export type Skill_Category_Set_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** Streaming cursor of the table "skill_category" */ +export type Skill_Category_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Skill_Category_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Skill_Category_Stream_Cursor_Value_Input = { + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + orgId?: InputMaybe; +}; + +/** update columns of table "skill_category" */ +export enum Skill_Category_Update_Column { + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + OrgId = 'orgId' +} + +export type Skill_Category_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Skill_Category_Bool_Exp; +}; + +/** unique or primary key constraints on table "skill" */ +export enum Skill_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillPkey = 'skill_pkey' +} + +/** input type for inserting data into table "skill" */ +export type Skill_Insert_Input = { + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels?: InputMaybe; +}; + +/** columns and relationships of "skill_level" */ +export type Skill_Level = { + __typename?: 'skill_level'; + degree: Scalars['Int']; + description: Scalars['String']; + id: Scalars['uuid']; + name: Scalars['String']; + skillId: Scalars['uuid']; + /** An object relationship */ + skills: Skill; +}; + +/** aggregated selection of "skill_level" */ +export type Skill_Level_Aggregate = { + __typename?: 'skill_level_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +export type Skill_Level_Aggregate_Bool_Exp = { + count?: InputMaybe; +}; + +export type Skill_Level_Aggregate_Bool_Exp_Count = { + arguments?: InputMaybe>; + distinct?: InputMaybe; + filter?: InputMaybe; + predicate: Int_Comparison_Exp; +}; + +/** aggregate fields of "skill_level" */ +export type Skill_Level_Aggregate_Fields = { + __typename?: 'skill_level_aggregate_fields'; + avg?: Maybe; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; + stddev?: Maybe; + stddev_pop?: Maybe; + stddev_samp?: Maybe; + sum?: Maybe; + var_pop?: Maybe; + var_samp?: Maybe; + variance?: Maybe; +}; + + +/** aggregate fields of "skill_level" */ +export type Skill_Level_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** order by aggregate values of table "skill_level" */ +export type Skill_Level_Aggregate_Order_By = { + avg?: InputMaybe; + count?: InputMaybe; + max?: InputMaybe; + min?: InputMaybe; + stddev?: InputMaybe; + stddev_pop?: InputMaybe; + stddev_samp?: InputMaybe; + sum?: InputMaybe; + var_pop?: InputMaybe; + var_samp?: InputMaybe; + variance?: InputMaybe; +}; + +/** input type for inserting array relation for remote table "skill_level" */ +export type Skill_Level_Arr_Rel_Insert_Input = { + data: Array; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** aggregate avg on columns */ +export type Skill_Level_Avg_Fields = { + __typename?: 'skill_level_avg_fields'; + degree?: Maybe; +}; + +/** order by avg() on columns of table "skill_level" */ +export type Skill_Level_Avg_Order_By = { + degree?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "skill_level". All fields are combined with a logical 'AND'. */ +export type Skill_Level_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** unique or primary key constraints on table "skill_level" */ +export enum Skill_Level_Constraint { + /** unique or primary key constraint on columns "id" */ + SkillLevelPkey = 'skill_level_pkey' +} + +/** input type for incrementing numeric columns in table "skill_level" */ +export type Skill_Level_Inc_Input = { + degree?: InputMaybe; +}; + +/** input type for inserting data into table "skill_level" */ +export type Skill_Level_Insert_Input = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Skill_Level_Max_Fields = { + __typename?: 'skill_level_max_fields'; + degree?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; + skillId?: Maybe; +}; + +/** order by max() on columns of table "skill_level" */ +export type Skill_Level_Max_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Level_Min_Fields = { + __typename?: 'skill_level_min_fields'; + degree?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; + skillId?: Maybe; +}; + +/** order by min() on columns of table "skill_level" */ +export type Skill_Level_Min_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** response of any mutation on the table "skill_level" */ +export type Skill_Level_Mutation_Response = { + __typename?: 'skill_level_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill_level" */ +export type Skill_Level_Obj_Rel_Insert_Input = { + data: Skill_Level_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill_level" */ +export type Skill_Level_On_Conflict = { + constraint: Skill_Level_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill_level". */ +export type Skill_Level_Order_By = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; + skills?: InputMaybe; +}; + +/** primary key columns input for table: skill_level */ +export type Skill_Level_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill_level" */ +export enum Skill_Level_Select_Column { + /** column name */ + Degree = 'degree', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + SkillId = 'skillId' +} + +/** input type for updating data in table "skill_level" */ +export type Skill_Level_Set_Input = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** aggregate stddev on columns */ +export type Skill_Level_Stddev_Fields = { + __typename?: 'skill_level_stddev_fields'; + degree?: Maybe; +}; + +/** order by stddev() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate stddev_pop on columns */ +export type Skill_Level_Stddev_Pop_Fields = { + __typename?: 'skill_level_stddev_pop_fields'; + degree?: Maybe; +}; + +/** order by stddev_pop() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Pop_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate stddev_samp on columns */ +export type Skill_Level_Stddev_Samp_Fields = { + __typename?: 'skill_level_stddev_samp_fields'; + degree?: Maybe; +}; + +/** order by stddev_samp() on columns of table "skill_level" */ +export type Skill_Level_Stddev_Samp_Order_By = { + degree?: InputMaybe; +}; + +/** Streaming cursor of the table "skill_level" */ +export type Skill_Level_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Skill_Level_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Skill_Level_Stream_Cursor_Value_Input = { + degree?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skillId?: InputMaybe; +}; + +/** aggregate sum on columns */ +export type Skill_Level_Sum_Fields = { + __typename?: 'skill_level_sum_fields'; + degree?: Maybe; +}; + +/** order by sum() on columns of table "skill_level" */ +export type Skill_Level_Sum_Order_By = { + degree?: InputMaybe; +}; + +/** update columns of table "skill_level" */ +export enum Skill_Level_Update_Column { + /** column name */ + Degree = 'degree', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name', + /** column name */ + SkillId = 'skillId' +} + +export type Skill_Level_Updates = { + /** increments the numeric columns with given value of the filtered values */ + _inc?: InputMaybe; + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Skill_Level_Bool_Exp; +}; + +/** aggregate var_pop on columns */ +export type Skill_Level_Var_Pop_Fields = { + __typename?: 'skill_level_var_pop_fields'; + degree?: Maybe; +}; + +/** order by var_pop() on columns of table "skill_level" */ +export type Skill_Level_Var_Pop_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate var_samp on columns */ +export type Skill_Level_Var_Samp_Fields = { + __typename?: 'skill_level_var_samp_fields'; + degree?: Maybe; +}; + +/** order by var_samp() on columns of table "skill_level" */ +export type Skill_Level_Var_Samp_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate variance on columns */ +export type Skill_Level_Variance_Fields = { + __typename?: 'skill_level_variance_fields'; + degree?: Maybe; +}; + +/** order by variance() on columns of table "skill_level" */ +export type Skill_Level_Variance_Order_By = { + degree?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Skill_Max_Fields = { + __typename?: 'skill_max_fields'; + categoryId?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; +}; + +/** order by max() on columns of table "skill" */ +export type Skill_Max_Order_By = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** aggregate min on columns */ +export type Skill_Min_Fields = { + __typename?: 'skill_min_fields'; + categoryId?: Maybe; + description?: Maybe; + id?: Maybe; + name?: Maybe; +}; + +/** order by min() on columns of table "skill" */ +export type Skill_Min_Order_By = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** response of any mutation on the table "skill" */ +export type Skill_Mutation_Response = { + __typename?: 'skill_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** input type for inserting object relation for remote table "skill" */ +export type Skill_Obj_Rel_Insert_Input = { + data: Skill_Insert_Input; + /** upsert condition */ + on_conflict?: InputMaybe; +}; + +/** on_conflict condition type for table "skill" */ +export type Skill_On_Conflict = { + constraint: Skill_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "skill". */ +export type Skill_Order_By = { + category?: InputMaybe; + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; + skill_levels_aggregate?: InputMaybe; +}; + +/** primary key columns input for table: skill */ +export type Skill_Pk_Columns_Input = { + id: Scalars['uuid']; +}; + +/** select columns of table "skill" */ +export enum Skill_Select_Column { + /** column name */ + CategoryId = 'categoryId', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name' +} + +/** input type for updating data in table "skill" */ +export type Skill_Set_Input = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** Streaming cursor of the table "skill" */ +export type Skill_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Skill_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Skill_Stream_Cursor_Value_Input = { + categoryId?: InputMaybe; + description?: InputMaybe; + id?: InputMaybe; + name?: InputMaybe; +}; + +/** update columns of table "skill" */ +export enum Skill_Update_Column { + /** column name */ + CategoryId = 'categoryId', + /** column name */ + Description = 'description', + /** column name */ + Id = 'id', + /** column name */ + Name = 'name' +} + +export type Skill_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Skill_Bool_Exp; +}; + +/** Boolean expression to compare columns of type "smallint". All fields are combined with logical 'AND'. */ +export type Smallint_Comparison_Exp = { + _eq?: InputMaybe; + _gt?: InputMaybe; + _gte?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _lt?: InputMaybe; + _lte?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** columns and relationships of "subscription_payment_status" */ +export type Subscription_Payment_Status = { + __typename?: 'subscription_payment_status'; + value: Scalars['String']; +}; + +/** aggregated selection of "subscription_payment_status" */ +export type Subscription_Payment_Status_Aggregate = { + __typename?: 'subscription_payment_status_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "subscription_payment_status" */ +export type Subscription_Payment_Status_Aggregate_Fields = { + __typename?: 'subscription_payment_status_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "subscription_payment_status" */ +export type Subscription_Payment_Status_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "subscription_payment_status". All fields are combined with a logical 'AND'. */ +export type Subscription_Payment_Status_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + value?: InputMaybe; +}; + +/** unique or primary key constraints on table "subscription_payment_status" */ +export enum Subscription_Payment_Status_Constraint { + /** unique or primary key constraint on columns "value" */ + SubscriptionPaymentStatusPkey = 'subscription_payment_status_pkey' +} + +export enum Subscription_Payment_Status_Enum { + Active = 'active', + Canceled = 'canceled', + Incomplete = 'incomplete', + IncompleteExpired = 'incomplete_expired', + PastDue = 'past_due', + Trialing = 'trialing', + Unpaid = 'unpaid' +} + +/** Boolean expression to compare columns of type "subscription_payment_status_enum". All fields are combined with logical 'AND'. */ +export type Subscription_Payment_Status_Enum_Comparison_Exp = { + _eq?: InputMaybe; + _in?: InputMaybe>; + _is_null?: InputMaybe; + _neq?: InputMaybe; + _nin?: InputMaybe>; +}; + +/** input type for inserting data into table "subscription_payment_status" */ +export type Subscription_Payment_Status_Insert_Input = { + value?: InputMaybe; +}; + +/** aggregate max on columns */ +export type Subscription_Payment_Status_Max_Fields = { + __typename?: 'subscription_payment_status_max_fields'; + value?: Maybe; +}; + +/** aggregate min on columns */ +export type Subscription_Payment_Status_Min_Fields = { + __typename?: 'subscription_payment_status_min_fields'; + value?: Maybe; +}; + +/** response of any mutation on the table "subscription_payment_status" */ +export type Subscription_Payment_Status_Mutation_Response = { + __typename?: 'subscription_payment_status_mutation_response'; + /** number of rows affected by the mutation */ + affected_rows: Scalars['Int']; + /** data from the rows affected by the mutation */ + returning: Array; +}; + +/** on_conflict condition type for table "subscription_payment_status" */ +export type Subscription_Payment_Status_On_Conflict = { + constraint: Subscription_Payment_Status_Constraint; + update_columns?: Array; + where?: InputMaybe; +}; + +/** Ordering options when selecting data from "subscription_payment_status". */ +export type Subscription_Payment_Status_Order_By = { + value?: InputMaybe; +}; + +/** primary key columns input for table: subscription_payment_status */ +export type Subscription_Payment_Status_Pk_Columns_Input = { + value: Scalars['String']; +}; + +/** select columns of table "subscription_payment_status" */ +export enum Subscription_Payment_Status_Select_Column { + /** column name */ + Value = 'value' +} + +/** input type for updating data in table "subscription_payment_status" */ +export type Subscription_Payment_Status_Set_Input = { + value?: InputMaybe; +}; + +/** Streaming cursor of the table "subscription_payment_status" */ +export type Subscription_Payment_Status_Stream_Cursor_Input = { + /** Stream column input with initial value */ + initial_value: Subscription_Payment_Status_Stream_Cursor_Value_Input; + /** cursor ordering */ + ordering?: InputMaybe; +}; + +/** Initial value of the column from where the streaming should start */ +export type Subscription_Payment_Status_Stream_Cursor_Value_Input = { + value?: InputMaybe; +}; + +/** update columns of table "subscription_payment_status" */ +export enum Subscription_Payment_Status_Update_Column { + /** column name */ + Value = 'value' +} + +export type Subscription_Payment_Status_Updates = { + /** sets the columns of the filtered rows to the given values */ + _set?: InputMaybe; + /** filter the rows which have to be updated */ + where: Subscription_Payment_Status_Bool_Exp; +}; + +/** columns and relationships of "subscription_plan_type" */ +export type Subscription_Plan_Type = { + __typename?: 'subscription_plan_type'; + value: Scalars['String']; +}; + +/** aggregated selection of "subscription_plan_type" */ +export type Subscription_Plan_Type_Aggregate = { + __typename?: 'subscription_plan_type_aggregate'; + aggregate?: Maybe; + nodes: Array; +}; + +/** aggregate fields of "subscription_plan_type" */ +export type Subscription_Plan_Type_Aggregate_Fields = { + __typename?: 'subscription_plan_type_aggregate_fields'; + count: Scalars['Int']; + max?: Maybe; + min?: Maybe; +}; + + +/** aggregate fields of "subscription_plan_type" */ +export type Subscription_Plan_Type_Aggregate_FieldsCountArgs = { + columns?: InputMaybe>; + distinct?: InputMaybe; +}; + +/** Boolean expression to filter rows from the table "subscription_plan_type". All fields are combined with a logical 'AND'. */ +export type Subscription_Plan_Type_Bool_Exp = { + _and?: InputMaybe>; + _not?: InputMaybe; + _or?: InputMaybe>; + value?: InputMaybe; +}; /** unique or primary key constraints on table "subscription_plan_type" */ export enum Subscription_Plan_Type_Constraint { @@ -12497,6 +13848,14 @@ export type Subscription_Root = { member_scope_by_pk?: Maybe; /** fetch data from the table in a streaming manner: "member_scope" */ member_scope_stream: Array; + /** fetch data from the table: "member_skill_level" */ + member_skill_level: Array; + /** fetch aggregated fields from the table: "member_skill_level" */ + member_skill_level_aggregate: Member_Skill_Level_Aggregate; + /** fetch data from the table: "member_skill_level" using primary key columns */ + member_skill_level_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "member_skill_level" */ + member_skill_level_stream: Array; /** fetch data from the table in a streaming manner: "member" */ member_stream: Array; /** fetch data from the table: "old_id" */ @@ -12539,6 +13898,30 @@ export type Subscription_Root = { role_by_pk?: Maybe; /** fetch data from the table in a streaming manner: "role" */ role_stream: Array; + /** fetch data from the table: "skill" */ + skill: Array; + /** fetch aggregated fields from the table: "skill" */ + skill_aggregate: Skill_Aggregate; + /** fetch data from the table: "skill" using primary key columns */ + skill_by_pk?: Maybe; + /** fetch data from the table: "skill_category" */ + skill_category: Array; + /** fetch aggregated fields from the table: "skill_category" */ + skill_category_aggregate: Skill_Category_Aggregate; + /** fetch data from the table: "skill_category" using primary key columns */ + skill_category_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "skill_category" */ + skill_category_stream: Array; + /** fetch data from the table: "skill_level" */ + skill_level: Array; + /** fetch aggregated fields from the table: "skill_level" */ + skill_level_aggregate: Skill_Level_Aggregate; + /** fetch data from the table: "skill_level" using primary key columns */ + skill_level_by_pk?: Maybe; + /** fetch data from the table in a streaming manner: "skill_level" */ + skill_level_stream: Array; + /** fetch data from the table in a streaming manner: "skill" */ + skill_stream: Array; /** fetch data from the table: "subscription_payment_status" */ subscription_payment_status: Array; /** fetch aggregated fields from the table: "subscription_payment_status" */ @@ -13316,6 +14699,36 @@ export type Subscription_RootMember_Scope_StreamArgs = { }; +export type Subscription_RootMember_Skill_LevelArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMember_Skill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootMember_Skill_Level_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootMember_Skill_Level_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + export type Subscription_RootMember_StreamArgs = { batch_size: Scalars['Int']; cursor: Array>; @@ -13406,70 +14819,160 @@ export type Subscription_RootOrg_File_StreamArgs = { }; -export type Subscription_RootOrg_StreamArgs = { - batch_size: Scalars['Int']; - cursor: Array>; - where?: InputMaybe; +export type Subscription_RootOrg_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootOrg_SubscriptionArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootOrg_Subscription_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootOrg_Subscription_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootOrg_Subscription_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootRoleArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootRole_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootRole_By_PkArgs = { + id: Scalars['uuid']; +}; + + +export type Subscription_RootRole_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkillArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_By_PkArgs = { + id: Scalars['uuid']; }; -export type Subscription_RootOrg_SubscriptionArgs = { - distinct_on?: InputMaybe>; +export type Subscription_RootSkill_CategoryArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Subscription_RootOrg_Subscription_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Subscription_RootSkill_Category_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Subscription_RootOrg_Subscription_By_PkArgs = { +export type Subscription_RootSkill_Category_By_PkArgs = { id: Scalars['uuid']; }; -export type Subscription_RootOrg_Subscription_StreamArgs = { +export type Subscription_RootSkill_Category_StreamArgs = { batch_size: Scalars['Int']; - cursor: Array>; - where?: InputMaybe; + cursor: Array>; + where?: InputMaybe; }; -export type Subscription_RootRoleArgs = { - distinct_on?: InputMaybe>; +export type Subscription_RootSkill_LevelArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Subscription_RootRole_AggregateArgs = { - distinct_on?: InputMaybe>; +export type Subscription_RootSkill_Level_AggregateArgs = { + distinct_on?: InputMaybe>; limit?: InputMaybe; offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; }; -export type Subscription_RootRole_By_PkArgs = { +export type Subscription_RootSkill_Level_By_PkArgs = { id: Scalars['uuid']; }; -export type Subscription_RootRole_StreamArgs = { +export type Subscription_RootSkill_Level_StreamArgs = { batch_size: Scalars['Int']; - cursor: Array>; - where?: InputMaybe; + cursor: Array>; + where?: InputMaybe; +}; + + +export type Subscription_RootSkill_StreamArgs = { + batch_size: Scalars['Int']; + cursor: Array>; + where?: InputMaybe; }; @@ -16742,14 +18245,24 @@ export type MemberFragment = { __typename?: 'member', id: string, orgId: string, export type MemberSummaryFragment = { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null }; +export type MemberSkillLevelFragment = { __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string }; + export type OrgFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null }; -export type OrgFullFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, avgMinPerWeek?: number | null, member: { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null } }>, role: { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null } }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }> }; +export type OrgFullFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, avgMinPerWeek?: number | null, member: { __typename?: 'member', id: string, userId?: string | null, name: string, picture?: string | null } }>, role: { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null } }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }>, skill_categories: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> }; -export type OrgFullLightFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }> }; +export type OrgFullLightFragment = { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }>, skill_categories: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> }; export type RoleFragment = { __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }; +export type SkillFragment = { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> }; + +export type SkillCategoryFragment = { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }; + +export type SkillLevelFragment = { __typename?: 'skill_level', id: string, name: string, description: string, degree: number, skillId: string, skills: { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> } }; + +export type SkillLevelSummaryFragment = { __typename?: 'skill_level', id: string, name: string, description: string, degree: number }; + export type TaskFragment = { __typename?: 'task', id: string, orgId: string, circleId: string, memberId?: string | null, title: string, description: string, archived: boolean, createdAt: string, dueDate?: string | null, status: Task_Status_Enum }; export type ThreadFragment = { __typename?: 'thread', id: string, orgId: string, circleId: string, participantsScope: Member_Scope_Enum, participantsMembersIds: Array, initiatorMemberId: string, title: string, createdAt: string, archived: boolean, status: Thread_Status_Enum }; @@ -17096,6 +18609,42 @@ export type UpdateMemberMutationVariables = Exact<{ export type UpdateMemberMutation = { __typename?: 'mutation_root', update_member_by_pk?: { __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null } | null }; +export type GetMemberSkillLevelQueryVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type GetMemberSkillLevelQuery = { __typename?: 'query_root', member_skill_level_by_pk?: { __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string } | null }; + +export type MemberSkillLevelsSubscriptionVariables = Exact<{ + memberId: Scalars['uuid']; +}>; + + +export type MemberSkillLevelsSubscription = { __typename?: 'subscription_root', member_skill_level: Array<{ __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string }> }; + +export type CreateMemberSkillLevelMutationVariables = Exact<{ + values: Member_Skill_Level_Insert_Input; +}>; + + +export type CreateMemberSkillLevelMutation = { __typename?: 'mutation_root', insert_member_skill_level_one?: { __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string } | null }; + +export type UpdateMemberSkillLevelMutationVariables = Exact<{ + id: Scalars['uuid']; + values: Member_Skill_Level_Set_Input; +}>; + + +export type UpdateMemberSkillLevelMutation = { __typename?: 'mutation_root', update_member_skill_level_by_pk?: { __typename?: 'member_skill_level', id: string, memberId: string, skillLevelId: string } | null }; + +export type DeleteMemberSkillLevelMutationVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type DeleteMemberSkillLevelMutation = { __typename?: 'mutation_root', delete_member_skill_level_by_pk?: { __typename?: 'member_skill_level', id: string } | null }; + export type GetOrgQueryVariables = Exact<{ id: Scalars['uuid']; }>; @@ -17115,7 +18664,7 @@ export type OrgSubscriptionVariables = Exact<{ }>; -export type OrgSubscription = { __typename?: 'subscription_root', org_by_pk?: { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }> } | null }; +export type OrgSubscription = { __typename?: 'subscription_root', org_by_pk?: { __typename?: 'org', id: string, name: string, archived: boolean, createdAt: string, defaultWorkedMinPerWeek: number, slug?: string | null, circles: Array<{ __typename?: 'circle', id: string, orgId: string, roleId: string, parentId?: string | null, archived: boolean, members: Array<{ __typename?: 'circle_member', id: string, memberId: string, avgMinPerWeek?: number | null }> }>, roles: Array<{ __typename?: 'role', id: string, orgId: string, archived: boolean, base: boolean, name: string, purpose: string, domain: string, accountabilities: string, checklist: string, indicators: string, notes: string, singleMember: boolean, autoCreate: boolean, link: string, defaultMinPerWeek?: number | null, colorHue?: number | null }>, members: Array<{ __typename?: 'member', id: string, orgId: string, archived: boolean, name: string, description: string, pictureFileId?: string | null, picture?: string | null, userId?: string | null, inviteEmail?: string | null, inviteDate?: string | null, workedMinPerWeek?: number | null, role?: Member_Role_Enum | null, meetingId?: string | null, preferences?: MemberPreferences | null }>, skill_categories: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> } | null }; export type UpdateOrgMutationVariables = Exact<{ id: Scalars['uuid']; @@ -17180,6 +18729,78 @@ export type ArchiveRoleMutationVariables = Exact<{ export type ArchiveRoleMutation = { __typename?: 'mutation_root', update_role_by_pk?: { __typename?: 'role', id: string } | null }; +export type GetSkillQueryVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type GetSkillQuery = { __typename?: 'query_root', skill_by_pk?: { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> } | null }; + +export type SkillsByCategorySubscriptionVariables = Exact<{ + categoryId: Scalars['uuid']; +}>; + + +export type SkillsByCategorySubscription = { __typename?: 'subscription_root', skill: Array<{ __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> }> }; + +export type CreateSkillMutationVariables = Exact<{ + values: Skill_Insert_Input; +}>; + + +export type CreateSkillMutation = { __typename?: 'mutation_root', insert_skill_one?: { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> } | null }; + +export type UpdateSkillMutationVariables = Exact<{ + id: Scalars['uuid']; + values: Skill_Set_Input; +}>; + + +export type UpdateSkillMutation = { __typename?: 'mutation_root', update_skill_by_pk?: { __typename?: 'skill', id: string, name: string, description: string, categoryId?: string | null, category?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null, skill_levels: Array<{ __typename?: 'skill_level', id: string, name: string, description: string, degree: number }> } | null }; + +export type DeleteSkillMutationVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type DeleteSkillMutation = { __typename?: 'mutation_root', delete_skill_by_pk?: { __typename?: 'skill', id: string } | null }; + +export type GetSkillCategoryQueryVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type GetSkillCategoryQuery = { __typename?: 'query_root', skill_category_by_pk?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null }; + +export type SkillCategoriesSubscriptionVariables = Exact<{ + orgId: Scalars['uuid']; +}>; + + +export type SkillCategoriesSubscription = { __typename?: 'subscription_root', skill_category: Array<{ __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> }> }; + +export type CreateSkillCategoryMutationVariables = Exact<{ + values: Skill_Category_Insert_Input; +}>; + + +export type CreateSkillCategoryMutation = { __typename?: 'mutation_root', insert_skill_category_one?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null }; + +export type UpdateSkillCategoryMutationVariables = Exact<{ + id: Scalars['uuid']; + values: Skill_Category_Set_Input; +}>; + + +export type UpdateSkillCategoryMutation = { __typename?: 'mutation_root', update_skill_category_by_pk?: { __typename?: 'skill_category', id: string, name: string, description?: string | null, skills: Array<{ __typename?: 'skill', id: string, name: string, description: string }> } | null }; + +export type DeleteSkillCategoryMutationVariables = Exact<{ + id: Scalars['uuid']; +}>; + + +export type DeleteSkillCategoryMutation = { __typename?: 'mutation_root', delete_skill_category_by_pk?: { __typename?: 'skill_category', id: string } | null }; + export type GetTaskQueryVariables = Exact<{ id: Scalars['uuid']; }>; @@ -17486,6 +19107,13 @@ export const MeetingStepFragmentDoc = gql` data } `; +export const MemberSkillLevelFragmentDoc = gql` + fragment MemberSkillLevel on member_skill_level { + id + memberId + skillLevelId +} + `; export const OrgFragmentDoc = gql` fragment Org on org { id @@ -17573,6 +19201,18 @@ export const MemberFragmentDoc = gql` preferences } `; +export const SkillCategoryFragmentDoc = gql` + fragment SkillCategory on skill_category { + id + name + description + skills { + id + name + description + } +} + `; export const OrgFullFragmentDoc = gql` fragment OrgFull on org { ...Org @@ -17585,11 +19225,15 @@ export const OrgFullFragmentDoc = gql` members(where: {archived: {_eq: false}}) { ...Member } + skill_categories { + ...SkillCategory + } } ${OrgFragmentDoc} ${CircleFullFragmentDoc} ${RoleFragmentDoc} -${MemberFragmentDoc}`; +${MemberFragmentDoc} +${SkillCategoryFragmentDoc}`; export const OrgFullLightFragmentDoc = gql` fragment OrgFullLight on org { ...Org @@ -17607,11 +19251,50 @@ export const OrgFullLightFragmentDoc = gql` members(where: {archived: {_eq: false}}) { ...Member } + skill_categories { + ...SkillCategory + } } ${OrgFragmentDoc} ${CircleFragmentDoc} ${RoleFragmentDoc} -${MemberFragmentDoc}`; +${MemberFragmentDoc} +${SkillCategoryFragmentDoc}`; +export const SkillLevelSummaryFragmentDoc = gql` + fragment SkillLevelSummary on skill_level { + id + name + description + degree +} + `; +export const SkillFragmentDoc = gql` + fragment Skill on skill { + id + name + description + categoryId + category { + ...SkillCategory + } + skill_levels { + ...SkillLevelSummary + } +} + ${SkillCategoryFragmentDoc} +${SkillLevelSummaryFragmentDoc}`; +export const SkillLevelFragmentDoc = gql` + fragment SkillLevel on skill_level { + id + name + description + degree + skillId + skills { + ...Skill + } +} + ${SkillFragmentDoc}`; export const ThreadMemberStatusFragmentDoc = gql` fragment ThreadMemberStatus on thread_member_status { lastReadActivityId @@ -19237,96 +20920,264 @@ export const MembersDocument = gql` ${MemberFragmentDoc}`; /** - * __useMembersSubscription__ + * __useMembersSubscription__ + * + * To run a query within a React component, call `useMembersSubscription` and pass it any options that fit your needs. + * When your component renders, `useMembersSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMembersSubscription({ + * variables: { + * orgId: // value for 'orgId' + * archived: // value for 'archived' + * }, + * }); + */ +export function useMembersSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(MembersDocument, options); + } +export type MembersSubscriptionHookResult = ReturnType; +export type MembersSubscriptionResult = Apollo.SubscriptionResult; +export const CreateMemberDocument = gql` + mutation createMember($orgId: uuid!, $name: String!) { + insert_member_one(object: {orgId: $orgId, name: $name}) { + ...Member + } +} + ${MemberFragmentDoc}`; +export type CreateMemberMutationFn = Apollo.MutationFunction; + +/** + * __useCreateMemberMutation__ + * + * To run a mutation, you first call `useCreateMemberMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreateMemberMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createMemberMutation, { data, loading, error }] = useCreateMemberMutation({ + * variables: { + * orgId: // value for 'orgId' + * name: // value for 'name' + * }, + * }); + */ +export function useCreateMemberMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(CreateMemberDocument, options); + } +export type CreateMemberMutationHookResult = ReturnType; +export type CreateMemberMutationResult = Apollo.MutationResult; +export type CreateMemberMutationOptions = Apollo.BaseMutationOptions; +export const UpdateMemberDocument = gql` + mutation updateMember($id: uuid!, $values: member_set_input!) { + update_member_by_pk(pk_columns: {id: $id}, _set: $values) { + ...Member + } +} + ${MemberFragmentDoc}`; +export type UpdateMemberMutationFn = Apollo.MutationFunction; + +/** + * __useUpdateMemberMutation__ + * + * To run a mutation, you first call `useUpdateMemberMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdateMemberMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updateMemberMutation, { data, loading, error }] = useUpdateMemberMutation({ + * variables: { + * id: // value for 'id' + * values: // value for 'values' + * }, + * }); + */ +export function useUpdateMemberMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(UpdateMemberDocument, options); + } +export type UpdateMemberMutationHookResult = ReturnType; +export type UpdateMemberMutationResult = Apollo.MutationResult; +export type UpdateMemberMutationOptions = Apollo.BaseMutationOptions; +export const GetMemberSkillLevelDocument = gql` + query getMemberSkillLevel($id: uuid!) { + member_skill_level_by_pk(id: $id) { + ...MemberSkillLevel + } +} + ${MemberSkillLevelFragmentDoc}`; + +/** + * __useGetMemberSkillLevelQuery__ + * + * To run a query within a React component, call `useGetMemberSkillLevelQuery` and pass it any options that fit your needs. + * When your component renders, `useGetMemberSkillLevelQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetMemberSkillLevelQuery({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useGetMemberSkillLevelQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(GetMemberSkillLevelDocument, options); + } +export function useGetMemberSkillLevelLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(GetMemberSkillLevelDocument, options); + } +export type GetMemberSkillLevelQueryHookResult = ReturnType; +export type GetMemberSkillLevelLazyQueryHookResult = ReturnType; +export type GetMemberSkillLevelQueryResult = Apollo.QueryResult; +export function refetchGetMemberSkillLevelQuery(variables: GetMemberSkillLevelQueryVariables) { + return { query: GetMemberSkillLevelDocument, variables: variables } + } +export const MemberSkillLevelsDocument = gql` + subscription memberSkillLevels($memberId: uuid!) { + member_skill_level(where: {memberId: {_eq: $memberId}}) { + ...MemberSkillLevel + } +} + ${MemberSkillLevelFragmentDoc}`; + +/** + * __useMemberSkillLevelsSubscription__ * - * To run a query within a React component, call `useMembersSubscription` and pass it any options that fit your needs. - * When your component renders, `useMembersSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * To run a query within a React component, call `useMemberSkillLevelsSubscription` and pass it any options that fit your needs. + * When your component renders, `useMemberSkillLevelsSubscription` returns an object from Apollo Client that contains loading, error, and data properties * you can use to render your UI. * * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; * * @example - * const { data, loading, error } = useMembersSubscription({ + * const { data, loading, error } = useMemberSkillLevelsSubscription({ * variables: { - * orgId: // value for 'orgId' - * archived: // value for 'archived' + * memberId: // value for 'memberId' * }, * }); */ -export function useMembersSubscription(baseOptions: Apollo.SubscriptionHookOptions) { +export function useMemberSkillLevelsSubscription(baseOptions: Apollo.SubscriptionHookOptions) { const options = {...defaultOptions, ...baseOptions} - return Apollo.useSubscription(MembersDocument, options); + return Apollo.useSubscription(MemberSkillLevelsDocument, options); } -export type MembersSubscriptionHookResult = ReturnType; -export type MembersSubscriptionResult = Apollo.SubscriptionResult; -export const CreateMemberDocument = gql` - mutation createMember($orgId: uuid!, $name: String!) { - insert_member_one(object: {orgId: $orgId, name: $name}) { - ...Member +export type MemberSkillLevelsSubscriptionHookResult = ReturnType; +export type MemberSkillLevelsSubscriptionResult = Apollo.SubscriptionResult; +export const CreateMemberSkillLevelDocument = gql` + mutation createMemberSkillLevel($values: member_skill_level_insert_input!) { + insert_member_skill_level_one(object: $values) { + ...MemberSkillLevel } } - ${MemberFragmentDoc}`; -export type CreateMemberMutationFn = Apollo.MutationFunction; + ${MemberSkillLevelFragmentDoc}`; +export type CreateMemberSkillLevelMutationFn = Apollo.MutationFunction; /** - * __useCreateMemberMutation__ + * __useCreateMemberSkillLevelMutation__ * - * To run a mutation, you first call `useCreateMemberMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useCreateMemberMutation` returns a tuple that includes: + * To run a mutation, you first call `useCreateMemberSkillLevelMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreateMemberSkillLevelMutation` returns a tuple that includes: * - A mutate function that you can call at any time to execute the mutation * - An object with fields that represent the current status of the mutation's execution * * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; * * @example - * const [createMemberMutation, { data, loading, error }] = useCreateMemberMutation({ + * const [createMemberSkillLevelMutation, { data, loading, error }] = useCreateMemberSkillLevelMutation({ * variables: { - * orgId: // value for 'orgId' - * name: // value for 'name' + * values: // value for 'values' * }, * }); */ -export function useCreateMemberMutation(baseOptions?: Apollo.MutationHookOptions) { +export function useCreateMemberSkillLevelMutation(baseOptions?: Apollo.MutationHookOptions) { const options = {...defaultOptions, ...baseOptions} - return Apollo.useMutation(CreateMemberDocument, options); + return Apollo.useMutation(CreateMemberSkillLevelDocument, options); } -export type CreateMemberMutationHookResult = ReturnType; -export type CreateMemberMutationResult = Apollo.MutationResult; -export type CreateMemberMutationOptions = Apollo.BaseMutationOptions; -export const UpdateMemberDocument = gql` - mutation updateMember($id: uuid!, $values: member_set_input!) { - update_member_by_pk(pk_columns: {id: $id}, _set: $values) { - ...Member +export type CreateMemberSkillLevelMutationHookResult = ReturnType; +export type CreateMemberSkillLevelMutationResult = Apollo.MutationResult; +export type CreateMemberSkillLevelMutationOptions = Apollo.BaseMutationOptions; +export const UpdateMemberSkillLevelDocument = gql` + mutation updateMemberSkillLevel($id: uuid!, $values: member_skill_level_set_input!) { + update_member_skill_level_by_pk(pk_columns: {id: $id}, _set: $values) { + ...MemberSkillLevel } } - ${MemberFragmentDoc}`; -export type UpdateMemberMutationFn = Apollo.MutationFunction; + ${MemberSkillLevelFragmentDoc}`; +export type UpdateMemberSkillLevelMutationFn = Apollo.MutationFunction; /** - * __useUpdateMemberMutation__ + * __useUpdateMemberSkillLevelMutation__ * - * To run a mutation, you first call `useUpdateMemberMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useUpdateMemberMutation` returns a tuple that includes: + * To run a mutation, you first call `useUpdateMemberSkillLevelMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdateMemberSkillLevelMutation` returns a tuple that includes: * - A mutate function that you can call at any time to execute the mutation * - An object with fields that represent the current status of the mutation's execution * * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; * * @example - * const [updateMemberMutation, { data, loading, error }] = useUpdateMemberMutation({ + * const [updateMemberSkillLevelMutation, { data, loading, error }] = useUpdateMemberSkillLevelMutation({ * variables: { * id: // value for 'id' * values: // value for 'values' * }, * }); */ -export function useUpdateMemberMutation(baseOptions?: Apollo.MutationHookOptions) { +export function useUpdateMemberSkillLevelMutation(baseOptions?: Apollo.MutationHookOptions) { const options = {...defaultOptions, ...baseOptions} - return Apollo.useMutation(UpdateMemberDocument, options); + return Apollo.useMutation(UpdateMemberSkillLevelDocument, options); } -export type UpdateMemberMutationHookResult = ReturnType; -export type UpdateMemberMutationResult = Apollo.MutationResult; -export type UpdateMemberMutationOptions = Apollo.BaseMutationOptions; +export type UpdateMemberSkillLevelMutationHookResult = ReturnType; +export type UpdateMemberSkillLevelMutationResult = Apollo.MutationResult; +export type UpdateMemberSkillLevelMutationOptions = Apollo.BaseMutationOptions; +export const DeleteMemberSkillLevelDocument = gql` + mutation deleteMemberSkillLevel($id: uuid!) { + delete_member_skill_level_by_pk(id: $id) { + id + } +} + `; +export type DeleteMemberSkillLevelMutationFn = Apollo.MutationFunction; + +/** + * __useDeleteMemberSkillLevelMutation__ + * + * To run a mutation, you first call `useDeleteMemberSkillLevelMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useDeleteMemberSkillLevelMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [deleteMemberSkillLevelMutation, { data, loading, error }] = useDeleteMemberSkillLevelMutation({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useDeleteMemberSkillLevelMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(DeleteMemberSkillLevelDocument, options); + } +export type DeleteMemberSkillLevelMutationHookResult = ReturnType; +export type DeleteMemberSkillLevelMutationResult = Apollo.MutationResult; +export type DeleteMemberSkillLevelMutationOptions = Apollo.BaseMutationOptions; export const GetOrgDocument = gql` query getOrg($id: uuid!) { org_by_pk(id: $id) { @@ -19711,6 +21562,349 @@ export function useArchiveRoleMutation(baseOptions?: Apollo.MutationHookOptions< export type ArchiveRoleMutationHookResult = ReturnType; export type ArchiveRoleMutationResult = Apollo.MutationResult; export type ArchiveRoleMutationOptions = Apollo.BaseMutationOptions; +export const GetSkillDocument = gql` + query getSkill($id: uuid!) { + skill_by_pk(id: $id) { + ...Skill + } +} + ${SkillFragmentDoc}`; + +/** + * __useGetSkillQuery__ + * + * To run a query within a React component, call `useGetSkillQuery` and pass it any options that fit your needs. + * When your component renders, `useGetSkillQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetSkillQuery({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useGetSkillQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(GetSkillDocument, options); + } +export function useGetSkillLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(GetSkillDocument, options); + } +export type GetSkillQueryHookResult = ReturnType; +export type GetSkillLazyQueryHookResult = ReturnType; +export type GetSkillQueryResult = Apollo.QueryResult; +export function refetchGetSkillQuery(variables: GetSkillQueryVariables) { + return { query: GetSkillDocument, variables: variables } + } +export const SkillsByCategoryDocument = gql` + subscription skillsByCategory($categoryId: uuid!) { + skill(where: {categoryId: {_eq: $categoryId}}, order_by: {name: asc}) { + ...Skill + } +} + ${SkillFragmentDoc}`; + +/** + * __useSkillsByCategorySubscription__ + * + * To run a query within a React component, call `useSkillsByCategorySubscription` and pass it any options that fit your needs. + * When your component renders, `useSkillsByCategorySubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useSkillsByCategorySubscription({ + * variables: { + * categoryId: // value for 'categoryId' + * }, + * }); + */ +export function useSkillsByCategorySubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(SkillsByCategoryDocument, options); + } +export type SkillsByCategorySubscriptionHookResult = ReturnType; +export type SkillsByCategorySubscriptionResult = Apollo.SubscriptionResult; +export const CreateSkillDocument = gql` + mutation createSkill($values: skill_insert_input!) { + insert_skill_one(object: $values) { + ...Skill + } +} + ${SkillFragmentDoc}`; +export type CreateSkillMutationFn = Apollo.MutationFunction; + +/** + * __useCreateSkillMutation__ + * + * To run a mutation, you first call `useCreateSkillMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreateSkillMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createSkillMutation, { data, loading, error }] = useCreateSkillMutation({ + * variables: { + * values: // value for 'values' + * }, + * }); + */ +export function useCreateSkillMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(CreateSkillDocument, options); + } +export type CreateSkillMutationHookResult = ReturnType; +export type CreateSkillMutationResult = Apollo.MutationResult; +export type CreateSkillMutationOptions = Apollo.BaseMutationOptions; +export const UpdateSkillDocument = gql` + mutation updateSkill($id: uuid!, $values: skill_set_input!) { + update_skill_by_pk(pk_columns: {id: $id}, _set: $values) { + ...Skill + } +} + ${SkillFragmentDoc}`; +export type UpdateSkillMutationFn = Apollo.MutationFunction; + +/** + * __useUpdateSkillMutation__ + * + * To run a mutation, you first call `useUpdateSkillMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdateSkillMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updateSkillMutation, { data, loading, error }] = useUpdateSkillMutation({ + * variables: { + * id: // value for 'id' + * values: // value for 'values' + * }, + * }); + */ +export function useUpdateSkillMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(UpdateSkillDocument, options); + } +export type UpdateSkillMutationHookResult = ReturnType; +export type UpdateSkillMutationResult = Apollo.MutationResult; +export type UpdateSkillMutationOptions = Apollo.BaseMutationOptions; +export const DeleteSkillDocument = gql` + mutation deleteSkill($id: uuid!) { + delete_skill_by_pk(id: $id) { + id + } +} + `; +export type DeleteSkillMutationFn = Apollo.MutationFunction; + +/** + * __useDeleteSkillMutation__ + * + * To run a mutation, you first call `useDeleteSkillMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useDeleteSkillMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [deleteSkillMutation, { data, loading, error }] = useDeleteSkillMutation({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useDeleteSkillMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(DeleteSkillDocument, options); + } +export type DeleteSkillMutationHookResult = ReturnType; +export type DeleteSkillMutationResult = Apollo.MutationResult; +export type DeleteSkillMutationOptions = Apollo.BaseMutationOptions; +export const GetSkillCategoryDocument = gql` + query getSkillCategory($id: uuid!) { + skill_category_by_pk(id: $id) { + ...SkillCategory + } +} + ${SkillCategoryFragmentDoc}`; + +/** + * __useGetSkillCategoryQuery__ + * + * To run a query within a React component, call `useGetSkillCategoryQuery` and pass it any options that fit your needs. + * When your component renders, `useGetSkillCategoryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetSkillCategoryQuery({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useGetSkillCategoryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(GetSkillCategoryDocument, options); + } +export function useGetSkillCategoryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(GetSkillCategoryDocument, options); + } +export type GetSkillCategoryQueryHookResult = ReturnType; +export type GetSkillCategoryLazyQueryHookResult = ReturnType; +export type GetSkillCategoryQueryResult = Apollo.QueryResult; +export function refetchGetSkillCategoryQuery(variables: GetSkillCategoryQueryVariables) { + return { query: GetSkillCategoryDocument, variables: variables } + } +export const SkillCategoriesDocument = gql` + subscription skillCategories($orgId: uuid!) { + skill_category(where: {orgId: {_eq: $orgId}}, order_by: {name: asc}) { + id + name + description + skills { + id + name + description + } + } +} + `; + +/** + * __useSkillCategoriesSubscription__ + * + * To run a query within a React component, call `useSkillCategoriesSubscription` and pass it any options that fit your needs. + * When your component renders, `useSkillCategoriesSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useSkillCategoriesSubscription({ + * variables: { + * orgId: // value for 'orgId' + * }, + * }); + */ +export function useSkillCategoriesSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(SkillCategoriesDocument, options); + } +export type SkillCategoriesSubscriptionHookResult = ReturnType; +export type SkillCategoriesSubscriptionResult = Apollo.SubscriptionResult; +export const CreateSkillCategoryDocument = gql` + mutation createSkillCategory($values: skill_category_insert_input!) { + insert_skill_category_one(object: $values) { + ...SkillCategory + } +} + ${SkillCategoryFragmentDoc}`; +export type CreateSkillCategoryMutationFn = Apollo.MutationFunction; + +/** + * __useCreateSkillCategoryMutation__ + * + * To run a mutation, you first call `useCreateSkillCategoryMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreateSkillCategoryMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createSkillCategoryMutation, { data, loading, error }] = useCreateSkillCategoryMutation({ + * variables: { + * values: // value for 'values' + * }, + * }); + */ +export function useCreateSkillCategoryMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(CreateSkillCategoryDocument, options); + } +export type CreateSkillCategoryMutationHookResult = ReturnType; +export type CreateSkillCategoryMutationResult = Apollo.MutationResult; +export type CreateSkillCategoryMutationOptions = Apollo.BaseMutationOptions; +export const UpdateSkillCategoryDocument = gql` + mutation updateSkillCategory($id: uuid!, $values: skill_category_set_input!) { + update_skill_category_by_pk(pk_columns: {id: $id}, _set: $values) { + ...SkillCategory + } +} + ${SkillCategoryFragmentDoc}`; +export type UpdateSkillCategoryMutationFn = Apollo.MutationFunction; + +/** + * __useUpdateSkillCategoryMutation__ + * + * To run a mutation, you first call `useUpdateSkillCategoryMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdateSkillCategoryMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updateSkillCategoryMutation, { data, loading, error }] = useUpdateSkillCategoryMutation({ + * variables: { + * id: // value for 'id' + * values: // value for 'values' + * }, + * }); + */ +export function useUpdateSkillCategoryMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(UpdateSkillCategoryDocument, options); + } +export type UpdateSkillCategoryMutationHookResult = ReturnType; +export type UpdateSkillCategoryMutationResult = Apollo.MutationResult; +export type UpdateSkillCategoryMutationOptions = Apollo.BaseMutationOptions; +export const DeleteSkillCategoryDocument = gql` + mutation deleteSkillCategory($id: uuid!) { + delete_skill_category_by_pk(id: $id) { + id + } +} + `; +export type DeleteSkillCategoryMutationFn = Apollo.MutationFunction; + +/** + * __useDeleteSkillCategoryMutation__ + * + * To run a mutation, you first call `useDeleteSkillCategoryMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useDeleteSkillCategoryMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [deleteSkillCategoryMutation, { data, loading, error }] = useDeleteSkillCategoryMutation({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useDeleteSkillCategoryMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(DeleteSkillCategoryDocument, options); + } +export type DeleteSkillCategoryMutationHookResult = ReturnType; +export type DeleteSkillCategoryMutationResult = Apollo.MutationResult; +export type DeleteSkillCategoryMutationOptions = Apollo.BaseMutationOptions; export const GetTaskDocument = gql` query getTask($id: uuid!) { task_by_pk(id: $id) { diff --git a/src/hooks/useAddMemberSkill.ts b/src/hooks/useAddMemberSkill.ts new file mode 100644 index 000000000..799218828 --- /dev/null +++ b/src/hooks/useAddMemberSkill.ts @@ -0,0 +1,45 @@ +import { useCreateSkillMutation } from '@gql' +import useCreateLog from '@hooks/useCreateLog' +import { EntityChangeType, LogType } from '@shared/model/log' +import { omit } from '@utils/omit' +import { useCallback } from 'react' + +export default function useAddMemberSkill() { + const [createSkill] = useCreateSkillMutation() + const createLog = useCreateLog() + + return useCallback(async (circleId: string, memberId: string) => { + const { data, errors } = await createSkill({ + variables: { + values: { + categoryId: '1', + description: 'test', + name: 'test', + skill_levels, + }, + }, + }) + if (errors?.length) throw errors[0] + const circleMember = data?.insert_circle_member_one! + + // Log change + createLog({ + display: { + type: LogType.CircleMemberAdd, + id: circleMember.circleId, + name: circleMember.circle.role.name, + memberId: circleMember.member.id, + memberName: circleMember.member.name, + }, + changes: { + circlesMembers: [ + { + type: EntityChangeType.Create, + id: circleMember.id, + data: omit(circleMember, 'circle', 'member'), + }, + ], + }, + }) + }, []) +} diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 1bddfbc14..3020e670d 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -416,6 +416,18 @@ "totalAllocatedTime": "Total allocated time:", "alertTooMuchTime": "Total allocated time is too large, you need to lower the total time allocated to a role or increase the member's working time." }, + "MemberSkills": { + "heading": "Skills", + "addSkill": "Add a skill" + }, + "MemberSkillsTable": { + "emptySkills": "None", + "header": { + "title": "Title", + "level": "Level", + "description": "Description" + } + }, "MembersInviteModal": { "heading": "Invite members by email", "toastSuccess_one": "{{count}} member have been invited!", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index da2f3492d..10e848512 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -448,6 +448,18 @@ "totalAllocatedTime": "Temps total alloué :", "alertTooMuchTime": "Le temps total alloué est trop grand, vous devez baisser le temps total alloué à un rôle ou augmenter le temps de travail du membre." }, + "MemberSkills": { + "heading": "Compétences", + "addSkill": "Ajouter une compétence" + }, + "MemberSkillsTable": { + "emptySkills": "Aucune compétence", + "header": { + "title": "Titre", + "level": "Niveau", + "description": "Description" + } + }, "MembersInviteModal": { "heading": "Inviter des membres par email", "toastSuccess_one": "{{count}} membre invité !", diff --git a/src/store/org.ts b/src/store/org.ts index 6d420094e..58d25d86c 100644 --- a/src/store/org.ts +++ b/src/store/org.ts @@ -4,6 +4,7 @@ import { OrgFragment, OrgFullLightFragment, RoleFragment, + SkillCategoryFragment, } from '@gql' import { fixCirclesHue } from '@shared/helpers/fixCirclesHue' import { fixLostCircles } from '@shared/helpers/fixLostCircles' @@ -17,6 +18,7 @@ interface OrgModel { circles: CircleFullFragment[] | undefined baseRoles: RoleFragment[] | undefined members: MemberFragment[] | undefined + skillCategories: SkillCategoryFragment[] | undefined loading: boolean error: Error | undefined // Set Id instantly from URL params @@ -38,6 +40,7 @@ const extendedModel: OrgModel = { circles: undefined, baseRoles: undefined, members: undefined, + skillCategories: undefined, loading: false, error: undefined, @@ -47,12 +50,19 @@ const extendedModel: OrgModel = { state.circles = undefined state.baseRoles = undefined state.members = undefined + state.skillCategories = undefined } }), setSubscriptionResult: action((state, { result, loading, error }) => { if (result) { - state.current = omit(result, 'members', 'roles', 'circles') + state.current = omit( + result, + 'members', + 'roles', + 'circles', + 'skill_categories' + ) // Reconstruct and fix CircleFullFragments state.circles = fixLostCircles(