Skip to content

Commit 659dbc9

Browse files
Display jobs and talent (#139)
1 parent cbb4405 commit 659dbc9

3 files changed

Lines changed: 486 additions & 7 deletions

File tree

src/generated/graphql.ts

Lines changed: 171 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ export type Citizen = {
137137
id: Scalars['ID']['output'];
138138
island: Island;
139139
name: Scalars['String']['output'];
140+
skillSet: Array<SkillLevel>;
140141
stomach: Scalars['Int']['output'];
141142
};
142143

@@ -246,6 +247,20 @@ export type EditArticleInput = {
246247

247248
export type EditArticleResult = Article | NotAuthorized | NotFound;
248249

250+
export type Employee = {
251+
__typename?: 'Employee';
252+
citizen: Citizen;
253+
currency: Currency;
254+
salary: Scalars['Decimal']['output'];
255+
title: JobTitle;
256+
};
257+
258+
export type EnergyFulfillment = {
259+
__typename?: 'EnergyFulfillment';
260+
current: Scalars['Int']['output'];
261+
requirement: Scalars['Int']['output'];
262+
};
263+
249264
export type Event = {
250265
happenedAt: Scalars['Time']['output'];
251266
id: Scalars['Int']['output'];
@@ -265,6 +280,14 @@ export type EventsInput = {
265280

266281
export type EventsResult = EventList | NotAuthorized;
267282

283+
export type Fulfillment = EnergyFulfillment | SkillFulfillment;
284+
285+
export type FulfillmentSummary = {
286+
__typename?: 'FulfillmentSummary';
287+
current: Scalars['Int']['output'];
288+
requirement: Scalars['Int']['output'];
289+
};
290+
268291
export type Group = {
269292
__typename?: 'Group';
270293
id: Scalars['ID']['output'];
@@ -338,6 +361,43 @@ export type IslandResult = Island | NotAuthorized | NotFound;
338361

339362
export type IslandSearchResult = IslandList | NotAuthorized;
340363

364+
export type JobContract = {
365+
__typename?: 'JobContract';
366+
createdAt: Scalars['Time']['output'];
367+
finishedAt: Scalars['Time']['output'];
368+
id: Scalars['ID']['output'];
369+
position: JobPosition;
370+
salary: Scalars['Decimal']['output'];
371+
title: JobTitle;
372+
workload: Scalars['Int']['output'];
373+
};
374+
375+
export type JobPosition = {
376+
__typename?: 'JobPosition';
377+
requiredTalent: Array<TalentRequirement>;
378+
seats: Scalars['Int']['output'];
379+
title: JobTitle;
380+
};
381+
382+
export type JobPositionList = {
383+
__typename?: 'JobPositionList';
384+
jobPositions: Array<JobPosition>;
385+
};
386+
387+
export type JobPositionsResult = JobPositionList | NotAuthorized | NotFound;
388+
389+
export enum JobTitle {
390+
Builder = 'BUILDER',
391+
Engineer = 'ENGINEER',
392+
Farmer = 'FARMER',
393+
Gardener = 'GARDENER',
394+
Lumberjack = 'LUMBERJACK',
395+
Manager = 'MANAGER',
396+
Miner = 'MINER',
397+
Technician = 'TECHNICIAN',
398+
Worker = 'WORKER'
399+
}
400+
341401
export type MarketPrice = {
342402
__typename?: 'MarketPrice';
343403
commodity: CommodityType;
@@ -380,6 +440,7 @@ export type Mutation = {
380440
register: RegistrationResult;
381441
sendTradeOrder?: Maybe<SendTradeOrderResult>;
382442
setEmailAddress: SetEmailAddressResult;
443+
setHiringStrategy?: Maybe<SetHiringStrategyResult>;
383444
setInfrastructureDesiredStatus?: Maybe<SetInfrastructureDesiredStatusResult>;
384445
setPassword: SetPasswordResult;
385446
setUsername: SetUsernameResult;
@@ -445,6 +506,11 @@ export type MutationSetEmailAddressArgs = {
445506
};
446507

447508

509+
export type MutationSetHiringStrategyArgs = {
510+
input: SetHiringStrategyInput;
511+
};
512+
513+
448514
export type MutationSetInfrastructureDesiredStatusArgs = {
449515
islandId: Scalars['String']['input'];
450516
position: Scalars['Int']['input'];
@@ -540,6 +606,7 @@ export type Query = {
540606
events: EventsResult;
541607
inventory: InventoryResult;
542608
island: IslandResult;
609+
jobPositions: JobPositionsResult;
543610
marketPrices: MarketPricesResult;
544611
me: MeResult;
545612
myOpenTradeOrders: TradeOrdersResult;
@@ -606,6 +673,11 @@ export type QueryIslandArgs = {
606673
};
607674

608675

676+
export type QueryJobPositionsArgs = {
677+
islandId: Scalars['String']['input'];
678+
};
679+
680+
609681
export type QueryMarketPricesArgs = {
610682
input: MarketPricesInput;
611683
};
@@ -729,32 +801,88 @@ export type SendTradeOrderResult = NotAuthorized | NotEnoughCommodity | TradeOrd
729801

730802
export type SetEmailAddressResult = AlreadyExists | NotAuthorized | User;
731803

804+
export type SetHiringStrategyInput = {
805+
budget: Scalars['Decimal']['input'];
806+
jobTitle: JobTitle;
807+
talentTarget: Scalars['Int']['input'];
808+
tileID: Scalars['ID']['input'];
809+
};
810+
811+
export type SetHiringStrategyResult = NotAuthorized | NotEnoughMaterial | NotFound | Tile;
812+
732813
export type SetInfrastructureDesiredStatusResult = NotAuthorized | NotFound | Tile;
733814

734815
export type SetPasswordResult = NotAuthorized | User;
735816

736817
export type SetUsernameResult = AlreadyExists | NotAuthorized | User;
737818

819+
export enum Skill {
820+
AdvancedLabor = 'ADVANCED_LABOR',
821+
Agility = 'AGILITY',
822+
BasicLabor = 'BASIC_LABOR',
823+
Body = 'BODY',
824+
Brain = 'BRAIN',
825+
Construction = 'CONSTRUCTION',
826+
Farming = 'FARMING',
827+
Knowledge = 'KNOWLEDGE',
828+
Mind = 'MIND',
829+
Mining = 'MINING',
830+
Physique = 'PHYSIQUE',
831+
Strength = 'STRENGTH'
832+
}
833+
834+
export type SkillFulfillment = {
835+
__typename?: 'SkillFulfillment';
836+
current: Scalars['Int']['output'];
837+
requirement: Scalars['Int']['output'];
838+
skill: Skill;
839+
title: JobTitle;
840+
};
841+
842+
export type SkillLevel = {
843+
__typename?: 'SkillLevel';
844+
level: Scalars['Int']['output'];
845+
skill: Skill;
846+
};
847+
848+
export type TalentRequirement = {
849+
__typename?: 'TalentRequirement';
850+
talent: Skill;
851+
target: Scalars['Int']['output'];
852+
};
853+
854+
export type TalentSummary = {
855+
__typename?: 'TalentSummary';
856+
current: Scalars['Int']['output'];
857+
requirement: TalentRequirement;
858+
};
859+
738860
export type Tile = {
739861
__typename?: 'Tile';
740862
blueprints: Array<Blueprint>;
741863
constructionSite?: Maybe<ConstructionSite>;
742864
currentStatus: InfrastructureStatus;
743865
desiredStatus: InfrastructureStatus;
866+
employees: Array<Employee>;
744867
energy: Scalars['Int']['output'];
868+
energyFulfillment: EnergyFulfillment;
745869
food: Scalars['Int']['output'];
746870
frozenFood: Scalars['Int']['output'];
747871
frozenFoodStorage: Scalars['Int']['output'];
872+
fulfillmentSummary: FulfillmentSummary;
748873
id: Scalars['ID']['output'];
749874
infrastructure: Infrastructure;
750875
island: Island;
876+
jobPositions: Array<JobPosition>;
751877
kind: TileKind;
752878
level: Scalars['Int']['output'];
753879
material: Scalars['Int']['output'];
880+
materialMaxProduction: Scalars['Int']['output'];
754881
materialProduction: Scalars['Int']['output'];
755882
maxLevel: Scalars['Int']['output'];
756883
population: Scalars['Int']['output'];
757884
position: Scalars['Int']['output'];
885+
skillFulfillments: Array<SkillFulfillment>;
758886
};
759887

760888
export enum TileKind {
@@ -1012,7 +1140,7 @@ export type GetTileQueryVariables = Exact<{
10121140
}>;
10131141

10141142

1015-
export type GetTileQuery = { __typename?: 'Query', tile: { __typename?: 'NotAuthorized' } | { __typename?: 'NotFound' } | { __typename?: 'Tile', id: string, position: number, kind: TileKind, infrastructure: Infrastructure, level: number, maxLevel: number, desiredStatus: InfrastructureStatus, currentStatus: InfrastructureStatus, population: number, energy: number, material: number, food: number, frozenFood: number, frozenFoodStorage: number, constructionSite?: { __typename?: 'ConstructionSite', id: string, infrastructure: Infrastructure, workloadLeft: number, finishedOn: number } | null, blueprints: Array<{ __typename?: 'Blueprint', infrastructure: Infrastructure, materialCost: number, workload: number }> } };
1143+
export type GetTileQuery = { __typename?: 'Query', tile: { __typename?: 'NotAuthorized' } | { __typename?: 'NotFound' } | { __typename?: 'Tile', id: string, position: number, kind: TileKind, infrastructure: Infrastructure, level: number, maxLevel: number, desiredStatus: InfrastructureStatus, currentStatus: InfrastructureStatus, population: number, energy: number, material: number, food: number, frozenFood: number, frozenFoodStorage: number, constructionSite?: { __typename?: 'ConstructionSite', id: string, infrastructure: Infrastructure, workloadLeft: number, finishedOn: number } | null, blueprints: Array<{ __typename?: 'Blueprint', infrastructure: Infrastructure, materialCost: number, workload: number }>, jobPositions: Array<{ __typename?: 'JobPosition', title: JobTitle, seats: number, requiredTalent: Array<{ __typename?: 'TalentRequirement', talent: Skill, target: number }> }>, employees: Array<{ __typename?: 'Employee', title: JobTitle, salary: any, citizen: { __typename?: 'Citizen', id: string, name: string, skillSet: Array<{ __typename?: 'SkillLevel', skill: Skill, level: number }> }, currency: { __typename?: 'Currency', id: string, code: string, name: string } }>, energyFulfillment: { __typename?: 'EnergyFulfillment', current: number, requirement: number }, fulfillmentSummary: { __typename?: 'FulfillmentSummary', current: number, requirement: number }, skillFulfillments: Array<{ __typename?: 'SkillFulfillment', title: JobTitle, skill: Skill, current: number, requirement: number }> } };
10161144

10171145
export type BuildInfrastructureMutationVariables = Exact<{
10181146
islandId: Scalars['String']['input'];
@@ -2329,6 +2457,48 @@ export const GetTileDocument = gql`
23292457
materialCost
23302458
workload
23312459
}
2460+
jobPositions {
2461+
title
2462+
seats
2463+
requiredTalent {
2464+
talent
2465+
target
2466+
}
2467+
}
2468+
employees {
2469+
citizen {
2470+
id
2471+
name
2472+
skillSet {
2473+
skill
2474+
level
2475+
}
2476+
}
2477+
title
2478+
salary
2479+
currency {
2480+
id
2481+
code
2482+
name
2483+
}
2484+
}
2485+
energyFulfillment {
2486+
current
2487+
}
2488+
fulfillmentSummary {
2489+
current
2490+
requirement
2491+
}
2492+
energyFulfillment {
2493+
current
2494+
requirement
2495+
}
2496+
skillFulfillments {
2497+
title
2498+
skill
2499+
current
2500+
requirement
2501+
}
23322502
}
23332503
}
23342504
}

src/index.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ body {
1616
background-size: 800px 400px;
1717
}
1818

19+
details {
20+
width: 100%;
21+
}
22+
1923
#mount {
2024
height: 100%;
2125
}

0 commit comments

Comments
 (0)